EIP-4844详解:如何通过Blob交易降低以太坊Layer2费用
什么是EIP-4844
EIP-4844是以太坊的一项重要改进提案,它引入了一种称为"blob"的新型数据格式,旨在为Layer2解决方案提供更便宜的数据发布方式[1][4]。这项升级通过创建一个专门的数据存储层,显著降低了Layer2在使用以太坊作为数据可用性(DA)层时的费用,预计可使Rollup成本降低10-100倍[5]。
与传统的calldata不同,EIP-4844引入了新的交易类型——类型3交易(Blob交易),这些交易携带的blob数据规模可达约128KB,但成本远低于将相同数据存储为calldata[1]。这一创新设计在不破坏以太坊L1可组合性和执行层的前提下,大幅增加了数据可用性容量[4]。
Blob数据的核心特性
Blob数据具有独特的生命周期和存储特性。与永久存储在区块链上的calldata不同,blob数据的保存时间约为1个月(4096个epoch,约18天),之后会被自动清除[1][2]。这种临时存储方案正好满足Layer2的需求,因为Layer2只需要确保数据在足够长的时间内可用,以便用户可以从L2提取资金。
每个以太坊区块最多能容纳6个blob,每条交易最多可携带6个blob数据[2]。值得注意的是,blob数据存储在共识层而非执行层,因此EVM无法直接访问blob内容,只能查看对该数据的加密承诺[1]。这种设计提高了安全性,同时保证了数据的可验证性。
EIP-4844的技术实现
EIP-4844为开发者提供了两个关键的技术工具来验证和处理blob数据。首先是BLOBHASH操作码,它允许智能合约获取交易中任何blob的哈希值[3]。其次是点评估预编译,这是一个在地址0x0A处部署的预编译合约,用于验证KZG证明,确保blob在给定点的评估值正确,每次调用消耗50000 gas[6]。
Blob交易的格式在EIP-2718基础上进行了扩展,新增了两个关键参数。max_fee_per_blob_gas是发送方愿意支付的最大blob gas费用,实际收费基于区块的blob基础费用动态计算[6]。blob_versioned_hashes是用于验证blob内容完整性的哈希数组,采用0x01字节作为版本标识,后跟KZG承诺的SHA256哈希最后31个字节,确保与EVM的兼容性和未来升级的灵活性[6]。
EIP-4844对Layer2的革命性影响
在EIP-4844实施之前,Layer2解决方案通过在以太坊上发布交易数据来实现安全性,但这通常需要将大量数据作为calldata上链,导致费用高昂。用户在Layer2上的总体交易成本中,数据发布费用占比极大[7]。通过引入blob数据格式,这一问题得到了根本性解决。
Blob交易的费用模型独立于执行层的gas费用,采用专门的blob gas机制。这使得Layer2可以以极低的成本将交易数据发布到以太坊,从而将节省的费用传导给最终用户[7]。这一升级代表了以太坊在扩容道路上的重大进步,为模块化区块链架构的发展铺平了道路。
常见问题
6 Q&A1EIP-4844中的blob数据会永久保存在以太坊上吗?
不会。Blob数据的生命周期约为1个月(4096个epoch,约18天),之后会被自动删除。这种临时存储方案专为Layer2设计,因为L2只需确保数据在足够长时间内可用,以便用户提取资金。相比之下,calldata会永久存储在区块链上。
2EIP-4844的blob交易与传统以太坊交易有什么区别?
Blob交易是EIP-4844引入的新交易类型(类型3交易),可携带约128KB的blob数据。这些数据成本远低于calldata,但不参与EVM执行,只能查看数据承诺。传统交易则处理小数据量,参与智能合约执行。
3一个以太坊区块最多能容纳多少blob数据?
每个以太坊区块最多能容纳6个blob,每条交易最多可携带6个blob。这样的设计在保证数据可用性的同时,避免了单个区块过度膨胀。
4EIP-4844如何帮助降低Layer2费用?
EIP-4844为L2提供了成本低廉的数据发布方式。L2可以将交易数据作为blob发布到以太坊,而不是使用昂贵的calldata。blob gas费用独立计算,使得Layer2用户的整体交易成本降低10-100倍。
5BLOBHASH操作码的作用是什么?
BLOBHASH操作码允许以太坊智能合约获取交易中任何blob的哈希值。这使得合约开发者可以验证和引用blob数据,实现更复杂的跨层交互应用。
6点评估预编译如何工作?
点评估预编译位于地址0x0A,用于验证KZG密码学证明。它确保blob(由承诺表示)在给定点的评估值正确。每次调用消耗50000 gas,提供了高效的数据完整性验证机制。
热门文章
想了解更多?立即加入我们
注册即享专属权益与实时行情推送