如果 Atticus 能够保证在 Trey 购买后立即将自己的 ETH 卖回给 AMM,这种攻击对 Atticus 才有盈利意义。在某一个特定区块内,如果 Atticus 是一名矿工、与某个矿工达成交易或使用 Flashbots 之类的服务,是可能做到的。 三明治攻击和虚拟订单乍一看,虚拟订单似乎特别容易受到三明治攻击,因为每个人都知道它们会来。 但是,由于它们在**区块之间执行,因此它们得以圆满。想要夹住 TWAMM 虚拟订单的攻击者必须在一个区块的末尾与嵌入式 AMM 进行交易,导致虚拟订单在区块之间以糟糕的价格执行,然后下一个区块的开始在另一个方向交易。 目前,攻击者没有办法保证他们只会在给定区块的末尾进行交易,即使是他们能在下一个区块的开始进行交易。当这种多区块矿工可提取价值(MEV)变得更加普遍,使交易者可以在多个区块之间进行三明治攻击,这可能会成为一个更严峻的问题。 信息泄漏长期交易者在 TWAMM 中可能遇到的最大权衡是在发布公开可见订单时面临的信息泄漏,而由于以太坊的性质,这种订单公开是必要的。 由于用户可以随时取消自己的长期订单,我们预计过于激进的抢先交易攻击者会被其他交易者暗算,使得信息泄漏的影响整体可控。 想象一下,骗子 Sally 已经注意到 TWAMM 上的激进抢先攻击。她从流动性聚合器那里购买了 100 万 USDC 的 ETH,推高了整个市场的价格。然后她在 TWAMM 上下了一个巨大的长期订单,在接下来的 24 小时内每个区块购买 10 万 USDC 的 ETH。 抢先交易攻击者 Frank 立即看到了这个订单,并通过聚合器购买了 100 万 USDC 的 ETH,进一步推高了 ETH 的价格。Sally 通过聚合器卖回她的 ETH 以获取利润,压低价格并让 Frank 蒙受了损失。最后,她取消了她根本没付诸执行的长期订单。 Python 参考实现大家点击 这里 可以看到一个 Python 参考实现。 Jupyter 笔记 演示了具有多个对冲长期订单和套利者的 TWAMM 的价格行为走势。 为简单起见,这个 Python 版本没有实现像订单池或真正的惰性求值之类的 gas 优化方案。 结尾我们已经勾勒出 TWAMM 的设计草案,但我们的工作才刚刚开始。 如果您有兴趣解决这一问题或类似问题,可以发送电子邮件至 dave@paradigm.xyz 或在 Twitter 上私信我,或通过 ideas@uniswap.org 联系 Uniswap 实验室。 鸣谢: Sam Sun、Georgios Konstantopoulos、Michael Bently、Michael Kustermann、Kevin Pang、Hasu、Sam Bankman-Fried、Henry Prior、Tom Cadwell、Alex Wice、Mewny、Big Magic、Lily Francus、Tarun Chitra、Moody Salem、Noah Zinsmeister、Teo Leibowitz (责任编辑:admin) |