EIP-4844(分片 Blob 交易),也称为 Proto-Danksharding,是一项以太坊改进提案 (EIP),旨在实现构成完整 Danksharding 规范的大部分逻辑和“脚手架”(例如,交易格式、验证规则),但尚未实际实现任何分片。在 proto-danksharding 实现中,所有验证者和用户仍然必须直接验证完整数据的可用性。[1]
3 月 14 日,Dencun 升级在 以太坊 主网 上线。Dencun 包括六个与以太坊执行逻辑相关的 EIP。其中最重要的是 EIP-4844,它引入了一种专门为 Layer 2 设计的特殊资源,将降低交易费用。Blobspace 是自 The Merge 以来最重要的事情。[3][4]
EIP-4844 向 以太坊 引入了一种新的交易类型,它接受数据“blobs”,这些数据将在信标节点中持久保存一小段时间。这些更改与以太坊的扩展路线图向前兼容,并且 blobs 足够小,可以保持磁盘使用率可管理。
EIP-4844 通过引入一种新的“携带 blob”的交易类型来帮助扩展以太坊。Rollup 排序器(以及潜在的其他排序器)将使用这种新的交易类型,以比目前可能的方式更便宜地将数据发布到以太坊 主网。此外,EIP-4844 通过确保每个区块中包含的 blob 的大小和数量受到限制来保持去中心化,从而不会大幅增加以太坊节点的计算和存储要求。在未来的升级中,可以减少这些限制以进一步扩展以太坊。
Blob 数据可能比类似大小的常规以太坊 calldata 便宜,因为 blob 数据本身实际上无法访问以太坊的执行层(EL,又名 EVM)。相反,只有对 blob 数据的引用才能被 EL 访问,并且 blob 本身的数据将仅由以太坊的共识层(CL,又名信标节点)下载和存储,并且仅在有限的时间内(通常为 ~18 天)。
携带 blob 的交易实际上并不包括 blob 数据;只有对它的引用在 blob_versioned_hashes 字段中,该字段是每个 blob 独有的指纹,可用于将每个 blob 绑定到携带 blob 的交易。由于每个区块中仅存在对每个 blob 的引用,因此每个 blob 中包含的 L2 交易不会也不能由以太坊的执行层(又名 EVM)执行。这就是为什么 blob 数据(每个 blob 128KB)可以由 rollup 排序器以比类似大小的常规以太坊 calldata 更便宜的价格发布到以太坊的原因 - blob 数据不需要由 Layer 1(在本例中为以太坊)重新执行。构成每个 blob 的实际数据仅在以太坊的共识层(即信标节点)上流通和存储,并且仅在有限的时间内(4096 个 epoch,或 ~18 天)。
通过其携带 blob 的交易格式,EIP-4844 提高了以太坊的可扩展性,保持了去中心化,最重要的是,为未来实施更复杂和影响更大的可扩展性升级奠定了基础;即,完整的 Danksharding。[2]