Что войдет в обновление Пектра?
Кристин Ким об обновлении Пектра в Эфириуме: EIP, включенные в обновление, что они меняют в протоколе и почему они важны для пользователей, разработчиков и валидаторов.
Date published: 14 ноября 2024 г.
Презентация Кристин Ким (Christine Kim) на Devcon SEA, посвященная EIP, включенным в обновление Пектра в Эфириуме, тому, что они меняют в протоколе, когда ожидается активация в Мейннет и какие EIP были исключены из плана.
Эта стенограмма является доступной копией оригинальной стенограммы видео (opens in a new tab), опубликованной Фондом Ethereum. Она была слегка отредактирована для удобства чтения.
Введение (0:00)
Мы поговорим обо всех EIP, которые войдут в обновление Пектра. Небольшое предупреждение перед началом: все, что я собираюсь сказать, носит исключительно информационный характер — в ознакомительных целях — и не должно рассматриваться как финансовый или инвестиционный совет.
Когда Пектра выйдет в Мейннет (0:23)
Прежде чем мы перейдем к тому, что войдет в Пектра, вопрос, который мне задают чаще всего: «когда Пектра выйдет в Мейннет?». Так что я просто отвечу на него сразу, чтобы мы могли перейти к техническим деталям.
Это очень предварительный анализ сроков. Когда люди спрашивают меня, когда состоится Пектра, я отвечаю, что пока слишком рано говорить — и это правда. Пектра все еще находится на очень ранних стадиях разработки. Спецификации меняются, и объем обновления Пектра еще не был окончательно финализирован.
В ходе этого процесса вы можете узнать, как разрабатываются обновления, как они тестируются и, в конечном итоге, как они попадают в Мейннет. Изначально разработчики выбирают пару EIP для включения в обновление, а затем реализуют эти EIP в частных тестовых сетях для разработчиков, называемых сетями для разработчиков (devnets). Разработчики уже запустили пару сетей для разработчиков для Пектра, так что эти EIP уже прошли несколько этапов реализации. Разработчики заметили пограничные случаи и ошибки, которые они хотят исправить, и они дорабатывают эти EIP, запуская новые сети для разработчиков. Сеть для разработчиков 4 (devnet 4) была запущена в прошлом месяце, в октябре.
Обычно такого не происходит, но разработчики — специально для этой конференции и для всех присутствующих — запустили первую публичную тестовую сеть Пектра в этом месяце. Она называется Mekong, так что вы можете зайти и заранее повзаимодействовать с некоторыми EIP, которые войдут в Пектра. Она основана на спецификациях сети для разработчиков 4, но, пожалуйста, учтите, что эти спецификации меняются.
Существует список изменений спецификаций для EIP, которые разработчики уже хотят включить в сеть для разработчиков 5 Пектра — такие вещи, как переоценка стоимости прекомпилированного контракта BLS, и новый EIP, который не был реализован в сети для разработчиков 4, но разработчики планируют реализовать его для сети для разработчиков 5 или будущего обновления. Так что спецификации Пектра меняются. Я предвижу, что потребуется еще несколько сетей для разработчиков, прежде чем спецификации смогут быть окончательно заморожены.
Другая часть, которая действительно важна для продвижения обновления Пектра в Мейннет, — это финализация объема: необходимо окончательно определить все EIP, которые войдут в Пектра. Есть один EIP — на самом деле это еще не EIP — это увеличение емкости блобов, которое разработчики еще официально не включили в Пектра, но, похоже, они, скорее всего, включат какое-то увеличение емкости блобов, потому что недавно они добавили EIP, который вводит механизм динамического обновления целевого объема Газа для блобов и максимального объема Газа для блобов через уровень консенсуса, вместо того чтобы эти параметры были жестко закодированы на уровне исполнения и уровне консенсуса.
Как только объем будет финализирован, начнется тестирование всех реализованных новых EIP — полного объема обновления Пектра — и их проверка боем в еще паре сетей для разработчиков. Я предполагаю, что это продлится, возможно, до сети для разработчиков 6 или 7. А затем, когда спецификации Пектра будут заморожены и готовы к работе — все пограничные случаи, которые разработчики могли найти в сетях для разработчиков, будут найдены — они выпустят обновление Пектра в публичных тестовых сетях Эфириума. Сейчас их две: Sepolia и Holesky.
Исторически разработчики закладывали около двух недель между обновлениями публичных тестовых сетей. В редких случаях разработчики сокращали этот срок до одной недели между тестовыми сетями, но из-за масштаба Пектра, я полагаю, разработчики захотят использовать все доступное время. Я закладываю примерно месяц на Sepolia и Holesky, и после этого, наконец, может состояться активация в Мейннет.
Учитывая всю информацию, которой я располагаю на данный момент, и прогресс, достигнутый разработчиками по Пектра, мой лучший анализ и предположение заключаются в том, что выход Пектра в Мейннет реально состоится в апреле 2025 года. Опять же, это очень предварительно, потому что многое может измениться. Разработка идет от недели к неделе — разработчики участвуют в звонках ACD, обсуждая неожиданную ошибку в каком-то EIP или новый EIP, который они хотят добавить в Пектра.
EIP уровня исполнения (6:23)
Давайте перейдем к сути этого выступления — что войдет в обновление Пектра. В Пектра войдут десять EIP, и четыре из них сосредоточены на уровне исполнения.
EIP-2537 — это новый прекомпилированный контракт в EVM: операции с кривой BLS12-381. Это новая схема криптографической подписи, о которой разработчики смарт-контрактов просили очень давно. Этот EIP был создан в 2020 году, и в то время разработчики децентрализованных приложений (dapp) говорили, что он им очень нужен, потому что он даст определенным dapp, полагающимся на криптографию с нулевым разглашением, более сильные гарантии приватности, а также потенциально повысит безопасность и масштабируемость. Подписи BLS также используются для агрегации, которая происходит на уровне консенсуса для аттестаций валидаторов. Этот EIP ожидался очень долго. Одно из опасений: есть ли еще приложения, ожидающие прекомпилированный контракт BLS, и будут ли они использовать его, когда он будет запущен? Но если вы находитесь в этой аудитории и не знали, что прекомпилированный контракт BLS наконец-то появится — он появится.
EIP-2935 — предоставление хешей исторических блоков из состояния. Он вносит изменение в уровень исполнения, благодаря которому доказательства исторических блоков могут генерироваться из состояния. Это имеет некоторые краткосрочные преимущества для синхронизации легких клиентов и для смарт-контрактов, которые могут захотеть использовать данные о состоянии предыдущего блока напрямую через EVM — сейчас вы не можете этого сделать. Но эти краткосрочные преимущества не являются главной причиной включения этого EIP в Пектра. Основная причина заключается в том, что это необходимое условие для Verkle — масштабной переработки структуры данных состояния Эфириума. Разработчики думали, что этот переход произойдет сразу после Пектра, но Verkle не войдет в Фусака. Они отложили его до другого обновления, но этот подготовительный шаг уже выполнен.
EIP-7685 — запросы уровня исполнения общего назначения. Этот EIP на самом деле не вводит новые функции в Эфириум — это EIP для поддержки других EIP в Пектра. В Пектра есть пара EIP, благодаря которым уровень исполнения сможет передавать гораздо больше сообщений — различных видов сообщений — на уровень консенсуса, чего он не мог делать раньше. Смарт-контракты на уровне исполнения смогут инициировать выводы средств валидаторов, консолидации и депозиты. Вместо того чтобы реализовывать эти новые каналы связи по отдельности и уникальным образом, этот EIP создает обобщенную структуру — обобщенную шину — для размещения этих запросов. Это будет проще тестировать, проще реализовывать в различных клиентах и проще стандартизировать, особенно если разработчики захотят ввести новые типы запросов, инициируемых уровнем исполнения.
EIP-7702 — установка кода для внешне принадлежащих учетных записей (EOA). В Эфириуме появляется новый тип транзакций. Этот тип транзакций временно позволит EOA иметь большую гибкость, обеспечивая такие функции, как пакетирование транзакций, спонсируемые транзакции, условные транзакции и делегированная безопасность. Вы можете подумать: «Неужели это воплощение концепции абстракции учетной записи в Эфириуме?». Нет, это не так — это лишь маленький шаг. Это ранний шаг, чтобы увидеть, как может выглядеть реальная дорожная карта к истинной нативной абстракции учетной записи в Эфириуме. Было довольно много споров о том, как разработчикам следует сделать этот первый шаг, и много разногласий вокруг включения этого EIP и его дизайна — но он принят.
EIP уровня консенсуса (12:00)
Есть еще шесть — это EIP уровня консенсуса.
EIP-7742 — разделение счетчика блобов между уровнем консенсуса и уровнем исполнения. Это самый последний EIP, включенный в Пектра. В настоящее время емкость блобов жестко закодирована на уровне исполнения и уровне консенсуса во всех различных клиентах. Обновить этот жесткий код не так просто, как некоторые могут подумать. Создание механизма для динамической установки емкости блобов через уровень консенсуса гарантирует, что в будущем разработчики смогут легко изменять емкость блобов в Эфириуме, и что такое обновление потребует изменений только на уровне консенсуса — а не на обоих уровнях.
EIP-6110 — предоставление депозитов валидаторов ончейн. Слияние состоялось, и Эфириум стал более зрелым Блокчейном с доказательством доли владения (PoS). Теперь некоторые допущения безопасности могут быть смягчены. Этот EIP устраняет дополнительный раунд голосования, который происходит на стороне уровня консенсуса каждый раз, когда вы вносите 32 ETH на депозитный контракт, гарантируя, что вся проверка депозитов происходит на уровне исполнения. Это имеет преимущества для пользовательского опыта валидаторов — это сократит время между внесением ваших 32 ETH и моментом, когда вы увидите, что валидатор фактически активирован в сигнальной цепочке.
EIP-7002 — выводы средств, инициируемые уровнем исполнения. Это очень хорошо для пулов для стейкинга. Прямо сейчас, если вы хотите полностью вывести средства валидатора, оператору узла, который управляет этим валидатором, необходимо использовать свой ключ для вывода, чтобы полностью осуществить выход валидатора. Благодаря этому EIP смарт-контракты смогут инициировать эти полные выводы. Это допущение о доверии, которое теперь можно убрать из пулов для стейкинга — такие пулы, как Lido, Rocket Pool и другие пулы для стейкинга на базе смарт-контрактов, теперь могут инициировать полные выводы средств валидаторов, если пожелают.
EIP-7251 — увеличение максимального эффективного баланса. Это действительно проблема. Когда разработчики думали о сигнальной цепочке, они не ожидали, что набор валидаторов будет расти так быстро — сейчас у нас около 1,2 или 1,3 миллиона валидаторов. Существует множество активных валидаторов, множество сообщений передается на сетевом уровне, и этого слишком много. Это создает нагрузку на узлы, и если оставить это без контроля, это станет серьезной проблемой для здоровья Эфириума. EIP-7251 разработан для того, чтобы побудить валидаторов консолидировать свои ETH и иметь максимальный эффективный баланс выше 32 ETH, сокращая количество активных валидаторов в Эфириуме.
EIP-7549 — вынос индекса комитета за пределы аттестации. Это реструктуризация и рефакторинг способа агрегации аттестаций для снижения сетевой нагрузки на Эфириум и экономии пропускной способности узлов. Когда разработчики включали это в Пектра, они думали, что это отличное изменение с прекрасными преимуществами и простое в реализации — но на практике оказалось, что его гораздо сложнее реализовать, чем ожидалось.
Резюме (17:19)
Пектра — это сборная солянка обновлений. Она сделает три вещи: во-первых, исправит критические недостатки Эфириума как Блокчейна с доказательством доли владения — вспомните о MaxEB, это критическое исправление, потому что размер набора валидаторов может продолжать бесконтрольно расти. Во-вторых, улучшит пользовательский опыт — новый тип транзакций, более гибкие архитектуры, некоторые улучшения для более не требующих доверия архитектур пулов для стейкинга. И в-третьих, увеличит емкость доступности данных Эфириума — это еще не было официально включено в Пектра, но кажется вероятным.
EIP, исключенные из Пектра (18:02)
Вот все EIP, которые были исключены из Пектра. Это своего рода первый случай, когда из обновления исключается так много EIP.
PeerDAS — изначально в Пектра планировалось гораздо большее увеличение емкости доступности данных. PeerDAS позволил бы разработчикам многократно увеличить целевой объем блобов в Эфириуме без существенного влияния на потребление пропускной способности и вычислительные требования для запуска узла Эфириума. Но он все еще находится на стадии исследований и разработки.
EOF — формат объектов EVM (EVM Object Format). Эти одиннадцать изменений кода в совокупности представляют собой крупное обновление EVM Эфириума. И PeerDAS, и EOF изначально действительно были включены в Пектра, но тестировались в отдельных сетях для разработчиков. Разработчики решили, что им потребуется гораздо больше времени для подготовки к активации в Мейннет, и они не хотели задерживать другие EIP Пектра. Поэтому они сказали, что PeerDAS и EOF явно требуют больше времени — они перенесут их в другое обновление и не будут сдерживать выход остальных EIP Пектра в Мейннет.
Теперь они перенесены в Фусака. Изначально Verkle планировался для Фусака, но с тех пор был отложен еще дальше. EOF и PeerDAS пока находятся в Фусака. Есть и другие EIP, которые разработчики пересмотрят для включения в Фусака — переход на SSZ, списки включения, изменения в эмиссии, экспирация истории, ePBS и направление абстракции учетной записи.
Вопросы и ответы (22:02)
Ведущий: Когда EOF?
Кристин Ким: Я буквально только что сказала, что разработчики попытаются включить его в Фусака. Считаю ли я это вероятным? Наверное, нет. Думаю ли я, что Фусака состоится в 2025 году? Абсолютно нет. Учитывая количество времени, которое потребовалось на подготовку Пектра — Фусака займет столько же, если не больше времени.
Ведущий: Существует ли экстренный путь для увеличения целевого объема блобов в период между настоящим моментом и активацией Пектра?
Кристин Ким: Нет. Целевой объем блобов — это жестко закодированный параметр на уровне исполнения и уровне консенсуса. Чтобы емкость блобов изменилась, разработчикам необходимо провести хардфорк. Я не думаю, что есть какой-либо способ увеличить емкость блобов до выхода Пектра без хардфорка.
Ведущий: Предложение заключается в изменении только лимита блобов или также целевого объема блобов?
Кристин Ким: Отличный вопрос. Самое консервативное увеличение — с трех до четырех: изменение только целевого объема, вообще без изменения максимума. Но это не то, о чем просили разработчики уровня 2 (l2). Есть представитель команды Base — команды Base от Coinbase — и он выступает за более агрессивные увеличения. Он представил данные, свидетельствующие о том, что увеличение не окажет негативного влияния на децентрализацию Эфириума. Есть консервативное предложение изменить только целевой объем, а есть более амбициозное предложение изменить как максимум, так и целевой объем — например, восемь и четыре, или шесть и двенадцать. Существуют разные градации.
Ведущий: Вы призывали людей активнее участвовать в управлении. Как сообщество может принимать более активное участие?
Кристин Ким: ETH Research и ETH Magicians — это два действительно отличных дискуссионных форума для голосования за определенные EIP и выражения вашей поддержки. Звонки ACD, вероятно, являются местом с самым высоким уровнем полезной информации — все, что вам нужно сделать, это оставить комментарий к повестке дня звонка ACD на GitHub и сказать, что это EIP, о котором вы хотели бы поговорить или представить. Модератор звонка обычно очень охотно предоставляет вам время. Однако не занимайте слишком много времени — возможно, пять минут, чтобы высказать свое мнение.