MEV
Материал подготовлен каналом The Wolf Of Your Street. Поддержите подпиской!
В этой статье мы не будем сильно углубляться в технические детали. Так же многие нюансы не будут учитываться, для более целостной картины. Я хочу лишь дать общее представление о децентрализованной жизни. Если у вас будут какие-либо дополнения, я всегда рад их выслушать.
Для начала, давайте вспомним, как работают транзакции
Каждая транзакция на Ethereum стоит определенное количество газа (GAS). Для расчета комиссии за транзакцию, необходимо умножить стоимость GAS * на его цену GWEI (1 GWEI = 0.000000001 ETH). Разберем стоимость:
Кошельки типа Metamask, рассчитывают необходимую цену газа и позволяют нам выбрать между Низкой-Умеренной-Быстрой транзакциями. Допустим кошелек оценил цену GAS в 100 GWEI. Стоимость газа за подтверждение транзакции 21000 GAS.
Отсюда мы имеем стоимость транзакции 2.1млн GWEI * 0.000000001 ETH = 0.0021 ETH. При стоимости ETH - $1800, мы получаем цену $3,78 за транзакцию.
Все транзакции, отправленные в сеть Ethereum - оказываются в Mempool. Mempool - это место, где все действующие транзакции ожидают, пока майнеры (валидаторы) их не соберут и не включат в следующий Ethereum блок.
Майнеры/валидаторы заинтересованы в том, чтобы сначала собирать транзакции с самой высокой ценой газа. Ведь они выполняют одинаковую работу, за фиксированную цену. Кроме того, майнеры могут включать в один блок, лишь ограниченное количество транзакций. Это значение определяется максимальным лимитом газа на блок.
Предположим, что в Mempool находятся только простые транзакции, стоимостью 21000 GAS. При этом Max Gas Limit - 21млн в блоке. Итого в блок можно включить ~595 транзакций.
Допустим, что в Mempool накопилась 1000 транзакций. При выборе транзакций, майнер/валидатор сортирует их все, по цене газа. И выбирает 595 наиболее прибыльных транзакций.
Модель оплаты основана на простом механизме аукциона. Люди, которые хотят, чтобы их транзакции были перехвачены майнерами/валидаторами. В первую очередь, должны предложить большее вознаграждение за место в блоке. Этот подход приводит к росту цены газа. Особенно в моменты, когда множество пользователей, одновременно хочет подтвердить свои транзакции.
What is MEV?
Maximal extractable value (MEV) - понимается, как максимальная стоимость, которая может быть извлечена из добычи блока сверх стандартного вознаграждения за блок и платы за газ путем включения, исключения и изменения порядка транзакций в блоке.
Максимально извлекаемая стоимость впервые была применена в контексте proof-of-work и первоначально называлась "извлекаемой стоимостью майнера". Это объясняется тем, что в системе proof-of-work майнеры контролируют включение, исключение и упорядочивание транзакций. Однако после перехода на proof-of-stake, благодаря The Merge - эти функции стали выполнять валидаторы и майнинг больше не является частью протокола Ethereum. Однако методы извлечения стоимости по-прежнему существуют, поэтому вместо них теперь используется термин "максимальная извлекаемая стоимость".
Теоретически MEV полностью принадлежит валидаторам, поскольку они являются единственной стороной, которая может гарантировать реализацию прибыльной возможности MEV. Однако на практике большая часть MEV добывается независимыми участниками сети, называемыми «поисковиками». Поисковики используют сложные алгоритмы на данных блокчейна, чтобы обнаружить прибыльные возможности MEV, и имеют ботов, которые автоматически отправляют эти прибыльные транзакции в сеть.
Валидаторы в любом случае получают часть полной суммы MEV, потому что поисковики готовы платить высокие комиссии за газ (которые идут валидатору) в обмен на более высокую вероятность включения их прибыльных транзакций в блок. Если предположить, что искатели экономически рациональны, плата за газ, которую искатель готов заплатить, будет составлять сумму до 100% MEV искателя (поскольку, если бы плата за газ была выше, искатель потерял бы деньги).
При этом для некоторых высококонкурентных возможностей MEV, таких как арбитраж DEX , пользователям, возможно, придется платить 90% или даже больше от общего дохода MEV в виде комиссии за газ валидатору, потому что очень много людей хотят вести одну и ту же прибыльную арбитражную сделку. Это связано с тем, что единственный способ гарантировать выполнение арбитражной транзакции — это отправить транзакцию с самой высокой ценой на газ.
Примеры MEV
MEV появляется в блокчейне несколькими способами, я обобщаю это выражением "торговля спредом". Не совсем грамотно, но отражает суть. Боты ищут "беспроигрышные" стратегии, в попытках заарбитражить ситуацию и сразу покинуть рынок.
DEX-арбитраж
Не буду здесь рассказывать, как работают DEX и пулы ликвидности. Но DEX арбитраж — это самая простая и известная возможность MEV. В результате он также является наиболее конкурентоспособным.
Например две DEX предлагают токен по двум разным ценам, кто-то может купить токен на более дешевой DEX и продать его на более высокой DEX в рамках одной атомарной транзакции. Благодаря механике блокчейна это настоящий безрисковый арбитраж. Более того, это можно делать без обязательства холда другого актива. Ведь для этого можно использовать займ в этом же блоке.
Вот пример выгодной арбитражной транзакции, в которой пользователь превратил 1000 ETH в 1045 ETH, воспользовавшись разной ценой пары ETH/DAI на Uniswap и Sushiswap. Бот взял займ 1000 ETH в AAVE -> слил их на Uniswap в DAI -> сразу же за DAI откупил ETH на Sushiswap -> вернул займ 1000 ETH в AAVE.
Ликвидации
Ликвидация протокола кредитования представляет собой еще одну известную возможность MEV. Это относится к таким протоколам, как Maker и Aave. В случае ликвидации заемщику обычно приходится платить огромную комиссию за ликвидацию, часть которой поступает ликвидатору — именно здесь появляется возможность MEV.
Поисковики соревнуются в том, чтобы как можно быстрее проанализировать данные блокчейна, чтобы определить, какие заемщики могут быть ликвидированы, а также первыми отправить транзакцию ликвидации и получить для себя комиссию за ликвидацию.
Сэндвич-торговля
Речь о ботах, которые опережают сделки, совершаемые пользователями на DEX. Поскольку транзакции пользователей часто проходят через общедоступный мемпул (очередь, в которой хранятся неподтвержденные транзакции блокчейна), опережающие боты могут отслеживать крупные сделки и использовать эти знания в своих интересах.
В основном такие боты работают на пулах ликвидности типа Uniswap V2. Когда большая покупка может повлиять на цену из-за ликвидности. Например, если обнаружена крупная сделка, опережающий бот может скопировать сделку пользователя и создать пакет транзакций, в котором его транзакция обрабатывается в первую очередь перед сделкой пользователя. Это перемещает рыночную цену торгуемого актива, в результате чего в торговле пользователя возникает большее проскальзывание — разница между ожидаемой ценой сделки и фактической ценой. После обработки сделки пользователя рыночная цена торгуемого актива еще больше смещается в пользу лидера, что позволяет ему получать прибыль, продавая свои активы через отсроченную сделку, что приводит к так называемой «сэндвич-атаке».
В этом примере бот обнаружил "крупную" транзакцию в Mempool (крупную относительно ликвидности) -> тем самым запампил цену -> пользователь совершает покупку (все еще в пределах нормы своего Slippege) -> цена пампится еще выше -> после чего бот извлекает прибыль. Более того, все это происходит в одном блоке!
Однако сэндвичинг более рискован, поскольку он не является атомарным (в отличие от арбитража на DEX, о котором говорилось выше) и подвержен salmonella attack.
Аналогично работают Front Running боты, в попытках совершить транзакцию перед вами. Вы часто можете наблюдать эти ситуации на листингах. Пауза у таких ботов больше, чем у сэндвичей, ведь здесь играет роль большой уровень проскальзывания.
MEV-PACK
Это набор для тех, кто хочет узнать больше и попробовать свои силы в этой теме:
- MEV Bot framework
- OS MEV Bot Written In Rust
- OS EVM front-running bot
- Uni v2/v3 sandwich bot
- MEV Bot Info
- MEV101
- Awesome MEV Resources
- More MEV Resources
Итоги:
MEV может, как приносить пользу, помогая регулировать цены на DEX, ускорять исполнение ликвидации и тд. Так и наносить вред пользователям своими атаками, влияя на проскальзывание, или создавая высокую активность сети, повышать стоимость транзакций.
Так же есть сервисы, которые работают над решением таких атак. Например 1inch запустили обновление RabitНole — это функция, которая решает проблему сэндвич-атак, отправляя своп-транзакции напрямую валидаторам. То есть, они не будут размещаться в мемпуле, где их могут атаковать сэндвич-боты.
Вы можете столкнуться с рекламой, о продаже подобных ботов для заработка. Но ничего, кроме скама, вас не ждет. Во-первых, зачем продавать бота, который действительно приносит прибыль? Вы же создаете себе конкурента. Во-вторых, даже если вам вдруг продадут рабочего бота, вам необходимо его постоянно редактировать. Ведь условия постоянно меняются и невозможно просто нажав кнопку, начать зарабатывать. Поэтому, если вы не написали этого бота лично, он вам не нужен.
Материал подготовлен каналом The Wolf Of Your Street. Поддержите подпиской!