时间:2023-08-12|浏览:180
原文标题:《以太坊的黑暗森林》 撰文:谈国鹏,Ownbit创始人
之前看过几篇关于以太坊黑暗森林的文章,对其中的黑暗、扭曲深感震撼。于是花了几天时间写了自己的机器人,深入体验了其间的险恶。
概述
什么是以太坊的黑暗森林?它是指以太坊上鲜为人知、却广泛存在的一种不公平的、暗黑的机制--Mempool的打包机制的特权使用。一般而言,矿工按照交易给予的矿工费(GasPrice)高低来进行排序打包。这些交易的排序先后对于单个转账交易并无影响,然后涉及到DeFi交易,情况就不一样了。
在DeFi中,交易被打包的顺序深刻影响着其经济利益。例如,在Uniswap中,同样两个针对某交易对的买单,先被执行的交易将获得更多代币。如果你总是在一笔买单前买入同样的代币,然后又紧随其后卖出,则将「毫无风险」地获利。这也被称为提前交易(Front-Running)。
细节
为什么提前交易可以获利?以Uniswap为例,其价格模型是x*y=常量。例如初始x=100,y=100,那么常量=10000。那么当:
用户A用10个x买入y。此时x=110,y=90.9,用户A获得9.1y。(x*y依然等于常量10000) 用户B用10个x买入y。此时x=120,y=83.33,用户B获得7.57y。(x*y依然等于常量10000) 用户A卖出所有y。此时x=108.18,y=92.43,用户A获得11.82x。(x*y依然等于常量10000)
以上例子可以看出,用户A通过提前交易,发出两个交易,一前一后包裹用户B交易,则可以「毫无风险」地获利。这里打上双引号是因为需要假设没有其他同样策略的用户A出现。在真实的市场环境中,用户B是一个真实的用户,而用户A则是一个机器人。
以Uniswap为例,当前市场上充斥着大量的提前交易机器人。这些机器人时刻监控着出现在以太坊mempool中的用户交易。如果用户是大额买入某币,那么它们立刻发出两笔交易,一