跳到正文

Blobspace

一份以核验为先的指南,介绍以太坊 blobspace、编码与可用容量、PeerDAS 抽样和托管、临时留存、Rollup 推导及当前取决于分叉的限制。

更新于

仅供教育参考,不构成财务或安全建议。Blob 参数表、PeerDAS 假设、客户端行为、Rollup 推导和归档访问都可能变化或失效。

直接答案

Blobspace 是以太坊为随区块承诺的 blob 提供的、有上限且临时的数据可用性容量。它不是 EVM 执行区块空间、合约存储、永久文件系统或代币。类型 3 交易包含带版本哈希;经过认证的 blob 数据通过共识层边车或 PeerDAS 数据列传输。EVM 可以读取带版本哈希并验证某个打开点,却不能直接读取 blob 载荷。

PeerDAS 对 blob 进行纠删扩展,把扩展矩阵分成 128 columns,让节点托管和抽样其中一部分,而不要求每个节点下载每个完整 blob。这支持概率性的本地可用性判断,却不能证明 Rollup 执行有效性、以太坊最终性、桥接安全或永久可检索。容量随分叉变化。截至 2026-08-13,Fusaka BPO2 后的以太坊主网目标为每个区块 14 blobs per block,最多允许 21 个;每笔 blob 交易最多包含 6 blobs

运作方式

  1. 固定网络、区块或时隙、当前分叉和仅 Blob 参数升级表,以及 Rollup 与推导版本。历史 3/6、Pectra 6/9、当前 14/21、测试网和未来参数不可互换。
  2. 识别发布对象:类型 3 交易、带版本哈希、KZG 承诺与证明、blob 索引、L1 起点,并确认 Rollup 实际使用以太坊 blob,而不是 calldata 或替代数据可用性方案。承诺绑定数据,但其本身不能证明字节曾经可得。
  3. 分清单位。一个 blob 有 4,096 field elements * 32 bytes = 131,072 encoded bytes;不受限制的载荷通常每个字段元素使用 31 bytes,即 126,976 usable bytes。压缩、封装、填充、blob gas、纠删扩展后的单元和应用字节是不同数量。
  4. 核验参数表限制。目标值引导定价反馈,并非预留容量;区块上限是共识硬上限,而非预期吞吐量。PeerDAS 的 6 blobs per transaction 与当前 21 blobs per block 区块上限不同。
  5. 核验可用性路径。PeerDAS 使用一维纠删扩展、经认证的单元与数据列、gossip 和对等节点请求。当前参数下,一个节点至少抽样 8 columns 并承担托管职责;取得 64 of 128 columns 至少可以重建扩展矩阵。
  6. 分别跟踪生命周期状态:承诺已纳入、数据列已取得并验证、本地 DA 检查通过、L1 区块达到安全或最终确认、Rollup 批次已解码和推导、最低服务窗口仍有效、独立归档已经测试。可用性不会自动使后续各状态成立。
  7. 演练数据列缺失、日蚀攻击或网络分区、传播延迟、L1 重组、参数表或客户端不匹配、Rollup 格式升级和归档丢失。在协议窗口届满前获取、重建并保存所需数据;批次提交者与用户费用核算应参阅独立的 blob 费用主题。

示例

  • 单个 blob 的字节单位。 编码容量为 4,096 * 32 = 131,072 bytes = 128 KiB。一般任意载荷为 4,096 * 31 = 126,976 bytes = 124 KiB。差额是 4,096 bytes,占编码容量的 3.125%;Rollup 压缩与封装还会进一步减少应用载荷。
  • 当前每区块容量。 目标状态下,14 * 131,072 = 1,835,008 encoded bytes = 1.75 MiB,且 14 * 126,976 = 1,777,664 usable bytes = 1.6953125 MiB。达到上限时,21 * 131,072 = 2,752,512 encoded bytes = 2.625 MiB,且 21 * 126,976 = 2,666,496 usable bytes = 2.54296875 MiB。这些是在压缩和封装前、主网特定日期的每区块限制。
  • 交易与区块限制。 一笔含 6 blobs 的交易携带 786,432 encoded bytes = 0.75 MiB761,856 usable bytes = 0.7265625 MiB。最多 21-blob 的区块至少需要 4 transactions,例如 6 + 6 + 6 + 3;目标 14-blob 区块可由 6 + 6 + 2 组成。两种分配都不是为某个 Rollup 预留的容量。
  • 服务窗口与名义数据量。 4,096 epochs * 32 slots * 12 seconds = 1,572,864 seconds = 18.2044444444 days。按名义 7,200 slots per day14-blob 目标,编码数据量为 100,800 blobs per day = 12.3046875 GiB per day,一般可用数据量为 11.920166015625 GiB per day。错过的时隙和实际纳入量会改变实现值,而且服务窗口不是永久归档承诺。

风险

  • 套用过期分叉或仅 Blob 参数升级表。
  • 混用主网、测试网或其他网络的上限。
  • 把目标值当作保证或预留容量。
  • 把上限当作正常预期吞吐量。
  • 混淆每笔交易六个 blob 的限制与区块限制。
  • 混淆编码、可用、压缩、封装和 blob-gas 单位。
  • 漏算填充或 Rollup 格式开销。
  • 把 calldata 或替代 DA 标成以太坊 blobspace。
  • 接受与 blob 承诺不匹配的带版本哈希。
  • 把有效 KZG 打开证明当成字节曾经可得的证明。
  • 把抽样当成在本地完整下载每个 blob。
  • 混淆数据可用性与状态转换有效性。
  • 混淆本地 DA 检查与 L1 或 Rollup 最终性。
  • 因延迟、日蚀攻击、网络分区或相关对等节点而丢失数据列。
  • 尽管名义容量充足,重建或对等节点请求仍然失败。
  • L1 重组导致承诺丢失或顺序变化。
  • 推导或挑战前最低服务窗口已经届满。
  • 依赖不可用、损坏或不完整的归档或索引器。
  • 压缩或协议升级后 Rollup 推导失败。
  • 仅因 blob 数据可用便假定桥接或退出安全。

常见误区

  • Blobspace 是合约可像读取 calldata 一样读取的永久存储。
  • 一个 128 KiB blob 的每个字节都是不受限制的应用载荷。
  • PeerDAS 下每个以太坊节点都会下载并永久保存每个完整 blob。
  • KZG 承诺、成功抽样或最终纳入能证明 Rollup 状态正确且用户可以退出。
  • 主网容量永久固定为 3/66/9 或当前 14/21 参数表。

相关主题

来源

导航

搜索知识库...