为什么EIP-4844对Rollup很重要及它在ZK-EVM如何运作

作者:Taiko Labs;翻译:0xjs

太长不读版:

EIP-4844有两个核心变化:

● 增加了一个以太坊区块中可发布的数据量,从而提高了Rollup的吞吐量。

● 引入了一种新的交易类型,称为“blob transaction”(数据块交易),并设置了一个单独的费用市场,以确保数据交易不与常规交易竞争。

这两个变化将降低Rollup的数据发布成本。然而,今天很难确定成本降低会有多大,因为这将取决于网络拥堵的市场情况。

本文简要介绍EIP-4844以及它将如何影响Rollup。Danksharding的历史、数学细节和机制选择相关的详细信息,请参考Dom的文章或Proto-Danksharding FAQ。

内容

前言:快速回顾

数据可用性(DA)

Proto-Danksharding:EIP-4844

前言:快速回顾

扩展以太坊的想法是在不增加构成网络的节点负担的情况下获得更多的区块空间。经过多次辩论,选择的解决方案是以太坊(Layer 1)将扩展数据,而Rollup(Layer 2)将可扩展的数据转化为可扩展的执行。

在以Rollup为中心的路线图之前,以太坊探索了分片作为扩展解决方案。分片是一种水平扩展方法,其中每个分片都是Beacon Chain上并行运行的迷你区块链。然而,当Rollup出现时,人们认为它们比分片更高效和灵活,可以用于扩展以太坊。纯分片被抛弃了。

取而代之的是,Dankrad Feist提出了danksharding,它允许验证者执行极少量的工作来检查数据是否可用,使用数据可用性采样(Data Availability Sampling,DAS)(无需像今天一样下载所有数据)。它解决了Rollup排序器潜在地保留数据的问题:就像节点不会跟随包含无效交易的分叉一样,节点也不会跟随数据不可用的分叉,即使有99%的验证者恶意地试图保留数据。

由于danksharding仍然相当复杂,proto-danksharding提出了一个中间步骤,引入了Rollup排序器将使用的blob-carrying交易类型,但暂时没有数据可用性检查(DAS)。Proto-danksharding被整合到EIP-4844中,预计将在2023年第四季度生效。

数据可用性(DA)

Rollup将每个区块的数据发布到L1。这些数据应该对每个人都是可用的。

数据可用性意味着没有网络参与者,包括合谋的绝大多数全节点,有能力阻止数据的可用性。

当数据可用时,任何人都可以从发布的数据中推导出链状态,并检查推导出的状态是否与Rollup提供的状态相匹配。

DA问题是以太坊的主要扩展瓶颈。现在,它是通过CALLDATA来完成的,这相当昂贵。一些估算是,将数据发布到L1大致构成Rollup运营成本的80%左右。

Proto-Danksharding:EIP-4844

数据块和携带数据块的交易

EIP-4844将CALLDATA替换为一个新的“Blob层”,以提高Rollup的吞吐量并降低发布数据的成本。有了EIP-4844,数据以“数据块”形式发布,同时引入了一种新的交易类型,称为“携带数据块的交易”,Rollup排序器将使用该交易类型。

使用这种新的交易类型,blob数据存储在Beacon Chain上。也就是说,EVM无法直接访问此数据。L2节点可以在2周内从Beacon客户端检索数据(如果需要,可以在智能合约中使用它),然后从该数据派生出L2链。要检索数据,需要向以太坊节点发送请求。然后,他们在交易中使用该数据(使用CALLDATA),并验证该数据是否与数据块中的数据匹配(数据块哈希直接在EVM中可用)。

关于EIP-4844,我们应该考虑的新事物是什么?

新的预编译:点评估预编译(point evaluation pre-compile)

对于ZK证明,将添加一个新的预编译:点评估预编译。它使用EVM中提供的数据承诺(作为“真实来源”)、数据块上的一个点、其预期值和证明。操作码会检查此数据块点是否与预期值匹配。也就是说,已承诺的区块数据等于Rollup正在导入的数据。

新类型的Gas:数据Gas(data gas)

将引入一种新的Gas类型来定价数据块数据:数据Gas。它的工作原理与EIP-1559机制类似,但有一些变化:

● basefee是从excess_data_gas中派生的,类似于EIP-1559机制。

● max_fee_per_blob_gas是发送者愿意为数据块支付多少费用的竞标价。

● blob_version_hashes是数据块的哈希列表(因为单个交易可以带有多个数据块)。

由于引入了新的交易类型和单独的费用市场,数据块交易不会与常规L1交易竞争。也就是说,数据块交易的定价不依赖于常规交易的L1网络费用。

节点要求

节点需要为请求的数据块数据提供4,096个epoch大约为18天的服务。在此期限之后,节点可以从硬盘上删除数据并停止提供服务。

让数据块过期将限制额外的存储需求。今天,每个区块提供约1KB的数据存储空间。在EIP-4844之后,将会提供约384KB的存储空间,目标是每个区块3个数据块。如果它在新的数据块到来时删除旧的数据块(根据max_amount_of_blobs/block * num_blocks_in_4096_epochs计算),这将导致节点额外需要大约50GB的数据存储空间。

一旦数据块过期,数据仍然可以通过一些超出协议的方式检索(例如TheGraph、区块浏览器、节点提供者等)。

其他细节

与Merkle Proofs相比,使用KZG承诺更具简洁性和廉价性,因为它们比重新计算哈希承诺更便宜。

EIP-4844需要进行以太坊共识升级。然而,对于进一步的danksharding升级,只需要Beacon Chain的升级。