藏川线前段

--- 摄于 2017 年 9 月 藏川线前段

CKB hardfork features(四)

之前三篇介绍了这次 hardfork 代码量比较多,相对影响较大的几个 feature,这篇介绍一下剩下的几个 feature,但可能并不会包含所有内容,有些改动我本身既不是提议参与人也不是代码实现者甚至没有参与 review,所以可能直接略过了。

剩下的变化

新 VM 增加了 3 个 syscall

RFC:https://github.com/nervosnetwork/rfcs/pull/237

新版本的 VM 增加了 3 个 syscall,功能分别是:

取消 header dep 的 immature 限制

RFC:https://github.com/nervosnetwork/rfcs/pull/240

这个规则限制 4 个 epoch 以内的 header 作为 transaction 的 header dep 引用,从最初的目的来说,是为了防止 4 个 epoch 的回滚导致的问题,但从线上这么久的运行来看,这个规则是多余的,同时非常妨碍开发者体验,作为一个与时间非常相关的标量,在 4 * 4 小时之后才能使用,因此,很多业务都不得不选择更为复杂的 since 功能,这次 hardfork 将移除该限制。

将 uncle hash 变成 extra hash

RFC:https://github.com/nervosnetwork/rfcs/pull/224

为了支持无论是 flyclient 协议或者是其他形式的轻节点协议,在 header 上提供证明是必须要做的事情,这样就涉及到如何在 header 上增加一个字段用来塞一个变化的证明值,这个 RFC 将复用 uncle hash 的位置,将 uncle hash 与额外的证明合并 hash 然后放在这里,用来支持未来可能的扩展。

放宽 dep group 的多次相同引用限制

RFC:https://github.com/nervosnetwork/rfcs/pull/222

很多情况下 dep group 包含的代码可能因为组合不同而存在重合,但这并不会引来歧义,理论上我们应该允许这种行为

严格化对 since 的要求

RFC:https://github.com/nervosnetwork/rfcs/pull/223

当前的 since 在一些极端情况下会有不符合人类直觉的歧义,这种数据在未来将被拒绝

小结

就当前时间点来看,这些变化就是这次 hardfork 的内容了,也许在接下来的一个月内还会增加一点内容,但基本不会影响大局,最大的变化可能就是 VM 升级及带来的一些功能,其他的算是趁着这次机会对毛刺的小修小补,我们希望这次 hardfork 能顺利进行,达到预期目的,释放更大的灵活性。

评论区

加载更多

登录后评论