Перейти к основному контенту

За пределами протокола Эфириума: разделение предлагающего и создающего (PBS)

Презентация о разделении предлагающего и создающего (PBS) — шаблоне проектирования, который разделяет роли создания блоков и предложения блоков в Эфириуме.

Date published: 5 февраля 2024 г.

В этой презентации объясняется, как производство блоков в Эфириуме эволюционировало от простой модели к сложной цепочке поставок, включающей валидаторов, сборщиков, искателей и ретрансляторы (relays). Барнабе Монно (Barnabé Monnot) из Фонда Ethereum рассказывает, почему существует разделение предлагающего и создающего (PBS), как ретрансляторы MEV-Boost выступают посредниками в отношениях между предлагающими и сборщиками, и какие внутрипротокольные решения исследуются для снижения зависимости от доверия и улучшения устойчивости к цензуре, распределения MEV и децентрализации валидаторов.

Эта стенограмма является доступной копией оригинальной стенограммы видео (opens in a new tab), опубликованной Сибер Форум. Она была слегка отредактирована для удобства чтения.

Введение (0:00)

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

Мне нравится думать о Протоколе как об абстрактном объекте, обладающем определенными полномочиями. Одно из полномочий Протокола заключается в том, что он может наделять правами определенных участников. В предыдущем докладе мы видели, что Протокол дает валидаторам право выполнять обязанности по консенсусу, но это не единственное, что они делают — мы также должны заполнять блоки транзакциями. Мы называем это обязанностями по исполнению, и именно на этом я хочу сосредоточиться в данном докладе.

Почему валидаторы используют сборщиков (0:46)

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

Таким образом, мы наблюдаем, что хотя валидаторы продолжают выполнять обязанности по консенсусу самостоятельно, они решают передать обязанности по исполнению сборщикам. На самом деле это довольно значительный рынок. Сегодня около 90% блоков создаются внешними сборщиками, и так происходит примерно с декабря 2022 года — через три месяца после Слияния. Медианная выплата от сборщика валидатору составляет около 120 долларов за блок. Ежедневно выплачивается миллион долларов, и каждые 12 секунд у этого рынка есть возможность прийти к какому-то соглашению между одним предлагающим и одним сборщиком.

Сегодня я хочу обсудить, почему валидаторы используют сборщиков, откуда берутся эти отношения — по ходу дела я немного расскажу о MEV и искателях — затем я расскажу вам, как эти отношения опосредуются, и поговорю о ретрансляторах, которые существуют сегодня, и о внутрипротокольных решениях, над которыми мы думаем. Я также хочу взглянуть на картину в целом, потому что легко посмотреть на эти схемы и подумать: «О, это очень пугает, а как же децентрализация?». Я хочу дать вам понять, что это компромиссы, на которые мы идем, но, на мой взгляд, они делаются в правильном направлении.

Наивная модель и MEV (3:04)

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

За последние пять лет мы довольно отчетливо наблюдаем, что это дает производителю огромную власть — в частности, право последнего взгляда. Они видят, что хотят сделать пользователи, например, они видят, что пользователь хочет совершить своп, и могут использовать эту информацию для извлечения прибыли для себя.

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

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

Роль искателей (5:43)

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

Эти сущности, которые очень хорошо находят возможности, мы называем искателями. Они выявляют возможности для производителя блоков. Искатель может заметить, что пользователь совершает своп, либо через публичный мемпул, либо через даркпулы или частные каналы, а затем сообщить валидатору: «Происходит своп — если вы упакуете этот своп вместе с этим арбитражем в пакет атомарных транзакций и включите этот пакет, то вы сможете заработать на арбитраже». У вас будет много искателей, соревнующихся за то, чтобы убедить производителя блоков.

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

Почему нам нужны сборщики (8:16)

Что делать, если производитель не заслуживает доверия? После Слияния в Эфириуме у нас есть соло-стейкеры — около 6% сети — которых мы не знаем. Искатели не очень-то захотят отправлять пакеты этим предлагающим блоки, потому что это слишком опасно.

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

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

Как работают ретрансляторы MEV-Boost (13:01)

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

То, что мы используем сегодня в качестве доверенной третьей стороны, мы называем ретранслятором (relay) — ретранслятор MEV-Boost. MEV-Boost — это название протокола, который опосредует взаимодействие между сборщиками и валидаторами. Ретранслятор находится посередине, чтобы гарантировать, что соглашение будет выполнено обеими сторонами.

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

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

Экономика ретрансляторов сложна. Некоторые из них бесплатны, как общественные блага. Другие разработали модели получения дохода — например, у ретранслятора Ultrasound есть «корректировка ставки», при которой они забирают разницу между лучшей и второй лучшей ставкой в качестве дохода.

Доверие и ретранслятор (17:01)

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

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

Закрепление PBS в протоколе (20:01)

Мы пытаемся устранить статус ретранслятора как доверенной третьей стороны. В Эфириуме есть доверенная третья сторона, которая нам нравится — и это сам Эфириум. Можно разработать внутрипротокольные решения, которые попытаются по сути закрепить роль ретранслятора и сделать зависимость от него необязательной.

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

Ограничение сборщиков, усиление децентрализации (22:05)

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

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

Сегодня явно доминируют три сборщика: Beaver Build, Titan и rsync Builder. Хорошее ли это положение дел? Не совсем — мы можем сделать лучше. Но реалистично ли представить, что у нас будет столько же сборщиков, сколько и валидаторов? Вероятно, нет.

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

Некоторые идеи по ограничению сборщиков:

  • Списки включения (Inclusion lists) — когда валидатор говорит сборщику: «вы должны включить эти транзакции в свой блок»
  • Частичное создание блоков — разбиение полного блока, чтобы сборщик не имел монополии на все пространство
  • Снижение зависимости от третьих сторон — закрепление роли ретранслятора в Протоколе

Для усиления децентрализации валидаторов:

  • Разделение удостоверяющего и предлагающего (Attester-proposer separation) — вместо того, чтобы по умолчанию делать валидатора производителем блоков, выбирается другой набор людей, которые станут производителями блоков, и происходит разделение ролей
  • Улучшенные механизмы стейкинга — стейкинг в Эфириуме сегодня немного рудиментарен и может быть улучшен

Вопросы и завершение (27:03)

Вопрос из зала: в мире традиционных финансов время финализации расчетов сокращается с двух дней до одного дня. Поможет ли сокращение времени финализации расчетов с 12 секунд до более короткого интервала решить некоторые проблемы фронтраннинга?

Люди говорят об этом — они называют это предварительными подтверждениями (pre-confirmations). Идея заключается в том, что вы отправляете свою транзакцию, и кто-то говорит вам: «вы в деле, по этой цене, в этом состоянии». Дело в том, что вы не можете финализировать расчеты быстрее, чем работает Протокол. Вы не можете получить финальность для финализации расчетов быстрее, чем за 12 минут. Вы не можете двигаться быстрее, чем время блока.

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

Была ли эта страница полезной?