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