以太坊竞价升级算法EIP-2593分析

今天,我们来继续分析区块空间市场提案,解析EIP-2593²,该提案以“竞价升级算法”而为人熟知,简称“自动扶梯”。该提案被宣传为EIP-1559提案的替代方案,两者的设计目标在很大程度上互相重叠。
虽然该提案十分简单,但公众对其存在大量误解ⁱ(详细内容请查看注释i)。本文将重点分析以太坊改进建议(EIP)本身所规定的自动扶梯提案。如今,随着开发商对区块空间市场变化的呼声越来越高,我们也决定提供我们的见解。
什么是自动扶梯提案?
根据自动扶梯提案,用户继续参与区块空间的第一价格拍卖。但是,每笔交易都可以选择为不断升级的出价提供参数,从而为区块生产者创建一个基于时间的拍卖,来将该交易打包进区块。
EIP-2593提案引入了用户必须明确的以下参数:
起始价格:用户希望为交易支付的最低价格;
起始区块:使该笔交易有效的第一个区块;
最高价格:出价人为达成该笔交易而愿意支付的最高价格;
最大区块:用户愿意等该交易得到处理的最后一个区块。
设计目标对比
1559提案和2593提案都寻求改善区块空间市场的用户体验。尽管如此,1559提案另有三个设计目标,详见《以太坊改进提案EIP-1559分析》³。这三个设计目标分别为:
实施松弛机制;
将以太坊的网络安全与交易手续费(transaction fees)分离开来;
防止经济抽象。
相比之下,2593提案的范围要窄得多,因为它不支持任何上述功能。这并非对该提案本身的批判,只是对其支持者(包括原始的EIP)宣传方式的更正。
即便如此,下面我们来比较一下它们的目标重叠领域,看看1559提案和2593提案各自想改善用户体验的方式。
EIP-1559提案:该机制试图在大多数时间为区块空间建立固定价格销售。唯一不会发生固定价格销售的情况是接近满块时(即:松弛机制被耗尽),此时系统会进行第一价格小费拍卖。这使用户可以做出是否想要进行交易的二元决策,而非费尽心思去揣测正确的费率。由于基本费(BASEFEE)机制的作用,第一价格小费拍卖的持续时间被最小化。
EIP-2593提案:该机制给交易附加了一个不断升级的出价,从而逐渐测试最佳出价是多少。起始出价较低,有助于防止多付,因为矿工应该以他们愿意接受的最低价格将交易打包进区块ⁱⁱ(详细内容请查看注释ii)。竞价升级机制假定出价会超过网络中的矿工费,因此可确保交易最终被打包进来。这有助于防止少付。
评估自动扶梯算法
2593提案的范围较小,所以评估起来相对简单。每个用户对成本和速度两个主要维度都有偏好。假设每个用户只能广播交易一次,他们需要将这两个偏好编码成单个值:他们的费率。
增加一个自动扶梯函数将为该交易增加第二个维度,因为用户可以假设该交易尚未被打包进区块,从而提前确定未来很多区块的费用。这给了用户更多的控制权,应该是对现状的严格改进。在现实世界中,用户可以随时广播自己的交易,但这个过程会给网络带来计算成本,给用户带来心理和运营成本。所以整体逻辑还是成立的。
具体而言,自动扶梯是对现有的第一价格拍卖模式的一种渐进式改进(你可以称之为“优化后的第一价格拍卖”),因为它允许用户预先确定自己的出价策略。因此,只要有第一价格拍卖,且用户的时间偏好不高,它就会发挥作用。
对于时间偏好较高的用户来说,很容易理解该提案为何不能改变现状。如果一笔交易追逐在1-2个区块内成交的机会(所有的套利交易、DeFi清算等都是如此),那么根本没有足够的时间展开竞价。这样的交易者更害怕少付(错过该区块的切入点),而非多付。因此,他们会继续大大地提高费用的安全系数。
对于时间偏好较低、价格敏感度较高的交易者来说(就目前而言,大多数交易在大多数时间都是如此),自动扶梯算法是对现状的一种可喜的改进。由于这些用户可以更安全地将他们的出价设置在最近处理的交易的中低区间,我们发现对区块空间的过高出价的数量可能会下降。无法确定这是否会降低个人用户的手续费,因为任何用户体验上的收益也会诱发进一步交易的需求。
评估EIP的分析
EIP最重要的部分是对当前区块空间市场机制、EIP-1559提案和EIP-2593提案的情景分析。此外,作者还考虑了两级用户(高时间偏好与低时间偏好)在三种不同拥堵程度下的情况:(1)“通常处于半满的区块”,(2)“通常不到半满的区块”,(3)“在出人意料的(“黑天鹅”)系列事件中反复全满的区块”。
这就创造了2×3×3=18种不同的场景,作者在头脑中模拟了这些场景,从而根据用户的偏好找到正确的用户策略。最后,他对各自用户类型的结果进行评估。这种分析存在几个问题。
首先,对三个拥堵级别中的前两个级别而言,自动扶梯根本不重要。只要区块未满,矿工就会把任何支付最低费用的交易打包进来。所有提案都是如此,而且不会发生第一价格拍卖。只有启动了第一价格拍卖,自动扶梯才有意义,这也使得作者对正确的用户策略做出的一些讨论和考虑变得毫无意义。

