mt logoMyToken
Market cap:$0
0%
FGI:0
0%
Cryptocurrencies:--
Exchanges --
ETH Gas:--
English
USD
APP
Ap Store QR Code

Scan Download

深入体验以太坊黑暗森林:DeFi 套利机器人是如何掠夺用户的?

Collect
Share

之前看过几篇关于以太坊黑暗森林的文章,对其中的黑暗、扭曲深感震撼。于是花了几天时间写了自己的机器人,深入体验了其间的险恶。

概述

什么是以太坊的黑暗森林?它是指以太坊上鲜为人知、却广泛存在的一种不公平的、暗黑的机制 -- Mempool 的打包机制的特权使用 。一般而言,矿工按照交易给予的矿工费(GasPrice)高低来进行排序打包。这些交易的排序先后对于单个转账交易并无影响,然后涉及到 DeFi 交易,情况就不一样了。

在 DeFi 中,交易被打包的顺序深刻影响着其经济利益。例如,在 Uniswap 中,同样两个针对某交易对的买单,先被执行的交易将获得更多代币。如果你总是在一笔买单前买入同样的代币,然后又紧随其后卖出,则将「毫无风险」地获利。这也被称为 提前交易 (Front-Running)。

细节

为什么提前交易可以获利?以 Uniswap 为例,其价格模型是 x * y = 常量。例如初始 x = 100,y = 100,那么常量 = 10000。那么当:

  1. 用户 A 用 10 个 x 买入 y。此时 x = 110,y = 90.9,用户 A 获得 9.1 y。(x * y 依然等于常量 10000)

  2. 用户 B 用 10 个 x 买入 y。此时 x = 120,y = 83.33,用户 B 获得 7.57 y。(x * y 依然等于常量 10000)

  3. 用户 A 卖出所有 y。此时 x = 108.18,y = 92.43,用户 A 获得 11.82 x。(x * y 依然等于常量 10000)

以上例子可以看出, 用户 A 通过提前交易,发出两个交易,一前一后包裹用户 B 交易,则可以「毫无风险」地获利 。这里打上双引号是因为需要假设没有其他同样策略的用户 A 出现。在真实的市场环境中,用户 B 是一个真实的用户,而用户 A 则是一个机器人。

以 Uniswap 为例,当前市场上充斥着大量的提前交易机器人。这些机器人时刻监控着出现在以太坊 mempool 中的用户交易。如果用户是大额买入某币,那么它们立刻发出两笔交易,一笔是抢在用户之前(比用户交易 GasPrice 更高)买入该币,另一笔在用户之后(可以采用和用户 GasPrice 稍低或相同)卖出该币。

这种提前交易机器人,不同于两个 DEX 间进行搬砖套利的机器人,它们是伤害用户利益的。在上面的列子中,用户 B 本可以获得 9.1 y,因为机器人 A 的存在,却只获得了 7.57 y,从而白白损失了 1.53 y。

例子

这种机器人就如同站在公路上,光天化日进行打劫的强盗。下面我们来看一个例子:

用户在区块 11331736 上买入 100 ETH 的 YFL (用户 GasPrice 700GWei):

深入体验以太坊黑暗森林:DeFi 套利机器人是如何掠夺用户的? https://cn.etherscan.com/tx/0x4b7e5c9e25d0e4b0a0f87b68bde10b7b988bc6d7f83f7dd1fa1dd1b044a931c8

在它前后出现了好几对打劫该用户的机器人,举出其中具有代表性的两对来讲解。机器人 A 以超高的矿工费(23,835 Gwei)抢在用户(及其它机器人)之前买入 95 ETH:

深入体验以太坊黑暗森林:DeFi 套利机器人是如何掠夺用户的?

https://cn.etherscan.com/tx/0x97ab6f31785068a84c47a39e55b2ee391ee6cac2f4c82dbb0ab34f0c5b71c5b9

随后,机器人 A 以和用户同样的 GasPrice (700Gwei)在用户交易后卖出,获得 99.24 ETH,去除矿工费,该笔打劫,让机器人 A 获利 2 ETH 以上:

深入体验以太坊黑暗森林:DeFi 套利机器人是如何掠夺用户的? https://cn.etherscan.com/tx/0x9e5d8a1a179867a4dbca23bd5c7fa6c8db6dd0817165ec3c3474493d69bf6a5c

