月亮链 月亮链
Ctrl+D收藏月亮链

FRONT:解析以太坊抢先交易原理及其解决方案_INNIT价格

作者:

时间:1900/1/1 0:00:00

作为一般用户,可以通过设置较低的交易滑点和较高的 Gas 费来应对抢先交易。

本文旨在全面解析广泛存在于以太坊区块链上的攻击行为:Front-Running (抢跑交易),通过对其原理的研究,寻找最有效的解决方案,最终帮助 DeGate 用户避免这一严重有损他们利益的攻击行为。

简单来说,Front-Running 是指在一笔正常交易等待打包的过程中,抢跑机器人通过设置更高 Gas 费用抢先完成攻击交易,以此攫取用户利益的攻击行为。而 Mempool 是一组已经广播到网络中并等待被打包进区块的以太坊交易,它是 Front-Running 可以实施的前提,抢跑机器人通过不断扫描 Mempool 中的交易,来分析发现可攻击的目标。下图是一个 Mempool 浏览器,可以通过设置各种筛选项订阅 Mempool 中的交易,并查看这些交易的全部详细信息。

在所有 Front-Running 中,最典型最具危害性的就是针对 AMM 交易的 Sandwich Attacks (三明治攻击),除此以外还有针对套利、清算交易、闪电贷等利用系统漏洞获利的抢跑攻击,攻击者数量众多,且由自动化脚本控制,永远不知疲倦,因此任何有利可图的交易都会遭受他们的饱和攻击,几乎没有幸免的可能。

Numen发布微软漏洞解析,黑客可通过该漏洞获取Windows完全控制权:6月9日消息,安全机构 Numen Cyber Labs 发布微软 win32k 提权漏洞解析。Numen 表示,该漏洞系 win32k 提权漏洞,是微软 Windows 系统层面的漏洞。通过该漏洞,黑客可获取 Windows 的完全控制权。

Numen 指出,win32k 漏洞历史众所周知。但在最新的 windows11 预览版中,微软已经在尝试使用 Rust 重构该部分内核代码。未来该类型的漏洞在新系统可能被杜绝。

此前报道,5 月,微软发布的补丁更新解决了 38 个安全漏洞,其中包括一个零日漏洞。[2023/6/9 21:25:55]

接下来,我们重点对三明治攻击进行分析。

真实攻击案例

首先我们来看一个真实的三明治攻击案例。

上图可见,三笔交易在同一个区块被打包,两笔攻击交易(打上了黑客标记的)中间夹着一笔正常交易。其具体流程如下:

用户首先发起一笔正常交易,用 237000.705USDC 买入 DG,设置 Gas Price 为 40.5Gwei;

Beosin:Avalanche链上Platypus项目损失850万美元攻击事件解析:2月17日,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、 预警与阻断平台监测显示,Avalanche链上的Platypus项目合约遭受闪电贷攻击,Beosin安全团队分析发现攻击者首先通过闪电贷借出4400万USDC之后调用Platypus Finance合约的deposit函数质押,该函数会为攻击者铸造等量的LP-USDC,随后攻击者再把所有LP-USDC质押进MasterPlatypusV4合约的4号池子当中,然后调用positionView函数利用_borrowLimitUSP函数计算出可借贷余额,_borrowLimitUSP函数会返回攻击者在MasterPlatypusV4中质押物品的价值的百分比作为可借贷上限,利用该返回值通过borrow函数铸造了大量USP(获利点),由于攻击者自身存在利用LP-USDC借贷的大量债务(USP),那么在正常逻辑下是不应该能提取出质押品的,但是MasterPlatypusV4合约的emergencyWithdraw函数检查机制存在问题,仅检测了用户的借贷额是否超过该用户的borrowLimitUSP(借贷上限)而没有检查用户是否归还债务的情况下,使攻击者成功提取出了质押品(4400万LP-USDC)。归还4400万USDC闪电贷后, 攻击者还剩余41,794,533USP,随后攻击者将获利的USP兑换为价值8,522,926美元的各类稳定币。[2023/2/17 12:12:32]

抢跑机器人检测到这笔有利可图的交易后,随即展开攻击,发起一笔买入交易,设定 GasPrice 为 49.9Gwei,凭借 Gas 竞争机制成功抢跑用户的正常交易;

DeFiBox上线Mdex 合约解析功能:据官方公告,Heco 数据合作平台 DeFiBox 现已上线Heco项目Mdex 的合约解析功能,用户通过 DeFiBox 可以直观查看收益率,并根据相关数据进行策略调整,提高了用户体验。[2021/1/27 13:38:26]

与此同时,机器人发出另一笔卖出交易,设置 GasPrice 同样为 40.5Gwei,因为时间顺序的原因,紧贴着用户正常交易完成。

一次完美的抢跑攻击完成,算上手续费,机器人共赚取 16448.012-16310.3-15.2-10.61 = $111.9,而这种两笔攻击交易夹着一笔正常交易的攻击,就被形象的称为三明治攻击。

原理说明

为了更好的说明攻击原理,我们补充一些相关背景知识。

