本文解释了三明治攻击的概念,它是一种通过在受害者交易前后进行交易来操纵加密货币市场的行为。攻击者通过观察交易池中的交易,在受害者之前购买资产以抬高价格,然后在受害者交易后立即卖出获利,从而利用价格滑点。
在本文中,我将总结什么是夹层攻击,并通过一个例子和数学视角,以便你理解加密货币市场的操纵行为。
夹层攻击并不新鲜,Vitalik已经在2018年讨论过它们,当时是在Uniswap的背景下。
让我们尝试用简单的术语来理解什么是夹层攻击。
受害者交易一种加密货币资产X(例如:ETH、DAI、SAI、VERI)到另一种加密资产Y,并进行大量购买。一个机器人嗅探到这笔交易,并在受害者之前抢先交易(Front-Runs) 通过在大量交易被批准之前购买资产Y。这次购买提高了受害者交易者资产Y的价格,并增加了滑点(基于交易量和可用流动性的预期价格上涨或下跌)。
由于大量购买资产Y,其价格上涨,受害者以更高的价格购买资产Y,然后攻击者以更高的价格出售。
这些攻击经常出现在现实中,因为区块链具有公共性质,所有交易都可以被任何人观察到 mempool (除非与矿池有特殊的直接连接)。 另外,智能合约可能包含没有访问限制的函数来执行此类交易。 这些功能通常用于声明LP奖励代币,然后使用DEX立即将其交换为其他代币。
mempool : mempool的主要作用是存储网络交易,以便稍后处理。
Front-Runs: 当攻击者操纵标准交易时,会发生抢先交易(Front Running)。 抢先交易机器人(攻击者)通过扫描mempool中的交易来寻找受害者,因此攻击者可以抢在交易之前。
抢先交易(Frontrunning)
Sandwiched.wtf: 你是否在因 MEV 交易者而亏损?
让我们通过一个例子来理解市场是如何运作的。
PRICE
,即当前的市场价格。它还具有两个参数FEE
和DEPTH
。 如果用户想购买 ORDER_AMOUNT
个币,他们会将价格提高到 PRICE + ORDER_AMOUNT / DEPTH
,并支付ORDER_AMOUNT * (PRICE + ORDER_AMOUNT / DEPTH / 2) * (1 + FEE).
从本质上讲,这构成了在旧价格和新价格之间的每个价格点购买无限小数量的币。
r0 * r1 = k
,其中r_i
是Uniswap池的储备。Uniswap对每笔交易的输入金额收取0.3%的费用。让我们仔细看看并分析是什么构成夹层攻击。
`意外价格滑点是发生的价格上涨或下跌。在交易过程中由于某些未知或无法预测的原因 `。
你可以理解夹层攻击通常是如何运作的。 因此,我认为机器人或攻击者分析 Mempool 中的交易以决定是否发起攻击。 因此,最好加密交易详细信息。
免费加入 Medium 以获取这位作者的更新。
zk-SNARKs: 社区中有人提议使用零知识证明技术 zk-SNARKs 来实现此目标。 换句话说,zk-SNARKs 将用于加密和隐藏每笔交易的信息,因此机器人无法对此做任何事情。
但是,这种方法不足以控制此类攻击,因为它具有 gas 成本高以及可能用于执行阻塞攻击导致整体活跃度降低等缺点。
目前的情况仍在研发工作中,以防御区块链 mempool 中的此类攻击。
参考:
加入 Coinmonks Telegram 频道 和 Youtube 频道 获取每日 加密货币新闻
- 原文链接: medium.com/coinmonks/def...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!