<aside> 💡 EIP-4844, Danksharding, PBS, DAS, KZG, Celestia, Avail
</aside>
Rollup的DA(Data Availability)问题
https://messari.io/article/polygon-a-multi-sided-approach-to-zk-scaling
为什么需要存储扩容
以太坊的Rollup-centric Roadmap,围绕Rollup进行扩容
Rollup把计算安全地转移到了L2,但存储仍然旧留在L1
L1存储能力有限,限制了以太坊上Rollup的容量
一些L2的存储扩容方案
需求:L1存储扩容
安全性高:L1上每个节点都要验证并存储数据
例子Arweave:节点需要60TB存储,且每天新增几百GB
L1的存储扩容对节点的存储和带宽要求过高
https://viewblock.io/arweave/stat/cumulativeWeaveSizeHistory
class BlobTransaction():
nonce: uint64
gas: uint64
max_basefee: uint256
priority_fee: uint256
to: Address
value: uint256
data: Bytes
blob_versioned_hashes: List[VersionedHash]
blobs: List[Blob] // 一段时间后过期
降低了节点的存储要求:扩展存储→扩展缓存(Blobs)
与Rollup结合
https://ethresear.ch/t/a-design-of-decentralized-zk-rollups-based-on-eip-4844/12434
Blob的存储
Blob Transactions上链时,会把Blobs放到Beacon Chain存储
因为Beacon Node的网络和存储压力远小于Execution Node
未来DA Node应该是独立的
安全性
EIP-4844,打算在The Merge之后的下一个分叉,上海分叉中引入
如果Block包含更多的Blob,节点的带宽难以支持实时同步Block
进一步降低节点的带宽要求:下载Blob→抽查Blob
节点对Blob进行随机抽查,然后对Block提交Attestation
只要有足够多的Attestation,就认为Block(中的Blob)是Available的
Blob分散地存储在网络中
虽然每个节点只保存Blob的数据片段,但是全网是有Blob的完整数据的
https://dougvitale.wordpress.com/2012/02/01/bittorrent-how-it-works-and-how-to-use-it/
安全性降低