我们知道,现如今的主流 DEX 如 Uniswap 等,采用的都是 AMM (自动化做市商)机制,其价格遵循恒定乘积公式。例如,在 Uniswap 中建立一个 A 代币与 ETH 的流动池,A 数量为 1000,ETH 数量为 100,则两者数量乘积为 100000,当前 A 价格为 0.1ETH。当 Alice 试图用 10 个 ETH 来池子里购买 A 时,他所得到的 A 的数量 X,可以用下面的公式推导 (注:为简化计算,以下均未考虑手续费):

V神:预测市场的结果解析层和市场层正在分离:V神在推特表示,预测市场正在分离:结果解析层(如果发生某些事件,给1美元的代币,没有发生返回0代币)与市场层(如何交易这些代币)分离。[2020/9/26]

(1000-X)\*(100+10)= 100000,X = 90.9

这笔交易中,A 的价格为 10/90.9 = 0.11,相比于原来 A 的价格,价格滑点为 :

(0.11-0.1)/0.1\*100% = 10%

一笔交易就让币价产生了 10% 的滑点,可见越是流动性差的池子,遇到大额交易,越是容易产生滑点。而如果,能在用户正常的大额交易前(预计该交易会产生较大滑点),抢先买入 A,再在用户正常交易后,将刚买入的 A 卖出,就可以获得一笔不菲的收益。沿用刚才的例子,假设在 Alice 的交易前,Bob 抢先花 5 个 ETH 购买 A,然后在 Alice 的交易完成后,Bob 再把之前买入的 A 卖出,我们看看会有什么样的结果。

首先是 Bob 的抢跑交易:

(1000-X)\*(100+5) = 100000, X = 47.62

即,Bob 用 5ETH 购得 47.62 个 A

接下来是 Alice 的正常交易,注意此时流动池中 A 的数量变为 952.38,ETH 的数量变为 105:

声音 | 鲁春丛:推动区块链的创新技术在标识解析中深度应用:据中国信通院官网,8月15日,在中国工业互联网标识大会上,工业和信息化部信息通信管理局副局长鲁春丛演讲表示,大力推进标识解析技术,标准研制,搭建规模性基础技术创新以实验的环境,联合产学研用各方面力量,促进新型标识体系的研制,推动区块链的创新技术在标识解析中深度应用。据介绍,标识解析体系是工业互联网的核心基础设施,是新一代互联网的“中枢神经”。[2019/8/18]

(952.38-X)\*(105+10) = 100000, X = 82.81

最后 Bob 卖出 47.62 个 A 的交易,此时流动性中 A 的数量为 869.57,ETH 的数量为 115:

(869.57+47.62)\*(115-Y)= 100000,Y = 5.97

通过这一次抢跑攻击,Bob 净赚 5.97-5 = 0.97 个 ETH,而 Alice 净亏 90.9-82.81 = 8.09 个 A,Bob 通过使 Alice 蒙受更大的滑点损失来获得自己的收益!

当然,实际的抢跑攻击会更复杂,攻击者需要进行更精密的计算,以求实现以下两个目标:

让用户的交易结果无限逼近用户自己设置的最大滑点(max_slippage),以求达到理论上的最大套利空间

在手续费竞争力和收益之间取得平衡,尽可能的在与其他机器人的竞争中获胜

我们用图表来更好的描述这一过程:

用户在 A 点,打算投入 in_amount(user) 个 USDT 购买 ETH,这笔交易正常会把当前状态推向 B,同时用户设置了最大滑点为 B(max_slippage);

抢跑机器人监测到这笔交易,先于用户交易之前,进行了一笔 in_amount(robot) 个 USDT 的买入交易,将当前状态推到 A';

用户的交易随后执行,达到其设置的最大滑点 B(max_slippage);

抢跑机器人把步骤 2 中买入的 ETH 卖出,状态达到 C 点,得到 out_amount(robot) 个 USDT

抢跑机器人获得收益 out_amount(robot) - in_amount(robot)-手续费

既然我们已经看到了 Front-Running 的杀伤力,那我们有什么办法阻止抢跑攻击呢?

作为一般用户,应对 Front-Running 可以有以下几种手段:

设置较低的交易滑点,比如 0.1%,这会让抢跑机器人缺少可盈利的空间。?缺点:滑点过低导致大额交易十分容易失败,且失败的交易仍然需要支付高昂手续费。

提高 gas 费用,这会增加机器人的攻击成本。缺点:这同样也增加了自己的交易成本。

可以看出,以上解决方案都是无奈之举,且有各种不足,幸运的是,有很多团队认识到了 Front-Running 的危害性,并提出了不少有建设性的解决方案。首先通过对捕猎全过程的分析,我们可以得出结论,要实现 Front-Running,需要几个要素:

Transaction 公开性:可以在 Mempool 中获取交易的详细信息

以太坊交易执行机制:可以通过 gas 竞争的方式抢先完成交易

AMM 交易曲线机制:恒定乘积机制可以造成较大滑点

那么反制手段就是分别在这几个要素上做文章。

Transaction 公开性

