三明治攻击暗流涌动 DeFi要如何走出泥潭?
最近CipherTrace的一项研究描绘了一幅悲惨的景象:尽管加密用户在犯罪袭击中的损失在2020年大幅下降了57%,降至19亿美元(相比之下,2019年为45亿美元),但DeFi领域的欺诈行为仍在继续增长,导致更多的用户上当受骗。
CipherTrace的CEO Dave Jevans表示,“随着这些金融机构的成熟并采取更强大的安全措施,针对中心化交易所的黑客盗窃继续减少。监管和执法正在减少中心化欺诈计划,这些计划促使犯罪分子利用去中心化金融服务。DeFi平台享有中心化交易所、货币服务企业和银行面临的传统监管执法制度的豁免。这使它们成为转移和洗钱的理想场所。”
DEX用户应该意识到这种恶性行为,例如去中心化交易所不将资产托管交给第三方。由于其去中心化性质,DeFi没有来自国家政府的监管,使无知的交易者暴露于掠夺性的做法和行为,例如抢先交易、暴涨暴跌和洗牌交易。
什么是前端运行?
三明治攻击是一种在DeFi中流行的抢先技术。
如上所述,三明治攻击是一种抢先交易的变体。为了使其成为一个三明治,掠夺性交易者在区块链P2P网络中找到一个待处理的受害者交易,然后试图通过在交易之前下一个订单(前向运行),在交易之后(后向运行)下一个订单来包围交易。该策略基于通过交易资产来操纵资产价格的想法。
区块链的透明性,加上执行订单的延迟,使得抢先交易变得容易,并且极大地影响了交易者资产的安全性。
所有区块链交易都在内存池中公开观察。一旦掠夺性交易者注意到潜在受害者的待定资产X交易被用于资产Y,他们就会通过购买资产Y 抢先攻击受害者。结果是:掠夺者知道受害者交易将提高资产的价格;攻击者计划以较低的价格购买Y资产,让受害者以较高的价格购买,然后再以较高的价格出售该资产。
三明治攻击解析
这个想法似乎很简单,也很容易实现。尽管有数据表明,专业掠夺者每天通过三明治攻击可以赚取大约4,000美元,但这种技术并不总是像它看起来的那样。让我们仔细研究并分析是什么导致了三明治攻击。
自动做市商(AMM)
这是一种预定义的定价算法,根据流动性池中的资产自动执行价格发现和做市商。AMM允许流动性获得者观察和跟踪市场,然后设置交易的价格,而流动性接受者则对AMM进行交易。
价格滑点
这是交易过程中资产价格的变化。价格滑点是根据交易资产的数量和可用的流动性来预测和预期价格下滑。交易的资产越多,预期的滑点就越高。预期的滑点在交易前计算。
意外价格滑点是在交易过程中由于某种未知或不可预测的原因而发生的价格上涨或下跌。
预期执行价格
根据AMM算法和X/Y状态计算预期价格。这是流动性获得者在开始交易时所期望的价格。
执行价格
执行交易所需的时间可能会极大地改变预期执行价格和AMM市场X/Y的状态。
意外的价格滑点
执行价格与预期执行价格之间的差额。
意外滑点率
超出预期价格的意外滑点。
例如,流动性获得者想要以20Y换取1X,价格为0.05 Y单位。交易需要一些时间,当它最终执行时,价格可能已经改变。现在是0.1 Y单位,在这个价格下,流动性获得者只能用10Y 换1X。意外滑点为0.05 (0.1 0.05)。相反,如果执行价格下降至0.25 Y单位,则流动性获得者现在可以用1 X的价格购买40Y,这里意外的滑点为-0.15(-0.25-0.1)。
现在让我们来看两个场景:
1.流动性接受者攻击接受者:在这种情况下,流动性获得者试图攻击在区块链P2P网络上有待定的AMM DEX交易的流动性获得者。看到等待批准的交易,掠夺者发出两个后续交易(先行和后行)以从交易者的交易中受益。现在,通过一个流动性池和资产组合连接了三个待处理的交易。矿工必须选择哪笔交易首先获得批准。这就是掠夺者可以通过实际贿赂矿工来影响这个决定的地方——支付更高或更低的交易费用。
图片来源:https://arxiv.org/abs/2009
2. 流动性提供者攻击接受者:在这种情况下,流动性提供者试图攻击流动性接受者。一切的开始都是一样的:攻击者在P2P网络上看到一个待处理的交易,然后执行三个交易:
消除流动性:抢占先机(通过减少资产的市场流动性来增加受害者的滑点)
添加流动性: 恢复运行(将资金池中的流动性恢复到攻击前的水平)
用Y交换X: 返回运行(将X的资产余额恢复到攻击前的状态)
在这次攻击中,攻击者在受害者的交易执行之前从流动性池中提取所有资产。在这样做的过程中,掠夺者放弃了受害者交易的佣金。流动性提供者根据他们向AMM DEX市场提供的流动性收取佣金。
图片来源:https://arxiv.org/abs/2009
总是有利可图?
一切都显得合乎逻辑和简单。但最终的问题是:三明治攻击总是有利可图的吗?
交易尽可能多的代币将是获得最大利润的最合理方式,除非DEX不要求您支付费用。例如,Uniswap对每笔交易收取0.3%的费用,并且攻击者必须至少提交两次交易。此外,我们不要忘记为每笔交易支付所需的Gas,特别是如果您是抢先交易并且必须支付更多的费用。所有这些使我们得出以下结论:除了费用和佣金高于受害者的交易金额之外,掠夺者不会获得任何利润。
三明治攻击的想法并不新鲜。自从去中心化金融的概念提出以来,人们对其概念及其对所有市场成员可能产生的影响进行了讨论。自动做市商(AMM)似乎是去中心化交易的最佳决策,但为恶意攻击留下了很多漏洞。随着DeFi吸引了越来越多的人,保护没有经验的交易者应该成为区块链专业人士的首要任务。但是,去中心化这个概念意味着永远不可能有一个经授权的第三方来保证安全,保障和对人员损失的赔偿。
以太坊的创造者Vitalik Buterin在2018年谈到了一个可能的解决方案:
“如果做市商似乎从虚拟数量之间的差价中获得隐含差价的利润,这些利润可以在交易后分配给似乎以不公平价格购买的用户。例如,如果某个时期的价格从P1变为P2,但在这两者之间的时间段内有时超过P2或低于P1,那么以该价格购买的任何人都可以在事后发送另一笔交易,在做市商有可用资金的情况下,申请一些额外资金。”
到目前为止,无论是在一个区块内还是整个行业,DeFi都极易受到价格操纵和各种可疑策略的影响。
那么,现在安全吗?
除了区块链的去中心化理念意味着除了系统解决方案本身之外,没有人能保护您和保证您的安全,交易者应该明白, DeFi目前处于萌芽阶段,有很多不完善和缺陷。
那么,为什么人们冒着风险仍然使用DEX进行交易呢?出于同样的原因,他们都选择了加密货币和区块链——轻松获得巨额利润。巨大的潜在成本、缺乏安全性和不断变化的规则都是用户必须接受的缺点,如果他们想成为这个蓬勃发展的行业的一员并从中获利。