数据可用性是区块链可扩展性和去中心化的基石,确保所有节点都能够访问交易数据以进行验证和共识。本文第一部分详细探讨了数据可用性在工作量证明和权益证明中.Transaction生命周期中的作用,以及以太坊与Rollups之间的数据可用性差异。
数据可用性是指区块链上交易数据对于所有节点的可访问性,以便于验证和共识。这是支持区块链可扩展性和去中心化的被忽视的支柱。
在《第1部分》的第3部分中,我们深入探讨数据可用性为什么重要,内容包括:
工作量证明(PoW)和权益证明(PoS)中的交易生命周期 - 展示了在验证和共识阶段数据可用性瓶颈出现的位置。
比较以太坊与汇总(rollups) - 以太坊提供内在的链上可用性。汇总则面临着激励序列生成者的数据可用性问题。
汇总的加密技术 - 欺诈和有效性证明在功能上根本依赖于可访问的数据以确保安全。
用户需要可用性以验证余额、提交交易以及独立审计。对于汇总而言,可用性使得开放参与、状态推导和安全成为可能。它使可扩展性与数据方案相关,而不仅仅是吞吐量。
第1部分阐明了为什么数据可用性是支持区块链可扩展性、安全性和有效去中心化的被忽视的支柱。
第2部分和第3部分将深入解决数据可用性问题以及构建以解决该问题的层。
数据可用性。这个词在讨论中我们常用,但它到底意味着什么?它对承诺扩展去中心化系统的汇总和“次级分片”如此重要的原因是什么?
在这个系列的第1部分中,我们将从基本原理分解数据可用性,并构建一个理解,以阐明它对区块链和第2层创新如此关键的原因。
我们将首先从高层次观察数据可用性意味着什么。然后,我们将考察它如何适配到工作量证明和权益证明网络中的交易生命周期与验证。这将提供可用性瓶颈可能出现位置的背景。
接下来,我们将对比以太坊与汇总中的可用性设计。这突出了在第2层系统中出现的“数据可用性问题”,并为第2部分的深入探讨铺平道路。
最后,第3部分将详细介绍数据可用性层。
我们的目标是将一个看似 esoteric 的主题变得清晰和直观。这个主题很重要,因为数据可用性是可扩展性、安全性和有效去中心化的基础。
数据可用性是指在去中心化网络中,交易数据和区块链状态对所有节点的可用性。这对于节点能够验证交易、重建准确的状态并生成新区块至关重要。没有数据可用性,区块链无法安全或无权限地运行。
更简单地说,数据可用性是指确保链上数据对区块链系统中所有网络参与者可靠可访问。这是区块链可扩展性和去中心化的关键组成部分。
在以太坊等区块链中,交易是由去中心化的验证者网络处理的,它们提议区块。对于每个区块,验证者必须传播两件事——区块头和完整的区块数据。区块头包含元数据,较小,而所有交易的完整数据可能很大。将完整的区块数据广播到整个网络是带宽瓶颈,限制了可扩展性。数据可用性方案旨在通过分散存储和传输完整数据的责任来缓解这一瓶颈。
验证者将区块数据划分为误差编码的片段,并将其分发到不同的验证者节点。所有验证者可以通过彼此采样片段来加密验证完整数据是否可用。但他们不需要自己持有完整数据。
如果验证者无法提供他们被质疑的片段样本,他们将被证明有故意隐瞒数据的罪,并可能被罚或惩罚。这一抗 Sybil 机制经济上迫使验证者保留数据片段。同时,正常网络节点只需要接收较小的区块头以保持同步。他们通过验证方案知道验证者保留了完整的区块数据。希望获取完整数据的用户可以根据需要从验证者处检索片段。
缺乏数据可用性会导致诸如通道没有全局有序更新、如果数据被隐瞒则 Plasma 链变得有权限,以及在使用零知识证明的系统中无法确定账户余额和重建状态的诸多问题。数据可用性因此被认为是区块链解决的核心挑战。
设想一下你有一个大拼图,拼图上有很多块。现在,如果有一些拼图块是隐藏的,而你找不到它们,你就无法完成这个拼图,对吧?数据可用性层就像确保所有拼图块都在桌子上,供大家查看和使用。这样,所有人都可以帮助拼图,我们可以确信拼出的画面是正确的。
在深入探讨数据可用性之前,了解验证过程中的交易生命周期在工作量证明(PoW)和权益证明(PoS)区块链中的全面过程是非常重要的。
交易创建:用户创建一个新交易,包含发送者、接收者、金额和数字签名。生成一个有效的交易消息。
交易广播:用户的节点将交易广播到区块链网络中的所有对等节点,以便能够验证并添加到链中。
交易验证:收到广播交易的节点通过检查签名、账户余额等来验证交易。
进入交易池:如果验证通过,交易进入交易池,在等待被包含到区块中。
交易被拒绝:如果交易验证失败,节点将拒绝该交易,并不会将其添加到池中。
挖矿:矿工从池中汇集有效交易,并执行工作量证明以解决密码学难题。
区块广播:第一个解出难题的矿工将包含交易的新区块广播给所有节点。
区块验证:节点验证新块是否符合共识规则,然后才能接受为有效。
区块链更新:如果区块有效,节点将其添加到他们的区块链副本中,从而确认交易。
交易确认:一旦交易被添加到更新后的区块链,用户节点收到确认。
重试挖矿:如果区块验证失败,该区块无效,矿工会重试工作量证明挖矿以创建新有效块。
交易验证阶段:
这是验证者需要获取相关数据以验证交易有效性的地方。
数据需要包括发送者账户余额、签名、过去交易输入等细节。
如果验证者仅维护部分状态,可能没法在本地拥有这些数据。
他们需依赖在特定时间内从其他节点检索所需的验证数据。
如果检索时间过长,节点无法正确验证交易,降低数据可用性。
网络传播延时、节点性能、数据冗余等因素会影响可用性。
区块验证阶段:
新区块广播后,节点需要检索数据以验证区块。
这包括区块头、交易细节、权益证明中的验证者签名等。
节点需要在时间限制内获取验证数据以达成共识并接受该区块。
如果区块数据检索延迟,共识速度减慢,可用性降低。
检索时间受到网络延迟和数据冗余的影响。
这两个验证阶段在生命周期中严重依赖于节点能够在特定时间范围内获取所需数据,因而使数据可用性成为一项关键要求。
交易创建:用户创建一个新交易,具有必要的数据和数字签名。
交易广播:用户将交易广播到对等网络。
交易验证:验证者节点接收并根据共识规则验证交易。
验证者选择:根据权益证明算法,选择一个验证者节点提议新区块。
区块提议:被选中的验证者将有效交易汇集到新区块中并进行提议。
区块广播:验证者将提议的区块广播给所有节点。
区块证明:其他验证者检查区块有效性,如果有效则广播证明。
区块完成:一旦收到足够的验证者证明,区块将正式完成。
区块链更新:节点将已完成的区块和交易添加到区块链中。
交易确认:通过网络将交易确认发送回用户端。
交易验证阶段:
验证者需要获取所有相关数据以完全验证交易。这包括账户余额、签名、合同状态等。
数据需要在时间限制内对验证者可用,以便在提议区块之前完成验证。
如果从其他节点的检索时间过长,交易的验证将无法正确进行,从而降低可用性。
网络延迟、数据复制、验证者性能等因素会影响及时获取数据的能力。
区块证明阶段:
经过区块提议后,验证者需要验证区块数据,以证明其有效性。
这需要检索区块内容、验证者签名、先前区块信息,以确认链的连续性。
数据检索的延迟将导致证明延迟,从而减慢共识和最终性。
验证者需要快速访问完整区块数据以参与共识并避免分叉。
验证者之间的数据复制对及时可用性是必要的。
PoS 中的两个验证点——交易验证和区块证明——都严重依赖于快速的数据访问。PoS 链的共识最终性和安全性取决于验证者之间优秀的数据可用性。
在 PoW 和 PoS 链中,新节点加入网络需要通过获取最新的区块链状态进行同步——这包括交易、账户余额、合同数据等。
此同步过程在很大程度上依赖于数据可用性。新节点依赖于从现有节点上及时检索更新的数据,具体涉及到:
获取完整的区块头和区块内容,以重建当前区块链状态。任何缺失的区块都将导致同步失败。
检索所有最近验证的交易,以更新账户余额和合同存储到最新状态。
获取更新后的合同代码和合同存储值以执行交易。
接收最新的验证者信息,以便在 PoS 链中参与共识。
任何在获取必要数据时的显著延迟都会阻碍同步过程。在同步状态之前,节点无法完全加入网络并参与验证。
高效的数据同步使得新节点能够顺利加入并持续获得最新的已验证区块链状态数据——这对于 PoW 和 PoS 架构中的交易验证、区块形成和共识至关重要。同步过程代表了一项关键阶段,卓越的数据可用性对于区块链网络维持高参与和交易吞吐量是必不可少的。
对于数据可用性系列的全部内容,我们将重点关注 PoS 生态系统,特别是以太坊第1层链。
现在我们更好地理解了数据可用性如何契合交易生命周期,这里有一个问题我们可能需要解答:
以太坊与第2层解决方案中的数据可用性有一些关键区别。
在以太坊中,完整的交易数据和区块历史是直接存储在区块链上的。所有节点都能够通过处理来自创世块的所有交易以重建有效状态。然而,这需要相当大的存储空间,并导致可扩展性问题。
在像汇总这样的第2层解决方案中,交易数据被发布到以太坊,但通常不会长时间完全存储。交易的执行被卸载给优化的序列生成器。这个序列生成器仅在链上生成证明数据。实际的交易数据保持在链外。只有区块头和状态根存储在第1层。这节省了存储空间,但需要采用替代方法来确保可用性。
对于乐观 Rollup,所有交易数据必须发布在链上,以便任何方都可以重建汇总的状态,并在发现无效时提交欺诈证明。但并不需要存储完整的历史。
ZK Rollup使用有效性证明,因此交易数据本身无需发布在链上。然而,数据仍然必须在链外可用,以便用户确定他们的账户状态。
这些交易数据仍需对用户可用,以便与汇总进行交互并生成欺诈证明。然而,由于数据在链外存在,存在序列生成者审查或限制对这些数据访问的风险。
因此,
在以太坊中,数据可用性是链上且固有强制的。
但在汇总中,数据可用性依赖于通过数据可用性证明进行的加密验证,以防止序列生成者的审查。
这种数据验证、存储和链上发布的方式的区别,即形成了我们在汇总中看到的问题:数据可用性问题。
第2层解决方案中“数据可用性问题”的核心在于数据是如何被验证、存储和发布在链上的。与第1层的矿工或验证者不同,序列生成者没有动力使所有数据可用。因此,需要额外的机制来确保可用性。
我们将在本系列的第2部分详细讨论数据可用性问题。
乐观 Rollup要求将交易数据发布在链上,以便任何方都能够重建汇总的状态,并在发现无效交易时提交欺诈证明。全面的数据可用性对于乐观合理至关重要。没有数据可用性,无效状态转换可能会被忽视,因为节点无法主动监控汇总以防止欺诈。原始交易数据必须在链上可访问,以确保乐观合理的工作。
而 ZK Rollup使用有效性证明来保障正确性。交易数据本身无需发布到链上。然而,数据仍然需要在链外可用。这种链外可用性允许用户根据原始交易输入和输出确定其汇总中的真实账户状态。尽管理论上证明了有效性,数据可用性仍然对于用户推导实际状态是必需的。如果 ZK Rollup中的交易数据不可用,资金可以被确凿地转到某用户的账户中,但该用户则无法确定其更新后的余额。数据必须存在,以进行状态推导。
对数据可用性的基于依赖突出其对去中心化基础设施的重要性。数据可用性为加密证明和欺诈检测方案的安全运行提供了基础。两种汇总类型优化数据可用性以实现可扩展性,而非完整复制。然而,它们通过强调可用性在高级加密和证明中保持不可或缺的位置:
答案在于理解两种类型汇总使用的不同加密证明。
乐观 Rollup依赖于欺诈证明,这意味着节点需要主动监控交易数据以检测无效的状态转换,并在发现问题时提交欺诈证明。此机制要求节点可以访问完整的数据,以观察原始的交易数据并根据需要构建欺诈证明。证明依赖于可访问的数据以正常运行。
ZK Rollup使用有效性证明,这对于每个块生成以加密方式证明正确性。然而,有效性证明本身并未传达实际的分类账状态。它们证明交易是无误的,但并不会揭示用户账户的剩余余额。
原始交易输入和输出仍然必须可用,以便用户从源数据中确定其实际账户及持有资产的状况。
理解不同的证明突显了为何两种汇总类型在根本上都依赖数据可用性,尽管它们的验证方式各不相同。
这些证明本身并未提供实际的分类账状态——它们需要在数据可用性层的基础,以使加密技术在推导现实时有意义。
在这两种情况下,加密证明都依赖于可用性作为基础,以确保其含义。
欺诈证明利用数据可用性来检测和证明不当行为。
有效性证明则依赖于数据可用性来推导状态。
这些证明提供交易有效性,但需要可访问的数据以将该有效性锚定到经济现实上。只有通过数据可用性,用户才能追究系统的责任,独立审计状态。
明确说明验证方法可以为理解为何数据可用性在乐观 Rollup和ZK汇总中都至关重要提供更清晰的视角。证明在其基础数据层上运作,并根据下层数据推导出还是假的实数。
现在,我们可以为数据可用性提供另一个定义:连接有效性证明与欺诈证明的符号逻辑以及它们所旨在确保的实际账户余额与持仓组成的桥梁。数据将数学与经济现实联系在一起。
这有助解释为何如此多的研究集中在创新数据可用性方案上,使用像误差编码、数据可用性采样、分片和链外存储与链上验证等方法。扩展数据可用性释放了利用欺诈或有效性证明的高级第2层构建体的可扩展性。
最终,汇总显示,去中心化可扩展性主要取决于数据可用性,而非单纯的吞吐量提升。充足的数据可用性使得第2层创新的优势得以发挥。
作为用户,数据可用性确保你始终可以验证当前你的账户状态和整体账本。如果没有保证的数据可用性,你可能会有链上的资产(加密币、NFT、SBT等)确凿地转发到你的账户,但却无法确定你的更新余额。
当你发送一笔交易,数据可用性意味着网络拥有必要的信息以验证你的交易并将其包含在区块中。你的交易数据必须分发到所有节点,这样他们才能就交易的顺序达成共识。
当有人向你的账户发送资金,数据可用性意味着你能够获得该笔交易的详细信息,以自信地确定你的新账户余额。区块和交易的原始数据在请求时需要可访问。
如果你交互的链上数据可用性不好,你就不能依赖区块浏览器或钱包提供准确的信息来报告你的账户状态。它们依赖于访问交易数据来推导出最新余额。
数据可用性给你带来了信心,即使某些节点失去连接,你的链上资产和交易也将继续在去中心化账本上可验证。数据以高度分散的方式持续存在,保持可访问。
没有任何数据可用性保障,仅需要几个不可靠的节点就会防止你验证你的个人账户状态或检索交易历史。数据可用性确保你的资金保持在你唯一的控制之下。这对你能够自己审计账本至关重要。
我们之前已经详细讨论了这一点,但对于汇总而言,数据可用性对验证状态转换和使节点产生新区块至关重要。没有对完整交易数据的访问,汇总无法安全地运行。
在汇总中,数据可用性对开放参与至关重要。特别是对于 ZK Rollup,尽管有效性证明保证了正确性,但数据可用性仍然是用户确定其账户状态所必需的。原始交易输入和输出必须可用。数据可用性使汇总不再仅仅是优化。结合欺诈证明或有效性证明,提供汇总比传统第2层设计提供的安全和去中心化优势的基础。汇总显示,在去中心化背景下的可扩展性更依赖于数据可用性的扩展,而非原始吞吐量。
这就是我们对数据可用性的简介的总结。我们覆盖了很多内容。
数据可用性是支撑区块链可扩展性和去中心化的关键基础。如我们所探讨的,它使得交易验证、共识、状态推导和网络间同步成为可能。
对于用户而言,数据可用性提供了对账户余额和所有权在链上可验证的信心。确保交易在去中心化的背景下反复安全地持久存在。
汇总表明,单纯的吞吐量并不是关键——创新的数据可用性方案释放出高级加密证明的潜力。欺诈和有效性证明依赖于可访问的数据,以将其安全保障锚定。
因此,在数据可用性研究的进展对 Web3 基础设施的增长至关重要。诸如误差编码、分片、链外可用性与链上验证等方法具有巨大的潜力。
在第2部分和第3部分中,我们将深入探讨数据可用性问题以及解决该问题的层次。
在 l2iterative.com 和 Twitter @ l2iterative 找到 L2IV。
- 原文链接: l2ivresearch.substack.co...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!