1

一文读懂常见的DeFi攻击策略——三明治攻击

 2 years ago
source link: https://www.8btc.com/article/6643946
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
2021-06-01 11:43

一文读懂常见的DeFi攻击策略——三明治攻击

本文来自 hackernoon

原文作者:Anton Dzyatkovskii

由 Odaily星球日报译者 Katie 辜编译

FpsDBlG-9hxOJ_CQ43epC4sg9Neo.jpg

最近CipherTrace的研究指出,尽管加密货币用户因犯罪攻击而造成的损失在2020年大幅下降了57%,DeFi诈骗仍层出不穷,用户上当受骗的情况屡见不鲜。

CipherTrace CEO表示,随着金融机构的成熟和采取更强的安全措施,针对中心化交易所的何可盗窃有所减少。监管和执法正在着力打击欺诈活动,这促使犯罪分子将目标转向去中心化的服务平台。相比于中心化交易所、货币服务企业和银行面临的传统监管执行机制,DeFi平台去中心化的本质使其成为转移财产和洗钱的理想场所。

DEX用户应该意识到去中心化交易所不会将资产监管交给第三方。由于其去中心化的性质,DeFi不受各国政府的监管,从而使一些交易者在交易上采取掠夺性的行为,例如抢先交易(front-running)、拉高甩货(pump&dump)和洗钱交易。

什么是抢先交易(Front-running)?

FghSwhhq9K_PH9oIJHK1Js6E9h7X.jpg

三明治攻击(sandwich attacks)是DeFi里流行的抢先交易技术的一种。为了形成一个“三明治”交易,攻击者(或者我们叫他掠夺性交易员)会找到一个待处理的受害者交易,然后试图通过前后的交易夹击该受害者。这种策略来源于买卖资产从而操作资产价格的方法。

区块链的透明度、以及执行订单的延迟(往往在网络拥堵情况下),使抢先交易更加容易,并极大降低了交易的安全性。

所有区块链交易都可在内存池(mempool)中查到。一旦掠夺性交易者注意到潜在受害者的待定资产X交易被用于资产Y,他们就会在受害者之前购买资产Y。掠夺性交易者知道受害者的交易将提高资产的价格,从而计划以较低的价格购买Y资产,让受害者以较高的价格购买,最后再以较高的价格出售资产。

FoEB4wvygYkQFZt4gRZZorOhTpsC.jpg

三明治攻击分析

该想法简单易行。尽管有数据表明,专业的掠夺性交易员每天的掠夺收入大概在4000美元,而实际的操作技术多种多样,跟着我们的分析,看看三明治攻击具体如何实现。在开始之前,我们简单解释6个相关小概念。

  • 自动做市商(AMM)

这是一种预定义的定价算法,可根据流动池中的资产自动执行价格发现和市场制定。自动做市商运行流动性提供者(LP)关注和跟进市场,然后设置买入价格卖出价,流动性接受者反过来与自动做市商进行交易。

这是交易过程中资产价格的变化。价格滑点是根据交易资产的数量和可用的流动性来预测。交易的资产越多,预期的滑点就越高。预期的滑点将在交易前计算出来。

意外价格滑点是在交易过程中由于某种未知或不可预测的原因而发生的价格上涨或下跌。

  • 预期的执行价格

根据AMM算法和X/Y状态计算预期价格。这是流动性接受者在开始交易时所指望的价格。

执行交易所需的时间可能会极大地改变预期的执行价格和AMM市场的状态。

  • 意外价格滑点

执行价格与预期执行价格之间的差额。

  • 意外滑点率

超过预期价格的意外滑点。

例如,流动性接受者想要以 0.05 Y 单位的价格交易 1X,换取 20Y。交易需要一些时间,当它最终执行时,价格可能已经改变,现在是 0.1 Y 单位。在这个价格下,流动性接受者只能买 10Y 换 1X。意外滑点为 0.05 (0.1 − 0.05)。另一方面,如果执行价格下降到 0.25 Y 单位,流动性接受者现在可以以 1 X 的价格购买 40 Y。这里的意外滑点为-0.15 (-0.25 - 0.1)。

