5 月 16 日,由杭州市金融办指导,巴比特主办的 2019 杭州区块链周•Chainge 技术开放日正式拉开序幕。会议中,来自全国各地的近千名区块链爱好者齐聚一堂,共同探讨最新的区块链技术发展。

Nervos COO 吕国宁(Daniel)在开放日活动中,做了《Nervos CKB 下一代区块链底层基础设施》的主题分享。

Daniel 表示:公链未来的发展只有两个方向,一个是链上扩容,另一个是链外扩容。链上扩容是要做一条更强的链,但不可避免的要在一条链上做权衡和取舍。区块链的核心价值是提供信任,而它的未来一定是分层,需要由不同的层次解决不同的问题,在链上获得信任,通过链外获得更高的性能,最后以整体的方式达到最优的效果。

以下是来自现场演讲的内容精编,感谢巴比特的整理。

链上扩容 or 链外扩容?

2017 年至 2018 年出现了一波公链热潮,这些公链的技术纷繁复杂,但如果我们从更高的角度收敛来看,公链未来的发展只有两个方向,一个是链上扩容,另一个是链外扩容。



1.链上扩容

链上扩容有这样几条路,第一条路是「更大的区块」,BCH 就在做这件事;第二条路是「使用更快的共识算法」,因为大家发现一条链性能不够、TPS 太低,往往处理共识节点的增加会导致性能处理的瓶颈。

我们本着头痛医头、脚痛医脚的原则,当看到一个链里的某地方存在性能瓶颈,我们就用一个更强的技术替代它。比如有人认为区块链是一个单线系统,于是就有了第三条路「并行计算-Sharding 技术」;还有人觉得第四条路 DAG 这种新的拓扑数据结构,比链式结构更适合处理海量的数据、海量的交易。

其实所有的链上扩容方案都在实现一个目标:做一条更强的链。但是每一种技术方案在具体实现的时候都面临各种不同的取舍,每一种方案在带来更好的性能提升的同时,都会在其他方面做出一些妥协。

例如 Sharding 实现复杂度的问题、一些共识算法或者扩容方案导致中心化的问题、DAG 理论和工程缺乏检验的问题等等。

2.链外扩容

我们看到现在产生了很多链外扩容方案,比如:闪电网络、状态通道、Plasma、Truebit 等等,但链外扩容也存在一个问题:打个比方,假如我们要买一个手机,卖家告诉我们在这个手机上,今天以前发布的所有手机应用都能够安装和使用,但无法安装和使用今天之后发布的 APP,那么我们还会购买这个手机吗?

现在的二层扩容方案都可以在用户体验、TPS、性能上面切换自如,但最大的瓶颈来自于一层网络的不支持。

如何让一层网络更好的支持它们呢?这可能需要通过一次次的硬分叉,而每做一次硬分叉,都需要通过漫长的社区共识,并且能够做的升级和优化也只能是小部分。

区块链的设计方法学

经过上述的思考,我们总结了一套自己的区块链设计方法学,主要包含下面个方面。

1.区块链的核心价值是什么?

我们认为,区块链的核心价值是提供信任。基于这一点,我们可以得出一个衍生的推论:区块链是通过全局共识的方式实现信任,而全局共识必然是一个很慢、很贵的东西。

「没有共识算法能比没有共识的共识算法更快。」这句话的意思是说分布式、去中心化系统的共识,不可能做得比中心化的共识更快。所以,区块链最应该考虑的是如何能够把信任的价值发挥出来。

2.区块链系统未来一定是分层

从架构的观点来看,将一个系统的整体功能分层或分解,交给不同的功能层或是功能组件去处理,是一种优于将所有功能都耦合在一个单体中的设计模式。

我们认为这个观点也适用于区块链,把网络分成不同的层次,由不同层次解决不同问题,最后把这些层次系统合在一起,以整体的方式达到最大的效果。

3.考虑不同层次的需求

如果未来区块链是一个分层网络,那么我们就需要思考,这个网络中每一个层次的角色。

我们认为,上层的核心角色是用来提供更高的性能,更好的用户体验,用它来解决实际场景的业务需求。而底层(我们称之为 Layer 1)需要做的是为系统提供极致的安全性和去中心化,以保障上层应用的安全。

4.底层协议设计充分为上层优化

当我们理清楚 Layer 1 和 Layer 2 之间的关系时,就需要重新审视我们在做底层设计的时候,该做哪些事情?

底层该做的事情,是在不牺牲安全性和去中心化的前提下,充分地为上层做优化。

在这张图中,分割线之上的是 Layer 2,线下是 Layer 1,Layer 2 负责性能,Layer 1 专注于去中心化(Decentralization)和安全性(Security)。

也就是说,绝大部分的计算、存储、网络传输发生在 Layer 2,只有在 Layer 2 的运营节点作恶,产生信任问题时,用户才需要与 Layer 1 交互,这时,Layer 1 就相当于提供仲裁的法院,由此保障 Layer 2 上协议的执行,充分地为上层做优化。

Nervos CKB 的技术特点

