在2020年8月,Paradigm的交易员DanRobinson尝试收回原本质押在?Uniswap?的流动性代币。为此他部署了setter和getter两个合约,并先后调用两个合约实现收回流动性代币。但其合约调用并没有成功完整实施,反被攻击者发现并捷足先登。攻击者执行了他原本要调用的合约。同年次月,SamSun发现了lienfinance的合约漏洞问题,该漏洞一旦被攻击可造成2.5万个ETH的巨额损失。作者尝试拯救lienfinance的合约漏洞,但却担心遭遇Robinson相似的问题。若攻击者发现他的拯救计划,攻击者将可以发现此漏洞、执行攻击并拿走平台上的2.5万个ETH。
为此,尽管此次拯救行动事发突然,Sam联系多方人士,并最终在星火矿池的帮助下躲避攻击者监听、攻击,成功实施漏洞修复。星火矿池在此事件中将执行的交易放进其私密的mempool,防止被链上的攻击者监听。而这同时也是决定两个事件成败的根本原因。
这两个事件揭露了当前的区块链是黑暗森林这一事实。实际上区块链节点网络构成的黑暗森林中存在一批伺机而动的套利机器人/攻击者。所有等待被打包的待确定状态交易在等待池中被曝露在黑暗森林中。攻击者可查看追踪每笔交易、每一个内部合约调用以及每一条指令,并对这些交易进行当前链上最常见的抢跑和三明治攻击。
我们认为链上攻击产生的本质原因在于区块链的设计。
首先是区块链的mempool设计,所有交易被发送出去后,并不是直接由矿工打包,而是需要先暂时进入mempool。mempool包含着待确认交易,且由于mempool具有公开性,任何人可以监听mempool的每笔交易、每个调用的函数。这为攻击者提供了监听交易事件的条件。
其次区块链出块时间为攻击者提供了执行时间。据Etherscan数据显示,目前以太坊的平均出块时间为13s。
以太坊平均出块时间,来源:Etherscan
在2019年的?《Flashboy2.0》?这篇文章中,首次提到了矿工可提取价值这一概念:指矿工可以通过在他们生产的区块中包含、重新排序、插入或忽略交易来获得的额外利润。经过区块链这两年的发展,以及链上活动的研究进程推进,目前MEV已经延伸为最大可提取价值。
当前MEV掠夺战参与者包括非矿工和矿工两者。非矿工主要指套利/清算等机器人,矿工指负责挑选交易并且打包上链的个体,矿工拥有的权力是非矿工群体无可比拟的。我们归纳总结了如下图表,以展示现有MEV掠夺的相关特征。
Acala:仍在全面追踪aUSD异常增发,可在文档中查看Acala暂停服务列表:8月26日消息,Acala发推称自上周aUSD异常增发事件以来,Acala上的许多服务都已暂停,包括XCM转出,但DOT流动性质押仍在运行,用户可在文档中查看暂停服务列表。
团队仍在全面追踪以识别所有剩余的aUSD异常增发,然后社区制定提案来解决该问题,希望尽快恢复所有Acala服务。[2022/8/27 12:51:32]
MEV解决方案尚存可提取型、可消除型
目前如何解决MEV掠夺问题,保护普通交易者的利益成为了MEV这一领域中争相研究、开发的课题。目前主要有两方态度,一是认可MEV存在的不可避免性,并通过提取解决当下的困境,二是从交易源头抹杀或降低MEV。基于此,本篇报告分别从MEV提取、MEV消除两种思路对现有MEV解决方案进行讨论。
提取MEV的解决方案
从目前已研究结果来看,关于提取MEV方案目前有如下三类方式:
隐私交易:通过将交易存入隐私mempool,而非公开型的mempool,以躲开攻击者的监听。
FRaaS:FRaaS通过提取交易的MEV并进行利润再分配的方式保护交易者利益,同时矿工由于有赏金激励将放弃攻击。
MEVAuction:将矿工的挑选交易权力和交易排序权力进行分拆,矿工仍然保留挑选交易的权力,而交易排序权力则通过拍卖的方式拍卖给第三方。
隐私交易
正如前文所述,交易在mempool中等待被矿工打包,同时也面临被监听、攻击的风险。因此有些协议希望以绕过公开的mempool的方式,让交易在隐私的mempool里排队等待打包,使其无法被广播至其他节点。
提供这类服务的协议目前有1inch的StealthTransactions,太极网络以及bloXroute。
1inch的StealthTransactions目前仅在1inch钱包ios客户端提供。目前这种方式面临交易可能被打包进叔块从而被公开。
太极网络由星火矿池创立,用户可以通过太极网络提供的接口直接发送交易到星火矿池的隐私池。由于星火矿池并不对这笔交易进行网络广播,这笔被发送出去的交易在未被正式确认前,在Etherscan上无法看到该笔交易的状态。
bloXroute提供隐私通信功能,允许交易在不被暴露情况下直接到达矿工手中。
bloXroute的BDN通过自己的网关软件将区块链节点与BDN链接,网关软件和区块链节点首先翻译从区块链进入BDN的信息。然后,在第二层,它会进行区块压缩。通过极大缩小区块大小,使其随后更高效地在区块链分发网络(BDN)中发送/传输。
CoinBene满币现已全面完成BTCUSDT永续合约异常情况的全额赔付:据官方消息,由于第三方服务器宕机导致的BTCUSDT永续合约指数异常,CoinBene满币已于11月12日(昨日)18:00,提前开展赔付工作。目前,此次全额赔付工作现已全面完成。
据悉,赔付金额根据用户在异常数据时持仓以及盈亏情况进行相应赔付。目前数据回滚统计已完成。其中11月12日提前赔付期间赔付少于用户损失的,平台已于11月13日(今日)进行了二次补偿;平台赔付时多于用户损失的,用户无需退还平台。详见官方公告。[2020/11/13 20:45:41]
MEVAuction——Optimism
MEVAuction最早出现于2020年年初,由KarlFloersch提出。KarlFloersch是L2方案Optimism的CTO。MEVA成为契合Optimism的一个良好抗MEV的方式。
谈及MEVA需先说明矿工在MEV掠夺战中作为最大赢家具有的两大权力交易抉择权力和交易排序的权力。MEVA机制在技术上将矿工的两大权力进行拆分:矿工保留原有的交易抉择权力,但选择之后矿工不可对交易进行排序,而由一个名为Sequencer的角色对矿工挑选的交易进行排序权力。矿工通过拍卖过程选取唯一的Sequencer。
在OptimismL2系统中,矿工所具有的角色被划分为两个部分。Sequencers管理交易排序,Validators将其添加到OptimismL2区块链上。该方案契合Layer2,是由于L2架构上早已存在Sequencer。交易被提交给「Sequencer」序列器,由序列器生成保证交易执行和排序的已签名收据。
但MEVA这一方式目前仍然存在问题:
Sequencers之间存在串通、Sequencer自身作恶,造成人为压低拍卖价格。针对这一问题,目前的解决方案是开发一个开源的sequencer软件,增加用户参与sequencer竞价活动的容易度。
无法完全避免矿工同时仍然保有两个权力:sequencer可以自己成立矿池。
FRaaS
Front-runningasaService指通过提取MEV、并将其进行利润再分配的方式解决MEV问题。这一方式本质上通过补偿交易者以及让利矿工、攻击者,使多方达成合作,造成多赢局面。在FRaaS方案中,攻击者变成了搜寻者,搜寻者负责搜寻交易中可能出现的MEV,并通过一定策略完成MEV提取。目前采用该种抗MEV方式的协议较多,是当前较为受欢迎的解决MEV的方式。
Flashbots
SushiChef:Sushiswap已发布最新UI 下月将进行全面审计:SushiChef今日发推称,我们已发布最新的UI界面亮点,用户将能使用最新的限制订单功能,目前未经审核。我们期待着下个月的全面审计,并且已经和一个有信誉的公司取得了联系。[2020/10/31 11:18:34]
Flashbots是一个专门针对MEV的研究及发展平台,目前主要有三个垂直业务:
FlashbotsAuction:矿工和搜寻者之间的隐私通信渠道。
FlashbotsData:检测MEV数据情况;目前具体产品是MEV-Explore和Dashboard。前者目前捕捉覆盖8个主要的defi协议。Flashbotsresearch。:一个开放、透明和合作的研究平台,解决与MEV有关的短期和长期的研究问题。
FlashbotsAuction构成包括:MEV-Geth和MEV-Relay,前者是go-ethereum以太坊节点客户端,后者是一个交易捆绑中继器。
三个主要的角色:搜寻者、中继、矿工。三者之间传送的信息是FlashbotsBundle交易,每个bundle交易内容包括一个交易列表,区块高度,最小超时时间、最大超时时间。
搜寻者Searchers
目前Flashbots的搜寻者可划分为三类人:套利、清算机器人,寻求抢跑防御的交易者,以及以太坊Dapp,如mistX。由searchers直接向relayers提交bundles,保证该笔交易不被网络中其他节点发现。
发送者发送交易时需向矿工支付一定小费,这一小费并不是以Gas费用支付的方式实现,而是通过coinbase交易,向出块者支付ETH作为分佣。这种支付方式保证了即使交易失败也不需要支付成本,但这个方式存在攻击隐患。
中继Relayers
从searchers处收集bundles并发送给矿工。在这一个过程中relayers本身可能也成为攻击者,因此此处需要信任relayers将诚实行动。
relayers除了隐私传送bundle交易外,还具有缓解DOS威胁的功用。由于searchers发送失效的bundles也为零成本,因此可能出现searchers可以随意提交bundles,即这就为他们提供了用无效的bundles向网络发送垃圾邮件的能力,从而对其他网络参与者形成拒绝服务攻击。由于以太坊节点没有能力自行处理这种水平的负载,中继器成为缓解这种DOS威胁的手段。
矿工
矿工作为接收bundle交易的最终人,通过运行MEV-Geth客户端接入Flashbots网络。
矿工每个区块只能打包一笔bundle交易,因此为了使自己利益最大化,矿工将选择由searchers支付小费最高的bundle交易。据悉Flashbots目前有计划开发在一个区块里面打包多个bundles。
腾讯清远云计算数据中心将推动区块链等在大湾区全面落地:近日,华南地区迄今为止最大的新基建项目——腾讯清远云计算数据中心正式开启服务。据悉,清远数据中心将辅助深圳、广州、香港等湾区核心城市中腾讯已有的核心云节点,结合整个粤港澳大湾区200多个边缘节点,形成对整个粤港澳大湾区的全面覆盖,推动人工智能、云计算、区块链等新技术全面落地开花,促进粤港澳大湾区产业升级和数字化转型。(科技日报)[2020/7/8]
同样此处无法完全信任矿工。矿工在接触到bundle的内容后,可通过解析交易,通过可以重新排序或增加交易进行MEV提取。
ArcherDAO
ArcherDAO拥有两个独立的产品:ArcherRelay和ArcherSwap。但两个产品均具有抗MEV特征。
ArcherRelay
ArcherRelay与MEV-Geth客户端兼容,使得用户以搜寻者的角色参与Flashbots生态。
ArcherSwap
ArcherSwap以提前端交易界面形式出现,允许用户直接提交token交易。ArcherRelay网络中的backrunningbots将针对在ArcherSwap上产生的交易进行MEV搜寻、提取、捆绑等行为,并通过Flashbots+Archerrelayer发送给矿工。
ArcherDAO利用了Flashbots的技术完成抗MEV,但仍然与Flashbots存在不同点。ArcherDAO的产品将搜寻者与交易者的角色进行更加清晰的化分,ArcherRelay为搜寻者转发bundle交易,此处的搜寻者任务为搜寻各个DEX中MEV提取的机会。而ArcherSwap针对寻求MEV防御的交易者,这一交易者在ArcherSwap上进行交易。搜寻者与交易者的角色的化分体现于ArcherRelay的搜寻者无法接触通过ArcherSwap发布的交易,只有ArcherDAO内部的backrunningbots可以。
其次是与矿池合作方不同:目前ArcherDAO明确与2miners、Ezil达成合作;Flashbots的三月份的报告宣称其已经与12个矿池合作。
mistXby?alchemist
alchemist是由@thegostep在2月发的一条twitter开始,没有开发团队,没有路线图,完全由社区推动。@thegostep活跃于区块链领域,是以太坊、Ampleforth的核心开发者之一,同时也参与了Flashbots。alchemist团队有5个核心项目正在进行:Crucible、Copper、mistX、sandwitched查询和CrucibleNFTDesign。
mistX同样采用Flashbots技术,保护用户发起的交易不会发到公开的mempool,而是bundle在一起进入Flashbot系统。此外该团队还开发的?sandwiched.wtf?查询工具可用于查询某一个智能合约账户是否存在被进行三明治攻击过。
荷兰央行:现阶段不支持全面叫停数字货币:1月24日,荷兰央行发布了一则有关加密货币及区块链的公告。该行对区块链技术表现出了全力扶持的态度,称自己从2015年起就开始研究如何应用区块链,并建立了四种数字货币雏形,但建立模型的目的单纯是为了研究。荷兰央行还点明了加密货币的内生投资风险,不过仍称现阶段不支持全面叫停。[2018/1/27]
KeeperDAO
KeeperDAO整体项目分为三个主要业务线:HidingGame、CoordinationGame和IncentiveGame。这三个业务分别解决三个问题:HidingGame解决现有交易以及清算问题中的MEV问题,CoordinationGame则主要激励keepers之间进行合作,IncentiveGame主要关注$ROOK和平台治理问题。这三个业务之间以一种有机的方式结合,互相支持彼此。
KeeperDAO同样认为由于swap必不可免产生滑点,攻击者可通过先跑/尾随交易进行攻击,对traders造成损失。且由于交易被曝露在mempool中,容易造成多方竞争或双方互相「竞价」的局面,引发Gaswar。
针对这两种情况KeeperDAO认为可让交易者与Keepers一起合作。其主要过程为交易者首先提交交易给KeeperDAO,由给KeeperDAO内的Keepers分析该笔交易并判断是否可以通过先跑/尾随策略获得收益。若这一交易存在可获取收益,keepers根据平台预先规定的交易排序进行执行这笔交易,获得其中利益。获取的利益需要返还给项目平台,由项目进行每日汇总分配。
对交易者而言,他们在交易中获得了更好的价格,因交易者的交易滑点可通过平台铸造的$ROOK被抵消。可见交易者与keepers合作带来了双赢局面。
在整个交易体系中,KeeperDAO将每隔100个区块进行一次排序,排序结果决定现有Keepers的交易顺序。由于定序交易,keepers避免遭受gaswar的困扰。但是,KeeperDAO之内的Keepers仍然需要与keeperDAO之外的交易者竞争。
BackRunMebybloXroute——MEV的利益分配
bloXroute除了前文所述的隐私交易外,还利用了DEX交易滑点这一特征开发出针对MEV的交易设计。
具体的实现过程如下:
bloXroute发送metadata给搜寻者,由搜寻者执行backrun交易。
搜寻者将根据交易创建并发送bundles,bloXroute检测searcher的回复。
bloXroute以隐私通讯方式发送收益最高backrunningMEVbundle给pools。
当然若搜寻者发现不存在backrun的机会,则这笔交易将变成普通的隐私交易发送到矿工手中。
其他
MiningDAO
这一项目允许任意以太坊用户propose整个区块给矿工,同时每个区块附有一定奖励,若成功被打包上链,则该奖励将支付给矿工。因此矿工为了自己的利益最大化,将选择奖励最高的区块。与前文所述的几个协议不同,该协议针对的对象为下一个区块,而非某笔交易。
如下图显示,该项目将竞争下一个区块视为订单市场DEX,每个用户可以提交一个可供打包的区块,此处即订单对象,组成区块订单市场DEX。用户支付的成本为每个区块订单附带的由用户支付的奖励赏金,而矿工从这个区块订单市场中挑选奖励赏金最高的区块订单。一旦成交,则矿工将用户提供的区块订单打包上链,同时获得用户支付的奖励赏金。
BackBoneCabal
该协议针对sushiswap的项目,用户向YCabal发送交易,产生滑点等套利机会,后由矿工进行先跑/后跑等策略。
提取MEV方案的优缺点
这类阵营认为MEV由用户产生,是一个不可避免的链上交易特质,基于此该阵营的方案对MEV采用接纳态度保护用户。目前该阵营存在三大类协议,三类方案具有各自特色:隐私交易方案通过绕过公开mempool、绕过公开监听保护用户的MEV不被提取;MEVA将矿工的权力进行技术划分保护用户权益;FRaaS则对将MEV提取作为一项服务并进行利润划分实现多赢局面。
消除MEV的解决方案
MEV的出现,体现了作为特权阶级的矿工,利用对区块的特权进行权力寻租的产物。前文介绍MEV提取型方案覆盖超过10种协议,由于这些协议认为MEV不可避免,因而采取拥抱MEV的态度解决现有MEV问题,若以鸽派形容这一阵营,则另有一派作为鹰派认为MEV可消除。本文这部分将阐述作为鹰派的开发者们如何选择利用多种手段将权力寻租的空间降至最低乃至消灭。
如何使MEV最小化或者阻止其出现?所谓矿工可提取价值,是指矿工通过在其生产的区块内任意包含、排除或重排序交易等能力所获得利润的一种度量。所以目前市面上的抗MEV协议设法在交易提交到矿池的时候,进行采取措施。目前已总结如下四种方式:
链内操作
链下操作
加密
新型交易模式
链内操作
Chainlink?方案--无须去改变L1主链,将交易队列信息和预言机报告提交给预言机,生成序列号和Nonce值,并在预言机网络进行广播。同时预言机可以监控消息池,主动获取交易队列。后续智能合约可以从预言机获取正确序列。
LibSubmarine方案--链上智能合约,对交易信息进行隐私保护,避免被套利者发现。
Veedo方案--利用VDF,利用时间锁将交易信息延迟一段时间,然后再公开。套利者无法及时获取套利空间。
链下操作
Automata方案--交易队列通过加密中间件服务,依据当前的交易队列生成唯一的签名,矿工无法对交易队列插入新的交易,否则签名会发生变化。此时Dex在接收交易队列时候,即可识别到签名的变化,即可拒绝该交易。
Arbitrum方案-有些方案觉得不能完全阻止MEV的出现,尽可能最小化的阻止MEV的出现。将交易聚合打包在智能合约的CallData中,这样L1对交易无法做修改。在L2层,在最短15分钟窗口内完成交易的结算。整个流程尽可能减少MEV的出现。
VegaProtocol方案--建立全新的主链,在链本身层面进行,在单位时间内,对最先广播,被节点知晓最多的交易优先执行,"如果有一个时间t,使所有诚实的验证者在t之前看到a,在t之后看到b,那么a必须被安排在b之前"。
加密
Sikka方案--作为隐私中间件,对交易信息和自身消息池进行加密,交易被2/3节点打包验证之后,进行公开。
ShutterNetwork方案--利用DKG分布式密钥生成服务,在交易发出之前进行加密,通过矿工消息池之后,确认被打包在区块之中,再进行对交易信息的解密。
新型交易模式
CowSwap方案--两个人同时持有互相想要的资产,即可直接匹配交易,而无需做市商或流动性提供者撮合交易。这样即可以为个人交易者带来最佳的价格,也免除通过做市商或流动性提供者产生的手续费。CowSwap上允许用户利用CoW的方式直接交易。无法通过CoW结算的订单直接通过自动做市商(AMM)匹配交易。要是批量拍卖订单中有CoW订单。小额单完全匹配后,剩余没有通过CoW匹配的订单,便会交由CowSwap整合的流动性市场匹配。整个订单结算价格以通过外部流动性获取的剩余订单价格为准。
消除MEV方案/协议对比:
消除MEV解决方案的优缺点
不管是矿工,验证节点,排序器都是对顺序有特权的角色,从以下方式去消除MEV的出现,都会存在多多少少的优缺点。
利用L2第三方公证组织,对确定的交易序列进行全网公开并进行标记,公开程度越大,越难被篡改。但是需要不同的DeFi协议支持该公证结果并且配合。
利用对交易信息进行加密,让容易被套利的信息,隐藏在黑暗森林中,让套利者无法进行追踪。但是对信息的加密和解密,带来的资源消耗,从而导致交易体验上的损耗,也是需要考虑的因素。
新的交易模式,在模式上进行范式转移,却需要经过市场去检验是否能成功。
结论
区块链经过十余年发展,变得愈加成熟和复杂,也因此产生越来越多系统性问题,比如本文粗略探讨的MEV问题。正如Paradigm的?《MEVandMe》?文章中所描述的,相较于最早出现的比特币,后来出现的以太坊由于其应用层行为的高度复杂性而产生的MEV远高于比特币。
目前Flashbots所捕捉到的MEV也仅覆盖8个协议,且每个协议上所识别到的MEV也限于可被先跑/后跑/三明治等提取的种类。
Flashbots通过MEV这一现象的研究加深了用户对区块链的了解。用户开始了解自己在区块链上的行为相对应的风险收益结构,并反之通过开发、改进协议使区块链更加具有真正的使用价值。
本文粗略探讨了市面上现有的各种针对MEV的解决方案,并将其归纳为两大阵营。首先MEV可提取型,旨在实现对权力再公平分配,但也难以避免屠龙少年终成恶龙的局面。其次是MEV可消除型,则讲述了不管如何在黑暗森林中隐身潜行、权力的再转移,不如真正利用加密手段实现跨维压缩权力寻租空间。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。