解读Vitalik新文:为什么Blob空间未被高效使用的Rollup陷入了发展困境?
原文作者:Haotian
如何理解 Vitalik Buterin 新文对以太坊的扩容思考?有人说 Vitalik 给 Blob 铭文喊单,离大谱。那么 Blob 数据包如何工作?坎昆升级后 Blob 空间为啥得不到高效利用?DAS 数据可用性采样是为分片做准备?
在我看来,坎昆升级后性能够用了,Vitalik 是对 Rollup 发展忧心忡忡。Why?接下来,我来谈谈我的理解:
1)之前多次解释过,Blob 是和 EVM calldata 脱钩的一个直接可被共识层调取的临时数据包,直接好处是,EVM 在执行交易时可以不访问 Blob 数据,因此产生不了较高的执行层计算费用。
目前平衡一系列因素, 1 个 Blob 大小为 128 kb,一笔 Batch 给主网的交易最多携带两个 Blob,理想情况下,一个主网区块最终目标是承载 16 MB 大约 128 个 Blob 数据包。
因此 Rollup 项目方要尽可能平衡 Blob 区块数量、TPS 交易容量、Blob 主网节点存储成本等因素,目标以最优性价比使用 Blob 空间。
以 Optimism 为例,目前一天大约 50 万笔交易,平均每 2 分钟 Batch 一次交易到主网,一次携带 1 个 Blob 数据包。为啥带 1 个,因为 TPS 就这么多用不到,当然也可以携带两个,那每个 Blob 的容量都不会满,却额外增加了存储费用,没必要。
当随着 Rollup 链下交易量的提升,比如每天要处理 5, 000 万笔交易怎么办呢? 1、Compress 压缩每笔 Batch 的交易量,尽可能让 Blob 空间内容量大量的交易;2、增加 Blob 数量;3、缩短 Batch 交易的频次;
2)由于主网区块承载数据量受 Gas Limit 以及存储成本的影响, 1 个 Slot 区块 128 个 Blob 是理想状态,目前用不到那么多,Optimism 每 2 分钟才用 1 个,留给 layer 2 项目方提升 TPS,扩大市场用户量和生态繁荣度的空间还有很大很大。
因此,坎昆升级后一段时间内,Rollup 在使用 Blob 的数量、频次以及 Blob 空间竞价使用等方面并不“卷”。
之所以 Vitalik 提 Blobscription 铭文是因为,这类打铭文能短暂增加交易量导致 Blob 使用需求增加,因此会扩大体积,用铭文做例子可以更深刻理解 Blob 的工作机制,Vitalik 真正想表达的内容和铭文并没有太大关系。
因为理论情况下,若有 layer 2 项目方高频次且高容量向主网 Batch 交易,且每次把 Blob 区块拉满,只要它愿意承担高额的伪造交易 Batch 成本就会影响其他 layer 2 对 Blob 的正常使用,但目前情况下,就像有人买算力对 BTC 进行 51% 硬分叉攻击一样,理论上可行,但实际缺乏利益动机。
Blob 的引入目标是为了减负 EVM,而提升节点的运维能力,无疑为 Rollup 量身订做的方案。显然,当下并没有被高效使用,二层使用 Gas 费用会在“较低”区间稳定很长一段时间。这会给 layer 2 市场长时间的“增兵屯粮”黄金发展窗口。
3)那么,假使有一天 layer 2 市场繁荣到一定程度,每天 Batch 到主网的交易成巨量,目前 Blob 数据包不够用怎么办?以太坊早已给出了解决方案:采用数据可用性抽样技术(DAS):
简单理解,就是把原先需要一个节点存储的数据可以同时分布在多个节点内,比如,每个节点存储全部 Blob 数据的 1/8 , 8 个节点组成一个小组来满足 DA 能力,相当于把目前的 Blob 存储容量又扩大了 8 倍。这其实也是未来 Sharding 分片阶段要做的事情。
但目前 Vitalik 多次来重申这个,饶有韵味,似乎在告诫广大 layer 2 项目方:不要总抱怨以太坊 DA 能力贵,以你们现在 TPS 容量都没把 Blob 数据包的能力开发到极致,赶紧加大火力搞生态,扩大用户和交易量吧,别总想着 DA 出逃搞一键发链的花活。
后边,Vitalik 又补充了一句,认为目前核心 rollup 中,只有 Arbitrum 达到了 Stage 1 ,虽然 DeGate、Fuel 等达到了 Stage 2 ,但他们还没有被更广泛群体熟悉。Stage 2 是 Rollup 安全性的最终目标,极少数 Rollup 达到了 Stage 1 ,而大部分 Rollup 都在 Stage 0 阶段,可见 Rollup 行业的发展着实让 Vitalik 忧心忡忡啊。
4)其实,单纯就扩容瓶颈问题而言,Rollup layer 2 方案可提升性能的空间还很大。
1、通过数据压缩更高效地使用 Blob 空间,OP-Rollup 目前有专门的 Compressor 组件来进行此工作,ZK-Rollup 本身链下压缩 SNARK/STARK 证明向主网 submit 就是在“压缩”;
2、尽可能降低 layer 2 对主网的依赖,在特殊情况下才使用乐观证明技术来保障L2安全,比如,Plasma 大部分数据都在链上,但是在存提款场景都是主网发生,因此主网可以承诺其安全性。
这意味着,layer 2 应该只考虑把存提款这类重要操作才和主网强关联,这样即减轻了主网负担,又增强了L2自身性能。之前谈并行 EVM 时提到的 Sequencer“并行处理”能力,在链下筛选、分类预处理大量的交易,以及 Metis 推行的混合 Rollup,正常交易走 OP-Rollup,特殊提款请求走 ZK Route 等等都有类似的考虑。
以上。
总之,Vitalik 这篇思考以太坊未来扩容方案文章,非常有启发意义。尤其是对 layer 2 发展现状的不满,对 Blob 性能空间的乐观肯定,以及对未来分片技术的展望,甚至还苦口婆心指出了一些 layer 2 值得优化的方向等等。
其实,现在唯一的不确定留给 layer 2 自己了,该如何加速发展呢?