2018 年 11 月 28 日,Nervos CKB 正式开源


经过接近一年的研究,设计,以及原型验证和编码工作,Nervos 基金会宣布:2018 年 11 月 28 日,Nervos CKB 项目在 GitHub 上正式开源。

GitHub: nervosnetwork/ckb

什么是 Nervos CKB

Nervos 网络是一个分层架构的分布式应用网络。CKB 是一个在设计上非常不同的公有链协议,也是 Nervos 网络中的基础层,是整个加密经济网络的信任引擎。CKB 从分层架构的角度出发,目标是成为资产存储层和上层协议的仲裁层。CKB 的编程模型由独特的 Cell 模型和 CKB-VM 组成,在 CKB 上运行的 DApp 都有计算和验证两个部分[1],计算在链外运行,验证在链上由 CKB-VM 执行。CKB-VM 是一个专门为区块链设计,支持 RISC-V 指令集的虚拟机。

Nervos CKB 的开发历史

  • 2018 年 1 月,Nervos 基金会成立,同时发布了 Nervos CKB 技术白皮书,组建团队,招募优秀开发者加盟
  • 2018 年 3 月,开始 Nervos CKB 的第一个 PoC 原型验证
  • 2018 年 4 月,完成第一个 PoC 原型验证,完成包括多节点系统,节点间 Schema 同步,Cell 挖矿,转账交易等
  • 2018 年 7 月,宣布完成 2800 万美金的 Private Sale,CKB 团队首次封闭开发
  • 2018 年 8 月,开始 CKB-VM 设计和实现
  • 2018 年 9 月,开始撰写共识白皮书
  • 2018 年 9 月,开始撰写经济白皮书
  • 2018 年 10 月,CKB 团队第二次封闭开发
  • 2018 年 11 月,CKB 代码开源

开源的价值

「Thompson hack」是一个关于信任的故事。

Ken Thompson 作为 Unix 的奠基人,C 语言发明人之一,是计算机历史上开天劈地的人物。他在 1983 年获得图灵奖时发表的著名演讲《Reflections on Trusting Trust》[2]中提到这个关于「Thompson hack」的故事。原来当年他在编写 Unix 操作系统时,在内部留了个只有自己知道的小后门,可以让他获得操作系统的最高权限。

有人分析了 Unix 代码,找到了后门,修改代码,然后重新编译了整个 Unix。可是很快他们发现 Ken 又拿到了他们的帐户权限。大家都知道他一定是在源代码中加入了后门,可是虽然源码已经公开,可就是找不到后门在哪里。

直到 14 年后,Ken 才在演讲中透露谜底,原来他把后门加到了 C 语言编译器中,当编译器检测到这是 Unix 的源代码时,就自动给编译出的程序嵌入了后门。

需要澄清的是 Ken Thompson 从概念上提出了一种攻击的可行性,利用我们对编译/汇编/链接器「忠实性」的信任来发动攻击。而如今硬件之间的兼容性越来越好,编译器在运维中所扮演的角色也越来越弱,一个被感染的编译器已经不足以构成巨大的威胁[3],但是对「Thompson hack」的防范仍然具有现实意义。

区块链的价值在于创造信任,不开源的区块链系统是无法创造信任的。 区块链的信任来自于公开,透明,不可伪造和不可篡改,所以一个区块链系统如果不开源,是无法想象的,更不可能创造并传递信任。正如「Thompson hack」给我们的启示那样,在去中心化的系统中,你不应该相信并依赖任何第三方,而是应该自己去验证系统的安全性,这种每个参与方的验证使得个体都能为网络的安全贡献力量,而代码开源只是 Nervos 系统安全设计和实现的第一步。

开源的另外一个价值在于开放式协作。 开源可以形成一种自然合作与互动,Nervos CKB 的创始团队和开发人员主要是工程师出身,我们在日常工作中大量使用 GitHub,是长期 GitHub 用户。过去我们使用大量国外的开源项目,观察到来自世界各地的开源参与者可能彼此不认识,但是却能相互贡献代码,提交问题,帮忙完善文档,这种开放式的合作在国外的开源社区不胜枚举。

同时我们也欣喜的看到,过去几年越来越多的国内项目选择了开源这条道路,并且通过开源的方式将项目发展的非常成功。毋庸置疑,开源的开放式合作能够吸引到更多优秀开发者的支持,从而获得来自社区的贡献,创造更广泛,对参与者更有益的价值,这完全符合区块链的精神。

开源其实是一个完整的概念,不仅仅只是开放代码本身。 其他的比如思考,观点等都可以开放出来,才会有观点之间的讨论和演化,才能促进更多的开放式合作。

所以除了代码层面的协作之外,把我们对区块链技术本质的理解,对未来技术发展的思考,项目的设计,都不遗余力的分享出来,才有可能吸收到更多来自社区的反馈,共同完善项目本身。所以后续我们会通过线上、线下活动,通过文档,通过教程,尽可能传播给整个区块链开源社区。

后续开源计划

  • 完善 Nervos CKB 文档,Wiki,以及初学者教程
  • 开展系列线上技术分享,以及 AMA 活动
  • 开源项目开发周报
  • Bug Bounty 计划
  • Contributor 荣誉项目
  • 开源 Bootcamp 项目

致谢

  • 感谢所有为开源事业努力付出,并且坚持奋斗的开发者
  • 感谢所有关注并支持 Nervos CKB 项目的社区成员
  • 感谢 Nervos CKB 项目的开发与研究团队近一年的努力
  • 特别感谢在 Nervos 项目最初 Private Sale 的时候,给与我们信任与支持的那些伙伴

开发者社群