EIP4844以太坊改进方案引入一种新类型的交易到以太坊区块链中,允许区块链Rollup 以更低的成本结算其交易。 这些新交易接收成为“blobs”的大块交易,这些数据会在段时间后会被删除。 Blob 交易,由EIP-4844引入,即“Proto-danksharding”,为以太坊添加了一种新的数据结构 在大约 20-90 天后从链上删除。
Layer2 将数据上传到Layer1后的删除问题。
以太坊只需要验证批次是否有效一次,然后就不在需要这些数据。
新引入的数据存储格式 blob 本质是一个字节向量(ByteVector[n]),n = FIELD_ELEMENTS_PER_BLOB * BYTES_PER_FIELD_ELEMENT。
blob 可用容量4096*32 个字节约为0.128MB;
另新增常量 MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS:为固定值 4096 ,定义了节点必须存储 blob 数据的最少时段数(4096 * 32 * 12 / 3600 / 24 = ~18.2 天),期间数据依然可以被网络中的节点访问和验证;逾期后,节点有权删除 blob 中的侧车数据。这个常量保证网络中任何节点都能够获取所需的历史数据,从而维护网络的完整性和连续性。
存储最短时间 18.2 Day 注:侧车数据(sidecars),泛指与 blob 交易相关联的数据但不直接存储在区块链上的附加信息(包括但不限于 blob 数据本身、KZG承诺、KZG proof、版本化哈希等)。
blob 数据的组成部分:
用户数据:这是 blob 的核心内容,即要在以太坊上存储和传输的实际数据集。对于不同的应用,这些数据可能包括但不限于交易详情、状态变更信息或任何需要在区块链上存储的大量数据。
数据承诺与证明:为了确保数据的完整性和可验证性,blob 通常会包含一个数据承诺以及用于验证承诺的证明,使得任何人都可以验证 blob 中数据的正确性和完整性,而无需访问整个数据集。
引入 blob gas 作为一种新型 gas。它独立于普通 gas 并遵循自己的目标规则(类似于 EIP-1559)。
单个 blob 的 gas 容量由新增常量 GAS_PER_BLOB 定义,值为 2 ** 17,即 131072 单位 gas。 目标 blob gas 消耗量由新增常量 TARGET_BLOB_GAS_PER_BLOCK 定义,对应于 3 个 blob 的 gas 容量,即 393216 单位 gas(3 * GAS_PER_BLOB)。 最大 blob gas 消耗量由新增常量MAX_BLOB_GAS_PER_BLOCK 定义,对应于 6 个 blob 的 gas 容量,即 786432 单位 gas(6 * GAS_PER_BLOB)。
本文作者:Ramondy
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!