从经验上看,这部分的分析也可以忽略,因为一段时间以来,区块利用率一直很高。为此,我们分析了2020年1月1日到今天的拥堵情况ⁱⁱⁱ(详细内容请查看注释iii)。剔除4%的空块(这些空块并非因需求不足所致)后,其余区块利用率高于95%的区块占77%,区块利用率高于50%有86%。

其次,剩余的拥堵程度将反复全满的区块描述为“令人惊讶的系列事件”,甚至是“黑天鹅”事件。鉴于大多数区块都是满的,这背后的理由令人费解。一种解释是,笔者参考了1559提案将区块规模加倍的提议,然后始终通过改变基本费来瞄准50%的利用率。
然而,这种系统推动区块达到50%利用率的机制在2593提案中并不存在,也不可能存在,因为它是以基本费的存在为前提。我们将这种弹性区块大小作为由类似基本费机制独特启用的设计方案之一。
第三,它假定在EIP-1559提案中,当区块利用率达到或不足一半时,系统会进行第一价格拍卖(大概是使用小费,但这一点并没有进一步说明)。1559提案的一个好处是,它在大部分时间内都不需要进行第一价格拍卖。用户只需出矿工会接受的最低费用,无须多出。他们不必与任何其他用户竞争来将交易打包进区块,因为总是有多余的区块空间。
也许笔者是担心代表用户的钱包之间的竞价战,但这也没有意义,因为出价超过最低价并无任何好处,并且一个钱包也不用担心另一个钱包出价多少。根据矿工是否包含交易的二元决策,应该出现一个最低小费的平衡点。
总之,我们发现,该分析要么是根据不切实际的假设(如空块或半满块)高估了指数,要么是忽视了额外的好处(如固定价格销售相对于第一价格拍卖的好处)。这并非对该提案本身的批评,其本身是一个微小但坚实的改进,而只是对支持该提案的站不住脚的论点提出批评。它暗示了一种零和心态(zero-sum mentality),我们认为根本没有必要。
互斥还是互补
自动扶梯改善了当下第一价格拍卖开展的方式,而1559提案则试图尽量减少起初进行第一价格拍卖的次数。在这样的框架下,很明显,这两个提案非但不会互相排斥,反而实则相辅相成。你可以实施1559提案,然后在小费拍卖发生时使用自动扶梯。

