经过接近一年的研究,设计,以及原型验证和编码工作,Nervos 基金会宣布:2018 年 11 月 28 日,Nervos CKB 项目在 Github 上正式开源。
Github Repo: github.com/nervosnetwo…
什么是 Nervos CKB
Nervos 网络是一个分层架构的分布式应用网络。CKB 是一个在设计上非常不同的公有链协议,也是 Nervos 网络中的基础层,是整个[加密经济网络的信任引擎](加文章链接)。CKB 从分层架构的角度出发,目标是成为资产存储层和上层协议的仲裁层。CKB 的编程模型由独特的 Cell 模型和 CKB-VM 组成,在 CKB 上运行的 DApp 都有[计算和验证两个部分](加白皮书链接),计算在链外运行,验证在链上由 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》中提到这个关于「Thompson hack」的故事。原来当年他在编写 Unix 操作系统的时候,在内部留了个只有自己知道的小后门,可以让他获得操作系统的最高权限。有人分析了 Unix 代码,找到了后门,修改代码,然后重新编译了整个 Unix。可是很快他们发现 Ken 又拿到了他们的帐户权限。大家都知道他一定是在源代码中加入了后门,可是虽然源码已经公开,可就是找不到后门在哪里。直到 14 年后,Ken 才在演讲中透露谜底,原来把后门加到了 C 语言编译器中,当编译器检测到这是 Unix 的源代码,就自动给编译出的程序嵌入了后门。
需要澄清的是 Ken Thompson 从概念上提出了一种攻击的可行性,利用我们对编译/汇编/链接器「忠实性」的信任来发动攻击。而如今硬件之间的兼容性越来越好,编译器在运维中所扮演的角色也越来越弱,一个被感染的编译器已经 不足以构成巨大的威胁,但是对「Thompson hack」的防范仍然具有现实意义。
区块链的价值在于创造信任,不开源的区块链系统是无法创造信任的。区块链的信任来自于公开,透明,不可伪造和篡改,所以一个区块链系统如果不开源,是无法想象的,更不可能创造并传递信任。正如「Thompson hack」给我们的启示,在去中心化的系统中,你不应该相信并依赖任何第三方,而是应该自己去验证系统的安全性,这种每个参与方的验证使得个体都能为网络的安全贡献力量,而代码开源只是 Nervos 系统安全设计和实现的第一步。
开源的另外一个价值在于开放式协作。开源可以形成一种自然合作与互动,Nervos CKB 的创始团队和开发人员主要是工程师出身,我们在日常工作中大量使用 Github,是长期 Github 用户。过去我们使用大量国外的开源项目,观察到来自世界各地的开源参与者可能彼此不认识,但是却能相互贡献代码,提交问题,帮忙完善文档,这种开放式的合作在国外的开源社区不胜枚举。
同时我们也欣喜的看到,过去的几年越来越多的国内项目选择了开源这条道路,并且通过开源的方式将项目发展的非常成功。毋庸置疑,开源的开放式合作能够吸引到更多优秀的开发者的支持,从而获得来自社区的贡献,并创造更广泛,对参与者更有益的价值,这完全的符合区块链的精神。
开源其实是一个完整的概念,不仅仅只是开放代码本身。其他的比如思考,观点等都可以开放出来,才会有观点之间的讨论和演化,然后才能促进更多的开放式合作。所以除了代码层面的协作之外,把我们对区块链技术本质的理解,对未来技术发展的思考,项目的设计,都不遗余力的分享出来,才有可能吸收到更多来自社区的反馈,共同完善项目本身。所以后续我们会通过线上、线下活动,通过文档,通过教程,尽可能传播给整个的区块链开源社区。
后续开源计划
- 完善 Nervos CKB 文档,Wiki,以及初学者教程
- 开展系列线上技术分享,以及 AMA 活动
- 开发者论坛 talk.nervos.org
- Telegram 上开发者讨论群 t.me/nervos_ckb_…
- 开源项目开发周报
- Bug Bounty 计划
- Contributor 荣誉项目
- 开源 Bootcamp 项目
致谢
- 感谢所有为开源事业努力付出,并且坚持奋斗的开发者
- 感谢所有关注并支持 Nervos CKB 项目的社区成员
- 感谢 Nervos CKB 项目的开发与研究团队近一年的努力
- 特别感谢在 Nervos 项目最初 Private Sale 的时候,给与我们信任与支持的那些伙伴