本文介绍了一种被称为沙拉攻击防御自动做市商(sr-AMM)的方法,以防止沙拉攻击对交易者的不利影响。相较于传统的方法,sr-AMM 是一种应用层解决方案,通过在交易时保持价格不低于最初价格来使得沙拉攻击不再具备利润空间,从而保护用户免受前置攻击的影响。
AMM(自动化做市商)使交易者容易受到三明治攻击。在未经信任的排序者的区块链上,交换交易容易受到抢跑,使得交易者执行效果变差,同时使得排序者受益。
大多数减轻三明治攻击的方法试图在基础设施层面解决此问题,依赖受信任的第三方提供交易前隐私保障。在本文中,我们介绍了 抗三明治攻击 AMM,这是一个针对原子三明治攻击的应用层解决方案。
三明治攻击发生在受害者交易者在高滑点容忍度(比如 99%)的 AMM 上下单时。交易者设置高滑点容忍度并不是因为他们希望以比当前价格差 99% 的价格成交,而是因为他们希望迅速执行市场订单。 假设受害者交易是一个买单,夹击组合看起来是这样的:
由于他们往往设定更高的滑点容忍度,同时在高波动币的低流动性池上交易,Memecoin 的交易者最容易受到三明治攻击。 今天,三明治攻击者每天从 Solana 用户手中提取数十万美元,以 Ethereum 的数字也类似。
考虑一个受害者交易,购买 3 个单位的流动性来自一个恒定乘积 AMM。我们将以 log(price) 而非价格的形式表示价格,以便于后续的平均价格计算。数字不是按比例标记,仅用于说明夹击的高层次机制。
我们提议 抗三明治攻击 AMM ( sr-AMM),这是一种让夹击操作无利可图的应用层解决方案。sr-AMM 通过强制遵守一个不变条件来扩展恒定乘积 AMM:没有交易以比时间窗口开始时的价格更好的价格成交。这是 Vitalik Buterin 在 2018 年提出的一个理念 的扩展,使得原子三明治攻击变得无利可图。
sr-AMM 在 时间窗 中运行(单一领导者轮替——Solana 上 4 个时间窗,Ethereum 上 1 个)。在一个时间窗中,买卖的交换对池子的影响是不对称的。当执行一个买单时,池子的报价会根据 xy=k 曲线增加。但是,买入价格保持不变,而是增加买入的流动性。后续的卖出交易萎缩这一流动性,并根据 xy=k 下降报价。
在每个时间窗的开始,sr-AMM 的状态重置为等效的 xy=k 状态。通过仅在时间窗开始时重置买入和卖出,我们打破了定义当今三明治攻击的盈利反跑的原子性。
考虑相同的受害者交易,从 sr-AMM 购买 3 个单位的流动性。同样,我们将以 log(price) 而非价格的形式表示价格。如果尝试同样的三明治攻击:
在本文中,我们概述了抗三明治攻击 AMM 的构建,这是一个在应用层防止原子三明治攻击的 AMM。我们希望此设计的采用将帮助保护那些受到 AMM 上抢跑攻击影响的用户。
- 原文链接: umbraresearch.xyz/writin...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!