基于这样的思考,我们认为 Layer 1 的底层需要做以下四件事:



1.资产管理和存储模型

首先,Layer 1 和 Layer 2 之间需要保证安全的传递。平台不光要保证平台自身 Token 的资产安全,同样也需要让用户可以在平台上发行自定义资产,并且保证用户自定义资产的安全。

我们可以想一下,在以太坊上发行的 ERC-20 Token,谁会保证它的安全性?

其次,我们有必要支持用户完成自定义功能。在设计底层账户模型的时候,应该以资产为导向,只有这样才能更好的把用户的资产映射到上层网络上做交易、做业务、做应用,最后也能更加容易的返回到底层做清算。

所以我们借鉴了比特币 UTXO 的设计思路,设计了具有独特特点的 CKB 账户模型(Nervos Native Token 名称为 CKB)。

另外,除了发行资产、映射资产之外,当 Layer 2 的用户需要把资产返回到底层进行网络清算时,会提交相关的密码学证据,这时就需要底层网络对密码学证据的数据具有存储和验证能力,所以 Layer 1 必须要做好资产管理和具备通用的存储模型。

2.CKB-VM 虚拟机

所有的区块链都需要虚拟机。在设计或选用虚拟机时,我们需要想清楚区块链的定位是什么,是在应用层做一个高级语言支持的虚拟机,还是在底层做保护系统安全的虚拟机?

我们认为 Layer 1 的虚拟机应该足够安全、足够灵活,并且具有很强运行期的透明性。这就需要保证在虚拟机里执行的每一个指令,都能够非常容易地计算出它的成本。

这一点对于底层的经济模型非常重要,所以我们选用更底层的 RISC-V 硬件 CPU 指令集来实现 CKB 的虚拟机。简单的说,我们的虚拟机就像一个硬件的 CPU 在运行。

3.NC-Max PoW 共识算法

为了让底层更加安全,我们使用的是 PoW 共识算法。最近,有很多人在讨论 PoW 和 PoS 算法谁更安全,事实上,目前并没有方法证明 PoS 算法比 PoW 更安全,但我们能确定的是,PoS 要比 PoW 更复杂,这种复杂性没有办法保证在理论的设计上和工程实现上都能做到安全。而 PoW 已经经过了生产环境长达十年时间的验证。

但我们没有因此止步,在保证安全的情况下,我们还需要压榨出硬件的每一滴油水,让性能有更大的提升。于是,我们提出了自己的共识算法:NC-Max。它会利用一个非常巧妙的方式压榨带宽的使用率,来提升算法效率,而 PoW 的算法归根结底是确保带宽如何高效被使用而不是被浪费。

4.经济模型

当我们把网络分为 Layer 1 和 Layer 2 的时候,还需要考虑如何将上层产生的价值捕获到底层,当这样的价值被捕获并沉淀的时候,它可以更有效的激励网络中的矿工得到更多的收益。当矿工得到更多的收益时,他们也会为网络带来更多的资源以保证全网的安全性。而全网安全边界提升时,实际上也能为上层提供更好安全保护,这是经济模型设计的核心。

经济模型设计的核心并不仅仅是针对每一次共识的达成,更重要的是推动整个生态能够朝着越来越繁荣的方向推进。

最后,分享一下我们 2019 年在做的事情,我们在 3 月 9 日发布了 Nervos CKB 经济模型设计提案,近期将发布测试网,6 月份会发布 Nervos CKB 共识算法的 Paper,预计 Q4 主网络上线,欢迎大家关注。

原文:巴比特

编辑:Kelly


关于 Nervos

Nervos Network 由 Nervos 基金会推动,通过分层设计,兼顾性能、安全以及去中心化的特性,满足多样化的商业场景需求,为未来加密经济提供基础设施。

关于 CKB

Nervos Common Knowledge Base(CKB)是一个无需许可链,它是 Nervos Network 的基础层,并在设计上提出了一些理念:

  • CKB 共识协议 NC-MAX 使用两阶段提交节约带宽,并根据网络情况调整自身参数,提升了 Nakamoto Consensus 的可扩展性

  • CKB 虚拟机采用底层 CPU 指令集架构 RISC-V 开发,提供更高的开发弹性与运行的稳定性

  • CKB Cell Model 是比特币 UTXO 模型的通用化,能够验证和存储任何类型的数据

  • CKB 经济模型用货币政策限制状态存储的增长,并实现智能合约平台的价值存储功能

关注我们

官网:https://www.nervos.org

论坛:https://talk.nervos.org

电报:http://t.me/nervosnetwork

?点击「阅读原文」,更好的了解 Nervos~

