Celestia轻节点无需下载即可验证区块数据已发布

区块链文库报道:

Celestia核心中的不同问题

大多数区块链轻客户端依赖全节点来告知区块数据是否已发布。Celestia则采取了不同的方法。

数据可用性回答了一个问题:这些数据是否已发布?节点在收到新区块被添加到链上时对此进行验证。

Celestia并非简单相信全节点的一面之词,而是为轻节点提供了一种自行检查的方式。数据可用性采样(DAS)是一种让轻节点随机请求区块数据样本的过程,使它们无需下载整个区块即可验证区块数据是否可用。这一区别至关重要。

尽管全节点可以通过完整下载区块来验证它,但传统轻客户端由于只下载区块头,缺乏这样的机制。DAS提供了一种无需下载整个区块即可验证数据可用性的方法,从而让轻节点保持极低的资源需求。

采样机制如何运作

该过程依赖于特定的编码方案。区块数据被分割成k×k的区块,排列成一个矩阵,并通过奇偶校验数据扩展为2k×2k的里德-所罗门编码矩阵,生成独立的行和列Merkle根。这些Merkle根构成存储在区块头中的区块数据承诺。

每个轻节点在扩展矩阵中随机选择一组唯一坐标,并向桥接节点请求这些坐标上的数据分片及相应的Merkle证明。轻节点会进行多轮这样的随机采样,每完成一轮,对数据可用性的信心都会增加。一旦节点达到预定的置信水平(例如99%),它就认为区块数据可用。

试图隐藏数据的区块生产者会面临一个结构性难题。每个接收到且带有正确Merkle证明的数据分片都会被传播到网络中。诚实节点手中足够多的独特样本意味着整个区块可以被重建,从而使隐藏攻击变得适得其反。

这种可扩展性的影响与常规逻辑相反。数据可用性采样使得轻节点能够以比全节点便宜得多的硬件,为网络的安全性和吞吐量做出贡献。更多轻节点参与采样,总体上支持更大的区块,而不是增加负载。

需要注意一些假设条件。执行DAS的轻节点必须保证所采样的数据被正确纠删码编码。在Celestia中,轻节点可以通过不良编码欺诈证明(BEFP)收到恶意编码区块的通知。该机制依赖于网络连接。轻节点必须至少连接到一个诚实的全节点,才能接收关于错误纠删码编码区块的欺诈证明。如果轻节点没有连接到诚实的全节点,它就无法验证区块是否被不当构建。日蚀攻击(将节点与诚实对等节点隔离)可能破坏这一保证。

© 版权声明
THE END
喜欢就支持一下吧
分享