在区块链技术飞速发展的今天,以太坊(Ethereum)作为全球领先的智能合约平台,其可扩展性(Scalability)问题一直是社区和开发者关注的焦点,随着去中心化金融(DeFi)、非同质化代币(NFT)以及各类去中心化应用(dApps)的爆炸式增长,以太坊主网面临着交易拥堵、Gas费高昂等挑战,为了应对这些挑战,以太坊通过一系列升级(如伦敦升级、合并、上海升级等)不断演进,而“Blob”(Binary Large Object,二进制大对象)正是其最新一轮重要升级——Dencun升级——中引入的关键机制,旨在为Layer 2(L2)解决方案提供更廉价、更高效的数据存储途径,从而大幅提升整个以太坊生态系统的吞吐量和可扩展性。
什么是以太坊 Blob?
Blob是以太坊数据 blobs中的一种特殊数据结构,它是一种用于存储大量数据的临时容器,这些数据通常与特定交易(特别是L2的批处理交易)相关联,Blob的设计初衷是服务于L2网络,如Arbitrum、Optimism、zkSync、Starknet等,这些L2解决方案在以太坊主链(Layer 1, L1)之上构建,旨在通过将计算和部分数据负担转移到自身来提高交易速度和降低成本。
在Dencun升级之前,L2网络要将交易数据发布到以太坊主网上,主要是通过调用L1的CALldata(调用数据),CALldata的存储成本相对较高,这直接限制了L2进一步降低交易费用的空间,因为L2最终需要将这些数据“锚定”在L1以保证安全性。
Blob的出现就是为了解决这个问题,它提供了一种比CALldata更经济的替代方案,专门用于存储那些不需要长期保存在以太坊区块链上的大量数据,Blob数据本身不会被直接写入以太坊的区块链状态,而是与一个“承诺”(如KZG承诺)一起被记录在区块中,这个承诺可以用来验证Blob数据的完整性和正确性,Blob数据在一段时间后(当前预期是大约18天,约12,096个区块)会被彻底从网络中删除,这大大降低了以太坊主网的存储压力。
Blob 如何工作?
Blob的工作机制与以太坊的共识机制和EVM(以太坊虚拟机)紧密相关:
- 交易发起:当L2网络需要将一批交易数据提交到L1时,它会构造一个包含Blob数据的“Blob交易”,这种交易与普通的以太坊转账或智能合约调用交易类似,但它们不直接在EVM中执行,而是引入了新的交易类型和字段。
- Blob数据与承诺:Blob交易包含一个或多个Blob(每个Blob大小约为125KB),以及一个或多个KZG承诺,KZG是一种多项式承诺方案,它允许生成一个简短的、可验证的承诺,代表整个Blob数据的内容,这个承诺会被包含在区块的“共识层”数据中。
- 验证与执行:当L2节点需要验证这些Blob数据时,它们可以利用KZG承诺来高效地验证数据的完整性,而无需下载和存储整个Blob数据,对于需要执行这些数据的L1智能合约(如数据可用性采样节点),它们可以通过特定的方式访问和验证Blob数据。
- 数据可用性与过期:Blob数据被发布到网络后,其他节点可以通过数据可用性采样等方式确认数据确实可用且未被篡改,一旦过了预设的数据保留期(18天),Blob数据就会被网络节点主动丢弃,只留下那些可以被用来验证历史数据的KZG参数(这些参数体积小得多,可以长期保存)。
Blob 的核心优势与意义
Blob的引入对以太坊生态系统,尤其是对L2解决方案,具有革命性的意义:
- 大幅降低L2交易成本









