本文介绍了以太坊通过EIP-4844引入的Proto-Danksharding,旨在降低数据可用性成本。
最近,以太坊部署了 EIP-4844 (Proto-Danksharding),以降低以太坊上 “数据可用性” 的成本。 数据可用性的高层次目标是,确保任何想要获取数据的人都能获取到一份数据。
数据可用性主要与 roll-up 相关,它解决的问题如下: 即使 roll-up 使用 SNARK 证明了诚实的执行, 如果 roll-up 运营商停止告诉人们他们正在执行哪些交易,会发生什么? 在这种情况下,L1(以太坊)将只有一个对 roll-up 状态的承诺(状态根),并且如果运营商,例如,仅仅停止执行交易,问题就会出现。 在这种情况下,用户将无法退出 roll-up,因为他们无法针对状态根发布状态证明(例如,Merkle 路径);因为他们不知道 roll-up 的状态。 结果是什么?他们的资金被卡住,直到运营商提供 roll-up 的完整状态。
数据可用性通过强制 roll-up 运营商公开 Underlying 数据(交易)来解决这个问题。 这反过来使任何人都能重新计算 roll-up 的完整状态, 因此,如果运营商例如离线,则可以退出 roll-up。
在 EIP-4844 之前,数据可用性的成本很高, 因为数据可用性是通过将数据作为以太坊 calldata 发布在链上来实现的。直接在以太坊上发布你在 fancy L2 上执行的每笔交易。哎哟。
calldata 的问题在于,每个人都需要永远保留它,所以它必须很昂贵:需要从创世块重新计算以太坊的状态。 为了改进数据可用性问题的解决方案,我们需要避免 每个人 都要 永远 保留数据。 EIP-4844 是朝着这个方向迈出的第一步, 通过在区块中分配空间给所谓的 blobs,这些 blobs 只能通过加密承诺从 EVM 内部间接访问。
你不能从 EVM 访问 blobs 的内容,
唯一允许的操作是通过 point_evaluation_precompile
预编译来检查针对 blob 的多项式评估证明:
调用者提供一个(blob)承诺,一个(KZG)打开证明,一个评估点 z 和评估值 y。
然后,预编译验证 KZG 打开证明。
这样做的好处是,我们不再需要 blob 内容来计算以太坊的状态:我们只需要 blob 承诺和 KZG 打开证明。 这使得以太坊可以在一定时间(大约 2 周)后丢弃 blob 本身, 而不会失去从创世块重新计算以太坊状态的能力。 如果你对 blob 内容感兴趣,你应该确保在完整节点丢弃它们之前下载它们。
这解决了数据可用性问题的 永远 部分。 但它没有解决 每个人 的问题:即使有了 EIP-4844,每个完整节点仍然需要下载区块中的每个 blob,以确保它在签署区块之前可用。
下一步是以这样一种方式分片数据,即网络中的每个节点只需要下载 blob 的一小部分。 这个想法在以太坊社区内被称为 “数据可用性抽样”,它与文献中的几个现有概念相关,但不完全一致, 在 Hall-Andersen (zkSecurity)、Simkin (Ethereum) 和 Wagner (Ethereum) 的 数据可用性基础 论文中进行了详细讨论。
从 Proto-Danksharding 到 Danksharding(数据可用性抽样)最直接的方法 是扩展现有的基于 KZG 的方案,以允许节点从 blob 的纠删码版本中抽样。 该方案以及其他几个方案也在 数据可用性基础 论文中进行了介绍。
但是使用 FRI 进行数据可用性抽样怎么样?
在 Hall-Andersen (zkSecurity)、Simkin (Ethereum) 和 Wagner (Ethereum) 即将发表的 Crypto 2024 论文中,我们提出了一种新的基于 FRI 的数据可用性抽样方案。 核心观察本质上是 FRI 邻近性测试实际上满足了额外的属性: 如果证明者可以使承诺通过 FRI 邻近性测试, 那么每个通过 FRI 查询阶段的附加位置 必须 位于最近的码字上。 这意味着在运行 FRI 邻近性测试后,你可以将 FRI 承诺视为 Reed-Solomon 码字的向量承诺, 并且任何位置都可以以 O(log2(n)) 的成本打开。
这比为每个位置执行 FRI 邻近性测试便宜得多, 例如,使用 “商数技巧” 打开,这需要 O(n) 的计算和 O(λlog2(n)) 的通信。
我们建议将这种观察应用于数据可用性抽样。 本质上,每个节点下载 FRI 承诺并验证 FRI 邻近性测试, 这确保了承诺是 “格式良好的”:承诺的向量接近 Reed-Solomon 码。 然后,每个节点在向量中抽样随机位置,并从向量承诺中下载相应的打开证明(没有任何额外的 FRI 邻近性测试)。
如果你对其他细节感兴趣,该论文也可以在 eprint 上获得(没有双关语)在 eprint 上。
- 原文链接: blog.zksecurity.xyz/post...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!