下一代区块链底层基础设施是什么样的?——Nervos@2019 杭州区块链周相关推荐

  1. 首家区块链上市公司 他们为金融机构量身定做的区块链底层基础设施

    Watson 渡鸦区块链专栏记者 在区块链产业化进程中,各路诸侯争相跑马圈地.除了互联网.实业产业巨头.技术背景创业公司,传统金融IT服务公司也纷纷成立区块链事业部或子公司加入进来. 金丘股份成立于2 ...

  2. 区块链技术架构 java_《区块链底层设计Java实战》之第二章区块链架构

    第2 章   区块链架构 会当凌绝顶  一览众山小 正如开篇所言:会当凌绝顶,一览众山小.进入区块链底层开发前,我们需要 了解区块链底层的通用架构是如何设计的,从上而下地审视区块链底层的结构,做 到了 ...

  3. 自主原创开源的区块链底层技术,他们想降低企业部署区块链的门槛

    本堂茜 渡鸦区块链专栏记者 张铮文大学毕业后曾在盛大游戏等知名公司长期从事信息安全工作,2013年他接触到比特币,分布式账本技术让他很感兴趣,并立志以此为业.因此他到北京加入比特币交易平台火币网,负责 ...

  4. 区块链将吞噬整个世界——李笑来杭州区块链产业园演讲

    本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 杭州将成为区块链中心,杭州发展速度很惊人,大概3.4年前笑来老师和老猫 ...

  5. 新一代国产区块链底层平台正式亮相,蓝石区块链实验室首发CefaChain技术 | 附白皮书

    11月22日--由蓝石区块链实验室主办.蓝石科技承办的CefaChain技术首发暨蓝石生态解读发布会在北京隆重举行,CefaChain作为三元平衡寻优的新一代国产区块链底层平台正式亮相.此次活动重磅发 ...

  6. 专注区块链底层技术研究 上海树图区块链研究院揭牌

    人民网 1月9日,上海期智研究院.上海树图区块链研究院正式揭牌,这两家专注开展基础研究的新型研发机构,由图灵奖得主.中国科学院院士.清华大学交叉信息研究院院长姚期智领衔组建,旨在提升上海在人工智能.量 ...

  7. LikeLib区块链底层公链技术应用

    区块链是2018年最热的科技名词,尤其是比特币价格过山车一般的起落,让人们对区块链更加关注.但是,比特币只是区块链的一个运用,它不是区块链本身.区块链意味着什么?它有哪些作用? 区块链中的" ...

  8. 专注区块链底层技术突破,「复杂美」用技术开源推动产业未来

    时至今日,区块链已不再是一个陌生事物.公链.STO.去中心化等概念一度冲上行业热词,政府.企业业务与区块链的融合已收到良好实效. 国家发改委近日举行的新闻发布会上,区块链技术正式被纳入「新基建」领域的 ...

  9. 招聘区块链底层开发工程师(深圳)

    岗位职责: 1.负责区块链底层基础设施的研究和开发,需求分析.技术规划: 2.负责基于联盟链平台架构的设计和核心代码开发: 3.基于EOS联盟链的智能合约开发: 4.区块链前沿技术调研: 任职要求: ...

最新文章

  1. 8000字 | 32 张图 | 一文搞懂事务+隔离级别+阻塞+死锁
  2. ubuntu gitweb配置
  3. 将日期转成指定格式_Excel小技巧——如何利用公式,快速将一串数字转换为日期格式...
  4. 常见Java面试题之如何实现对象克隆
  5. 鼠标右键添加新建类型
  6. 在 vb.NET 中使用 COM+ 服务
  7. 地图比例尺与空间分辨率之间的关系_宝马如何查看自己的车机系统是不是idrive几的?宝马主机与idrive系统和导航地图之间的对应关系!...
  8. javascript 源代码加密保护
  9. ros在哪里添加虚拟服务器,ros路由 虚拟服务器设置
  10. h264和h265编码所需要的处理器性能
  11. 酒店客房预订管理系统简单实现
  12. magisk安装失败_俄罗斯官改MIUI MiRoom安装刷入教程
  13. matlab传递函数的分数次方,matlab如何画一个幂函数的曲线?f(x)=(x1)*(x2)^,matlab中如何画出幂函数指数为分数时比如y=x^(1/3...
  14. 强行挂载根分区为只读,强行修复文件系统,超神的用法。
  15. 联接新机遇,跨界赢未来,OFweek 2017中国物联网大会圆满落幕
  16. 亚马逊运营如何降低ACoS的5个技巧值得你收藏?
  17. 【软件测试7】web自动化测试——12306购票实战
  18. Maven学习(一) -- 安装Maven及Eclipse中配置Maven(转自--江湖小妞)
  19. 我们的团队是一群攻城狮
  20. js获取唯一设备码_使用Javascript获取设备的唯一 id_javascript_酷徒编程知识库

热门文章

  1. 大坝安全动态监管预警系统 大坝安全监测平台 遥测终端机 水位雨量监测站
  2. 达梦数据库项目 SpringBoot + jpa + DM8
  3. 【网页用代码实现空格】
  4. 记录一次阿里云ECS服务器系统盘扩容
  5. 数据结构与算法:树(Tree)
  6. python中使用xlrd、xlwt操作excel表格详解
  7. location.href的用法
  8. 读《赢在下班后有感》
  9. Android方向传感器学习之指南针示例
  10. String中intern()方法