Обновление Pectra является следующей важной вехой для сети Ethereum и, как ожидается, будет реализовано в первом квартале 2025 года. Это обновление состоит из двух основных частей: обновления уровня исполнения Prague (Прага) и обновления уровня протокола Electra (имя созвездия).
Написал: Дуонг
Обновление Pectra является следующей важной вехой для сети Ethereum и, как ожидается, будет реализовано в первом квартале 2025 года. Это обновление состоит из двух основных частей: обновления уровня исполнения Prague (Прага) и обновления уровня протокола Electra (имя созвездия).
В отличие от предыдущих крупных обновлений, Pectra не преследует одной явной главной цели, а фокусируется на множестве технических улучшений и оптимизаций. Это контрастирует с обновлением Dencun (которое радикально снизило комиссию L2) или обновлением Shapella (которое позволило снимать ETH с стейкингом, завершая последний шаг в переходе Ethereum на Proof-of-Stake (PoS)).
Последние разработки
Недавно разработчики ядра Ethereum (ACD, All Core Developers) во время телеконференции обсудили возможность разделения обновления Pectra на два этапа. Согласно этому предложению:
Обновления Pectra будут включать EIP для PECtra-devnet-3 (подробности см. ниже).
Первоначально запланированный контент EOF (формат объекта EVM) и PeerDAS (выборка доступности одноранговых данных) будет перенесен на следующее обновление, предварительно названное Fusaka (Fulu + Osaka).
Контент, связанный с Verkle Trees, первоначально запланированный для Осаки, будет отложен и может быть реализован в последующем обновлении в Амстердаме.
Этот поэтапный подход призван гарантировать, что размер и сложность каждого обновления остается управляемым, а также дает достаточно времени для полного тестирования и доработки каждой технологии.
EIP, связанные с обновлением Pectra
EIP, выбранные для включения
EIP-2537[1]: Предварительная компиляция операций с кривой BLS12-381.
EIP-2935[2]: сохранять исторические хэши блоков в состоянии.
EIP-6110[3]: Обеспечить депозиты валидатора в цепочке.
EIP-7002[4]: Триггерный выход из исполнительного уровня.
EIP-7251[5]: Увеличение максимального эффективного баланса.
EIP-7549[6]: удалить индекс комитета из аттестации.
EIP-7685[7]: Общие запросы уровня выполнения.
EIP-7702[8]: Установите код учетной записи EOA для транзакции.
EIP на рассмотрении
EIP-7212: Поддержка предварительной компиляции кривых secp256r1.
EIP-7547[9]: включить список
EIP-7623[10]: Увеличение стоимости данных вызовов.
EIP-7742[11]: отменить взаимосвязь подсчета больших двоичных объектов между уровнем консенсуса и уровнем выполнения.
Введение в ключевые EIP
EIP-2537: Предварительная компиляция операций с кривой BLS12-381.
В этом предложении представлены операции предварительной компиляции кривой BLS12-381, что значительно повышает эффективность таких операций, как проверка подписи BLS. BLS12-381 обеспечивает большую безопасность, чем существующие предварительные компиляции BN254 (более 120 бит по сравнению с 80 битами BN254). Это улучшение не только включает в себя базовые операции с кривыми, но также объединяет несколько экспоненциальных операций, закладывая основу для эффективного агрегирования открытых ключей и подписей.
EIP-2935: сохранять исторические хеши блоков в состоянии
В предложении предлагается хранить хэши самых последних 8192 блоков в системном контракте, что в первую очередь предназначено для поддержки выполнения клиента без сохранения состояния. Таким образом, клиенты без сохранения состояния могут легче получать необходимую историческую информацию, сохраняя при этом совместимость с существующими кодами операций BLOCKHASH. Это не только упрощает механизм хранения истории хэширования блоков, но и предоставляет новый способ доступа к историческим данным.
EIP-6110: Предоставление депозитов валидатора в цепочке
Предложение интегрирует процесс депозитов валидатора непосредственно в структуру блоков исполнительного уровня Ethereum. Это изменение переносит ответственность за включение и проверку депозитов с уровня консенсуса на уровень исполнения, устраняя необходимость на уровне консенсуса голосовать по депозитам (или eth1data). Анализируя события журнала контрактов по депозитным транзакциям для создания списка депозитов, этот метод не только повышает безопасность и эффективность обработки депозитов, но также улучшает взаимодействие с пользователем. Кроме того, это упрощает разработку клиентского программного обеспечения и снижает общую сложность системы.
EIP-7002: Триггерный выход из исполнительного уровня
Предложение вводит новый механизм, который позволяет валидаторам запускать операции отзыва и выхода путем отзыва учетных данных через уровень выполнения (0x01). Конкретная реализация заключается в добавлении сообщения отзыва к блоку уровня выполнения, который затем обрабатывается уровнем консенсуса. Этот подход предоставляет валидаторам более гибкие варианты выхода, сохраняя при этом безопасность и согласованность системы.
EIP-7251: Увеличение максимального эффективного баланса.
Предложение направлено на увеличение максимального эффективного баланса (MAX_EFFECTIVE_BALANCE) валидаторов Ethereum при сохранении минимального поставленного баланса в 32 ETH. Это изменение имеет множество преимуществ:
Позвольте операторам крупных узлов объединяться с меньшим количеством валидаторов, повышая операционную эффективность.
Предоставьте мелким участникам возможность получать сложные процентные вознаграждения, делая ставки более привлекательными.
Предоставьте более гибкие варианты ставок, чтобы привлечь больше участников.
Уменьшите количество избыточных валидаторов в сети и уменьшите количество P2P-сообщений.
Уменьшите объем памяти BeaconState и повысьте эффективность системы.
В сочетании с улучшенным механизмом частичного вывода средств на уровне исполнения ликвидность всей сети Ethereum будет дополнительно оптимизирована.
EIP-7549: удалить индекс комитета из аттестации.
В предложении предлагается удалить поле индекса комитета из подписанных аттестационных сообщений, чтобы обеспечить агрегирование идентичных консенсусных голосов. Основная цель этого изменения — повысить эффективность клиента Casper FFG за счет уменьшения среднего количества пар, необходимых для проверки консенсусных правил. Хотя все типы клиентов могут получить выгоду от этого улучшения, это изменение, вероятно, приведет к наиболее значительным улучшениям производительности для схем ZK, которым необходимо подтвердить консенсус Casper FFG.
EIP-7685: Общие запросы уровня выполнения.
Предложение определяет общую структуру хранения и обработки запросов, инициируемых смарт-контрактами. Конкретная реализация заключается в добавлении поля в заголовок и тело выполнения для хранения информации о запросе, тем самым предоставляя эти запросы уровню консенсуса и позволяя ему обрабатывать каждый запрос. Этот механизм предназначен главным образом для удовлетворения растущих потребностей валидаторов, контролируемых смарт-контрактами, и обеспечения основы для более сложных внутрисетевых взаимодействий в будущем.
EIP-7702: Установите код учетной записи EOA для транзакции.
EIP-7702, предложенный Виталиком Бутериным и другими, направлен на оптимизацию абстракции учетных записей Ethereum. Предложение вводит новый тип транзакции, который позволяет внешним учетным записям (EOA) устанавливать коды учетных записей через механизм авторизации. Это улучшение обеспечивает несколько новых функций:
Пакетные операции: разрешите EOA выполнять несколько операций в одной транзакции для повышения эффективности.
Платежная транзакция: Обеспечьте удобство третьим лицам для оплаты комиссий за транзакцию.
Понижение привилегий: повышение безопасности и гибкости учетной записи.
Принимая новую структуру транзакций, это предложение не только улучшает функциональность и удобство использования EOA, но также обеспечивает хорошую совместимость и масштабируемость для будущих технологий абстракции учетных записей.
Заключение
Хотя обновление Pectra не преследует одной выдающейся основной цели, оно еще больше повысит функциональность, безопасность и эффективность сети Ethereum за счет ряда технических улучшений и оптимизаций. По мере реализации программы обновления мы можем увидеть больше включенных или измененных EIP.
Ссылки
EIP-7600: Метаданные хард-форка Pectra[12]
Консенсусное совещание разработчиков Ethereum Core № 197 [13]
[1]EIP-2537: https://eips.ethereum.org/EIPS/eip-2537
[2]EIP-2935: https://eips.ethereum.org/EIPS/eip-2935
[3]EIP-6110: https://eips.ethereum.org/EIPS/eip-6110
[4]EIP-7002: https://eips.ethereum.org/EIPS/eip-7002
[5]EIP-7251: https://eips.ethereum.org/EIPS/eip-7251
[6]EIP-7549: https://eips.ethereum.org/EIPS/eip-7549
[7]EIP-7685: https://eips.ethereum.org/EIPS/eip-7685
[8]EIP-7702: https://eips.ethereum.org/EIPS/eip-7702
[9]EIP-7547: https://eips.ethereum.org/EIPS/eip-7547
[10]EIP-7623: https://eips.ethereum.org/EIPS/eip-7623
[11]EIP-7742: https://eips.ethereum.org/EIPS/eip-7742
[12]EIP-7600: Метаданные хард-форка Pectra: https://eips.ethereum.org/EIPS/eip-7600
[13] Консенсусное совещание разработчиков ядра Ethereum № 197: https://www.galaxy.com/insights/research/ethereum-all-core-developers-execution-call-197/