查看原文
其他

主网升级后,CKB 区块头有哪些变化?

Nervos Blog 字节元 CKB 2023-01-06

原文链接:https://www.nervos.org/blog/extensible-block-header-lands-in-the-nervos-layer-1


Nervos 主网升级后,为 CKB 区块链(Layer 1)带来了许多改进,其中之一便是可扩展的区块头。可扩展的区块头为将来推出 Flyclient 奠定了基础。


在这篇文章中,我们将深入介绍可扩展的区块头如何让 Nervos 从 Flyclient 中受益。



Flyclient 简介


Flyclient 是轻客户端的一种形式。CKB 轻客户端,意味着你可以在手机或其他硬件上运行 CKB 节点,而这些硬件的计算能力通常要比 Layer 1 节点硬件的计算能力低很多。这一切都在不牺牲安全的情况下进行,并且保持无需信任的通信和验证模式。



关于 Flyclient 的概念,Matt Quinn 在他的《Introduction to super-light clients: FlyClient》一文中做了详细介绍。


在 Nervos Network 中部署 Flyclient 协议,之所以需要在 Layer 1 层增加额外的块存储字段,即“可扩展的区块头”,原因如下:

在每个区块高度 i,验证者将前一个区块的哈希值 Bi-1 附加到最新的 MMR(Merkle Mountain Range)中,并在 Bi 的区块头中记录新的 MMR root,即 Mi。因此,存储在每个区块高度的每个 MMR root 都可以被视为对整个区块链的保证。

然后,Flyclient 可以从验证者(CKB 全节点)处请求相对较少的区块数据,并结合 Merkle 证明路径检查它们的区块头(MMR root 哈希),以验证来自全节点的所有同步块都属于同一有效区块链。


Flyclient 所需的 MMR(Merkle Mountain Range)已在 Beam、Grin 区块链的区块头中实现,并被提议用于 Zcash 和 Ethereum Classic。


如果你想更深入地了解 Flyclient,欢迎阅读 Matt Quinn 的文章《Introduction to super-light clients: FlyClient》。



RFC31


2021 年 7 月,Nervos 基金会的 Ian Yang 提出了可扩展的区块头提案,并把它作为 RFC31 的一部分。该提案已于 2022 年 5 月在 CKB 主网升级中实施。


RFC 文档和及其实施,为将来升级后添加 Flyclient 奠定了基础。它还支持其他实验——例如测试网上的权威证明(Proof of Authority)。


往大了说,RFC31 允许向区块添加任意字段。名为“extension”的属性将被添加到区块体中,并且在区块头中有扩展字段值的哈希值。区块头中的“extra_hash”将替代“uncles_hash”。


“extension”字段可以有不同的大小——这意味着它可以被以后的各种解决方案所使用。目前,“extension”字段的唯一限制是它最多可以包含 96 个字节。Flyclient 对该字段的验证规则,必须放入另一个 RFC,以及添加到后续的主网升级方案中。请继续关注后续会发布的 RFC。


如果你想了解有关 RFC31 实现的更多技术细节,欢迎阅读文档的“Specification”部分。



结语


这次的主网升级,为 Flyclient 奠定了基础,为更快、更安全的 Layer 1 节点以及与其他网络的桥接奠定了基础。Flyclient 的同步理论上会比当前的同步时间更快。最后,用于同步的区块链数据也将占用更少的磁盘空间,从而让更多硬件设备能够运行 CKB 节点。这些优势将为开发者和用户提供更好的体验。


本文的相关链接:
1、Introduction to super-light clients: FlyClient:https://medium.com/@m.quinn/introduction-to-super-light-clients-flyclient-12dbd28f72a9
2、RFC31:https://github.com/nervosnetwork/rfcs/blob/master/rfcs/0031-variable-length-header-field/0031-variable-length-header-field.md
3、RFC31 收集到的反馈:https://github.com/nervosnetwork/rfcs/pull/224
4、Nervos RFC 库:https://github.com/nervosnetwork/rfcs


推荐阅读:Janx: CKB 主网升级全方位解读



   



END



Nervos 网址:https://www.nervos.org/ 

中文电报群:https://t.me/NervosNetworkcn

中文推特:https://twitter.com/CKBMeta 

中文Discord:https://discord.gg/f2qa52tJnz 

《Nervos 入门手册》:ckborg.bit.host

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存