Предыстория и мотивация EIP-7732
Поскольку проблемы MEV трудно решить в корне, принятие мер по выравниванию правил игры — единственный способ избежать угроз безопасности. После слияния Ethereum, чтобы сохранить справедливость и уменьшить влияние масштаба крупных пулов залога на добычу MEV, Flashbots запустила MEV-Boost, который использует механизм PBS (Proposer-Builder Separation) для уменьшения возможностей непосредственного участия валидаторов. в деятельности MEV и преобразовывать разнообразие заинтересованных сторон MEV. На данный момент доля блоков MEV-Boost превысила 90%.
С широким распространением MEV-Boost сообщество Ethereum начало беспокоиться о рисках безопасности, которые могут возникнуть при использовании этого стороннего сервиса. Поэтому родилась идея реализации PBS в протоколе Ethereum, получившая название ePBS ( Закрепленное разделение Предлагающего-Строителя). Недавно ePBS получил официальный номер EIP: EIP-7732. EIP-7732 — это изменение уровня консенсуса, не требующее изменений уровня исполнения. Суть заключается в том, чтобы логически и временно отделить проверку выполнения от проверки консенсуса и отложить проверку выполнения до завершения проверки консенсуса.
Предложение EIP-7732, помимо решения проблемы верификаторов, полагающихся на третьи стороны (такие как MEV-Boost) для создания полезных нагрузок выполнения, также направлено на оптимизацию эффективности процесса проверки. Текущие валидаторы должны завершить весь консенсус и выполнить функции перехода состояний за очень короткое время (в течение 4 секунд), что требует чрезвычайно высоких вычислительных ресурсов и пропускной способности сети. В течение этого периода окна валидаторам необходимо проверить и подтвердить большой объем информации о транзакциях и обновить статус блокчейна, что не только увеличивает вычислительную нагрузку на один узел, но и увеличивает вероятность ошибок. Разделяя проверку выполнения и проверку консенсуса, гарантируется, что узлам необходимо выполнить лишь относительно небольшое количество задач в течение критического 4-секундного окна, тем самым снижая вычислительную нагрузку и ускоряя распространение сети.
Основное содержание EIP-7732
EIP-7732 создает новую роль «Строитель», новую дополнительную ответственность для валидаторов, которую может использовать любой валидатор, обладающий достаточными средствами для ставки на цепочку маяков и способностью выполнять задачи по созданию блоков. Станьте строителем. Строитель несет ответственность за создание и предоставление обещаний по выполнению полезной нагрузки. Валидаторы теперь могут поручить выполнение полезных данных разработчикам, уделяя при этом больше внимания задачам уровня консенсуса.
Полезная нагрузка выполнения является основной частью блока и содержит всю информацию о транзакциях и изменениях статуса. Процесс создания полезных данных выполнения включает в себя выбор транзакций из пула памяти, сортировку транзакций, последовательное выполнение транзакций и упаковку всей информации для формирования полезных данных выполнения.
Чтобы добиться такого разделения, EIP-7732 удаляет поле ExecutionPayload, которое содержит все данные, связанные с выполнением транзакции, такие как список транзакций и результаты перехода состояний. При удалении этого поля создание и проверка содержимого исполнения отделяется от создания и проверки блока маяка. В качестве альтернативы EIP-7732 представляет новую структуру данных SignedExecutionPayloadHeader, которая включает в себя обещание разработчика полезных данных выполнения, которые будут раскрыты в будущем.
общий процесс
Задачи строителя. Разработчик отвечает за создание полезных данных выполнения и создание обещания, которое будет предоставлять полезные данные выполнения. Обещание инкапсулировано в структуру данных SignedExecutionPayloadHeader, которая включает в себя хеш полезных данных выполнения и цифровую подпись этого хэша для обеспечения неизменяемости данных и проверки происхождения. Это обещание указывает, что разработчик предоставит полную полезную нагрузку выполнения в определенный момент в будущем, и указывает сумму, подлежащую выплате разработчику блока маяка, чтобы стимулировать разработчика блока маяка включить это обещание.
Задачи предлагающего блока маяка: Предлагатель блока маяка (валидатор) сотрудничает со строителем, и ему не нужно напрямую обрабатывать детали выполнения транзакции при создании нового блока маяка, но вместо этого он включает в себя обязательство, предоставленное строителем, и затем транслируйте весь блок маяков в сеть Ethereum для достижения консенсуса. Включение только обязательств снижает нагрузку на сеть и ускоряет распространение блоков маяков и процесс проверки консенсуса. После того, как обязательство застройщика обработано, чаевые в обязательстве вычитаются из баланса цепочки маяков застройщика и зачисляются на счет предлагающего блок маяка. После того, как разработчик блока маяков успешно передает блок маяков с обязательством, строитель должен предоставить полную полезную нагрузку выполнения в течение определенного временного окна.
Проверка PTC. Чтобы отслеживать, своевременно ли разработчики публично выполняют полезные нагрузки, группа валидаторов, случайно выбранных сетью Beacon Chain, образует Комитет по своевременности полезной нагрузки (PTC). PTC отвечает за проверку того, предоставил ли разработчик полезные данные выполнения, соответствующие обещанию, в течение указанного временного окна. Если застройщик не сможет своевременно и правильно раскрыть информацию, PTC сообщит об отрицательном результате, и застройщику грозит штраф в виде уменьшения ставки. Если проверка PTC пройдена, полная проверка полезных данных выполнения откладывается для отдельной обработки во время следующего блока маяка, то есть отложенной проверки.
Кроме того, предложение также вводит нормативные правила и новый механизм штрафов для PTC, чтобы обеспечить строгость и справедливость всего процесса проверки. В то же время из-за разделения полезных данных выполнения и блоков маяков логика выбора вилки также была скорректирована для адаптации к новому процессу проверки. Ожидается, что эти изменения значительно улучшат безопасность и эффективность сети. Благодаря ряду разработок EIP-7732 повышает эффективность обработки Ethereum и снижает задержку в сети.