复制成功

分享至

主页 > 数字货币 >

关于数据可用性的十问十答:以Celestia为例

2023.11.05

关于数据可用性的十问十答:以Celestia为例

什么是 DA 数据可用性?

数据可用性解决的问题是:这些数据已经发布了吗?具体来说,当节点接收到一个新的即将添加到链上的区块时,它会验证数据的可用性。节点会尝试下载新区块的所有交易数据以确认其可用性。如果节点能够下载所有交易数据,那么它就成功地验证了数据可用性,证明了区块数据确实已经发布到网络上。

如你所见,模块化区块链,例如 Celestia (可通过此链接了解更多信息:https://docs.celestia.org/learn/how-celestia-works/data-availability-faq) 利用其他原语让节点更高效地验证数据可用性。数据可用性对于任何区块链的安全至关重要,因为它确保任何人都可以检查交易账本并进行验证。当区块链规模扩大时,数据可用性尤其成问题。随着区块变大,普通用户下载所有数据变得不切实际,因此用户无法再验证链的真实性。

数据可用性的问题是什么?

这个问题发生在新区块的交易数据不能被网络上的节点下载和验证时。一个可能的情况是,区块的生产者故意不公布交易数据,这被称为数据隐匿攻击。如果交易数据没有被发布,那么网络上的节点就不能确认并接受新区块,导致区块链更新到最新状态的过程中断。

由于节点不能验证新区块的数据,这可能导致区块链运行停止,或者更糟糕的是,攻击者可能利用这个漏洞盗取资金。后果的严重程度将取决于区块链的类型(L1 或 L2)以及数据可用性是保持在链上还是链下。在 Layer 2 的扩展方案中,比如 rollups 和 validiums,数据可用性问题尤为常见。这些技术尝试通过在链上扩展处理能力来提高区块链的性能,但这也可能引发新的数据可用性挑战。

在 Celestia 中节点怎么验证数据可用性?

在大多数区块链中,节点通过下载一个区块的所有交易数据来验证数据的可用性。如果节点能够下载所有数据,那么它们就验证了数据的可用性。在 Celestia 中,轻节点(light nodes)可以使用一种新的机制来验证数据可用性,而无需下载一个区块的所有数据。这种验证数据可用性的新方法称为数据可用性抽样。

数据可用性抽样是什么?

数据可用性抽样是一种使轻节点无需下载区块的全部数据即可验证数据可用性的机制。数据可用性抽样(DAS)的工作原理是让轻节点进行多轮随机抽样,以获取区块数据的小部分。随着轻节点完成更多轮的数据抽样,它对数据可用性的信心就会增加。一旦轻节点成功达到预定的信心水平(例如 99% ),它将认为区块数据是可用的。

想要一个更简单的解释吗?查看这个讨论帖子,了解数据可用性抽样就像掷硬币一样。https://twitter.com/nickwh8te/status/1559977957195751424

Celestia 在数据可用性抽样方面的一些安全假设是什么?

Celestia 区块链网络中数据可用性抽样(Data Availability Sampling,简称 DAS)的两个安全假设:

轻节点数量假设: Celestia 假定网络中存在足够数量的轻节点,这些轻节点会对新生成的区块进行数据可用性抽样。这是基于对数据进行随机样本检查的机制,即轻节点不需要下载整个区块的数据,而是下载一部分数据来验证整个区块的数据是否可用。这个假设保证了如果区块数据确实发布到了网络上,那么完整节点能够通过聚合轻节点抽样的数据部分来重构出完整的区块。这种假设下,对于更大的区块,相应地需要更多的轻节点来确保数据可用性。

连接到诚实完整节点: 第二个假设是每个轻节点至少能够连接到一个诚实的完整节点。这样做是为了保证轻节点能够接收到错误擦除编码块的欺诈证明(fraud proofs)。欺诈证明是一种安全机制,用于验证区块数据是否被正确处理。如果轻节点在日食攻击期间(这是一个网络攻击类型,攻击者尝试将目标节点隔离,让它只能连接到恶意节点)不能连接到至少一个诚实的完整节点,它将无法验证区块是否被不当构建,因而网络的安全性和可靠性会受到威胁。

为什么区块重构对安全性是必要的?

在区块链中,"重构区块"意味着如果我们没有一次性获得整个区块的数据,我们也能通过手中已有的数据碎片来复原出完整的区块内容。这就好比我们手里有一张撕碎了的纸,如果每一片撕碎的部分都有一些重叠,我们就有可能把整张纸拼回原样。

在 Celestia 这样的系统中,通过数据擦除编码(erasure coding),即使我们没有拿到完整的区块数据,只要有足够的数据片段,也可以把整个区块的数据复原出来。数据擦除编码会创建一些额外的数据冗余,这样即便部分数据丢失,剩下的信息也足够我们重构出完整的区块。

为什么这样做对安全性很重要呢?因为这确保了即使在不完美的情况下 —— 比如说有恶意节点试图隐藏数据或者网络不稳定导致数据无法完整传输 —— 我们仍能验证交易的完整性和正确性。如果有人试图篡改或隐藏交易数据,只要我们能重构出区块,就可以发现并证明这种篡改,保障整个区块链的透明度和可信赖性。

什么是数据存储?关于数据存储的问题是什么?

数据存储涉及到存储和访问过去交易数据的能力。

数据存储和检索需要用于多个目的,例如:

阅读之前交易的信息

同步节点

索引和提供交易数据服务

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier