7 月 16 日,随着 CKB v0.100.0 代码发布,意味着 Nervos CKB 第一次主网升级正式启动。
**为了确保安全性,Nervos CKB...
7 月 16 日,随着 CKB v0.100.0 代码发布,意味着 Nervos CKB 第一次主网升级正式启动。
为了确保安全性,Nervos CKB 主网升级将会经过多轮测试和审计,最终升级预计在今年第四季度完成。升级完成后,新的 Nervos CKB 主网可以有效地实现更多的加密算法,对 dApp 开发者将更加友好。
Nervos CKB 的主网升级会通过硬分叉进行,针对社区提出的问题,CKB 核心开发团队分享了关于此次主网升级的细节,同时也欢迎大家在 GitHub 上查看这次主网升级包括的 RFC 并提出任何问题或者建议。
01 Q:此次主网升级的主要原因是什么,是什么导致了要硬分叉?(即此时分叉是路线图的一部分,还是由其他的一些因素导致的?)
此次通过硬分叉升级主网,本就是路线图中提前计划好的,目的是升级 CKB,加入新的功能,以及修复一些 bug。
02 Q:主网升级对 CKB 的改进主要会体现在哪些方面?对开发者以及建立在 Nervos CKB 上的项目,预计会有哪些影响?
这次的主网升级对 CKB 的改进体现在很多方面:
CKB VM 变化背后的一个主要原因(除了 Bug 修复)是减少开销。 CKB VM 已经是本地 CPU 上的一个薄抽象层。有了硬分叉,我们确实想把抽象层做得更薄:RISC-V B 扩展让我们可以直接将 RISC-V 指令映射到 x86-64 cpu 提供的本地指令上,而 macro-op fusion 则更深入地利用了我们 CPU 中的现代微架构。所有的这些努力都是为了让加密算法能够更有效地在 CKB VM 上运行,从而解锁更多 Nervos CKB 的潜在用例。
03 Q:主网升级对 Nervos CKB 的成长和发展有什么帮助?
这次主网升级还包括了一些修复工作,比如以更干净的方式重新修复 CKB-VM 中的几个 bug。这些 bug 是在主网启动后发现的,目前已在主网上用临时解决方案修复了。清理将会让代码库更加健康,将来 CKB 更易于维护。
区块/交易版本的共识规则也会调整,让未来的软分叉更容易。当我们想为 CKB 添加新的功能时,这一调整将给我们更多的选择。
04 Q:主网升级后,有哪些功能或改进将成为可能?
这次的主网升级带来的其中一个主要改进是可以有效地实现更多的加密算法。 举个例子,比如说 BLS 签名算法。由于算法的复杂性,BLS 虽然在理论上是可行的,但目前在 CKB 上会消耗太多的 cycle。在 B 扩展的帮助下,加上 macro-op,我们设法将 BLS 签名验证操作所消耗的 cycle 降低到 CKB 上可行的比例。这些支持 BLS 实现的技术,也可以移植并用于优化更多的算法,如 RSA、secp256r1 等。
05 Q:关于这次的主网升级,还有哪些相关的细节需要让社区知道?
此前,我们把支持轻客户端协议 Flyclient 纳入到了硬分叉。在过去的几个月里,我们有好几个方案设计,但经过评估,我们认为最好推迟实施轻客户端协议 Flyclient, 因为它的变化比较大,而且由于缺乏外部支持,现阶段的影响/效益不明确。我们会有另外一篇文章来解释这个问题,我们也会继续研究轻客户端协议。
此次主网升级的大多数改进已经在 GitHub 上发布了,欢迎大家提出建议/评论:
Nervos CKB 的主网升级需要矿工、钱包和交易所的支持,我们会尽最大努力与社区进行充分沟通,确保稳定而优雅的升级。
06 Q:你们将如何进行主网升级?
此次的主网升级将分为三个阶段:
第一阶段:RC1[3] 已于 7 月 16 日发布,里面包括了所有的功能和相应的工具,但不包括具体的升级时间(epoch),主要用于测试和调试工具。第一轮审计开始。开发者可以使用 Tippy 启动一条新的链来进行测试。
第二阶段(预计在 8 月份):RC2 将在 Aggron 测试网启动。第二轮审计开始。
第三阶段(预计在 9 月份):发布最终版本以及何时在主网上激活的 epoch 信息。
预计主网升级将在第四季度完成。
Ref:
[1] https://github.com/riscv/riscv-bitmanip
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!