Elea Notes.

词条 · 加密与分布式 · 核心

MEV

出块的人可以自由决定把哪些交易按什么顺序放进区块,这个自由本身能换成钱——这笔钱就是 MEV。

也称:Maximal Extractable Value、Miner Extractable Value、最大可提取价值、矿工可提取价值

先看一个麻烦

你在一个去中心化交易所下单,要用 10 万美元买某个代币。你付了手续费,交易广播出去,等着进块。

12 秒后交易成功了。但成交价比你下单时看到的差了 1.5%——一千五百美元不见了。

链上没有任何异常。没人偷你的私钥,没人篡改你的交易,你的交易一字未改地被打包进了区块。区块也完全合法,所有节点都认。

但如果你去翻那个区块,会看到你的交易前面紧挨着一笔别人的买单,后面紧挨着一笔别人的卖单,标的和你完全一样。那个人在你之前买入,把价格推高,让你以更差的价格成交,然后立刻卖出。

这一千五百美元去了哪里、谁该负责、以及它算不算一次攻击——这三个问题都不好回答。因为促成这件事的那个能力,是协议故意给出去的。

几个朴素猜测

猜测一:这是个 bug,修掉排序就行。让区块里的交易严格按到达时间排序。

问题是”到达时间”在分布式网络里不存在客观值。每个节点看到同一笔交易的时刻都不同,差几百毫秒是常态。你要么指定某个节点的时钟为准(那它就成了新的特权方),要么让所有节点先就时间达成共识——而共识本身就是要解决的问题,绕回去了。

猜测二:加密交易内容,让人看不见。这个方向真实存在(加密内存池),但它把问题挪了位置:总得有人在某个时刻解密并执行,那个人就重新获得了这个能力。而且解密之前无法验证交易有效性,垃圾交易的防护也要重做。

猜测四:让出块者不知道自己在打包什么。把区块构造外包给专门的第三方(构造者),出块者只看到”这个区块出价最高”,看不见里面的内容。

这是以太坊现在真实在用的做法(提议者–构造者分离)。它确实把 MEV 从出块者手上挪走了,但没有消灭它——构造者接手了那三个自由度,并且因为专业化而榨取得更彻底。它改变的是分配:构造者把大部分 MEV 以出价的形式返还给出块者,竞争压低了构造者的利润。你的 1500 美元还是没了。

猜测三:禁止一个区块里出现”买同一标的又卖同一标的”的模式。这类规则总能被绕开:拆成两个区块、换几个中间代币绕一圈、用不同地址。而且它要求协议理解交易的语义(什么是”同一标的”),而协议只看得见字节。

三次撞墙的位置连起来指向同一件事:问题不在某条规则缺失,而在于决定顺序的权力必须交给某个人,且这个权力有经济价值。

机制

MEV 是这么定义的:在协议允许的范围内,通过选择包含哪些交易、以什么顺序包含,能够额外提取的最大价值。

拆开看,出块者手上有三个自由度:

  • 包含哪些(可以不打包你的交易)
  • 排在哪里(可以把自己的交易插在你前面)
  • 插入什么(可以自己造交易放进去)

这三个自由度都是协议规定的,不是漏洞。之所以必须给,是因为出块者要能拒绝无效交易、要能在容量有限时做取舍,而协议无法预先规定”正确的顺序”(上面猜测一已经说明为什么)。

开头那 1500 美元的名字叫三明治攻击(sandwich):把你的交易夹在两笔自己的交易中间。它只是 MEV 的一种形态。另外几种:

  • 抢跑(frontrunning):看到你要做一笔有利可图的操作,抢在你前面做。
  • 套利(arbitrage):两个交易所价格不一致时同时买卖赚差价。这一种通常被认为是有益的——它让价格趋于一致。
  • 清算(liquidation):抵押品跌破线时抢先清算拿奖励。

注意最后两种和前两种的区别:同一个能力,既能用来做有害的事,也能用来做有益的事。这是 MEV 无法被简单禁掉的根本原因。

一个有用的量纲感:三明治攻击的收益随你的订单大小和滑点容忍度增长。你设的滑点上限(比如”最多接受 1.5% 的偏差”)实际上是在告诉攻击者他最多能拿多少——把上限设成 5%,就等于宣布愿意付 5%。这是普通用户唯一能直接控制的旋钮。

为什么值得知道

它解释了为什么”审查”在以太坊上是常态而不是阴谋。出块者按自己的总收益给交易排序,MEV 通常远大于普通交易的小费(中位小费约 0.01 欧元)。一笔碍事的普通交易被挤出这个区块,不需要任何人有恶意——它只是没竞争力。理解这一点,你才会明白为什么以太坊要专门设计包含列表这类机制。

它把”谁出块”变成了一个高价值岗位。如果出块能额外赚钱,那么算力/权益就会向能更好地榨取 MEV 的人集中。这是共识稳定性问题,不只是用户体验问题——Flash Boys 2.0 那篇论文的标题里”consensus instability”就是指这个:MEV 足够大时,理性的出块者有动机去分叉别人已经出好的区块,把那块的 MEV 抢过来。

名字改过一次,含义扩大了。最初叫 Miner Extractable Value(矿工可提取价值),以太坊转成权益证明后没有矿工了,改称 Maximal Extractable Value。缩写不变。看到旧文献里的”矿工”,理解成”决定区块内容的那个角色”就行。

它是”权力和问责分离”的一个标准案例。出块者有决定权,用户承担后果,而链上无法区分”他没打包”和”他没看见”。任何试图约束 MEV 的设计,最终都要面对同一个问题:如何让一个必要的自由变得可问责,而不是把自由收回

收束

回到开头那 1500 美元。

三个朴素猜测都撞了墙,撞的位置一致:按时间排序需要一个不存在的客观时钟;加密只是把权力挪给解密者;按模式禁止要求协议理解语义。剩下的结论是,排序权必须交出去,而它值钱

所以 MEV 不是一个可以修掉的 bug,而是一笔内生的租金。当前的工程方向都不是消灭它,而是改变它的分配和可见性:把出块角色拆成”提议者”和”构造者”让竞争压低租金、用加密内存池推迟信息暴露、用包含列表保证被挤掉的交易最终能进链。

判断任何一个 MEV 方案,问同一个问题就够了:它是取消了那三个自由度中的哪一个,代价由谁付?答案通常是”一个都没取消”——它只是让滥用变得更贵,或者让受益者从出块者换成用户。这就是这个领域现在真实的进度。

来源

  1. Flash Boys 2.0: Frontrunning, Transaction Reordering, and Consensus Instability in Decentralized Exchanges