既然机器人是通过分析 Mempool 中的交易来决定是否发起攻击,那么我们将交易信息直接加密,让机器人看不到或者看不懂不就好了?

社区中就有人提议使用零知识证明技术 zk-SNARKs 来达成上述目标,即运用 zk-SNARKs 将每笔交易的信息都加密隐藏起来,让机器人无从下手。

不过,目前该方案还不够成熟,存在需要消耗更高 Gas 费用和可能被利用来进行阻塞攻击,导致系统化整体 liveness 的缺陷。

以太坊交易执行机制

当前的以太坊交易执行机制是通过 Gas 竞争来完成的,即谁出的 Gas 费高,矿工就优先打包谁的交易,那么我们如果绕过这种机制,把交易发给矿工让其直接打包,就杜绝了抢跑机器人在中途攻击的可能性

所以一种类似于 Layer 0 的方案也得到了一些应用,如星火矿池的 Taichi 服务,用户可以直接在 MetaMask 中设置 Taichi 的以太坊节点,这样交易就直接在没有出现在 Mempool 的情况下被打包了,但劣势是被打包的时效有一定的不确定性。

另外,如 ArcherSwap 类似理念的解决方案,构建了交易者和矿工之间的桥梁,交易者可以通过打赏的形式让矿工直接打包自己的交易,这就避免了被 Front-Running 的可能。虽然有那么点交保护费来避免被攻击的感觉,但也实实在在的降低了交易者的成本,而且有着不收取交易失败费用的优势。

AMM 算法优化

在 AMM 机制下,大额交易产生过大的价格滑点(可理解为一个临时的错误价格),是 Front-Running 的利润空间,如果有一种 AMM 机制可以减少大额交易对后续交易价格的影响,就可以有效防止 Front-Running 攻击。 早在 2018 年,Vitalik 在以太坊技术社区中提供了一个 方案,当发生兑换交易时,交易池价格不会立刻调整成真实价格,而是在若干分钟内,缓慢的趋向真实价格,这就好像交易池凭空多出了很多流动性一样,因此我们将这种技术称之为 Vitrual Balance (虚拟余额)技术。这种新机制,可大大压缩套利者的利润空间,有效防御 Front-Running 攻击,同时还可以增加流动性做市商的收益,可谓一举多得,1inch 的 mooniswap 就是这个方案的一个实现版本。

增加流动性

此外,还有种思路,就是尽可能的加大交易池中特定价格区间的流动性,流动性越大,滑点越小,当流动性大到一定程度的时候,抢跑机器人就丧失了盈利空间,Uniswap 的 V3 版本的聚焦流动性特性,就是在这方面做出的努力。

我们有理由相信,在各个团队坚持不懈的努力之下,随着各种解决方案的持续演进,以及新一代 AMM、以太坊二层等技术的相继落地,很快我们就可以为用户提供一个更公平更安全的链上交易环境。

撰文:DeGate

标签:FRONTUNNNNIONTNew Frontier Presentsbunny币2023年5月价格回顾INNIT价格ContractNet

比特币价格热门资讯
以太坊:以太坊竞争对手:Polkadot vs. Cardano_POLK

以太坊已成为许多去中心化应用程序开发人员的首选区块链。以太坊拥有迄今为止最大的开发者社区,甚至超过了比特币,因为它更加注重技术和开发者。尽管如此,最近有越来越多的项目可能会抢占以太坊霸主的位置.

1900/1/1 0:00:00
比特币:斯诺登抨击Taproot升级引发争议:比特币到底需不需要匿名?_什么是比特币

“比特币的隐私性远远不够,而且即将到来的Taproot软件更新可能会使情况变得更糟。”作为世界上最重要的隐私倡导者之一,爱德华·斯诺登(Edward Snowden)对将要进行的Taproot升.

1900/1/1 0:00:00
DEFI:DeFi风云变幻:KHC公链如何重塑未来?_DEF

DeFi在2020年风靡了整个加密世界,留下了一连串令人印象深刻甚至目瞪口呆的数据,DeFi锁仓总值(TVL)在2020年增长了14倍;用户规模暴增10倍.

1900/1/1 0:00:00
比特币:全球最大加密货币基金:比特币明年达20万美元有依据_金比特币GBT

全球最大加密货币基金之一Pantera Capital在4月中旬发布了新的投资人信函,其中就以比特币用户量及价格之间的相关性做比较,推得比特币将在明年达到20万美元的水平.

1900/1/1 0:00:00
数字货币:韩国版"94"来临 币圈受不受影响?_BIT

17年9月4号,七部委宣布取缔ICO,当时币圈也迎来一波腥风血雨,当时消息不是监管,而是直接取缔。也就是所谓的一刀切,致使币圈血流成河,才有了纪念版的94.

1900/1/1 0:00:00
SWAP:首发 | 欧易OKEx研究院:商榷Uniswap V3几个争议问题_uniswap币

本文由欧易OKEX研究院原创,授权金色财经首发。就像被称为“科技者盛宴”的苹果发布会一样,DeFi领域备受瞩目的明星项目---Uniswap也在近日发布了新版本方案.

1900/1/1 0:00:00