接下来,一起看两个场景:

  1. 流动性接受者攻击流动性接受者
    在这种情况下,流动性接受者试图攻击另一个未处理的AMM DEX交易的流动性接受者。看到等待处理的交易,攻击者发出两个交易前后夹击,从交易者的交易中获益。现在有三个悬而未决的交易由一个流动性池和资产组合连接起来。矿工必须选择哪笔交易将首先获得处理。这时掠夺者可以通过支付更高或更低的交易费用金额来贿赂矿工,从而决定哪个交易优先处理。
FkFDZp1TfCb4YK3lTeWRYHUWeENx.jpg
  1. 流动性提供者攻击流动性接受者:

在这种情况下,流动性提供者试图攻击流动性接受者。攻击者看到一个待处理的交易,然后执行三个交易:

  • 消除流动性:通过减少资产的市场流动性增加受害者的滑点;
  • 增加流动性:将矿池中的流动性恢复到攻击前的水平;
  • 用资产Y交易资产X:将X的资产余额恢复到攻击前的状态。

在这种攻击中,对手在受害者的交易执行之前从流动性矿池中取出所有资产。在这样做的过程中,掠夺者放弃了受害者交易的佣金。流动性提供者按其向AMM DEX市场提供的流动性的比例收取佣金。

FmFcuWp1qJbuadRnNOaLrYqwxJzH.jpg

三明治攻击就一定能获利吗?

一切操作看起来有逻辑且简单。但最终问题是所有三明治攻击都能获得收益吗?

除非DEX不要求你支付手续费,那么交易尽可能多的代币将是获得最大利润的合理方式。举例子,Uniswap在每次交易中收取0.3%的手续费,这导致攻击者不得不至少提交两次交易。而且别忘了每次交易都需支付的gas费用,如果你执行抢先交易,就必须支付更高的gas费用。因此可以得出,除了费用和佣金高于受害者的交易金额外,掠夺者并没有获得任何利润。

三明治攻击已经不是什么新伎俩了,这个概念和对整个市场用户的影响在去中心化金融概念被提出前就已经受关注。自动做市商似乎是去中心化交易最好的解决方案,但至今还有很多漏洞被恶意攻击行为利用。随着DeFi吸引越来越多的人入场,对没有经验的交易者的保护将成为区块链专家的首要解决问题。而且去中心化的概念本身就意味永远不可能有一个被授权的第三方来保证用户资产安全、保证和对用户的损失作出赔偿。

以太坊的创造者V神在2018年谈到解决方案时说道:

“如果做市商从隐含价差中赚取利润,则这些利润可以事后分配给以不公平价格购买的用户。例如,如果某个时期的价格从P1 变为P2,但在这两者之间的时间段内要么超过P2,要么低于P1,那么在做市商有可用资金的情况下,以该价格购买的任何人都可以在事后发送另一笔交易以索取一些额外资金。”

至今为止,无论是在单独一个场景还是整个行业,DeFi都极易受到价格操作和各种可疑策略的影响。

那么现在我们已经处于“安全区”了吗?

答案是否定的。

区块链的去中心化理念意味着除了系统解决方案本身之外,没有人能保护和保证你的资产安全。除此之外,交易者应该明白,DeFi目前还处于萌芽阶段,有很多不完善和缺陷。

那为什么人们还是愿意冒着风险继续使用DEXs进行交易呢?

入场的各位应该都明白,大多人都是想轻松获得巨额利润而相聚在加密货币和区块链世界。如果想要成为这个蓬勃发展的行业的一员并从中发财的话,这个领域的巨大潜在成本、缺乏安全性和不断变化的规则都是用户必须接受的缺点。

所以,“这个口味的三明治”,各位可能也会无福可享~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK