之前看过几篇关于以太坊黑暗森林的文章,对其中的黑暗、扭曲深感震撼。于是花了几天时间写了自己的机器人,深入体验了其间的险恶。
概述
什么是以太坊的黑暗森林?它是指以太坊上鲜为人知、却广泛存在的一种不公平的、暗黑的机制--Mempool的打包机制的特权使用。一般而言,矿工按照交易给予的矿工费高低来进行排序打包。这些交易的排序先后对于单个转账交易并无影响,然后涉及到DeFi交易,情况就不一样了。
在DeFi中,交易被打包的顺序深刻影响着其经济利益。例如,在Uniswap中,同样两个针对某交易对的买单,先被执行的交易将获得更多代币。如果你总是在一笔买单前买入同样的代币,然后又紧随其后卖出,则将「毫无风险」地获利。这也被称为提前交易。
细节
为什么提前交易可以获利?以Uniswap为例,其价格模型是x*y=常量。例如初始x=100,y=100,那么常量=10000。那么当:
《广东省深入推进资本要素市场化配置改革行动方案》:粤港澳以区块链技术为基础共建征信链:金色财经报道,广东省人民政府昨日印发关于深入推进资本要素市场化配置改革行动方案的通知,方案提出,支持深圳深化央行数字人民币应用创新试点,适时申请扩大试点城市范围,以区块链技术为基础,粤港澳共建征信链,促进粤港澳大湾区征信合作。发展数字绿色金融,利用金融科技推动环境信息披露与共享,探索以区块链为基础的绿色资产交易。此外,方案还提出加快推进外资金融机构落地落户及推进人民币可自由使用和资本项目可兑换先行先试。[2021/9/15 23:25:48]
用户A用10个x买入y。此时x=110,y=90.9,用户A获得9.1y。
用户B用10个x买入y。此时x=120,y=83.33,用户B获得7.57y。
用户A卖出所有y。此时x=108.18,y=92.43,用户A获得11.82x。
声音 | 张平文:区块链等已经深入到市民生活的方方面面:月10日至11日,2019世界计算机大会在湖南长沙举行,中国科学院院士张平文说,计算机包括5G、云计算、大数据、人工智能、区块链等,已经深入到市民生活的方方面面。[2019/9/15]
以上例子可以看出,用户A通过提前交易,发出两个交易,一前一后包裹用户B交易,则可以「毫无风险」地获利。这里打上双引号是因为需要假设没有其他同样策略的用户A出现。在真实的市场环境中,用户B是一个真实的用户,而用户A则是一个机器人。
以Uniswap为例,当前市场上充斥着大量的提前交易机器人。这些机器人时刻监控着出现在以太坊mempool中的用户交易。如果用户是大额买入某币,那么它们立刻发出两笔交易,一笔是抢在用户之前买入该币,另一笔在用户之后卖出该币。
这种提前交易机器人,不同于两个DEX间进行搬砖套利的机器人,它们是伤害用户利益的。在上面的列子中,用户B本可以获得9.1y,因为机器人A的存在,却只获得了7.57y,从而白白损失了1.53y。
动态 | 中科院计算所将联合沈阳市纪委监委 推动区块链等技术在纪检监察领域的深入应用:据科学网消息,中科院计算所研究员方金云近日接受采访时表示,中科院计算所将与沈阳市纪委监委联合成立大数据监督技术研究中心,以沈阳市正风肃纪监督,营商环境优化为试验田,继续推进大数据、人工智能、区块链等契合时代发展的信息技术在纪检监察领域的深入应用。[2019/1/13]
例子
这种机器人就如同站在公路上,光天化日进行打劫的强盗。下面我们来看一个例子:
用户在区块11331736上买入100ETH的YFL:
https://cn.etherscan.com/tx/0x4b7e5c9e25d0e4b0a0f87b68bde10b7b988bc6d7f83f7dd1fa1dd1b044a931c8
在它前后出现了好几对打劫该用户的机器人,举出其中具有代表性的两对来讲解。机器人A以超高的矿工费抢在用户之前买入95ETH:
声音 | 交通运输部副部长:积极参与区块链等贸易服务 更深入地参与国际竞争:据上证网消息,交通运输部副部长刘小明在2018全球贸易与国际物流高峰论坛上透露,要把创新能力建设摆到更加突出的战略地位,全力推进互联网+高效物流融合发展。坚持全面开放发展,推进物流领域开放向纵深发展。积极参与跨境电商、区块链等贸易服务,更深入地参与国际竞争。[2018/11/20]
https://cn.etherscan.com/tx/0x97ab6f31785068a84c47a39e55b2ee391ee6cac2f4c82dbb0ab34f0c5b71c5b9
随后,机器人A以和用户同样的GasPrice在用户交易后卖出,获得99.24ETH,去除矿工费,该笔打劫,让机器人A获利2ETH以上:
https://cn.etherscan.com/tx/0x9e5d8a1a179867a4dbca23bd5c7fa6c8db6dd0817165ec3c3474493d69bf6a5c
SYNC 2018区块链系列活动会议于新加坡召开 MDT与诸多领域大咖进行深入探讨:3月9日,由科技媒体Pingwest举办的SYNC 2018区块链系列活动会议于新加坡召开。MDT量数代表黄何,火币全球运营总监Herbert,ODYSSEY/OBike项目负责人Sophie,新加坡星展银行DBS私人银行副总监于珊珊一同前来参会。在会议现场MDT量数与银行、虚拟货币交易所,通过不同立场探讨了虚拟货币作为货币形态在科技领域的展望。[2018/3/12]
在该用户交易身后,还出现了DEX间搬砖套利的机器人B。它从Balancer中买入YFL,并且在Uniswap中卖出YFL,获利1ETH左右:
https://cn.etherscan.com/tx/0x81528f2b5d0cbb217c73e1f60bbd8edda6536a8efc85cd0a9466496d4aa999c0
机器人B虽然获利,但并未对用户造成利益损失。但是机器人A则不然,机器人A所花费的巨额矿工费,以及其盈利部分,共计4.2ETH,都将由用户买单。该例子中用户,在什么都没有干的情况下,已经损失4.2ETH!
这个例子并非个例,而是几乎每个以太坊区块都能找的、普遍存在的例子。当前,以太坊的DeFi用户正在遭受严重的利益损害,而绝大部分人浑然不知!
深入
从技术上实现机器人A或B均不难。那么以太坊岂不成为一个强盗肆意打劫之地?有没有什么可以制约机器人的手段?
答案是:有,其它机器人。机器人之间也有不同的策略,也分不同的级别。如果你去认真分析现在的以太坊交易,不但普通用户遭受机器人的打劫,较弱的机器人也会受到较强的机器人的打劫。
另外一个制约机器人的点是用户交易失败。所谓交易失败,是指用户的交易执行时,因为超过用户设置的滑点,而导致交易无法完成的情况。在上面的例子中,如果用户交易失败,那么机器人将无利可图,不但如此,它们还要损失掉矿工费,和交易手续费。
而非常讽刺是,让机器人最为害怕的用户交易失败,却是由机器人自己造成的。当你在浏览器中看到某个交易有这样的报错,它大多是因为机器人的打劫:
https://cn.etherscan.com/tx/0xbc236137de0d6a9f82c04039b1c534b9d76789a8a4bda0f3546c87f9e509f016
普通用户害怕机器人,小机器人害怕大机器人。然而大机器人并不是终结。这里食物链的顶端不是别人,正式大家熟悉的:矿工。
矿工
交易的排序决定了利润的分配,而对交易排序有决定权的则是矿工。矿工加入到这场收割的游戏彻底改变机器人的格局。
在遵循GasPrice高低排序的规则下,矿工可以对同样GasPrice的交易任意调配顺序。矿工也可以在不广播交易的情况下,直接将某个交易打包进区块。在这个游戏中,普通用户是闭眼玩家,套利机器人是睁眼玩家,而矿工则是上帝视角。
拥有上帝视角的矿工一旦加入游戏,其结果可想而知。矿工的机器人将驱逐非矿工机器人。而这些矿工将成为以太坊上最大的黑暗势力,利用它们的权力,对用户进行肆意地收割!
解决
以太坊的打包机制是问题的根源,只要有顺序关系的应用都将都将遭受到这类攻击。要想彻底解决这类问题,必须从以太坊打包机制、交易隐私保护方面下手,从目前的发展来看,短期而言,并非易事。
另外一种方案是将这类应用迁移至Layer2。很多Layer2的方案拥有更快的打包速度,可以有效地降低机器人劫持的可能性。
结语
公开的抢劫、利己的排序、作恶的矿工,正在让以太坊沦为一场权力的游戏。这跟区块链,公平、开放、平等的理念已经背道而驰!
未来以太坊的发展,如果不能有效遏制矿工的权力,监督矿工的行为,那么它是否也会成为腐朽的产物,被人们所抛弃?水亦载舟,水亦覆舟。如果以太坊的DeFi不能成为一个公平的游戏,它又能走多远呢!
原文标题:《以太坊的黑暗森林》
撰文:谈国鹏,Ownbit创始人
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。