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.
Так как стоимость транзакции = цена за газ * количетсво газа, а цена за газ -- высоко конкурентная переменная, появились програмируемые транзакции которые минимизируют необходимое количество газа.
Каким образом можно минимизировать необходимое количество газа:
Использовать адрес, который начинается с нулей так как занимает меньше места
Оставлять на балансе контракта немного 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:
Централизация валидаторов (тут опять этот тезис про 32 эфира чтобы стать валидатором) чисто с точки зрения экономического здравого смысла валидаторы зарабатывают меньше чем майнеры то есть их инсентив "злоупотреблять" мевом выше. Большие стейкинговые пулы имеют ресурсы чтобы инвестировать в MEV extraction -- и чем больше мева они извлекли тем больше они могут инвестировать в то чтобы извлечь еще больше, вот такая economies of scale. Независимый валидатор такого себе позволить не может, поэтому имеет мотивацию присоединиться к пулу и прощай децентрализация.
Приватные мемпулы (наша текущая точка интереса, наша в значении моя и товарища из Бельгии): из-за сэндвичей и фронтрана трейдеры начинают проводить офф-чейн сделки напрмяую с валидаторами (то есть вообще не посылают транзакцию в мемпул). следом за этим появляются dark pools -- частные мемпулы с платным входом. Главный оффер даркпулов -- приватность транзакций. и снова прощай децентрализация.
Есть два решения чтобы бороться с потенциальной централизацией:
-
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 чем дефолтный). А также в таком сеттинге нет необходимости доверия: ни билдеров валидаторам, что они не украдут их мев, ни валидаторов билдерам, что они будут удерживать блоки, или включать в них невалидные транзакции, так как валадиторам все равно заплатят.
В источнике есть описание того как работает Builders API (второй метод совладания с потенциально возможной централизацией).
Больше о веб3 простыми словами в канале миллениалы делают веб3
Комментарии (3)
Krasnoarmeec
18.10.2022 21:49+1"Лет ми спик оф май харт": Эта статья вообще на русском?
Может быть стоило сразу запостить её на английскую ветку Хабра?Автору, тем не менее, плюсики за старание и новизну темы.
kisskin
Сам занимаюсь арбитражем, но после прочтения статьи ощутил себя крестьянином на телеге посреди мегаполиса...
"since it costs more gas to initialize a storage slot (the case if the balance is 0) than to update a storage slot"
Полагаю, что идея в том, что размер транзакции, когда есть непотраченные выходы будет меньше, чем когда нет, а поскольку цена зависит от размера, то газа уйдет меньше.
rezedent12
А я вообще ничего не понял. Но знаю что суть ваших действий - спекуляции.
Вообще, арбитраж в частности и спекуляции в общем - это процесс приблизительного вычисления стоимости, дающий на выходе цену. А рыночные агенты со своими интересами - это элементы вычислительной системы, которые в процессе перераспределяют часть прибавочной стоимости себе, что является платой за функционирование рыночного механизма.
В реальности конечно рынки имеют различные степени монополизации, поведение рыночных агентов не всегда рационально, а государства не допускают того что бы вместе с крупным банком рухнул и политический режим, поэтому крупный банк не рухнет (достаточно крупный). Сама же прибыль - это следствие разницы между ценой и стоимостью. Поскольку происходит падение нормы прибыли - значит точность вычисления стоимости возрастает. И если теоретически допустить что рыночный механизм сможет вычислять стоимость абсолютно точно, то цена станет равна стоимости и прибыль исчезнет, коммерческая во всяком случае.