前言
区块链技术的出现改写了传统金融的底层逻辑,通过点对点的网络节点和密码学所建立的分布式帐本,能做出自动化、安全、无需许可和去中心化的金融系统。用户可以利用区块链网络进行价值交换,而网络节点则因为经济诱因,协助验证交易、创造新区块、维护网络安全及收取手续费。
虽然区块链使金融服务变得低成本和高效率,然而随着智能合约的日益普及,一些新的问题逐渐浮现,其中一个问题就是最大可提取价值(Maximal Extractable Value, 又称 MEV),它指的是网络节点利用新增、移除或更改区块中的交易顺序,这些节点可以从他们负责产生的区块中获得超过一般区块奖励或交易手续费的最大价值。
由于最大可提取价值的存在,不知情的用户可能会因为交易被动过手脚而遭受损失,网络节点利用其特权获得额外收入,使区块链网络变得低效而不可靠。然而最大可提取价值对区块链网络所带来的影响也并非完全是负面的,为了获取这些额外报酬,网络节点间的竞争也同时催化了区块链技术的演进。
什么是矿工可提取价值 ( MEV )
矿工在其生产的区块中包含或重新排列交易顺序,以获得更好的利润
最大可提取价值的起源是来自于另一个词,叫做矿工可提取价值 (Miner Extractable Value),指的是矿工在其生产的区块中任意包含、排除或重新排列交易顺序可获得的利润。对这方面领域的研究最早是来自于 2019 年初由 Daian, Li, Breidenbach 等人发表的一篇名为《Flash Boys 2.0:Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges》的学术论文。在研究使用工作量证明 (PoW) 算法的区块链网络 (如比特币、以太币) 时,他们发现链上的矿工节点会利用其生成区块与交易排序的权利,以获得比一般区块奖励或交易手续费更高的报酬收入。
打包待处理交易并重新排序的套利方式,存在于各种共识机制间
然而这个现象并非仅限于工作量证明的区块链网络,在使用其他共识算法如权益证明 (PoS) 的区块链网络中,质押代币的验证人节点同样有创造新区块、打包待处理交易、将交易重新排序、从使用者身上获得额外收入的可能性。因此“矿工可提取价值”这个用词,渐渐地被更广义的“最大可提取价值”取代。这些被提取的价值通常是无风险或是低风险的,是属于一种套利的形式。
为什么会出现 MEV?
区块链网络的可持续性是建立在经济诱因上,网络节点必须要不断地获得奖励,才能提供安全与可靠的服务。由于不同地区网络的延迟和分布式帐本需要时间达成共识的特性,当使用者在区块链上发送一笔交易时,这笔交易并不会立即被处理,而是先储存在节点中叫作内存池 (memory pool, 又称 mempool)的地方,当新区块生成时,内存池中尚未处理的交易会被打包加入新区块内,完成帐本更新的步骤。
节点间的讯息及同步时间有落差,在新区块生成前有机会重新安排交易顺序
因为内存池的机制,不同的节点之间可以在新区块生成前分享关于特定交易的信息、评估当前区块链网络的拥塞程度、不同交易的处理优先顺序和作为上链前的缓冲。原则上这些节点都是拿钱办事,当内存池已满无法容纳更多待处理交易时,节点会先打包愿意支付较多手续费的交易,支付手续费较低的交易会比较慢被打包,甚至是移出内存池造成交易失败。
多名用户支付不同手续费提出交易时,矿工 (或节点) 会按手续费的高低从内存池中依序打包。 (图来自 ChainLink 博客)
由于内存池中用户所提出的待处理交易信息是公开的,且节点拥有生成区块与交易排序的权利,这些节点可以在产生新区块时将待处理的交易顺序排列成对自己最有利的方式或是插入某一笔新交易、移除某一笔交易等,从这些用户的身上榨取利润。比如,负责打包记帐的节点发现有一名用户提交了使用 USDT 购买 1 ETH 的交易后,他可以在该名用户买入前新增一笔购买 1 ETH 的交易,接着再以较高的价格卖出完成套利。
节点能够出售记帐与交易排序权,因为资讯的不对称能为其他套利者带来额外收益
节点不一定要自己执行交易来获取额外收益,它也可以在市场上出售区块链记帐与交易排序的权利,如果有其他用户发现了套利的机会,他们可能会愿意支付更高的手续费给这些节点,使自己的交易能够被顺利打包进区块中。但无论是哪种情况,节点的中心化记帐权和交易排序权,都能从用户已提出的交易中获取价值。
最大可提取价值的出现不一定都是因为内存池中的待处理交易被节点动过手脚,经济上的无效率也会产生套利空间,例如某一位用户在去中心化交易所执行大额买进或卖出时会造成价格滑点,节点和套利机器人可以借用链上其他去中心化交易所的流动池资产,来捕捉价格差异产生的利润。
让最大可提取价值得以实现的另一项关键在于交易模拟执行的算法,由于区块链是透明的公开帐本,所有链上资产的流动性和市场深度都是已知的信息,必需预测出每一笔交易对市场价格产生的影响,才能安插正确大小的交易头寸及顺序以从中提取价值。
常见的MEV案例
区块链网络节点可以通过不同的方式获得最大可提取价值,以下简单介绍几种常见的范例。
去中心化交易所之间的价差套利
去中心化交易所 (Decentralized Exchange)之间的套利是最简单也最直观的一种 MEV 形式,如果某一个资产在 A 交易所中的算法报价是 100 USDT,而在 B 交易所中的算法报价是 110 USDT,发现价格差异的人可以从 A 交易所中购买该资产,然后在 B 交易所中售出资产,来获得价差利润。传统金融市场中也存在这种套利方式,由于价差套利理论上是毫无风险的,因此这种套利机会的竞争相当激烈。借贷协议的清算
在需要抵押品的借贷协议 (如 AAVE 和 Maker)中,用户可以存入加密货币资产 (如 ETH)来借出其他加密货币资产 (如 USDT),只要借款人的抵押品价值足以保证其还款能力,借款人可以从协议中不断地借出加密货币。
对于还款能力的保证,每一个协议对于不同的加密货币都设有其标准,例如,当抵押品因为市场价格下跌,使抵押品低于借入加密货币价值的 70% 时,为了避免抵押品的价格继续下跌造成借款人无力偿还的情况,借贷协议可以卖出抵押品来偿还被借出的加密货币,这个过程又称作清算。
借贷协议通常允许任何人清算抵押品,以立即还清被借出的款项,当借款人被清算时,通常必须支付高额的清算费用,其中一部分会归清算人所有。执行清算也是一种无风险的收益来源,许多机器人会不断地寻找可以清算的借款人,抢先提出清算交易并收取清算费用。三明治攻击
三明治攻击是另一种常见的 MEV 提取手段。具体做法是在其他用户的链上交易前后,分别插入一笔交易,使被包夹的用户必须付出更高的交易成本。
例如,用户想要在 Uniswap 使用 USDT 购买 10000 ETH,由于这个数量非常庞大,流动池中 ETH 的价格将会上升 (如下图中的 P1 → P2)。
套利机器人发现这笔待处理的交易后,可以抢先在市场上购买 10000 ETH,使市场价格来到 P2 的位置,当用户的交易被执行时,ETH 的价格将进一步地被推升(从 P2 来到 P3)。
此时套利机器人会将先前购买的 10000 ETH 卖出,使价格从 P3 再次回到 P2 的位置。在整个过程中可以发现,用户购买 ETH 的成本增加了,而套利机器人取得了用户的损失。使用两笔额外的交易去包夹一笔交易的方式很像是三明治,因此这种套利手法被称作是三明治攻击。
套利机器人可以对用户的交易进行前后包夹,来获取价差利润。
- 其他套利机会
去中心化交易所之间的价差套利、清算和三明治攻击都是广为人知的套利机会,对于新加入的参与者而言竞争相当激烈,不容易从中获取收益。
然而,在一些新兴的市场 (如 NFT 交易) 中,仍然有可能通过抢跑 (front-running)让区块链网络优先执行自己的交易 (如批量铸造 NFT),或是发现价格变化时批量地买入或卖出。然而新兴市场中的流动性较差,套利者可能需要承担持仓的风险,因此无法确保一定会获利。
也有一种方式是通过瞬间引入大量流动性来赚取收益,例如在 Uniswap V3 的去中心化交易所,流动性的提供者可以指定价格范围去提供流动性以争取更高份额的手续费收入。在极端情况下,套利者可以在每次侦测到有其他用户的交易时注入流动性,交易完成后立即赎回流动性,以接近 100% 的比例垄断手续费,并回避掉长期的无常损失。
MEV 的优点和缺点
尽管表面上看来,最大可提取价值只是以牺牲用户为代价增加了网络节点的收益,类似节点向区块链网络的用户额外抽取使用税,但很难评断这种资源的重新分配是好是坏。
对网络节点与套利者而言,更改交易排序的权利和最大可提取价值无疑是个优点,这允许他们可以从链上的交易中获得更多的收益。套利机会的存在也会吸引更多人加入,这也有利于区块链网络的去中心化并增加安全性。
然而从用户的角度来看,因为链上交易的成本增加,且套利者的抢跑交易会占用区块链网络的频宽,使用服务的体验因此变差。但另一方面,这群勤劳的套利者也提升了区块链的运作效率,使得链上的加密货币资产不会出现过大的价差,清算的正确执行也确保使用借贷协议的安全性。
就区块链网路的观点,最大可提取价值可能造成一些问题,经过长时间的演进,某些顶尖的套利者或擅长从各种不同交易中提取价值的节点将累积越来越多的资源,使得区块链网路变得更中心化。在极端的情况下,网络节点甚至可能会因经济上的诱因尝试更改旧的区块,使得区块链网络变得不安定。
由此可知,最大可提取价值所造成的影响包含了多个面向,没有办法简单地定义为好或坏。但毫无疑问的是,最大可提取价值这方面的研究是促进区块链技术发展的重要契机之一,已经有许多方案被提出来去试图改善其问题点。
如何改善 MEV 的问题
最大可提取价值的根本来源为透明的内存待处理交易和节点自由编排交易顺序的权利。因此,如果让内存池中的交易信息不再透明或是强制节点必须依照指定的顺序打包交易的话,就可以避免用户的交易被抽取额外的费用。
例如, Automata 协议使用了被称为输送带 (Conveyor)的算法,以非常确定的顺序从内存池中汲取待处理交易并附上 Automata 的节点签名,任何未经过输送带插入的交易都会被侦测到,只有经过输送带取得的交易可以被打包用于创建新的区块。
图来自 Automata 协议博客
Chainlink 协议则是提供了称作公平排序服务 (Fair Sequencing Services)的算法,以对应最大可提取价值的问题。公平排序服务支持智能合约以其需要的条件进行交易排序,例如,可以用待处理交易进入内存池的时间、手续费多寡、交易金额大小或是交易种类等方式来排序。
公平排序服务也支持对待交易的排序进行加密,唯有当排序已经确定提交后才可以解密,这也是提议者/区块构建者分离(Proposer/Builder Separation)的一种形式。
图来自 Chainlink 协议博客
还有一个做法是称为区块排序权竞拍,又称作最大可提取价值竞拍(MEVA)。使用这种方式处理的区块链网络承认 MEV 存在的合法性,也鼓励所有的节点和套利者尽可能地去获取任何形式的最大可提取价值,竞拍的部分收益将转为公共财基金,以回馈协议的全体使用者。
使用 MEVA 模式的是以太坊的 Optimism 协议,某种程度上是让使用者付出一部分的税来促进协议的发展,另一方面也是激励节点和套利者不断去提升区块链网络的运作效率,可以说是一种取长补短的折衷。
透过链上聚合协议进行交易,减少 MEV 影响,提升资金使用效率
聚合器协议也可以抑制 MEV 对用户造成的负面影响。比如,相同加密货币资产在不同流动池之间的价差,往往都来自于用户集中在特定去中心化交易所的大额买卖。理论上用户可以将每一笔交易平均分配到不同的流动池以降低其成本,然而这么做会增加用户的操作流程和花费时间。像 1inch 这种类型的聚合器协议就可以一次性地提供最佳的交易路径,通过这些聚合器的交易可以提升资金使用效率。
并非通过聚合器协议的交易就无法被网络节点提取价值,但随着聚合器协议数量的增加和技术进步,可以想见套利的空间将越来越少。也有可能这些聚合器协议将扮演着“更廉价的套利者”的角色,MEV 的问题依旧存在,用户该缴的过路费还是少不了,如果聚合器协议更便宜的话,用户就没有理由付更多钱给其他套利者。
以太坊升级对 MEV 的影响
在过去 PoW 工作量证明中,矿工可以优先选定最大化 MEV 的交易序列,甚至优先完成特定类型的交易,例如:Dex 套利、三明治攻击等。
在以太坊经过 The Merge 变成 PoS 权益证明后,不只是共识机制的改变,同时也以太币 ETH 的每日产出也会大幅度降低,每日的区块奖励将由 14,600 枚以太币降低90%,来到约1,600枚左右。在 PoS 权益证明中,无论是质押 32ETH 或是质押上百个ETH,验证每个区块的奖励都是固定的。
因此, MEV 对于 PoS 权益证明来说非常重要,它可以帮助验证者获得更多的报酬,也会增加人们对质押的欲望。对看重去中心化与安全的以太坊来说非常重要。
验证者的年化收益率,是质押奖励和 MEV 报酬的加总,图来自 Flashbots
无论是 PoW 或是 PoS 同样会面临一些问题,在探索 MEV 方面,对具有更高经济实力的机器人、科学家是相对有利的。因为矿工(验证人)不一定要自己执行交易来获取 MEV,他们可以作为区块提议者(Proposer)在市场上接受来自区块构建者(Builder)的报价,优先验证特定的交易。
因此具备更高经济实力的验证人可以透过支付高昂的费用,让对自己有利的交易可以优先被选取。等同是这些菁英节点,可以直接、间接地掌控区块的交易内容,若是无法解决,会让以太坊面临节点逐渐中心化的问题。
在以太坊升级后,验证者大多会运行 mev-boost,一款来自于 Flashbots 与以太坊开发人员和研究员共同开发的免费开源软体。 mev-boost 帮助以太坊减少 MEV 的负面影响,它可以让节点对 MEV 的获取更为民主化。
mev-boost 是一种基于 PBS (Proposer Builder Separation)的解决方式,在其纳入以太坊后可以解决节点逐渐中心化的问题。
什么是 PBS Proposer Builder Separation
提议者/区块构建者分离(Proposer/Builder Separation)是将节点中心化的建构区块权利和交易排序权利切割开来,使节点无法依自身利益任意地添加、移除或变更交易排序来获得额外价值,在 PBS 模式中有以下几个建构要素:
- 区块提议者(Proposer):负责提出区块,并送分散式帐本,也就是验证者 Validator
- 区块构建者 (Builder):尝试建构出最有价值的区块,通过自行搜索 MEV 或是接受来自 MEV 探索者的交易包来最大化该区块的价值。
- MEV 探索者 (MEV Searcher):从公共池中寻找有利可图待审核的交易,寻找潜在的套利机会,例如,发现链上的流动池中将出现大笔交易的兑换,则可能会针对该笔交易进行三明治攻击。
- Bundles 交易包:MEV 探索者会将单笔或多笔交易组成交易包,交易包必须放在区块的顶部且无法被拆解。
举例来说,目前大部分参与以太坊 PoS 权益证明的投资人,大部分是透过 Lido 或是其他的流动性质押协议,因此构建者数量会远远小于提议者,这种情况会让以太坊的节点和验证人变得过度集中。然而通过 PBS 模式可以有效解决节点过度中心化问题,因为区块构建者 Builder 与提议者 Proposer 将会分配给两位不同的人执行 。
区块构建者可以自行提取 MEV或是在接受网路中的 MEV 探索者提供的交易包后,向区块提议者进行报价。提议者必须通过来自区块构建者的交易包,且提议者无法查询、得知构建者提供的交易包内的具体内容,因此可有效防止提议者控制交易顺序窃取 MEV。
为什么要使用 mev-boost
- 用户和探索者利用公开的交易内存池,或使用直渠道向区块构建者发送交易。
- 区块构建者使用这些交易信息以及验证者提供的参数建立执行负载,建构者可以直接将验证者的地址设为手续费的接收地址。
- 中继端从构建者那里接收到执行载荷,并验证其有效性、计算支付给接收者的 ETH 手续费用。
- 托管端从中继端接收到完整的执行负载,以提供数据可用性。
- 验证者从中继端接收执行负载摘要(去除交易内容的执行负载)。验证者选择最有价值的负载摘要并对其签名,再返回给中继端和托管端传递到区块链网络中。
mev-boost 的区块建构流程图,参考自 Manifold Finance 博客
这种提议的架构允许验证者将区块构建任务外包给第三方区块构建者网络,虽然验证者有能力将任何有效载荷包含到链中,但验证者采取抢先交易的风险被消除了。当验证者的工作仅限于选择支付给他们最多 ETH 的执行负载时,网络中立性和验证者收入就会最大化。
总结
去中心化和公平性间的权衡,MEV 并非百弊而无一利
普遍来说,区块链承诺可以替用户创造公平、无需许可、无需信任和去中心化的金融系统,然而细看观察,会发现区块链的世界中仍有受信任的第三方中介踪影,在传统金融中是政府机构和银行,在区块链网络上则是负责生产新区块与安排交易顺序的矿工及验证人节点。他们利用新增、移除或重新排列区块中的交易的权利,从用户身上获取额外的利润。
经济诱因使更多节点加入竞争,促成去中心化的发展
尽管没有任何使用者乐于支付这种非必要的网络使用税,也无法接受套利机器人发送大量的垃圾交易使区块链网络变得拥塞。但最大可提取价值的存在并非全然是缺点,经济诱因是驱使更多节点加入的动力,使区块链网络更加去中心化,也确保了跨市场价格的稳定,用户可以自由地交易,而无需事先检查数十个市场的价格。如何取其所长舍其所短,是今后发展的重点课题。
缓解 MEV 影响的方案被陆续提出,仍须考量市场多角色的权力天秤
关于如何缓解甚至是完全消除最大可提取价值,已有许多不同的方案被人提出,像是公平排序服务、加密隐私交易、区块排序权竞拍、提议者/区块构建者分离等。这些做法都还相对新颖,是否能够兼顾矿工、套利者,以及被套利者的共同利益协助区块链网络稳健成长,目前尚无定论。每一笔交易都有着与之对应的某种价值,或许在合理范围内允许套利者提取部分的价值是可以接受的。
MEV 仍将继续存在,自由竞争的市场最终会取得动态平衡
随着区块链技术的成熟,可以预期将出现更复杂、更全面及整合多区块链网络的最大可提取价值策略,有些人担心这种情况将使得节点或套利机器人的运营者垄断资源造成中心化危机,但知识的成长将无可避免地带来竞争者。长期而言最大可提取价值仍然是一个完全竞争市场,缺乏效率的节点和区块链网络会被淘汰,表现最佳的则受到使用者的支持,在资源争夺的过程中体现出效率与去中心化的动态平衡。有可能 MEV 仍将继续存在,但它变得更低廉且更有竞争力,扮演着推动加密经济生态系统成长的关键动力。