FTX 欧洲和日本子公司拍卖
Foresight Ventures:以太坊迈向 full sharding 的第一步,EIP-4844 全面解析
撰文:Yihan Xu@Foresight Ventures
在这篇报告中你可以了解到:
最近社区参与度超标的 KZG Ceremony 都刷到了吧,这个仪式到底在干什么?
简单概括,KZG Ceremony 是实现 EIP-4844 不可绕过的一个初始化环节,而 EIP-4844 是实现以太坊 sharding 过程中的先行版本。
一、Sharding: 以太坊扩容的长久之计
二、EIP-4844: 短期高回报,Sharding 的精简先行版
EIP-4844 = Proto-Danksharding;
Proto 来自以太坊研究者的名称
由于实现 danksharding(下一节会分析)的复杂度很高,开发周期至少是以年为单位的。因此 proto-danksharding 是实现 danksharding 前对以太坊的扩容方案,主要实现了 danksharding 中的交易格式、precompile 等设计。
1. Proto-danksharding 概述
Proto-Danksharding 主要引入了一种新的 transaction type,也就是 blob-carrying transaction。至此,Rollup 的数据通过 blob 的形式以更低的成本向 layer 1 传输,并作非永久存储。同时,blob 远大于现在的 calldata,可以更好地支持 rollup 上的高 TPS。
关于 blob:
2. Blob-carrying transaction 解读
给 transaction 挂上 blob(数据单元)
作用
参考 Vitalik 在提案中给出的图,Data blob 和当前的 calldata 相似,rollup 可以将交易、证明等数据通过 blob 上传到 layer 1 来保证 data availability。
成本
Data blob 的设计初衷是支持 rollup高通量的交易,相比同等大小的 calldata(使用链上存储),blob 的成本将会降低很多(不需要永久存储)。因此,rollup 在维持数据可用性上花费的 gas 相比之前会显著降低。
容量
每个 blob 的大小约为 125kB(fact: 当前平均 block size 只有~90kB)。
3. Blob-carrying transaction 的价值和挑战
价值
可以把 blob 看成一种缓存,rollup 提交的交易数据从此以缓存的形式存在。降低对存储硬件的要求,为以太坊提供额外的数据扩容并降低 gas 成本。
挑战:对以太坊节点硬件性能的要求
Ethereum 当前平均区块大小只有~90kB,但是一个 blob 就有~125kB
根据 EIP-4844 的设计,每个 slot 正常情况下约为 1 MB,因此每年增加的数据量为:
1 MB/block * 5 block/min * 43200 min/month * 12 month/year = 2.47 TB per year
每年增加的数据大小远超过了以太坊数据总量,这样的存储方案显然是不高效的。
解决方案
这两种解决方案从不同程度上缓解了 blob-carrying transaction 在存储空间上的 tradeoff。
4. KZG Commitment
KZG Commitment 是 EIP-4844 中采用的多项式承诺方案
解析 KZG commitment