动态Blob大小调整:减少小型Rollup中的零填充开销 - Layer 2

本文提出了动态Blob大小调整方案,旨在解决EIP-4844下小规模Rollup在数据吞吐量低时面临的成本-延迟权衡问题。该方案允许用户仅为其使用的实际空间付费,无需等待积累足够的数据,从而优化成本控制和延迟。

概括

数据吞吐量低的小规模 Rollup 在 EIP-4844 的 128KB blob 设计下面临着成本-延迟的权衡:要么容忍低效的 blob 利用率,要么忍受长时间的提交延迟以积累足够的数据。

现有的解决方案,如 Blob 共享Blob 聚合 解决了一些问题,但在成本分配、激励机制和潜在延迟方面引入了复杂性。

我们提出了一种动态 Blob 大小的解决方案,其中 Blob 长度不再固定,允许用户仅为他们实际使用的空间付费,而无需等待积累足够的数据。

介绍

Rollup 的出现通过卸载交易执行,同时在链上保留数据可用性 (DA),从而显着提高了以太坊的可扩展性。随着 EIP-4844 的实施,blob 已成为 Rollup 提交压缩交易数据的关键组件。

在当前的协议设计下,即使 Rollup 的数据仅占用其容量的一小部分,也需要为整个 blob 付费。这种僵化的定价模式导致了低效的资源分配,因为未充分利用的 blob 会推高每字节的成本 —— 随着网络规模的扩大,这个问题会变得更糟。固定的 128 KB blob 大小尤其为通常具有低交易吞吐量的小型 Rollup 带来了系统性效率低下。这些 Rollup 面临着一个持续的困境:要么为未充分使用的 blob 空间付费,导致每字节成本过高,要么延迟数据提交,直到积累足够的数据来填充一个 blob,从而导致不必要的延迟。

现有的想法,例如 Blob 共享Blob 聚合,试图通过允许多个 Rollup 共同占用一个 blob 来缓解这些效率低下问题。虽然这些方法提高了空间利用率,但它们引入了新的挑战:

成本分配复杂性:设计公平的支付分配机制(例如,Shapley 值或 Nash 议价解决方案)通常会引发参与者之间的博弈论行为,从而使成本分摊复杂化。

激励不一致:高吞吐量 Rollup 没有多少经济动机与较小的同行共享 blob,因为它们自身的利用率已经足够高。

协调开销:跨 rollup 数据捆绑需要同步协议,这会引入额外的延迟。

解决方案

为了解决这些限制,我们提出了动态 Blob,这是一种将 blob 大小与固定约束解耦的解决方案,允许参与者仅为他们实际使用的空间付费,而无需强制填充。这种方法消除了未使用的 blob 空间的多付费用,并消除了与数据累积相关的延迟。

假设

假设 1:在给定的时间 t,假设 Blob 基础费用已根据当前的网络负载、供需平衡和拥塞状态动态调整为固定值 B_{base}(t)。此时,用户在启动 Blob 交易时支付的费用与他们的 gas 消耗成正比。

假设 2:假设有足够数量的诚实轻客户端发送请求,并且每个采样请求都是匿名的(即,它不能链接到同一个客户端)。此外,采样请求的分布是均匀随机的,并且网络接收它们的顺序相对于其他请求也是均匀随机的。

详细机制

编码

