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

Комментарии (3)


  1. kisskin
    18.10.2022 12:42
    +1

    Сам занимаюсь арбитражем, но после прочтения статьи ощутил себя крестьянином на телеге посреди мегаполиса...

    "since it costs more gas to initialize a storage slot (the case if the balance is 0) than to update a storage slot"
    Полагаю, что идея в том, что размер транзакции, когда есть непотраченные выходы будет меньше, чем когда нет, а поскольку цена зависит от размера, то газа уйдет меньше.


    1. rezedent12
      18.10.2022 12:48
      +1

      А я вообще ничего не понял. Но знаю что суть ваших действий - спекуляции.

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

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


  1. Krasnoarmeec
    18.10.2022 21:49
    +1

    "Лет ми спик оф май харт": Эта статья вообще на русском?
    Может быть стоило сразу запостить её на английскую ветку Хабра?

    Автору, тем не менее, плюсики за старание и новизну темы.