Что делают арбитраж боты, что из себя представляет MEV, и почему это проблема всех блокчейнов

—

от автора

Disclaimer: обычно я пишу про крипту почти на ежедневной основе в канале миллениалы делают веб3, но когда удается найти что-то особенно интересное, получается лонгрид.

MEV — maximum value that can be extracted from block production in excess of the standard block reward and gas fees by including, excluding, and changing the order of transactions in a block [initially referred to as «miner extractable value» во времена майнеров и PoW, но после мерджа у нас ни первого ни второго].

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

Assuming searchers are economically rational, the gas fee that a searcher is willing to pay will be an amount up to 100% of the searcher’s MEV.

Но фокус в том что за одну транзакцию могут бороться много серчеров сразу (например в случае дексов) и газ физ могут правда доходить до 90% от MEV.

Так как стоимость транзакции = цена за газ * количетсво газа, а цена за газ — высоко конкурентная переменная, появились програмируемые транзакции которые минимизируют необходимое количество газа.

Каким образом можно минимизировать необходимое количество газа:

  1. Использовать адрес, который начинается с нулей так как занимает меньше места 

  2. Оставлять на балансе контракта немного ERC-20 токенов, since it costs more gas to initialize a storage slot (the case if the balance is 0) than to update a storage slot (не до конца понимаю этот тезис)

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

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

DEX — это самый понятный пример (ну и понятное дело самый конкурентный) когда в рамках одной транзакции купил на юнисвопе подешевле продал на сушисвопе подороже.

Lending protocol liquidations (Maker, Aave) — еще один пример. Скажем, если застейкать 100% DAI можно взять 30% MKR и пойти на голосование в MakerDAO (это просто пример). Если из-за изменения цены актива мое соотношение MKR/DAI превышает 30%, некто может ликвидировать мой займ и вернуть MKR тем у кого я его взяла (это как margin calls в трейдинге). 

Тот, кто брал займ, платит Liquidation fees, часть который идут ликвидатору. Серчеры следят за тем какие займы имеют интенцию вскоре быть ликвидированными и сторожат их. 

Следующий тип MEV — sandwitch trading: серчер ищет большие транзакции на дексах, например кто-то хочет 10,000 DAI обменять на UNI, что увеличит цену UNI и уменьшит цену DAI. серчер может примерно рассчитать price effect, и выставить buy order перед описанной выше своп-транзакцией и выставить sell order сразу после описанной выше своп-транзакции. но это более рискованная история, так как она атомарна — то есть состоит из цепочки действий при неисполнении одного из которых остальные также неисполняются (а еще сэндвичные атаки подвержены salmonella attacks, но это потом).

Также есть мев приколы с нфт, но они более точечные, можете почитать в источнике если хотите (я вот например хочу обедать после сэндвичных мевов).

Но один из прецедентов был когда серчер скупил криптопанков по floor price и держал это в секрете (вот здесь всеми нами любимый Иван Богатый объясняет в своем твиттере этот фокус). если коротко, как я поняла, был построен приватный (когда даже майнер не знает что майнит) блок включавший в себя транзакции на покупку сразу всех криптопанков.

Но это все давно известно и рынок так сказать поделен между серчерами (знающие и понимающие с 2018 года там развлекались когда еще и слов чтобы объяснить не было) в связи с этим серчеры выдвигаются в другие сети (BNB например) где мев тот же а конкуренция ниже.

В целом в примере с дексами и лендинговыми протоколами, мев — благо.

Но для обычных юзеров (мне только купить, мне только продать) феномены типа сэнвичной атаки ведут к total mess (ухудшению юзер экспириенс) — это в случае с даппами.

В случае с сетью — когда фронтраннеры накручивают цену на газ — цена на газ накручивается для всех + сеть перегружается.

Ну и (наверное) самое главное, если мев сильно превышает обычную выгоду валидаторов, сами валидаторы могут начать колдовать над блоками (переставлять их местами), что вообще приведет к реорганизации блокчейна и нестабильности консенсуса.

Что сделали флэшботы — они перенесли аукционы за газ в офф-чейн, то есть когда серчеры совернуются кто выше даст цену на газ, это не влияет непосредственно на цену на газ. 

Как это будет работать с роллапами и шардингом (то есть когда большая часть активности юзеров переместится на лейер два) — непонятно.

Какие именно риски MEV несет в PoS:

  1. Централизация валидаторов (тут опять этот тезис про 32 эфира чтобы стать валидатором) чисто с точки зрения экономического здравого смысла валидаторы зарабатывают меньше чем майнеры то есть их инсентив «злоупотреблять» мевом выше. Большие стейкинговые пулы имеют ресурсы чтобы инвестировать в MEV extraction — и чем больше мева они извлекли тем больше они могут инвестировать в то чтобы извлечь еще больше, вот такая economies of scale. Независимый валидатор такого себе позволить не может, поэтому имеет мотивацию присоединиться к пулу и прощай децентрализация.

  2. Приватные мемпулы (наша текущая точка интереса, наша в значении моя и товарища из Бельгии): из-за сэндвичей и фронтрана трейдеры начинают проводить офф-чейн сделки напрмяую с валидаторами (то есть вообще не посылают транзакцию в мемпул). следом за этим появляются dark pools — частные мемпулы с платным входом. Главный оффер даркпулов — приватность транзакций. и снова прощай децентрализация.

Есть два решения чтобы бороться с потенциальной централизацией:

  1. Proposer-Builder Separation (PBS)
    к block proposer and block attester добавляются block builders, который собирает бандл транзакций для блока и размещают запрос на включение этого блока в Beacon Chain. Proposer выбирает бандл с наивысшим fee. Получается все равно аукцион, в котором блок билдеры делают ставки чтобы их бандл включили в блок.

    Билдер публикует block header + ставку, а если бандл побеждает на аукционе, то block proposer создает подписанный block proposal, потом происходит attestation валидаторами, потом блок финализирован. 

    Таким образом прямой MEV extraction уходит из компетенций валидатора в компетенции блок билдеров, то есть риск того что валидаторы бросят все и начнут просто максимизировать MEV extraction снижается (хотя формально когда блок билдеры делают ставки за то чтобы их бандл включили в блок, валидаторы все равно получают более высокий fee чем дефолтный). А также в таком сеттинге нет необходимости доверия: ни билдеров валидаторам, что они не украдут их мев, ни валидаторов билдерам, что они будут удерживать блоки, или включать в них невалидные транзакции, так как валадиторам все равно заплатят.

  2. В источнике есть описание того как работает Builders API (второй метод совладания с потенциально возможной централизацией).

Больше о веб3 простыми словами в канале миллениалы делают веб3


ссылка на оригинал статьи https://habr.com/ru/post/693950/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *