原文链接:x.com/paramonoww... 译者:AI 翻译官,校对:翻译小组 本文链接:learnblockchain.cn/article…
大多数人将数据可用性层视为用户和应用访问数据的临时存储。确实如此,但这忽略了一些关键细节:
• 为什么需要临时存储?
• 谁需要这个存储?
• 需要存储何种数据?
• 如果数据没有正确存储会怎样?
• 为什么我们不能仅仅使用以太坊来满足所有这些需求?
像 EigenDA 这样的外部数据可用性解决方案可以提高速度和吞吐量并降低成本,同时仍然提供强大的安全保障。数据可用性是一个复杂的话题,涉及可扩展性、速度、经济性、安全性和架构。那么,我们为什么要关心这个问题?
数据可用性问题简单地问:“我们如何确保重构区块链状态所需的数据能够访问?”
正如大多数人所知道的,状态实际上是指在特定时刻存储在区块链上的所有数据,这些数据不断更新。这也被称为活跃性。没有这些数据,验证交易就会变得不可能,并且会为恶意区块提议者打开大门。
以太坊通过要求完整节点下载每个区块,验证交易,通过对本地状态副本重新执行它们来解决这个问题。显然,对于 Rollup(rollups)来说,情况并非如此,因为这牺牲了很多速度,但我们仍然需要确保数据可用以维护安全性。
那么,数据究竟是什么?我多次提到状态,因此需要可用的数据是“状态数据”,也就是交易历史。如果数据不是实时的,你就会牺牲安全性,并面临你的 Rollup 不会抵抗重组(re-org)的风险。
重组可能发生在 L1 区块最终确定的过程中,这意味着以太坊可能由于恶意行为而分裂成不同的版本。
一个 Rollup 可能会与一个分叉对齐,而不是与规范链对齐,直到正确的链得到确认。此外,由于数据可用性层薄弱,用户可能会面临审查,他们的交易不会被包括在内。
这不仅在技术上造成数据丢失的挑战,还影响用户面向应用程序的用户体验 / 用户界面(UX/UI)。
数据可用性问题首先涉及安全性,而非速度和可扩展性。
许多 Rollup 使用以太坊作为数据可用性,因为它提供了强大的安全性。那么,使用 EigenDA 是否有任何理由?是的,有很多理由。
一个 Rollup 可以分为多个层,包括结算层、数据可用性层、执行层等。模块化区块链的总体思路是将其分为多个组件,以最大化效率。
然而,在你不仅盯着安全性而且还想降低成本的情况下,依赖以太坊作为数据可用性层并没有太大的意义。以太坊上 L2 解决方案的激增导致了对区块空间的高竞争,使交易成本上涨。
截至 2024 年 3 月,L2 在以太坊上花费了超过 3740 万美元来存储和访问数据。随着引入 blob,价格降低了 99%。嗯,价格是固定的,但由于以太坊的拥堵,费用仍然不确定。
像@0xMantle 和 @megaeth_labs
使用 EigenDA,因为以太坊并不是一个实现高吞吐量的舒适地方。这意味着以太坊 Rollup 必须与其他 L1 交易竞争有限的区块空间,这在此过程中可能增加存储成本。
• 以太坊区块可以处理 768kB 的 blob 和其他数据,总计约 2.5 MB。
• 每 12 秒生成一个区块,这提供了 0.2 MB/s 的带宽。
• 这非常慢,约等于 9000 TPS。
这不是一个 Rollup 的 TPS,而是所有将以太坊用作数据可用性层的 Rollup 的 TPS。是的,这很慢,并且没有可用的横向扩展(计算增长与节点增长不成比例)。
此外,使用 EigenDA 的 Rollup 有自主权来处理自己的状态更新,而以太坊基础的 Rollup 则依赖以太坊网络来管理更改。
• 正如我之前所说,像 MegaETH 这样的 Rollup,其 TPS 超过 100,000,不能使用以太坊进行数据可用性。
• EigenDA 目前具有 15MB/s 的写入吞吐量。
• 这意味着它可以处理最多 654,000 TPS,经过压缩。
这对于希望引入应用程序且需要高吞吐量的链非常适合,例如 API、不同的后端、高频交易等。但是,为什么这是可能的?
• 当一个 Rollup 的排序器将一个区块发送到 EigenDA 时,分发器(disperser - EigenDA 的一个组件)将该 blob 进行纠删码(erasure code)处理,分割成块,这大致是 blob 的更小部分。
• 这些块被发送给不同的存储运营商,确认他们已经存储了数据。
• 关键是每个独特的存储运营商处理其独特的一组块,因此没有两个运营商处理相同的块。
这种方法使横向扩展成为可能:更多的运营商 -> 更多的块可以被处理 -> 更高的吞吐量 -> 更高的 TPS。根据写作时的信息,存储 1MB 数据在 EigenDA 中的平均成本约为 0.05 美元,这使得想要存储数据并随时让其可访问的 Rollup 变得相当便宜和便利。
一开始,我提到数据可用性是以安全性为首要的。但是,EigenDA 如何处理这方面的安全性?
EigenDA 是 EigenLayer 上的 AVS,这意味着 EigenDA 拥有自己的运营商集,利益通过委托给这些运营商来经济上确保 EigenDA 的安全性。总共有超过 200 个运营商,合计超过 150 亿美元的利益。所以,这个系统是相当安全的。
当前的数据可用性系统通常将数据可访问性验证与数据排序合并,创建复杂的设置。虽然验证数据可以并行进行,但为共识进行排序是缓慢的。
这对于管理自己数据顺序的系统是有用的,但对于像 EigenDA 这样的系统,利用以太坊现有的排序机制则是多余的。EigenDA 通过使用纠删编码和 KZG 承诺方案,允许仅存储最低限度所需的数据,从而在数据存储中实现更大的速度和效率。
EigenDA 架构在一开始可能看起来很复杂,但最终一切都说得通。
一个重要的特点是 blobs 按 4.54 的比例进行了差错编码。这意味着系统提供了更多的冗余,系统能够从更多的同时节点或存储故障中恢复而不会丢失数据。
使用差错编码的主要原因是允许单个操作员只存储一个块,从而显著降低成本。随着更多操作员的加入,个人成本将下降。
Rollup 不能仅使用 EigenDA,因为它仍然需要在某个地方进行结算。而使用 EigenDA,你只能在以太坊上结算交易。
EigenDA 没有自己的共识机制;它通过重新质押使用以太坊的安全性和验证者集。这意味着,rollup 或最终用户依赖以太坊的共识来确保数据的正确排序和最终确定。
• rollup 确定约定的交易序列。
• 然后它使用 EigenDA 进行存储,交易以批量形式发布。
• rollup 将状态根发布到以太坊以进行最终确认。
• 在交易在基础层被排序和记录后,它们被永久添加到 rollup 链中,在一定时间后成为不可逆(最终确定)。
有两个大问题是许多团队正在解决的:重组保护和审查抵抗。
防止审查和重组的安全性需要一个稳健的 DA 层,其中经济安全防止大多数控制。主要的设计关注点是共识攻击的成本。
正如古老的谚语所说:“为了最小化恶意行为,我们需要让它无利可图。”当攻击成本大大超过潜在收益时,区块链是经济安全的。在以太坊上验证证明增强了对审查的 rollup 安全性,但并未解决数据可用性的所有问题。
如果 DA 层受损,rollup 将仍然脆弱,因为以太坊的智能合约只检查证明。这可能导致活跃性问题,即无法生成新块,说明使用一条区块链进行数据限制了来自另一条区块链的安全保证。
在 EigenDA 之前,有数据可用性委员会,看起来与 dPoS 非常相似。EigenDA 不同,因为它向任何想要运行节点软件或委托其资产的人开放。它还提供了更多安全性,因为操作员如果恶意行为实际上可以被惩罚。
嗯,有很多。DEX、DeFi 协议、NFT 市场、DAOs、质押协议和互操作性协议都需要完整的交易历史以满足各种目的,如流动性跟踪、财务计算、真实性验证、合规、治理、奖励计算和安全消息传递。
AltLayer 在其平台上使用 EigenDA 启动 rollup,
Calderaxyz 让你可以在 1 分钟内使用 EigenDA 启动 rollup 等等。有许多不同且有趣的用例。
过去一年关于“单块链与模块化”的讨论很多,但在以太坊的生态系统中,更加模块化的东西正在获胜。
提议者 - 建造者分离 (PBS)、DA 层、不同的排序模块、最终层:似乎以太坊生态系统的每个重要组成部分都在被拆分成多个部分,并最大化每个部分的效率。
正如我在之前的写作中多次提到的,未来数百万个通用 rollup 和专用 rollup 是不可避免的,所以如果它不可避免,那就让它高效。
我是 AI 翻译官,为大家转译优秀英文文章,如有翻译不通的地方,在这里修改,还请包涵~
登链社区是一个 Web3 开发者社区,通过构建高质量技术内容平台和线下空间,助力开发者成为更好的 Web3 Builder。
登链社区网站 : learnblockchain.cn
开发者技能认证 : decert.me
B 站 : space.bilibili.com/581611011
YouTube : www.youtube.com/@upchain
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。