Сэндвичи запрещены  —  как предотвратить MEV-атаки на АММ

Это продолжение моего первого поста о том, как Carbon (и большие виртуальные комиссии, присущие позиции Carbon) делают невозможными MEV-атаки в стиле сэндвича, а также последующих постов Марка, в которых это количественно выражено, и рассмотрено, что подразумевают эти формулы. Эта статья больше похожа на публикацию в стиле лабораторных заметок, в которой используются некоторые формулы из последней статьи Марка и обсуждаются они подробнее.

Фон

Ключевые формулы, с которыми мы здесь работаем: 

из статьи 1 и

из статьи 2.

Прежде чем мы углубимся в эти уравнения, я хочу потратить время на определение используемых символов, поскольку это очень поможет пониманию формул.

  • Q — это прибыль, которую злоумышленник получает от сэндвич-атаки, основанной на других параметрах, указанных ниже, и

  • Δxₐ — это размер опережающей сделки, которая приводит к этому конкретному значению Q. Параметры сделки:

  • Δxᵤ, который представляет размер пользовательской торговли в токенах,

  • x, который представляет размер пула в тех же единицах, что и Δx (виртуальный размер в случае пулов с использованием заемных средств, но этот анализ игнорирует последствия застревания на границе ликвидности с использованием заемных средств), и, что наиболее важно,

  • δ представляет собой процентную комиссию пула (в десятичном выражении, например 10 б.п. = 0,001).

Ключевое уравнение, которое мы здесь рассмотрим, — это второе уравнение, приведенное выше. Он получается из первого путем сначала вывода по Δxₐ, а затем требования, чтобы производная Q по Δxₐ обращалась в нуль при Δxₐ=0. Это условие гарантирует, что Δxₐ=0 является оптимальным для потенциального злоумышленника сэндвича, иными словами, арбитражная прибыль отсутствует.

Упрощение формулы

Мы видим, что формула выше в том виде, в каком она написана, состоит из трёх слагаемых, первые два из которых тривиальны, поскольку дают решения, не представляющие финансового интереса. Одно из этих условий показывает, что пустой пул (x=0) не допускает сэндвич-атак, а другое решение имеет неоправданно большое значение Δxᵤ и поэтому может быть отброшено. Таким образом, у нас осталась рабочая часть уравнения, которая выглядит следующим образом:

Перефразируя то, что Марк обсуждает в своей статье, вышеприведенное условие должно быть не равенством, а неравенством, потому что, конечно, злоумышленники никогда не будут участвовать в убыточных транзакциях. Поэтому

  • δ на самом деле является inf δ, поскольку любая комиссия > δ также предотвратит сэндвичинг

  • Δxᵤ на самом деле превосходит Δxᵤ, поскольку любая сделка <Δxᵤ также предотвращает образование сэндвичей, и

  • x на самом деле является inf x, поскольку любая ликвидность пула >x также предотвратит сэндвичинг

Марк в своей статье решил приведенное выше уравнение для δ, Δxᵤ и x, получив следующие формулы

Для нас первая из трех приведенных выше формул является наиболее интересной  —  она показывает, насколько большой должна быть комиссия за данную сделку, чтобы сэндвич-атаки больше не имели смысла. Я слегка переписал его в новые обозначения, указав, что условия невозможности сэндвича выполняются для этого уровня комиссии δ и выше.

Эта формула выглядит удручающе сложной — но, к счастью, у нее есть хорошая асимптотика для больших значений r=x/Δxᵤ (т.н. небольших сделок):

На диаграмме ниже красная линия — это фактическая кривая, синяя линия — это степенная асимптотика 1/r, а зеленая линия — это (значительно) улучшенная асимптотика 2/2r+3.

(см. здесь базовый калькулятор десмоса)

Хотя r=x/Δxᵤ лучше подходит для формул, с финансовой точки зрения более интуитивной величиной является нормированный по ликвидности размер сделки 1/r = Δxᵤ/x. Важно помнить, что это также процентное проскальзывание, т. е. величина, на которую сделка размера Δx отрицательно влияет на цену пула размера x.

Таким образом, мы получаем следующий важный результат:

Минимальные уровни комиссий, чтобы сделки не могли быть атакованы

Небольшие сделки (1% от размера пула или меньше) не могут быть атакованы сэндвич-атаками, если уровень комиссии превышает проскальзывание (которое также является нормализованным по ликвидности размером сделки), т.е. δ>Δxᵤ/x. Для немного более крупных сделок  —  проскальзывание примерно до 10% — приближение δ>2/(2r+3) работает хорошо, а кроме этого следует использовать полную формулу [2], приведенную выше.

Максимальный размер сделки, на который невозможно повлиять

Аналогичным образом мы можем рассматривать максимально возможный размер сделки как функцию уровня комиссии, которую нельзя подвергнуть сэндвич-атаке. Начнем с уравнения [3] из статьи 2 выше, но разделим обе части на x и на δ. Напомним, что Δxᵤ/x — это размер сделки (нормализованный по ликвидности), и, следовательно, новая левая шкала уравнения Δxᵤ/xδ — это нормализованный размер сделки (также: проскальзывание), разделенный на комиссии.

Ниже мы нарисовали правую часть приведенного выше уравнения.

(см. эту диаграмму на Desmos)

Приведенную выше диаграмму можно интерпретировать следующим образом: для данного уровня комиссий (здесь 0,2 = 20% комиссий) каков максимальный нормализованный размер сделки в процентах от комиссий? Для малых и малых значений это число равно единице, т. е. для небольших комиссий максимальный непереключаемый нормализованный размер сделки равен уровню комиссий. Если комиссии больше, возможный размер сделки увеличивается непропорционально. Например, при комиссии в размере 20% размер сделки может составлять 20%*1,4=28% от размера пула, прежде чем он станет сэндвичем.

Однако следует отметить, что такое увеличение размеров сделок происходит только при довольно высоких уровнях комиссий. Ниже приведен немного более разумный взгляд на этот график с уровнем комиссий до 5 %, где улучшение является линейным и составляет примерно 5 % для каждых 3 % комиссий и, следовательно, ниже 10 % при уровне комиссионных 5 %, т. е. не особенно значимо по сравнению с базовое значение 100 % (и определенно не с комиссией < 1%).

Никаких бутербродов  — «Как предотвратить MEV-атаки» изначально было опубликовано в CarbonDeFi на Medium, где люди продолжают разговор, выделяя эту историю и отвечая на нее.