相对于Web1和Web2,Web3应对「MEV」负外部性已经做得很好了。
撰文:msfew
MEV?
Maximalextractablevalue(MEV)referstothemaximumvaluethatcanbeextractedfromblockproductioninexcessofthestandardblockrewardandgasfeesbyincluding,excluding,andchangingtheorderoftransactionsinablock.
a)MEV一直都在
以太坊区块的交易排序自始至终就没有被确定的规则约束,而是可以根据矿工的偏好来自由修改。Geth客户端的源码中,提供了三种示例:
第一种:仅根据Nonce来排序
第二种:根据gasfee和Nonce来排序(默认选项)
第三种:根据owner排序后,根据gasfee和Nonce来排序
其实排序完全是个开放题,矿工可以自由进行调整,从而捕捉更大的利润,也就是我们讨论的主角,MEV。
在MEV被称为MEV之前,它的Alpha就早已被矿工持续挖掘。flashfish0x讲述了一个MEV的故事。
在2020年8月之前,Compound的喂价由特殊的预言机tx来更新,于是会有矿工监控Mempool,寻找可以被清算的账户,利用闪电贷等手段进行套利。因只有套利tx正好在价格更新tx之后执行才能套利成功,且普通矿工(当时)会随机排序相同gasfee的套利tx,所以套利者会以与预言机价格更新tx相同的gasfee来发送交易,和其他套利者博取一个随机概率。
2020年8月11日之后,Geth发布了新版本,预言机价格更新tx后到达网络的第一个tx将成功套利,于是获得tx信息的速度也被计入了竞争的考量中。
好景不长,2020年8月17日,Compound切换到了更去中心化的预言机。于是MEV捕捉者们的竞赛变成了纯粹的gaswar。他们尽量出到比其他人更高的价格gas,直到这个清算操作捕捉不到任何利润,或者某个人胜出。
区块链网络从一开始就是这么个暗流涌动的黑暗森林,机器人在未知的环境里和看不见的对手争夺榨取潜在利润的机会。
b)MEV无处不在
在正式解读MEV的定义之前,我们可以看看关于MEV的一些数据,这样就能直观地感受它的存在和影响。
2022年5月,?Uniswap上超过一半的交易量是由MEV机器人贡献的,而只有少于20%的交易量是来自于Uniswap的前端页面。
0N1 Force推出Web3盟友计划:金色财经报道,NFT项目0N1 Force在社交媒体宣布推出Web3盟友计划(Web3 Alley Program) ,旨在通过合作和共同成长培育一个强大的 web3 生态系统。该计划将汇集资源来支持 Web3 生态系统,并未媒体、游戏、IP开发和NFT项目给予帮助同时增强 0N1 FORCE 及其合作伙伴的社区,目前该计划对所有人开放,项目负责人、艺术家、创作者、品牌等均可提出申请。[2023/6/13 21:32:44]
dex.guru的数据也显示,以太坊上AMM的交易量很大一部分都是MEV机器人所贡献。
MEV机器人在区块链的黑暗森林里无处不在,并且始终占据着主导地位。
c)MEV供应链
那么一个MEV活动是如何产生的呢?
一个tx在危机四伏的区块链中的生命周期如下:
生:普通用户根据意图进行应用交互,钱包与应用将意图解释成tx,发送到公共tx池等系统等待处理。
老:MEV搜索者(可能会是矿工)挑出所有有利可图的机会,尝试通过发送交易或对交易刻意排序捕捉MEV。
病:L1的矿工(大多数情况下不会是MEV搜索者)或者L2的Sequencer聚合交易并出块。
死:验证者(目前还是矿工)验证区块,交易正式被确认。
MEV机器人根据它们owner的旨意进行着链上活动,将tx包装好后送给不知情的矿工出块。从好的角度来看,它们是保证市场稳定和DApp活跃度的重要角色;从不好的角度来看,它们以自己天生的优势(可以监视整个Mempool),对「普通用户」进行着不平等的剥削。
d)MEV的具体定义
MEV这个词有两个官方的解释,它全称可以是:
MinerExtractableValue(矿工可提取价值)
MaximumExtractableValue(最大提取价值)
当我们把两个解释结合在一起,会得到一个最容易理解的概念:?MEV就是矿工可提取的最大价值,是对于在一个区块特定位置插入tx的incentive。
个人认为,更全面的MEV定义指的是矿工/Validator/机器人/预言机/除了普通用户之外的角色,利用矿工的不对称信息,可提取的最大价值。非普通用户的角色(懂代码,懂网络机制,懂使用MEV),通过自己的「特权」来额外提取价值,从而获利,其实都可以算是广义的MEV:
以出块的矿工为例:它在看到Mempool中的交易后,当轮到出块时(非常小的概率),完全可以对区块内的交易重新按自己的意愿进行排序(而不是正常的nonce和gasfee排序),并发送新的交易,从而获取除了奖励以外更大的额外利润。
Forj与Polygon推出MetaPrints社交中心通行证,提供The Sandbox元宇宙体验:8月13日消息,元宇宙项目MetaPrints宣布,Forj(前Bondly Finance)与Polygon的Social Hub Pass已开启销售,支持使用MATIC和BONDLY。
据悉,MetaPrints Social Hub Pass允许持有者在The Sandbox中享受10个社交中心体验的增强奖励,并探索与其喜爱的品牌联系的新方式。[2022/8/13 12:23:01]
以懂使用MEV概念的用户为例:使用FlashbotsProtect作为tx池,避免被MEV机器人割且tx可以得到优先执行等优势;通过flashside或者前文中的Compound清算例子,监视Mempool来对NFT和链上活动进行套利,以恰到好处的gasfee来让不知情的矿工帮他们捕捉MEV;通过mint。fun监视Mempool来mint时下最新的NFT项目。
以最受剥削的普通用户为例:早上起床抄底ETH,结果第一个tx因为gas不够,超时失败了;中午第二个tx好不容易成功但是被夹子割了;晚上熬夜,想mint个看中很久的freemintNFT,但交易刚发送出去就被其他人监视到了,最终没mint到。
MEV提取者的额外利润源自于区块内的其他交易(几乎就是普通用户发出的),且挤占了每个区块的一部分空间(尽管gasfee缺乏弹性需求,他们的交易通常是区块内首个,不会直接影响用户tx),因此大多数MEV通常被视为加在用户身上的隐性税收。
1.MEV交易的分类
以下是0xminion对MEV活动的清晰图解:
以目的来分的话,MEV操作可以被分为:各种套利,单纯抢先交易,夹子攻击等。
这些操作的大部分都会是套利操作,基本都是机器人来发起,这些机器人都为gas的优化做了非常多的功夫,比如它们通常在钱包里会有无数个代币,每个都只有一点点数量。这主要是利用了EIP-2200,当用户接收ERC-20代币时,如果钱包内有这个代币,则比没有省更多的gas。还有就是让地址拥有更多的零。当然以上的套利优化操作与MEV本身关系不大。
MEV本身主要分为以下六种:
a)FrontRunning
FrontRunning是MEV机器人支付稍高的gasfee来抢先在Mempool的某交易前执行交易,比如以更低的价格Swap代币。
dForce 借贷协议发起首批上线资产的治理提案:去中心化金融协议 dForce 表示,根据《dForce 风险评估指引》,已对一些被市场广泛接受的数字资产进行了风险评估,并提议将 WBTC、ETH、USDT、USDC、DAI 五种数字资产作为 dForce 借贷协议软启动的首批上线资产。官方表示,通过对资产的智能合约风险、金融风险、交易对手方风险等三大方面的风险评估,每种资产的风险评估全面覆盖了存款上限、借款上限、贷款抵押率、清算罚金、借出资产风险折扣、储备比率后,团队认为除了 USDT,其他四种资产均可作为抵押物借出其他资产。
与 dForce 协议矩阵的其他协议相同,dForce 借贷协议也是通过 DF 代币进行治理的,DF 持币人可以通过投票的方式,共同对协议更改的提案进行决策,包括上线新资产、新增抵押资产、每种资产的存款 / 借款上限等。[2021/2/16 19:52:59]
当这类MEV活动没有造成后续的「伤亡」时,可以被算作中性(不算良性因为主要还是插了队);但很多时候通常会让后续的交易失败或者执行出更差的效果,因此会被算作恶性。
目前有很多服务专注于提升这类MEV的捕捉,比如bioXroute(类似于黑手党征收保护费后提供更快更隐私的Mempool,从而加快tx的确认效率以及对外部FrontRunning的防御)。
问题的核心主要还是这类MEV很直接地体现出了MEV捕捉者和普通用户的信息不对等。然而,大家不可能彻底完全公开,透明,和统一地对交易排序的方式和算法达成共识。
b)BackRunning
BackRunning是机器人在一笔交易造成价格大幅错位之后尝试不同的套利,清算,或交易。
最典型的例子就是我们之前提到的清算套利操作,这类MEV活动整体可以被认为是良性的,能保证市场的稳定和持续运转。
在Cosmos这种多链架构的网络上,这类MEV活动尤其做好,因为网络非常多,需要这样的活动来让DeFi应用保证时刻运转和高效。
c)SandwichAttack
SandwichAttack是前两种攻击的结合,对交易进行前后夹击。通常被称为夹子。例如MEV机器人在交易前放一个买单,在交易后放一个卖单,让用户的交易在更差的价格执行。
动态 | Forte与Ripple将为区块链游戏开发商投资1亿美元:据venturebeat报道,区块链游戏初创公司Forte宣布与Ripple的Xpring达成协议,向基于区块链技术制作游戏的游戏开发商投资1亿美元。[2019/3/13]
这种攻击有时候可以非常复杂同时伤害可能会非常大,下图是有机器人通过1亿枚DAI来夹Curve的用户:
它可以普遍被认为是恶性的,但某种程度上像高速公路的测速仪一样鞭策着用户使用更合理的滑点,从而提升网络整体利益。
d)Time-BanditAttack
时间盗贼攻击是在区块生成之后,矿工重新挖取区块导致区块链reorg,同时在自己挖出的区块中提取价值。这是最恶性的MEV,会导致用户交易无效。同时这虽然微乎其微,但也有发生的可能性。
中本聪共识下的区块链网络由于最长链原则,区块reorg发生非常频繁(延迟也大),因此这类MEV很可能被捕获。而在Tendermint或者PoS的以太坊中,这类MEV的发生会极大程度上被减少。
关于时间盗贼MEV很酷的点是:未来的事件可以影响过去(将「未来」的交易包含到「过去」的区块中)。
但在简单的量化下,此类攻击的预期回报率是不高的,同时会因为蓄意破坏区块链网络的稳定性受到谴责(如Reorg-as-a-Service),所以很少会发生。
e)Clogging
任何NFT,资产,和Rollup交易的有效性其实都是通过购买区块链网络上某个区块的某个空间所保证的。以下是区块链区块空间市场的供需:
动态 | EOS Canada 发起 “eosio.forum 创建与设置” 的提案:据IMEOS报道,EOS Canada 创建了一个多重签名提案供超级节点审核,希望将此合约部署到系统合约账户 eosio.forum,以便所有用户都能了解这是可信任的官方公投合约。目前改提案正在EOS Authority上进行BP投票。
该多重签名提案三个步骤如下:1. 创建 eosio.forum 帐户2. 购买 300 KB 的 RAM 用于存储合约和 ABI 文件3. 智能合约和 ABI 文件将部署到链上。[2018/11/30]
Clogging就是通过连续垄断区块全部的空间来赢得例如Fomo3D游戏的胜利。
还记得最开头的Geth源码吗?由于大约70%的以太坊矿工都是根据默认的gasfee排序对交易进行排序,因此才产生了Clogging。
但是目前来说,因为基础设施的完备,如预言机和Rollup等都会风雨无阻地进行交易的提交,MEV机器人在网络活跃时期进行这样的活动,成本会比较高。
f)Non-BroadcastTransactions
前面几种活动的发起者基本都是MEV机器人,而不是出块矿工本人。
Non-BroadcastTransactions则是出块矿工偷偷提交的tx,也就是在矿工知道自己能出块的时候,瞬间去给区块塞入一些交易,从而捕捉MEV。
以太坊上大约2%的交易都是这样的形式产生的。
2.MEV是好是坏?
前面的分析中我们探讨了不同种类的MEV,穿插着我们对每种的评价和好坏与否的评判。那么整体来说,到底MEV是好还是坏?我们该怎么应对它?不同的网络会怎么以不同的方式应对它?
MEV的好坏:
好的MEV:用于套利清算(BackRunning),公开透明市场(Flashbot,MEVAuction),并没有影响网络或者其他用户。
坏的MEV:用于在其他用户身上榨取价值(SandwichAttack),私下发送且不广播(Time-BanditAttack,Non-BroadcastTransactions),影响网络的正常运行(Clogging)。
从分类数量来看MEV貌似是一个不好不坏的中立角色,但是当考量了MEV的本质(incentivetoinserttxintoblock),这个incentive过于巨大,会导致追逐坏的MEV造成的伤害远大于好的MEV的好处。除此之外,MEV的产生也是源于信息和知识的不对等,区块链网络里只有equality而没有equity。
综上所述,?MEV的黑市原理+巨大利益驱使+复杂情况和分类=区块链网络的负外部性。
MEV是坏的,需要削减。
3.MEV的深入思考与处理
在分类探讨针对MEV的策略之前,我们需要明确一个点,就是任何情境下的信息不对称和外部性都是无法被完全消除的,我们只能去更好的处理它们。
a)解决MEV黑市与其巨大incentive
MEV是不透明的信息和知识而造成的黑市(或者说黑暗森林),这个黑市创造了巨大的利益。我们将通过这个角度来思考针对MEV的策略。
整个世界的黑市估值大约为1。8亿美元,且是一种无法消除的必然邪恶。MEV的市场也远比我们所能观测到的大。
既然这个黑市是必然存在的,那么何不让它暴露在阳光之下,让大家都可以自由捕捉和保护自身的MEV,这样普通用户就可以形成合力,且可以削弱MEV捕捉者针对用户的对抗。
Flashbots提出了以下五种市场方案来限制MEV的提取,从而减小MEV的总体负外部性:
这些MEV削减方案其实类似,但相同的缺点就是可能会导致区块空间被浪费以及出块的中心化。
b)MEV的复杂情况:场景区别
单链场景:本文的大部分笔墨都是在讨论单个区块链网络中的MEV情况,而现实中这是过于理想化的分析。
跨链场景:一个区块链网络=一个trustzone。实际中会有无数个拥有不同机制和不同MEV种类的区块链网络,这些无数个trustzone就让网络间的套利四处存在。比如就算以太坊完全没有MEV,但如果Cosmos上有套利机会,那么桥的验证者或者跨链应用机器人就可以在Cosmos上捕捉MEV,最终以太坊也成了这个MEV的受害者。
多链场景:跨链场景的例子可以无缝套用到Cosmos或者Polkadot的多链架构中,MEV的存在具有传染性。
b)MEV的复杂情况:网络架构区别
在我们探索Rollup网络的文章中,我们了解到了单体的Layer1和在其之上建立的Layer2Rollup的区别。
1.Rollup
Rollup作为一个「加强版的智能合约」以及「中心化的可信区块链网络」目前均有着中心化的出块和排序机制,因此有不同的MEV表现。目前中心化的Sequencer(也就是只有一个节点)导致所有的MEV都可以被Rollup捕捉。随着越来越多的流动性和链上活动转移到L2,L1矿工所可以获得的收入(包括MEV)其实就被转移到了L2的Sequencer。
当然Rollup网络自己也意识到且解决了这个问题,它们对tx的公平排序体现了MEV的处理。不同Rollup对于MEV的策略并不相同,对网络参与者来说意义也就完全不同:
当L2步入去中心化且模块化区块链的实现更加盛行后,MEV的问题需要更多的研究和思考。例如以太坊与Celestia的模块化版图就会有所不同。目前来说,以太坊上的Rollup均为SecuredRollup,只需构建n个双向可信的跨链桥(它们本职就是造这样的桥),共同结算在以太坊上,而Celestia所鼓励的SovereignRollup各自为政,DA很可能各不相同,可能需要n^2个桥梁或者类似IBC或XCM的协议才可以完全打通。这样就建立了完全不同的MEV市场和捕捉机会。
由L2MEV的问题,我们也可以引申出对L1和L2价值关系的思考,本文中不做额外展开。
2.较中心化的区块链
为了更快,Solana是没有公开的Mempool的,而是通过一个类似只有预计将出块的矿工看得到的GulfStream来作为Mempool(这也是它宕机的原因…)。这就意味着MEVBot是没办法捕捉MEV的,只有运行一个Validator,且即将出块的矿工才在理论上有机会对交易进行排序或者发送新的交易从而捕捉MEV。但结合Solana的矿工利润低的情况,这样的设计其实就导致了矿工的收入更低。于是现在就有JitoLabs做类似Flashbot的mev-geth的客户端,来让矿工对自己的区块空间进行拍卖,让MEV形成公开的自由市场。同时Solana也有QUIC和peraccountfeemarket的解决方案。
3.结语
对于MEV这个话题,本文仅仅是表层的分析,有非常多有趣的东西由于篇幅的问题没有被提及(SGX,PBS等),推荐你深入阅读文末的50余个相关链接。
在一个理想的网络里:
任何人都可以发送交易(nocensorship)
没有垃圾信息(nospam)
费率非常低(lowfees)
而MEV的存在让鱼和熊掌不可兼得:
nospam+lowfees:Web2一样的Censorship必须存在。
nocensorship+lowfees:MEVSearcher就会发送垃圾信息让正常交易受影响。
nocensorship+nospam:你就需要一个费率市场来对交易进行排序,也就需要高昂的gas来优先执行交易。
不过不用太担心,?Web1或者Web2或者现实世界一样没有彻底解决「MEV」的负外部性,Web3的各种方案已经做得非常好。MEV一直是个开放问题,没有完全正确的解。
那么Web3的我们该咋办?
L1/L2:设计时优先考虑MEV。
矿工:放心大胆地在不影响生态的情况下捕获价值,因为这是网络博弈论的一个部分。
DApp开发者:设计应用时考虑MEV,以及机制是否会伤害普通用户。
用户:理解MEV,且尽量不要使用MEV机制设计不足的网络或应用。
其他人:鼓励MEV的研究,参与到MEV的讨论中,?Frontrunthecrisis。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。