设想一种情形:用户在AMM类型的DEX上做交易,无论设置什么滑点,最终都会在你能接受的最差价格上成交。这可能是个对用户来说很可怕的场景。
TLDR;
目前的MEV-Geth实现机制改变了原本网络中预期的交易排序规则,导致诸多细思极恐的公开公正性问题,并且可能已经对生态中的用户产生利益损害。
以太坊网络交易池原生规则
当前以太坊网络中,如果用户通过原生的方式发送交易,这笔交易会在整个由以太坊全节点组成的点对点网络传播,并且交易的内容完全透明,这意味着任何网络中任一全节点能看到绝大部分交易的交易内容。
由此,以太坊网络中会出现几种破坏交易发送者预期和体验的情况,
抢跑,指通过让特定交易在同个区块中排在目标交易前而获利,主要针对清算和套利交易;
尾随,指通过让特定交易在同个区块中排在目标交易后而获利,典型的针对对象是信息输入机制交易或大单交易;
三明治夹击,上述两种攻击形式的结合,让目标交易恰好夹在两笔特定构造交易中间,从而获利。三明治攻击大大拓宽了可攻击的范围,哪怕是一笔普通的AMMDEX交易,都有可能成为针对对象。攻击者的第一笔构造交易制造更大的交易价格波动,待目标交易执行完之后紧接着执行第二笔构造交易,换回发动攻击的代币完成获益。
发起攻击的对象是不确定的。理论上,所有知道了你的交易内容的人都有可能攻击你,dApp项目方、专业攻击者、钱包、矿池,都有可能攻击你。
共为2020 | Block.one首席执行官:发展技术需要关注不同文化,加强创新:金色财经现场报道,2020年6月21日,由金色财经主办的共为2020·区块链创新应用论坛在深圳拉开帷幕。Block.one首席执行官Brendan Blumer、金色财经CEO安鑫鑫就《Block.one、EOSIO和区块链未来》进行现场连线。Block.one首席执行官Brendan Blumer指出:需要在发展技术的时候,对不同文化的可接受程度要保持敏感,特别是Block.one这样的全球化公司。我们做决定时要慎重考虑,所有的行动不可能让所有人都开心,但是我们会以不同的方式考虑不同的政策,尝试在不同的文化背景和社会背景之间找到所有人之间的一个共识。
要加强创新,确保科技让世界变得更美好,不仅仅是考虑社会的不同需求,也考虑文化的需求和监管的需求,把创新作为武器。[2020/6/21]
攻击的难易程度,与网络的共识规则和生态中普遍可用的基础设施有关;例如,如果大家完全遵守当前的交易池规则,仅通过GasPrice竞争来影响出块者对交易的排序,则三明治攻击是比较难发动。
目前,由于能够直接决定自己所打包区块中的交易的执行顺序,矿工-矿池一直被当成是最有可能发动攻击的参与者,这也是“MEV”这个概念的由来;但实际由于攻击机会具备一定时效性,可能转瞬即逝,攻击者和矿池更多表现为一种分成合作的关系。
这些背景,正是使我对MEV-Geth和其他形式的、矿池直接从事三明治攻击的现象感到不安的原因。
共为2020 | 宙斯在线科技CEO Tony:区块链产业发展需政策指导、企业探索、全民参与:金色财经现场报道,2020年6月21日,由金色财经主办的共为2020·区块链创新应用论坛在深圳拉开帷幕。宙斯在线科技CEO、中软协区块链分会理事、中国气象环境社会化观测同盟发起人Tony在《跃迁:大变革后的格局与方向》圆桌对话中指出,宙斯气象系统(ZWS)是利用区块链技术,进行全球分布式气象环境数据收集的社会化观测区块链解决方案。实际上,气象环境领域的数据检测与政府无法分开,我们通过去中心化方式搜集的数据实际是能给到监管部门有力补充,我们是积极拥抱政府与监管的。区块链产业发展,要有政策性指导,继而是企业探索,最终形成全民参与。另外随着一些基础设施的建设和落地场景的不断完善,整合行业资源,会实现全行业的发展。[2020/6/21]
当前的MEV-Geth实现
目前MEV-Geth实现的功能仅为,搜索网络中MEV机会的搜索器,转发原子交易包到注册矿池节点,出块节点允许插队。构建出仅在注册矿池和Relay服务器间的简单网络。
MEV-Geth是一种特殊定制的以太坊节点客户端,运行在矿池方,允许通过该客户端存储Relay分发的MEVBundle,并将这些特殊的交易打包到区块中的队列头部位置。
共为2020 | 首旅如家何英琪:未来3—5年一定会有很多家万亿级企业产生:金色财经现场报道,2020年6月21日,由金色财经主办的共为2020·区块链创新应用论坛在深圳拉开帷幕。首旅如家区块链总经理何英琪在《跃迁:大变革后的格局与方向》圆桌对话中指出,首旅如家2年来一直用区块链探索个人数字资产,将积分、优惠券、消费券等与区块链结合实现数据价值的互链互通流转。我们作为入围北京国资委高精尖示范项目,广州区块链重点应用示范项目,真正利用区块链技术,实现把个人数字资产上链打造成一个可行的模式。另外,太多的人把区块链和金融绑在一起,我个人认为区块链应该和价值绑在一起,金融会有很多放大的属性。我认为我们的政府是比较优秀和开明的,关键是我们有足够的方法和方式沟通。我会认为整个的区块链和技术以及产业融合未来都是乐观的,我认为未来3—5年一定会有很多家万亿级的企业产生,而且区块链本身是跨域的,我们国家可以有一些企业把这种价值突破边界,把这种价值流转到全球和流转到“一带一路”。[2020/6/21]
使用者可使用MEV-Geth广播称为Bundle的交易包;一个Bundle内包含的信息有:一个交易列表,套利计算区块高度,最小最大超时时间。在单个Bundle上链的区块中,发送者会通过coinbase交易,向出块者支付ETH作为分佣。
共为2020?|?ViaBTC&CoinEx创始人杨海坡:未来数字货币市场仍有很大的机会:金色财经现场报道,2020年6月21日,由金色财经主办的共为2020·区块链创新应用论坛在深圳拉开帷幕。ViaBTC&CoinEx 创始人杨海坡在主题为《十年一顾,再谈共识》的圆桌对话中,就数字货币最大的共识及未来两年行业发展趋势这一问题指出:“数字货币最大的共识在于去中心化的公开账本,这其中最具有代表性的则是比特币。数字货币市场从无到有,从零到现在价值上万亿美元市值,已经证明了中本聪的构想是成功的。
而形成这共识背后的本质原因在于传统金融以及疫情期间各国政府无限制印钞加剧了人们的不信任感。但客观来说目前而言,数字货币市场的市值相对于传统金融市场而言可以说九牛一毛。我认为未来数字货币市场仍然有很大的发展空间和机会。”[2020/6/21]
在当前的MEV-Geth实现中,每一个区块只能存在一笔Bundle,因此出块者会会选出coinbase支付最大的一笔Bundle上链。
这个当前的实现简化了实施三明治夹击的难度。一方面,攻击者可以显式地声明夹击交易的前后关联;其次,夹击者没有了后顾之忧,即使在与其他夹击者的上链竞争中落败,其交易也只会在MEV-Relay网络中超时无效,不需要付出Gas费用。
根据Flashbots团队的公开声明,他们正在开发允许同一个区块包含多笔Bundle的方案,或许我们很快会看到区块中充满大量零Gas费的三明治夹击。
共为2020?| 工信部相里朋:预计2022年产业规模有望达到4.59亿美元:金色财经现场报道,2020年6月21日,由金色财经主办的共为2020·区块链创新应用论坛在深圳拉开帷幕。本次会议由币核科技冠名赞助、HBTC作为战略合作企业。工业和信息化部电子第五研究所高级工程师相里朋现场进行《布局:区块链技术与应用市场之路》主题演讲指出,截止2020年6月,全球已有22个国家政府、73个国际组织公开关注区块链技术发展。在经历2017年爆发式增长后,由于技术不成熟、缺乏爆款产品、盈利模式不清晰、非法集资频发等问题。从2018年起,国内区块链行业市场规模增速明显放缓,约为109.38%。区块链赋能实体产业尚需时间,且受疫情影响,预计2020年为行业增速最低点,2022年产业规模有望达到4.59亿美元。[2020/6/21]
找到MEV-Geth交易
根据目前的实现,MEV-Geth交易最显著的特点就是前后两笔夹击交易的GasPrice都为0。
打开区块浏览器网站etherchain.org,查看任一区块的交易列表,如果在列表开头出现了三明治夹击,且夹击交易的GasPrice为0,则这很有可能是通过MEV-Geth发起的Bundle。
-12200018高度区块的列表头部-
-某笔被夹击交易全过程-
网络已全面部署MEV-Geth
当前MEV的情况可以通过对0gasprice并且gasused大于21000交易查询获得,具体见我临时建立的dunedashboard
从图中可看到,不少矿池都已参与,每天有约超过3500笔MEV相关交易,大约一千多次MEV交易产生。按照平均出块时间在12s来算,每天有7200(60x60x24/12)个区块,即每天有近1/3的区块中存在MEV-Geth交易。还有部分矿池未使用MEV-Geth,套利者还未切换到这种新的竞争模式。
不同环境下的博弈
我们可以借助比较几种交易池运作情形,来了解用户得到了什么,又失去了什么。
公开博弈状态
如果网络回归到原生状态,而且出块者恪守行业自律,所有交易全公开,任何人都能通过建立节点或者通过节点服务发现未被打包的交易;那么,如果想夹击某笔交易,就需要发送两笔交易,并设置gasprice为被攻击交易前后来保证夹击顺序,并且在有竞争的情况下还要发送多份拷贝交易提高成功率,最后在任意交易执行失败时要面临花出矿工费的惩罚。
从用户方来看,大家都处于平等公开的环境下,当看到自己交易被夹击或抢跑时,是有机会有方法加速或取消这笔交易来避免潜在损失的。
而且,最终成型的区块,不仅能显示出交易池竞争的胜者,还能真实地反映交易池竞争的实际情形。
隐私交易服务
此处的“隐私交易”指的是矿池开设专门的通道,由该通道进入矿池交易池的交易不对外广播,但仍根据GasPrice高价优先的形式排序并打包交易。
普通用户使用隐私交易服务时,其交易对外不公开,因此,除非矿池自身违反保密承诺或参与攻击,否则用户不会受到上述攻击。
再从另外一头考虑,如果攻击者通过隐私交易服务攻击公网可见交易,被攻击者无法发现事情即将发生,无法做出应对。但是,三明治夹击仍然受限于交易路由和交易池排序的随机性,无法轻易实施。
而且,当多人竞争同一个获利机会时,只要矿池不透露相互竞争的交易,他们便无法了解竞争对手出价,只能盲出价格进入排序队列,这变相提高攻击成本和难度。
此外,最终成型的区块,仍然能真实地反映出交易池竞争的全部情形,外部可以观测到成功失败及其原因。
若MEV-Geth成为主流
MEV-Geth出现后,套利者抢跑者会将可套利可夹击的交易提交到这个网络中竞价,筛选出上交矿池利益最大的Bundle会放到下一个打包的区块中优先执行,保证被打包交易能达到100%成功率。
在当前,如果你也部署了一个MEV-Geth节点,Bundle内容对你来说是透明的,因此如果有人攻击你,你也能及时响应。
但如果你并不知道什么是MEV-Geth,你的情形与有人动用隐私交易攻击你相同;变得更差的是,攻击者的确定性提升不少,并且攻击过程的竞价也无法得知,因为成型的区块将只暴露那笔胜出的交易,而不会暴露竞争的过程。
Flashbots认为,这会给网络带来一些好处:套利者竞争博弈的过程被移到另外一个网络,可以缓解以太坊P2P网络的负担;只有胜出者占据区块空间,可以缓解区块拥堵。在subreddit/EtherMining上有发布报告列出目前区块中的额外获利情况,但或许长期不一定能赶上矿工费下降带来的总收入减少,需要更多长期数据跟踪研究。
去中心愿景
原本网络共识预期是,以太坊Defi用户和抢跑者处于同一规则下,并且竞争的过程和结果也是透明地暴露在区块中。随着矿池的介入,事情变得更加复杂,隐私交易和MEV-Geth,都让网络底层开始明确介入上层业务。而MEV-Geth似乎用各种好处正当化了对用户的三明治夹击,并且让竞价过程在一个外部无法观测的网络中发生,网络运行过程变得变得不友好也不透明。
我这里有几个问题,
矿池为提供算力的矿工获得利益出发,部署目前这个阶段的MEV-Geth去获取更多利益,这可能无可厚非。但这是否符合去中心和网络的公开公正呢?
Flashbots之前公开承诺里有提到保护以太坊的开放性去中心化,目前MEV-Geth隐私性和公开拍卖竞争问题未解决之前,部署到当前的网络中是否是合适的时机呢?
矿池的排序权引申出来的超级能力,可能在去中心化网络中无法被去除,也就是MEV是个客观存在的事物。但对于MEV-Geth出现让MEV的滥用变得更加便利,甚至成为正当借口去夹击用户交易,这是否造成长期不良影响?
社区中也是有不少关于MEV或MEV-Geth实现的争议,不少声音是担心
康奈尔教授AriJuels在CoinDesk上发表的《Miners,Front-Running-as-a-ServiceIsTheft》
OffchainLab联合创始人EdFelten发表的《MEVauctionsconsideredharmful》,这篇不是针对这个议题,反对的是拍卖一天排序权的这种方法。
Vitalik有一篇对此的回应
EthererumResearch论坛上网友pmcgoohan发表的《MEVAuctionsWillKillEthereum》
Paramdigm基金合伙人CharlieNoyes发表的《MEVandMe》中也提到“MEVCanHarmUsers,MEVCanHarmEthereum”
如果以太坊想成为支撑整个世界的金融基础平台,那么维持用户资产安全以及交易排序的公平性就非常重要。所有参与方都是按照矿工费竞价规则竞争打包队列位置,执行失败会失去支付的矿工费。矿池在打包过程中完全忽略交易内容,仅以矿工费高低来为交易排序,网络验证人和应用参与方隔离开来,互不干涉影响。
MEV-Geth的全面部署以及矿工对以太坊网络的应用层逐步侵入,让我感觉到有些不对劲,周末两天思考和查阅材料,最后写下了这篇内容,希望能让更多人来思考这个可能会对以太坊影响深远的问题,也感谢这几天帮助校对内容的朋友们,特别感谢阿剑老师不断对阐述逻辑和顺序向我发问让文章内容更加完善与逻辑完备。
Flashbots相关内容索引
flashbots/mev-research:ProjectmanagementforMEVResearch
flashbots/pm:EverythingthereistoknowaboutFlashbots
作者:Kai
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。