在该用户交易身后,还出现了 DEX 间搬砖套利的机器人 B。它从 Balancer 中买入 YFL,并且在 Uniswap 中卖出 YFL,获利 1 ETH 左右:

深入体验以太坊黑暗森林:DeFi 套利机器人是如何掠夺用户的? https://cn.etherscan.com/tx/0x81528f2b5d0cbb217c73e1f60bbd8edda6536a8efc85cd0a9466496d4aa999c0

机器人 B 虽然获利,但并未对用户造成利益损失。但是机器人 A 则不然,机器人 A 所花费的巨额矿工费,以及其盈利部分,共计 4.2 ETH,都将由用户买单。该例子中用户,在什么都没有干的情况下,已经损失 4.2 ETH!

这个例子并非个例,而是几乎每个以太坊区块都能找的、普遍存在的例子。 当前,以太坊的 DeFi 用户正在遭受严重的利益损害,而绝大部分人浑然不知!

深入

从技术上实现机器人 A 或 B 均不难。那么以太坊岂不成为一个强盗肆意打劫之地?有没有什么可以制约机器人的手段?

答案是: 有, 其它机器人 。机器人之间也有不同的策略,也分不同的级别。如果你去认真分析现在的以太坊交易,不但普通用户遭受机器人的打劫,较弱的机器人也会受到较强的机器人的打劫。

另外一个制约机器人的点是用户交易失败。所谓交易失败,是指用户的交易执行时,因为超过用户设置的滑点(slippage),而导致交易无法完成的情况。在上面的例子中,如果用户交易失败,那么机器人将无利可图,不但如此,它们还要损失掉矿工费,和交易手续费。

而非常讽刺是 ,让机器人最为害怕的用户交易失败,却是由机器人自己造成的(过多的机器人抢在用户前买入某币,导致用户买入时价格相差过大)。当你在浏览器中看到某个交易有这样的报错,它大多是因为机器人的打劫:

深入体验以太坊黑暗森林:DeFi 套利机器人是如何掠夺用户的? https://cn.etherscan.com/tx/0xbc236137de0d6a9f82c04039b1c534b9d76789a8a4bda0f3546c87f9e509f016

普通用户害怕机器人,小机器人害怕大机器人。然而大机器人并不是终结。这里食物链的顶端不是别人,正式大家熟悉的: 矿工

矿工

交易的排序决定了利润的分配,而对交易排序有决定权的则是 矿工 。矿工加入到这场收割的游戏彻底改变机器人的格局。

在遵循 GasPrice 高低排序的规则下,矿工可以对同样 GasPrice 的交易任意调配顺序。矿工也可以在不广播交易的情况下,直接将某个交易打包进区块。在这个游戏中,普通用户是闭眼玩家,套利机器人是睁眼玩家,而矿工则是上帝视角。

拥有上帝视角的矿工一旦加入游戏,其结果可想而知。矿工的机器人将驱逐非矿工机器人。而这些矿工将成为以太坊上最大的黑暗势力,利用它们的权力,对用户进行肆意地收割!

解决

以太坊的打包机制是问题的根源,只要有顺序关系的应用都将都将遭受到这类攻击。要想彻底解决这类问题,必须从以太坊打包机制、交易隐私保护方面下手,从目前的发展来看,短期而言,并非易事。

另外一种方案是将这类应用迁移至 Layer2 。很多 Layer2 的方案拥有更快的打包速度,可以有效地降低机器人劫持的可能性。

结语

公开的抢劫、利己的排序、作恶的矿工,正在让以太坊沦为一场权力的游戏。这跟区块链, 公平、开放、平等 的理念已经背道而驰!

未来以太坊的发展,如果不能有效遏制矿工的权力,监督矿工的行为,那么它是否也会成为腐朽的产物,被人们所抛弃?水亦载舟,水亦覆舟。如果以太坊的 DeFi 不能成为一个公平的游戏,它又能走多远呢!

原文标题:《 以太坊 的黑暗森林》

撰文:谈国鹏,Ownbit 创始人

Disclaimer: The copyright of this article belongs to the original author and does not represent MyToken(www.mytokencap.com)Opinions and positions; please contact us if you have questions about content
Related Reading

Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?

Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?

XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up

XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up

Justin Sun suspected to have purchased $160m in Ethereum

Justin Sun suspected to have purchased $160m in Ethereum