2019 年 6 月 1 日,它既是儿童节,也是一个新的开始。就如一位熟悉的朋友说过,伟大的事业都是在下半年完成的:
19 年对于 Nervos 来说是非常重要的一年,我们在 6 月 1 日开启了本年内陆巡回的第一站·北京。时隔上次我们来到北京已经过去半年之久,这半年的时间里,我们到底做了些什么呢?
在本次活动中,Nervos 团队为大家介绍了项目的全新进展。Nervos 联合创始人 Daniel 为我们带来了 CKB 测试网入门指南,Nervos 研究员宁志伟为我们讲解了《特立独行的 CKB》,Nervos 社群运营总监 Henry 和大家一起《找寻可以长久运转的经济模型之路》。快来查看本次活动的精彩回顾吧。
Daniel——新的进展
Daniel 首先和大家分享了我们的项目现状。为什么我们要做 Nervos?闪电网络很早就有,而且在技术层面很早就已经开发完毕。为什么在 2018 年才完成?期间,闪电网络团队不断游说比特币核心开发团队,希望比特币能够在协议层为二层扩容方案(Layer 2)做足够的支持。如此,已经三年。
同样,在以太坊上,Layer 2 发展也受到限制,以太坊的账户模型、虚拟机的设计都不是为二层网络做优化的,如 Kelvin Fichter 提出的 EVM-On-Plasma 问题,困扰 Layer 2 团队许久。
这些问题,都是由于得不到底层网络的支持造成的。而我们希望做一条公链,从最初的设计开始就能够支持这些 Layer 2 开发者。
Daniel 介绍道,Nervos 项目从 2018 年 1 月就开始不断做 PoC,在测试网上线前密集开发,最后测试网上线前在亚马逊上部署节点疯狂对网络进行压力测试,并进行了多达 31 次的版本迭代,不断找到问题并解决。在 5 月 18 日测试网上线时,我们已经完成了五个部分的实现:
1、Cell Model
比特币是链外计算,链上验证,但是不支持通用的数据存储,以太坊支持但却是链上计算。Nervos CKB 采用了 Cell Model 作为底层存储模型,Cell Model 支持通用的数据存储,并是链外计算,链上验证,将大部分计算任务放在链外去完成。
2、从头撸的底层 P2P 库
实际上 P2P 网络层是大部分团队没有重视的一块,而 Nervos 团队在这方面花费了大量的精力。现实的网络非常复杂,需要一个非常稳定的底层网络来做支撑。
现在的团队依赖很多很多第三方库,如 IPFS 推出一个库 Libp2p,Rust 语言版本的主要分支由 Parity 团队在维护。我们团队做了大量的调研,发现这些网络层的库不能满足我们的要求。
我们需要一个成熟可靠的 P2P 层,于是我们自己从头做了一个,目前各项数据显示,网络层的表现让我们非常满意。
3、共识算法 NC-Max
NC-Max 是根据比特币共识算法,在保障安全性的基础上,把性能进一步压榨出来。我们分析了比特币共识协议的升级空间,进一步思考如何提升共识算法的网络利用效率。之前,Nervos 研究员张韧博士就 NC-Max 的基本框架和大家进行了分享,在不久的未来我们会发布共识模型提案,欢迎大家关注。
4、CKB-VM
CKB-VM 是基于 RISC-V 指令集构建的虚拟机,能够支持灵活的加密算法。比特币、以太坊运行多年,每一次改进都需要社区进行大规模共识,升级非常缓慢。在 Nervos CKB 上,社区开发者能够轻易增加区块链上新的功能,而不需要通过硬分叉实现。只需要你和你的对手方接受,就可以调用部署的加密算法。
5、经济模型
Nervos 经济模型设计过程中经过与社区、与多位经济学家的探讨,提出了现有区块链经济分析的框架,并得出结论是:Layer 1 必须为价值存储设计并能成为价值存储的平台。目前,我们经济模型提案已经完成,具体细节和参数正在设计中。
我们将目前测试网的参数调节得足够低,让个人 CPU 都能够参与挖矿。对于 Nervos 来说,现在是一个人人都可以挖矿的时代。
很多人都觉得 ASIC 是中心化的体现,其实不然。在协议设计中考虑 anti-ASIC 这件事本身,让协议和协议的开发者掌握了巨大的权利–他们主导社区完成分叉来避免 ASIC 矿机的出现。而在公链生态中,不应该让任何一方有足够大的权力来阻碍其他方,而应该让整个社区一起考虑长期的发展。协议的开发者不应该掌控太大的权力,且参与社区的任意一方都不应该掌握太大的权力,如此才能够互相制衡且达到一种动态的稳定,共同推动社区的长远发展。
志伟——特立独行的 CKB
Nervos 研究员宁志伟和我们共同探讨了 CKB 的技术细节,并为我们带来了《特立独行的 CKB》的主题分享。
志伟认为,区块链的核心价值是提供信任,而区块链是通过全局共识的方式提供信任,全局共识必然是一个慢而贵的东西。分布式、去中心化系统的共识,不可能比中心化系统更快。
提到分层架构和单一架构的对比,他指出,扩容方案都有各自的代价,联合挖矿、大区块、超级节点等方案都会牺牲去中心化特性,而多链和分片等方案都会降低安全性。
因此在 Nervos CKB 中,Layer 1 关注去中心化和安全,负责状态的验证和存储,Layer 2 关注性能,负责状态的生成(计算)。在这里需求也是分层的:大部分情况下交易在 Layer 2 中进行,只需要局部共识。只有最重要的数据会需要全球共识,在 Layer 1 中运行。
而为什么选择 PoW 而不是 PoS?
共识是一个少数服从数多的事情,最常用的共识方式就是投票,女巫攻击其实就是一种类似刷票的方式。PoS 和 PoW 本质都是为了解决女巫攻击问题。
在区块链出现之前,分布式系统采用的是 BFT 共识。BFT 有决定的确定性,其投票节点是事先确定的。PoS 其实是有一定确定性的,毕竟在某一指定的时刻,全网总 Token 数量是确定的,Stake 的总量是固定的。
而 PoW 没有最终确定性,在指定的时刻算力不是一个固定的值,因为矿机可以随时加入或者退出。
对于 PoW 来说,只要币价上升,PoW 就有动力来吸引更多的算力,系统安全性会随之提升,而且新矿工是没有门槛的。
对于 PoS,则没有类似的动力去增发 Staking。系统的安全性和这个也没有直接的关系,并且新的验证者门槛较高。
因此,相比之下 PoW 是更加开放的,安全性更能够量化,更适合做 Layer 1。
并且,在 Layer 1 的共识机制设计上,也就是前面提到的 NC-Max 主要有三个创新:
- 采用两步交易确认来降低孤块率
- 动态调整出块间隔和区块奖励更好地提升带宽利用率
- 在难度调整的时候考虑周期中的所有区块,来抵御自私挖矿攻击
具体关于 NC-Max 的描述,可以查看《Nervos CKB 共识协议 NC-Max:突破 Nakamoto Consensus 吞吐量的极限》。
另外,Nervos CKB 选择了 ASIC 中性的工作量证明算法,我们希望有足够多的算力并且尽量分散。
随后,志伟介绍了基于 RISC-V 指令集构建的虚拟机 CKB-VM,并与 WASM 和 EVM 进行了对比;以及 Nervos CKB 底层状态模型 Cell Model,并将 Cell Model 与以太坊和比特币的状态模型做了对比。除此之外,志伟还讲解了更多的技术细节,若对硬核内容感兴趣可以点击视频链接:
Henry——CKB 经济模型
在最后的分享中,刚从韩国回归的 Nervos 社区运营总监密码亨利老师(Kryptohenry)分享了 Nervos 经济模型。从比特币四年减半和以太坊状态问题开始,分析目前区块链经济模型设计的现状,并分享了 Nervos 经济模型提案设计。会后,Henry 老师和朋友们对二级增发的设计进行了大量的讨论。
关于 Nervos 经济模型设计的讨论,欢迎大家来论坛「经济模型」频道探讨哦。
Show Time!
最后,本次活动也为我们的「小编」兼「表情包工程师」Kelly(就是我啦)贡献了大量的素材,搭配如下表情包,能更好的理解 CKB 特性哦~
挖矿找我,幸福久久
NC-Max 效率极高
CKB-VM 小身材,大作用
灵活的 Cell 模型
我想做一只丰满的公链
文:Ryan x Kelly