EIP-4844经济学:深入探索Rollup的数据可用策略
作者:Jason,ETHconomicsResearchSpace
非常感谢Colin@colinlyguo参与本文的讨论和提供的意见,以及QiZhou@qc_qizhou对本文的反馈。
写在前面在EIP-4844经济学系列中,我们将分四部分来讲述新增的blob-carryingtransaction会给网络带来何种影响。在上一篇文章中,笔者深入Blob交易的费用机制,包括Blob交易的费用计算方式,Blob交易的特质以及BlobBaseFee的更新算法等内容。在本篇文章中,笔者基于EIP-4844EconomicsandRollupStrategies的分析框架进一步挖掘EIP-4844新引入的Blob市场会如何影响其主要的需求方Rollup的数据可用策略。
EIP-4844经济学系列:
EIP-4844经济学#1:深入EIP-4844费用机制EIP-4844经济学#2:深入Rollup数据可用策略(本文)EIP-4844经济学#3:深入多维资源定价EIP-4844经济学#4:深入Type3交易打包策略Rollup数据可用策略EIP-4844引入了Blob数据空间作为更佳的数据可用方案。似乎对于Rollup而言,只需要技术性地升级其密码学承诺算法以支持Blob即可。然而,除了技术底层的升级外,Rollup更需要研究如何利用Blob来尽可能降低其可用性数据的成本。换而言之,Rollup需要根据各自的成本曲线以及需求曲线制定其数据可用的策略。
模型假设分析建模分析的有效性依赖于模型假设。模型假设肯定是无法完全贴近现实,需要做得到抓小放大,关键在于假设的合理性以及对分析的影响。因此,在进行模型推导前,我们先来分析一下本文依赖的一些关键假设。
假设1:引入隐性的延迟成本在建模过程中,除了数据可用方法消耗的手续费外,本文还引入了隐性的数据延迟成本。数据延迟成本可能对于大部分人而言不太直觉。举一个极端例子,比如一个rollup的TPS是每天1笔交易,等待这些交易塞满一个Blob才提交至L1似乎不是一个优秀的策略。
数据延迟成本的隐形来自于其主要关联于用户体验,某些去中心化应用的安全模型,以及某些去中心化应用的活性。
L2的优势在于其之上的交易能够得到L1的确认。虽然序列器能够快速返回L2交易处理结果,但是若L2交易未得到L1的确认,中心化的序列器实际上比Polygon等L1安全性更差。因此,L2的目标用户理应关注L2交易的可用性数据被提交至L1事件以判断交易的状态,并依赖该状态进行后续操作。因此,数据延迟越大,用户需要等待时间越长,用户体验越差以跨L2应用为例,此类应用最终的安全性都依赖于被提交至L1的L2可用性数据。因此,此类应用的一些关键功能需要等待相应的L2交易的可用性数据上传后才可以实现。对于zkrollup而言,L2交易的可用性数据以及有效性证明被提交至L1时L2交易立即得到L1确认。然而,对于optimisticrollup而言,L2交易的可用性数据被提交至L1后仍需等待一段挑战期(如7天)。在该情况下,似乎L2交易的可用性数据的及时提交没那么重要。实际上并不然,因为有一些应用(如MakerBridge)会直接执行验证提交至L1的L2的可用性数据,无需等待挑战期。假设2:数据延迟成本与交易等待时长成正比本文假设数据延迟成本与交易等待时长成正比(线性函数)。现实中,延迟成本应该更适合用非线形的函数进行刻画。例如,
指数函数(延迟成本随时间指数上升)分段函数(超过某个阈值才引入延迟成本)相对于上面更精细的刻画,线形函数具有以下优势:
导数是常数,方便建模推导连续可导,建模过程中的导数运算同时,线形函数整体上也刻画了交易等待时长越大,数据延迟成本越高的关键特征,满足建模的需求。不同的线性比例也能捕捉拟合非线形函数。
假设3:智能合约处理可用性数据的Gas消耗为常数本文在Blob的可用策略和Calldata和Blob间的可用策略中假设智能合约处理可用性数据的Gas消耗为常数,与交易批次中的交易量无关。
在实际场景中,处理可用性数据的Gas消耗可能是与交易量成线性关系的。例如,交易批次中全是L2→L1的操作,那么智能合约可能需要逐个处理这些操作,因此处理可用性数据的Gas消耗也会呈线性关系的。
若对处理可用性数据的Gas消耗感兴趣,可以以Scroll为例进行洞察:https://github.com/scroll-tech/scroll/pull/659。值得注意的是,EIP-4844之后,计算交易witness的keccak256消耗的gas可以省去。
根据统计数据可以发现,各个layer2处理可用性数据的方式实际上不太一样。下面挑选典型例子进行说明:
1.Optimism中处理可用性数据消耗的Gas基本与交易批次的大小无关,十分符合本文的假设。
cr:@donnoh_eth2.Arbitrum中处理可用性数据消耗的Gas基本与交易批次的大小呈正相关,似乎不太符合本文的假设。固定的部分达到175000Gas,可变部分最大达到90000Gas,比例约为51.4%。某种程度而言,该假设仍是合理的。
cr:@donnoh_eth假设4:智能合约处理可用性数据的Gas可忽略本文在Blob均衡价格,Blob拼单策略以及Blob成本分摊的推导中假设智能合约处理可用性数据的Gas消耗可忽略,即远低于上传可用性数据的成本。
在EIP-4844之前,根据统计数据,该假设很明显是成立的:
cr:@donnoh_ethcr:@donnoh_eth然而,EIP-4844上线前期,Blob的费用似乎可以忽略不计,参见Optimism的一个batch交易。这个时期Blob的供给远高于需求,DataGasPrice为1wei。
cr:beaconcha.in虽然不符合当前情况,但是该假设在探讨上述三个主题还是有意义的
Blob均衡价格探讨的是Blob在未来达到供给需求平衡时的场景Blob拼单策略以及Blob成本分摊探讨的是Blob成本过高而需要拼单的场景?当前(2024.3.31)的Blob已经锚定了目标,更接近建模假设:
cr:@0xRob假设5:GasPrice和DataGasPrice为静态均衡值本文在推导的过程中假设GasPrice以及DataGasPrice为静态均衡值。实际上,均衡值会受供需范式转移的影响,也是动态的。不过,供需范式转移(非随机波动)发生的频率较低。在这中间,均衡值可以考虑为静态值,不会影响在这中间实施的策略。不过,供需范式转移转移后,要更新一下新的状态均衡值即可。
Blob的可用策略在EIP-4844中,Blob采用的是集装箱的收费模型。因此,对于Rollup而言,需要权衡:
当Blob被完全利用时,上传可用性数据均摊成本是最低的
当Blob被完全利用时,数据延迟成本是最高的(等待最长时间才能提交至一层网络)
Blob数据可用方案成本Calldata和Blob间的可用策略Blob作为一种数据可用方案,并非完全优于Calldata:
利用Calldata上传可用性数据的均摊成本是不变的,无需如Blob般等待数据达到某种量级以降低成本,因此可以做到快速发布,因而有着更低的数据延迟成本。可以预想,有着较少交易量的Rollup会更倾向于使用Calldata。这些Rollup需要付出很大的数据延迟成本才能把Blob填充完。Calldata数据可用方案成本然而,Vitalik基于技术的角度更倾向于限制Calldata的使用,让Rollup都使用Blob:
对于Rollup而言,维护两套机制成本太高。Calldata本身不是为数据可用设计的。关于提高Calldata作为数据可用性方案成本的EIP-7623(Draft)也被提出。基本思路很简单:
若交易Gas消耗中Calldata的占比>~76%,Calldata的成本为68gas/byte若交易Gas消耗中Calldata的占比~76%,那么该交易就被认定其用于数据可用。该值是通过历史统计权衡出来的:观察数据可用交易的Calldata的占比,尽可能命中观察非数据可用交易的Calldata的占比,尽可能不要误伤Blob均衡价格Blob拼单策略Blob的联合发布似乎可以解决Blob数据延迟成本过高的问题,类比于现实世界的集装箱也不限于只装一家的货物。
本章节评估在下列三种场景下,拼单策略导致Blob均衡价格的变化,并分析拼单策略是否相对单独发布为更优策略。
Rollupi和Rollupj都采用Blob作为数据可用方案Rollupi采用Blob作为数据可用方案,而Rolupj采用Calldata作为数据可用方案Rollupi和Rollupj都采用Calldata作为数据可用方案场景1:Rollupi和Rollupj都采用Blob作为数据可用方案场景1中Blob的均衡价格会降低,最多降低一半
场景1中拼单策略相对单独发布为更优策略
场景2:Rollupi采用Blob作为数据可用方案,而Rolupj采用Calldata作为数据可用方案场景2中Blob的均衡价格会上升,最多为原来的2倍
场景2中拼单策略相对单独发布不一定是更优策略
场景3:Rollupi和Rollupj都采用Calldata作为数据可用方案场景3中拼单策略相对单独发布不一定是更优策略
Blob成本分摊性质1:必然存在最佳成本均摊方案性质2:大型Rollup需要支付低于其交易比例的Blob费用性质3:大型Rollup需要支付超过一半的Blob费用性质4:小型Rollup单笔交易成本优化效果更佳后记EIP-4844下Rollup数据可用策略让我们辩证地看待新旧技术,每种不同的技术都有其适用的范围,我们需要划清各个技术的效用边界,从而让我们更有效率地利用技术。延迟成本基本主导了本文的推导,而这块在平时的讨论中都隐藏在水下。
后续仍有很多开放的研究空间,如限制Calldata的EIP敲定后,Rollup数据可用策略会发生什么变化。欢迎加入ETHconomicsResearchSpace一起讨论研究。
相关资料EIP4844:WhatdoesitmeanforL2users?
https://medium.com/offchainlabs/eip-4844-what-does-it-mean-for-l2-users-5e86ebc4c028
EIP-4844EconomicsandRollupStrategies
https://arxiv.org/abs/2310.01155
EIP-4844经济学#1:深入EIP-4844费用机制