[![blob](https://img.learnblockchain.cn/2025/06/24/a50d574358c17c5bff46fe7d47a5ed8d079_2_1380x468.png)\\
blob3806×1292 171 KB](https://ethresear.ch/uploads/default/original/3X/9/2/929a3a50d574358c17c5bff46fe7d47a5ed8d079.png "blob")

在我们的动态 blob 方案中,由于填充数据量的差异,每个 blob 的长度都不同。因此,虽然每行的块大小保持一致,但每行的块数却不同。blob 的每一行都使用 1D Reed-Solomon (RS) 编码进行编码。为了确保正确的编码,KZG 多项式承诺用于提交 blob 的每一行。如图 1 所示,实线框表示原始数据块,而虚线框表示编码后的块。

DAS

从长远来看,节点应该只存储或转发一小部分区块,以支持更好的可扩展性并容纳较弱的参与者。为了确保去中心化,节点不应承担过多的存储和转发任务,因为这可能会限制资源受限用户的参与。为了确保数据可用性,我们使用 GossipSub 进行数据分发,使用 Req/Resp 协议进行采样。Blob 的分配是分片的,每个子网的块数根据 blob 长度按比例分配。

托管

如果有 J 个子网,则分配给同一 blob 的每个子网的块数可能不同。为了确保负载平衡,在 blob 的每一行中填充一定数量的零值,确保分配给同一 blob 的不同子网的块数保持相等。

[![补0](https://img.learnblockchain.cn/2025/06/24/99dd1171757bed2b7dd5173ee9c7c16d1c9_2_1380x410.png)\\
补04361×1297 205 KB](https://ethresear.ch/uploads/default/original/3X/c/9/c953a99dd1171757bed2b7dd5173ee9c7c16d1c9.png "补0")

在图 2 中,图中的红色部分表示必要的零填充扩展。此操作可确保负载平衡和样本的均衡分布。我们的动态 blob 方案并没有完全消除对零填充的需求,但与原始方案相比,大大减少了所需的零填充量。

[![分散](https://img.learnblockchain.cn/2025/06/24/71f7a42f8ffd72e5eb983d57c4117314352_2_1380x410.png)\\
分散4374×1304 219 KB](https://ethresear.ch/uploads/default/original/3X/b/d/bd07f71f7a42f8ffd72e5eb983d57c4117314352.png "分散")

在图 3 中,相同颜色的块形成最小的采样单元,一个子网可以包含多个采样单元。这确保了每个 blob,无论其大小如何,都可以被许多节点充分采样,从而保证了数据恢复的可靠性。图 3 中的子网数为 6。

在图 3 中,红色区域表示必要的零填充扩展。此操作既确保了负载平衡,又确保了样本的均衡分布。设 n_i 表示 blob_i 中的块总数。以下表达式表示可以从 blob_i 采样的符号数:

x^*=n_i\left(1-\left(1-\frac{s_i}{n_i}\right)^m\right)

此公式改编自 这篇论文

可以从不同 blob 采样的符号数与 n_i 成正比。子网计数表示为 J,对于 blob_i,每个节点存储的符号数由下式给出:

p_i=\frac{n_i}{J}

第 j 个子网存储索引在以下范围内的块

[(j-1)p_i,jp_i-1]\quad j=1,2,...,J

从某种意义上说,此方法通过调整采样块的大小来实现列对齐。这确保了从每个 blob 采样的符号数与子网数成正比,从而增强了数据可靠性。

当 J = n_{max} 并且与 n_{max} 对应的 blob 被填充时,此方案达到其最坏情况,这对应于 1D PeerDas

SHPLONK 可用于合并多个多项式在不同点的承诺,从而减小证明的大小。

定价

在 EIP-4844 中,Blob 交易的定价策略如下:

\text{blob_fee} = \text{get_total_blob_gas} \times \text{get_base_fee_per_blob_gas}

\text{get_total_blob_gas} = \text{GAS_PER_BLOB} \times \text{len(tx.blob_versioned_hashes)}

这里,\text{GAS_PER_BLOB} 是一个常数,这意味着每个 Blob(无论是否已完全填充)都会消耗固定数量的 Blob Gas

本文提出的定价策略:基于 EIP-1559 机制,Blob 基础费用会根据 blob 的供需情况动态调整。但在任何给定的时刻,此基础费用都是固定的。用户根据他们使用的实际 Blob 容量付费,即

\text{get_total_blob_gas} = \alpha\times \text{GAS_PER_BLOB} \times \text{len(tx.blob_versioned_hashes)}

其中 \alpha 表示用户使用的 Blob 容量的比例。

结论

本文提出的动态 Blob 方案将数据容量与刚性的成本结构分离,使 Rollup 能够实现细粒度的成本控制和延迟优化。未来的研究方向可能会探索关键参数(例如,子网计数 J、零填充规则)的自适应调整,并研究为动态 Blob 实施二维编码的可行性,从而释放更多的效率提升。

如果你对此提案有任何反馈、建议或批评,我将不胜感激。非常欢迎你对框架可行性、潜在改进或对其实际应用的任何疑虑的见解。

其他资源

Blob 共享对 Rollup 的潜在影响

Blob 聚合 - 迈向更高效 Blob 的一步

FullDAS:通过 32MB 区块及更高版本实现大规模可扩展性

从 4844 到 Danksharding:扩展以太坊 DA 的途径

  • 原文链接: ethresear.ch/t/dynamic-b...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
以太坊中文
以太坊中文
以太坊中文, 用中文传播以太坊的最新进展