Ξ

    Search by

    从 MEV 视角分析 EIP-1559 下的交易打包市场

    开发者 Ansgar 为 EIP-1559 前后的费用市场建模,分析其合理性。


    AD

    Ansgar Dietrich       2021-08-11

    来源 | @adietrichs


    纵观本周围绕以太坊伦敦硬分叉的所有活动,我注意到人们对 EIP-1559 (此次硬分叉的主要协议变更) 有各式各样的想法。因此,我想尝试在这里概述我对这份 EIP 的看法,希望有助于整合这些不同的思路。如果你强烈不同意本文的任何观点,请在推特联系 @adietrichs ——我很乐意收到你的信息!

    • 文章大纲
      • 现状
        • 打包市场与排序市场的区别
        • 基于固定供应迭代的第一价格竞拍
        • 矿工收入类型
      • EIP-1559
        • 历史
        • 费用市场模型
        • 对 MEV 的影响
        • 基本费用作为协议收入
      • 总结

    想看文章概要可直接跳至总结部分

    现状

    为了理解 EIP-1559 的动机和影响,我们首先必须看看今天以太坊的情况。在整个区块链机制里,与我们相关的部分是那些交易定价和打包机制,因为这些就是这份 EIP 要带来改变的主要地方。在第一部分,我们将把它形式化为交易打包市场,并把它与最近兴起的交易排序市场 (在 Flashbots 上) 区分开来。

    然后我们会深入这个市场,因为它是基于固定供应量迭代的第一价格竞拍机制,我们会为它建立一个简单模型。

    最后,我们将深入这个模型区分出的各种矿工收入类型,并研究在什么条件下它们可以被视为 MEV (矿工可提取价值)。

    打包市场与排序市场的区别

    像大多数区块链一样,以太坊的费用支付系统是直接内置于协议里的。首先,每笔交易都指定了它愿意为每单位 gas 支付的价格。然后,当交易被打包到区块时,发送交易的账户就会被收取执行交易的总开销,即 total_fee = gas_price * gas_consumed。交易费用随用户的交易一起发出给矿工,以激励他们把那些交易打包到区块,由此形成了一个交易打包市场。

    从几年前开始,专门的用例模式兴起使得不仅对一般交易打包,还对交易在一个区块里的准确位置的控制变得必要。其中最突出的例子的是“抢跑交易”,即一个用户以另一个用户的一笔发送中交易为目标,想要让自己的交易刚好在该用户的交易之前被打包。通过以准确和特定用例的方式设置链状态 (即把交易市场推向想要的方向),这样用户就可以利用他们对后续交易影响的资讯获利了。

    最初,这些特定排序的用例完全依赖于相同的内置交易费用机制,因为矿工的排序算法通常是可预测的,因此会被一些成功用例所影响。但是,随着区块空间的竞争变得越发激烈,情况很快导致因交易被置于错误的区块位置而浪费了相当大量的交易费。 Flashbots 就是作为用户与矿工的中间服务而构建的,以解决这个问题,并为交易排序创造一个公平的市场。这个市场基本上独立于打包交易的市场,并基本不受 EIP-1559 引入的变更影响。因此,在下文我们只着眼于交易打包市场。为了简洁,我们也将忽略那些仍基于本地交易费用机制的剩余排序相关活动。

    还要注意的是,“矿工可提取价值” (MEV) 这个术语指的是基于矿工对区块构建次要层面 (例如交易排序) 的控制而产生的价值。接下来,我们将探索在打包交易中更多的传统矿工收入可以如何被看作 MEV 的一种形式。但是,这不是这项技术的常见用法,因此最好被看作仅限于本文背景下的一个思想实验。

    基于固定供应迭代的第一价格竞拍

    为了更好理解交易打包市场的本质,看看这个相关供求曲线图会有所助益:

    diagram of the supply and demand curves for transaction inclusion on Ethereum before EIP-1559

    上图为1559 以前,在满块的情况下交易打包市场的短期供求曲线图。请注意,这张图为了权衡准确性和易读性进行了多种简化。还需要注意的是,如果你不熟悉供求曲线的概念,以及不了解如何解读这些图表,不妨停下来,试着真的去了解你在阅读的内容 (包括以下章节的背景知识),因为剩下的内容大部分都是基于这些知识的。

    这张图表有点不寻常的形状就是我想要说明的区块链背景的特殊性。思考市场最好的方式是基于固定供应迭代的第一价格竞拍机制。下文将对这三个属性逐一说明,并将它们与上图结合起来:

    固定供应

    像大多数的区块链一样,以太坊对新区块的大小有一个硬限制,以 gas 上限的形式设置。因此,“区块空间的供应量” (即矿工愿意打包到一个区块的交易数) 是固定在该上限的。图表中供应曲线的垂直部分就是代表这个限制。

    有一个细微地方是交易打包不是完全由矿工控制的。特别是当增加交易会使区块整体变得更大时,这会减慢交易在网络广播的速度,最终会略微增加矿工出叔块的风险。因此,矿工通常会设置一个最低 gas 价格 (geth 客户端的默认值是 1 Gwei),拒绝低于这个值的交易,尽管这会导致区块不饱和。因此,供应曲线在底部、稍高于 0 的地方有一部分是水平直线。

    第一价格

    市场的需求由用户的支付意愿 (由他们的交易 gas 价格反映 ) 构成,并遵循典型的需求曲线 (图表中标记为“显示需求 (reveal demand)”——“真实需求 (true demand)”见下一节)。它与供给曲线的交点表示交易打包的市场清算 gas 价格 (如水平的虚线所示)。

    在现行的系统下,交易必须支付它们指定的 gas 全额,即使它高于市场清算值。这个特性与第一价格竞拍机制 (或更普遍的任何有完全差别取价 (perfect price discrimination) 的情况) 相似 。结果是,大多数用户都为他们的交易打包支付过高费用。

    (译者注:差别取价是一种微观经济学的定价策略,即相同或基本相似的商品或服务由同一个供应商在不同市场上以不同价格出售。)

    迭代

    市场的最后一个相关方面是它的迭代性质。因为每 15 秒左右出一个区块,交易有多个机会被打包。如果一开始的价格不足以使交易被打包,他们还有机会上调 gas 价格。此外,之前区块的清算价格可以粗略显示打包所需的 gas 价格。

    基于这些原因,很多用户一开始并不会把 gas 价格设为他们愿意支付的最高价格。这就导致了被观察到 (显示的) 的需求与理论上真实的需求间存在差距。为了显示这一点,图表还加入了“真实需求”曲线,在显示需求曲线上方。

    矿工收入类型

    供给/需求图的一个巧妙地方在于曲线间的面积天然地代表消费者剩余 (consumer surplus) 与生产者剩余 (producer surplus),其分割取决于差别取价的程度。(要说明这点:显示需求曲线下的高表示的使被打包交易所支付的 gas 价格 (eth/gas),供应曲线的宽表示的是区块 gas 上限 (以 gas 为单位)。因此,高与宽的乘积代表的是以 eth 计价的、支付给矿工的交易费。)

    (译者注:消费者剩余是指购买者的支付意愿减去购买者的实际支付量;生产者剩余是生产者心中愿意售出的最低价格于实际卖出的价格的差距。)

    我们这里的情况是完全差别取价,因此曲线下的两个面积 (青色和紫色) 代表的都是矿工剩余。因为这是纯矿工收益,并符合“矿工基于对区块生产的控制而获取的价值”这个一般定义,把这称为剩余 MEV 是合理的。然而,这两个面积的本质是截然不同的,原因会在下文解释。

    请注意,底部 (橙色) 的面积也代表矿工收入。但是,由于它反映的是用交易填充区块的“生产成本”,它不属于利润。

    还要注意的是,最上方的 (绿色) 面积并不代表任何实际支付的金钱,这是基于用户表现出的更低的 gas 价格偏好而产生的理论上的用户剩余。这部分的面积只作说明用途,在下文不会进一步讨论。

    “基本 MEV” (紫色部分)

    MEV 的这一部分代表的是矿工在统一价格竞拍设置下的收益。如果每笔交易都只支付市场清算的 gas 价格,矿工仍然会得到这部分的利润。

    当人们指出 EIP-1559 并不会使以太坊交易变得更便宜时,指的就是这一点:图中的紫色面积是没有办法缩小的,因为这是在任何有固定供应和高需求的市场平衡里的自然结果。

    “第一价格 MEV" (青色)

    这部分的 MEV 代表的是由于矿工有能力做到完全差别取价而产生的额外矿工收益。

    当人们指出当前的收费市场对许多用户过度收费时,指的就是这点。


    EIP-1559

    在详细了解了当前的交易打包市场后,我们现在准备转向 EIP-1559 引入的变更了。我们将首先看看这份 EIP 的历史 (包括起因和它的设计),然后为其建立一个类似于上文的模型。我们会对两个模型进行对比,看看 EIP-1559 是如何影响上文区分的不同 MEV 形式。最后,我们将基本费用的支付作为协议收入的第一种形式,此 EIP 的其中一个副效应。

    历史

    动机

    有了当前费用市场的模型,现在值得重新审视最初由 Vitalik 提出的这个提案,后来成了 EIP-1559。正如 Vitalik 所说,动机是把第一价格竞拍系统转变为统一价格系统 (或至少尽可能地实现这个目标)。换言之,目标是移除或最小化在我们第一个图中的”第一价格 MEV" 部分 (青色面积)。

    设计

    要促进这个目标的实现,我们需要某种用于市场清算打包价格的、协议内置的预言机。提议的机制需要把最低价格 (即基本价格) 写入协议。同时,区块容量的最大值会翻倍,基本费用的计算使用一个简单的比例控制器,以实现区块达到 50% 满。简单来说,由于现在大多数的区块都不再是完全饱和状态 (没有足够多的交易愿意支付基本费用),区块容量的使用量会作为当前基本费用 (与能使区块正好达到 50% 满的“理想水平” 相比) 是过高还是过低的一个指标。基本费用会随之适当调整,且它的当前水平可用作理想的价格预言机。

    请注意,这种机制之所以可能,是因为以太坊的区块大小遇到最主要的问题是交易带来的长期开销 (即主要是状态膨胀)。尽管区块大小也有短期限制因素 (例如广播和验证时间),这些问题还没这么严峻,因此区块大小最大值翻倍还是可以接受的。这也是像 BSC 这样的链有更高的吞吐量的原因,它们只对短期吞吐量进行优化,而不关心长期影响。

    有了这个价格预言机,通过只收取交易的基本费用,我们现在可以把第一价格竞拍系统转为一个统一价格系统。由于这会使得基本费用成为矿工操纵的可能目标,因此把基本费用直接支付给矿工变得不可能,因为他们可以免费为他们的区块增加额外的交易,扭曲基本费用调整的信号 (详情请看 Vitalik 的文章)。由于基本费用是通过协议计算出来的,通过直接从用户收取基本费用而不发给矿工可以轻易避免上述情况。这有效地把这些付款转变为直接的协议收入 (以太坊有史以来的第一种!)。进一步的讨论见下一节的讨论。

    尽管上述机制几乎是可行的,但它缺少一个重要的部分:矿工打包区块的激励。因为矿工不会收到基本费用,他们缺乏了在之前的模型里抵消他们成本的那部分收入。因此,EIP-1559 的最终版本给交易增加了一个新的费用类别 (优先费用,即小费),仅在这个部分的费用恢复了第一价格竞拍机制。由于小费的最低价相当的低,而且很好理解,这种对第一价格系统的小型回归影响有限。

    费用市场模型

    当这个 EIP 里的所有元素都有了,我们现在可以建构一个更新了的费用市场模型:

    diagram of the supply and demand curves for transaction inclusion on Ethereum after EIP-1559

    上图为1559 以后,在非满块的情况下 (稍微大于 1/2 的 gas 目标) 交易打包市场的短期供求曲线图。

    与之前的图相比,主要的变更来自基本费用的引入、区块大小上限翻倍,以及新的、有效的 gas 价格支付方式。

    基本费用

    基本费用现在相当于是交易费用的底价,矿工仅能获得底价以上的部分。因此,供应曲线因小费部分而上升。

    区块大小上限

    随着区块大小翻倍了,供应曲线也被拉宽成原来的两倍。对于大多数区块来说,这导致需求水平不足以填充整个区块,如水平部分的供应曲线与显示需求曲线的新交点所示。

    在图中显示的情况下,矿工可以填充区块的 2/3,这结果会导致下一个区块的基本费用略有上升。

    有效 gas 价格

    最后一个变更是有效 gas 价格支付方式的引入。不同于仅一个 gas 价格,1559 式交易指定一个费用上限和小费 (都以每单位 gas 来定价)。不同于支付全额的费用上限,交易仅支付基本费用和全部的小费 (尽管有整个费用的上限)。这使得图中的有效价格 (effective price) 曲线大部分是平坦的,只有稍微弯曲的部分反映的是第一价格的小费竞拍机制。

    对 MEV 的影响

    由于这份 EIP 的初衷是减少两种类型 MEV 的一种,现在重新审视这些类型,并看看它们是如何受这些变更的影响,是非常有意义的:

    ”基本 MEV"

    如在原始模型里观察到的,紫色的“基本 MEV" 长方形是不可移除或减少的,因为它是有限供应市场的一个基本属性。但是,事实证明,我们可以做的一件事是 (事实上必须这样做,此 EIP 才可行) ,让协议捕获这个类型的 MEV,然后有效将它转为 "PEV" (protocol extractable value,协议可提取价值)。尽管这并不会降低用户的交易价格,但这完全摆脱了一种 MEV 形式,把它直接再分配到协议本身。

    ”第一价格 MEV"

    EIP-1559 背后的动机是消除或至少减少“第一价格 MEV",这种类型的 MEV 来自矿工有效对大多数用户过度收费。在这份 EIP 下,这种类型的 MEV 的确大幅减少了,现在仅限于第一价格的小费提取。之前 MEV 的最大部分变成了用户剩余,即留在用户钱包里的钱。

    请注意,我们所有的考虑中,我们关注的是非饱和区块里的”正常情况“。在一些罕见情况里会出现突然激增的需求峰期,在一小段但持续的时间里会出现连续的满块。在这段时间里,小费将有效地扮演起以前 gas 价格的角色,而”第一价格 MEV" 则会吸取所有额外的用户剩余,这些价值在正常情况下会通过这份 EIP 被释放出来。然而,预计这些极端的需求峰期仅占整个区块链活动非常小的部分。

    基本费用作为协议收入

    关于 EIP-1559 的话题,最后一个值得讨论的方面是它创造了第一种协议收入来源。以太坊协议有史以来第一次不只有支出 (通过发行新的 ETH 支付区块/质押奖励),还积极产生收入。

    值得注意的是,这是有点不常见的行为,因此,在如何处理这些收入方面还没有很强的社会共识。现在的决定是烧毁这些 ETH,以抵消用于安全性的增发。这总体上符合“最小发行量”的原则,这个原则得到社区的高度支持。尽管我个人非常赞成如此使用这些资金的选择 (原因我会在下一篇文章展开),我认为只是简单地把它归入“最小发行量”原则是不对的。它是否会被添加作为以太坊社会共识的一个原则 ("烧毁所有协议收入"),并达到类似于普遍社区认同的有力水平,还有待观察。

    对该收入的另一个可能用途是研发支出,尽管我同意Vitalik 的观点,出于认受性的原因,以太坊基础层应该放弃这种自由裁量支出 (discretionary spending)。

    第三个值得探讨的选项是额外的安全性支出。这会需要某种费用平滑机制,以避免上文指出的围绕矿工操纵的问题。最重要的是,像这样的机制会减少保障安全性的、纯基于费用的资金提供方式带来的激励不稳定性。在我看来,这不适合像以太坊这种区块链,因为它已经以一个特定的安全级别为目标 (并支付了)。但像比特币这样的区块链采用这个选项则会很有趣,因为比特币以零通胀为目标,且可以接受一个可变的安全级别作为结果权衡。在该情况下,像 EIP-1559 这样的机制可以既解决激励不稳定性问题,又带来移除第一价格 MEV 的所有好处和一个协议内的价格预言机。一旦以太坊最终证明了此份 EIP 的普遍可行性,比特币上出现这种机制的话我丝毫不会感到惊讶。


    总结

    到目前为止,交易打包和交易排序是两个几乎分开且独立的市场。尽管 MEV 是交易排序领域的一个术语,它也可以被应用到简单交易打包的分析里。在 EIP-1559 之前,交易打包包含两种形式的 MEV——“基本 MEV" (由于区块容量供应有限而出现的可提取费用) 和”第一价格 MEV" (由于差别取价而存在的可提取价值)。

    EIP-1559 通过引入基本费用并用它来仅收取有效 gas 价格,实现其大幅减少“第一价格 MEV” 的目标。剩余的 MEV 是需要一个单独的小费机制的结果。

    而作为这份 EIP 的一个副效应,“基本 MEV" 由协议捕获并转化为协议收入。这是以太坊协议有史以来第一次产生收入。尽管烧毁这些提取费用对以太坊来说是一个合理的选项,但其他区块链可能选择其他用途。特别是,比特币可以采用像 EIP-1559 这样的机制,但通过费用平滑机制把收入支付给矿工。

    作为一个次要的副效应,这个协议现在还公开了一个用于最低打包费用水平的价格预言机 (准确地说,还包括小费)。这个预言机可以通过新增的 BASEFEE 操作码在链上访问,也可以在链下通过任何客户端访问。这会推动新用例的出现,并提高现有以太坊相关应用的用户体验。



    声明:ECN的翻译工作旨在为中国以太坊社区传递优质资讯和学习资源,文章版权归原作者所有,转载须注明原文出处以及ethereum.cn,若需长期转载,请联系ethereumcn@gmail.com进行授权。

    Ethereum Community Network
    以太坊社区网络
    Ethereum Community Network
    以太坊社区网络