由上图可知,在当前方案+自动扶梯的情况下,100%的区块仍然有第一价格拍卖机制ⁱᵛ。只是这种机制由于自动扶梯的存在而更加优化了。在“天真的”1559提案中,95%的时间是固定价格出售,5%的时间是未优化的第一价格拍卖ᵛ。最后,自动扶梯会提高1559提案剩余5%的第一价格拍卖机制的效率。(详细内容请查看注释iv和v)
重新定义自动扶梯算法的问题
自动扶梯算法采用的策略是用户可以手动使用的策略,也是他们今天主动使用的策略。如果他们的交易没有以所选的费率被打包进区块,他们可以点击钱包中的“加速交易”来以更高的费率再次广播。2593提案的主要好处是内化用户的加价过程。
尽管如此,已经有一些为用户专业地做这种交易管理的公司出现,比如any.sender⁴。理论上,没有什么能阻止每个钱包都实现这个功能。所以问题不在于我们是否应该实施2593提案,它已经被用户手动实施,也被公司自动实施,很快可能会被主流钱包实施。问题在于是否应该用协议来代替实施。
支持协议内自动扶梯的论点
更可靠:协议外的实施需要人工重播交易,因此必须有一个活跃的链外行为体(如钱包的后台进程,或any.sender这样的专门服务)。
数据密集程度较低:它允许单个消息对自动扶梯策略进行编码,而非用户每次广播新消息来提高费用ᵛⁱ(详细内容请查看注释vi)。
反对协议内自动扶梯的论点
基础层上的特征蔓延(feature creep):任何可以在协议之外完成的事情都应在协议之外完成。
隐私更差:与单方相比,用户向整个网络透露了他们的费用偏好和策略(他们愿意支付多少钱)。
灵活性较低:可以在外部实施更复杂的自动扶梯策略,供应商之间的竞争更激烈,以找到适合用户的算法(2593提案可以在EIP阶段改变,但上线后就不能改了)。
对于这些正反论点的分量,不同读者看法不同。从个人角度而言,我们坚信基础层协议应该尽可能精简。鉴于使用自动扶梯的外部选择越来越多,因此不实施2593提案的机会成本很低。
这也取决于采用情况。采用协议外自动扶梯的用户越多,需要重播的交易就越多。在某些时候,将这些策略编码为单一交易,节省用户的时间和资源,会变得很有吸引力。你可能想先观察钱包的采用情况,再将该功能内部化,这可能是一个有吸引力的中间地带。
结论
通过本文的分析,我们试图表明,自动扶梯算法的设计范围比EIP-1559提案小得多,而且非常不同。它经常被描述为一种替代方案,我们坚决不同意这种定位。2593提案的范围要小得多,即使针对它们的目标重叠之处,也很难对结果进行比较(100%的第一价格拍卖对比~5%的第一价格拍卖)。相反,这两个提案相辅相成,我们两者都支持,但未必支持其基础层。
如今,自动扶梯算法已经投入使用,无论是用户手动使用,还是在以太坊上进行大量交易的公司内部使用,抑或专业服务机构提供的此类服务。这证明,自动扶梯是供用户采用的主流策略。因此,正确的问题不是自动扶梯算法是否有用,而是应该在协议内还是协议外实施。
我们对以太坊区块空间市场提案的分析到此结束。接下来,我们将把重点转向比特币过去和未来的提案。
注释i : 也许最大的迷思是因Ethereum.org⁵最近的一篇博文而起,该文提到:“自动扶梯的主要优势在于它能实现高效的价格发现,同时通过收取队列中的第二价格来保护用户免于过度支付。”这简直大错特错,因为在EIP中没有任何关于第二价格拍卖的规范。事实上,你根本不可能在不烧钱的情况下⁶进行第二价格拍卖。否则,矿工总是会用自己的高gas交易来填充区块,以支撑清算价格。
注释ii:矿工可以等自动扶梯来提高费用,但要冒着被其他矿工赚取该奖励的风险。
注释iii:具体是从第9195000区块到第10324328区块。
注释iv:从技术上讲,在利用率未接近100%的区块中,不存在第一价格拍卖,因为所有用户都可以支付最低费用。在实践中,该协议没有办法执行低于100%的区块利用率。
注释v:95/5的分割只是用来说明一个问题,不可能提前知道第一价拍卖会有多频繁。然而,我们可以通过观察每当区块接近20米gas时(第一价格拍卖发生的唯一一次)基本费上升的速度来做出直觉判断。区块只能在那里停留很短的时间,直到基本费猛烈地将它们推回。
注释vi:实事求是地说,我们不希望一笔费用升级的交易被重播5次以上。因此,重签和重播一笔交易对用户、网络和其他节点的负担应该是微不足道的。
参考链接
1. 市场研究:
https://insights.deribit.com/市场研究/?lang=zh-hans(或点击阅读原文)
2. EIP-2593:
https://github.com/danfinlay/EIPs/blob/Escalator/EIPS/eip-x.md
3. 《以太坊改进提案EIP-1559分析》:
https://insights.deribit.com/市场研究/analysis-of-eip-1559/?lang=zh-hans
4. any.sender :
https://www.anydot.dev
5. Ethereum.org :
https://blog.ethereum.org/2020/06/16/eth1x-1559/
6. 不烧钱的情况 :

以太坊改进提案EIP-1559分析