EIP-2537 является недавно добавленной EVM предкомпилированной инструкцией в рамках обновления Pectra. Эта инструкция добавляет в EVM множество вычислительных возможностей для кривой BLS12-381, включая вычисления пар на области кривой и т.д.
EIP-2573 был впервые предложен в 2020 году и только в 2025 году был подтвержден для включения в обновление Ethereum. В этой статье будет рассмотрен процесс управления EIP-2537 и исследовано, почему этот проект был включен в обновление только через 5 лет.
Предпосылки предложения
В январе 2017 года Виталик Бутерин впервые представил алгоритмы пар и кривую alt_bn128. Затем Виталик и Кристиан Рейтвейснер предложили EIP-196 и EIP-197, чтобы добавить поддержку вычислений с кривой alt_bn128 в EVM. В октябре 2017 года обновление Byzantium официально включило кривую alt_bn128, реализовав вычисления пар по кривой внутри EVM, что позволило проверку доказательств ZK-Snarks выполнять внутри EVM.
В ноябре 2017 года команда zcash предложила кривую BLS12-381, которая обладает более высокой безопасностью и производительностью по сравнению с alt_bn128. Многие блокчейн-протоколы впоследствии приняли кривую BLS12-381, отказавшись от кривой alt_bn128.
В мае 2018 года Джастин Дрейк указал, что будущие обновления PoS и шардирования Ethereum могут использовать алгоритм BLS-мультиподписей на основе кривой BLS12-381. Это вывело на задний план предыдущую схему EIP-1011, и позднее обновление ETH2 также в конечном итоге приняло кривую BLS12-381.
С развитием ETH2 растет спрос на внедрение BLS12-381 в исполняющий слой ETH. В феврале 2020 года некоторые исследователи предложили EIP-2537, надеясь протестировать его в тестовой сети ETH2. Автор EIP-2537 Алекс Стокс призвал включить его в хардфорк Berlin.
Интересно, что автор EIP-2537 также является соучредителем Matter Labs, а самым известным продуктом Matter Labs является ZKSync.
Берлинские волнения
Перед тем как представить последующий контент, необходимо упомянуть EIP-1962. Это первое предложение по предварительной компиляции парного эллиптического кривого поля, предложенное Matter Labs в апреле 2019 года, поддерживающее три кривые: BLS12, BN и MNT4/6. Этот EIP планирует добавить 10 предварительных команд за один раз для обработки разных кривых. Однако многие разработчики ставят под сомнение, что предложение слишком сложное для реализации и неудобно для использования инженерами смарт-контрактов. В качестве инициатора, Matter Labs завершила разработку алгоритма эллиптической кривой и предоставила многопоточные ссылки на реализацию.
Чтобы решить проблему EIP-1962, Matter Labs в феврале 2020 года предложила несколько EIP, разделив EIP-1962, часть из которых унаследовала его интерфейс:
EIP-2537 предоставляет поддержку BLS12-381
EIP-2539 предоставляет поддержку BLS12-377
PR#2541 предоставляет поддержку кривой BLS12-377(Zexe curve), но не получил номер EIP
Среди них EIP-2537 наиболее важен, поскольку уровень консенсуса также использует кривую BLS12-381. Основная цель EIP-1962 и EIP-2537 заключается в реализации проверки BLS-подписей уровня консенсуса в основной сети. В то время ETH2 разрабатывал контракт на депозит, и из-за отсутствия алгоритма проверки BLS на уровне выполнения, первоначальный дизайн контракта на депозит не проверял подписи, а проверка осуществлялась на уровне консенсуса. Если будет обнаружена ошибка, это может привести к потере средств пользователей.
На этом фоне основные разработчики хотели ввести предварительную компиляцию BLS12-381 для проверки подписей в контракте на депозит, чтобы избежать возможных потерь средств пользователей. Это и стало причиной большого интереса разработчиков к EIP-1962 и EIP-2537 в то время.
Когда EIP-2537 только был предложен, Виталик указал на ряд проблем, которые в основном касались содержания документа EIP. Затем автор провел обсуждение в ответ. На собрании основных разработчиков 6 марта 2020 года Виталик отметил, что EIP-2537 и другие очень эффективны для рекурсивных SNARK-доказательств и в долгосрочной перспективе не повредят Ethereum. На встрече была подтверждена приоритетность EIP-2537, все клиенты согласились как можно скорее реализовать его и планируют завершить разработку до обновления Berlin.
Затем EIP-2537 стал задачей высокой приоритетности. На заседании 20 марта было подтверждено, что EIP-2537 заменяет EIP-1962 в качестве основного предложения BLS и попадает в предварительный список обновления Berlin. На заседании в апреле EIP-2537 официально был включен в обновление Berlin hard fork, была определена временная шкала реализации в апреле и тестирования в мае-июне, и он был включен в список задач высшего приоритета.
Следующий этап EIP-2537 входит в стадию активного тестирования и разработки, и на почти каждом из следующих 20 совещаний核心 разработчиков обсуждались связанные вопросы. Основные темы включают:
Обсуждение проблем с ABI-кодированием
Синхронизация прогресса реализации различных клиентов
Реализация PR в Geth содержит 16000 строк кода, трудно определить безопасность и эффективность.
Разработчики сообщают, что Geth трудно будет завершить разработку EIP-2537 до июля.
Предложение найти криптографического инженера для помощи в обзоре PR, использовать тестовую сеть для тестирования реализации безопасности
Обсуждение возможности удаления сложной оптимизации ассемблера для снижения сложности проверки
Разработчик контракта на депозит сообщил, что версия без использования EIP-2537 успешно прошла аудит и рассматривает возможность не выпуска версии с использованием EIP-2537.
Решено увеличить тестирование EIP-2537 в тестовой сети YOLO
Таким образом, можно увидеть, что важность EIP-2537 значительно снизилась после завершения контракта на депозиты, и разработчики Geth считают, что его трудно реализовать до Берлина. Кажется, что EIP-2537 не будет принят на Берлине.
В последующих встречах возникнет больше вопросов:
Geth обнаружил проблему в реализации PR EIP-2537, требуется дальнейшее тестирование и исправление.
На тестовой сети YOLO возникла проблема, подозреваем, что она связана с подписью BLS
Обсуждение проблемы разнообразия клиентов, рассмотрение замораживания текущей реализации EIP для снижения затрат на разработку других клиентов.
Matter Labs надеется включить EIP-2539 в тестирование, но сталкивается с противодействием разработчиков Geth
В конечном итоге на 99-м заседании основных разработчиков было решено исключить EIP-2537 из тестовой сети YOLO v3 и обновления Berlin. Основная причина заключается в том, что EIP-2537 занял слишком много времени у основных разработчиков, что затруднило разработку других EIP. Второстепенным фактором является предложение Фонда Эфира о замене EVM384.
В апреле 2021 года Ethereum завершил обновление Berlin, основные реализации, такие как EIP-2565, несложны, обновление кажется несколько скромным, так как самый сложный EIP-2537 был исключен.
В обновлении Лондона после Берлина разработчики рассматривали возможность добавления EIP-2537, но из-за смены зависимостей, что могло изменить цены газа, в конечном итоге это было снова отвергнуто из-за сложности.
В июне 2021 года официально предложили включить EIP-2537 в обновление Shanghai. Однако обновление Merge заняло много времени у разработчиков. Только после завершения Merge в сентябре 2022 года разработчики получили возможность продолжить обсуждение целей Shanghai.
В ноябре 2022 года разработчики сочли, что EIP-2537 нужно отложить, основная цель обновления Шанхая - поддержка выводов PoS. Обновление Канкун также не обсуждало EIP-2537, так как сосредоточено на EIP-4844.
До февраля 2024 года разработчики обсуждали внедрение EIP-2537 в обновление Pectra, считая, что реализация уже не является проблемой, существуют только некоторые проблемы с ценообразованием на газ. С декабря 2024 года по январь 2025 года разработчики обсуждали конкретную модель расчетов затрат, в конечном итоге решив проблему затрат EIP-2537.
Резюме
EIP-2537 был предложен в феврале 2020 года и окончательно утвержден в январе 2025 года, что заняло почти 5 лет. За это время он несколько раз откладывался из-за сложности реализации или несоответствия теме обновления. Это показывает, что возможность включения EIP в обновление Ethereum зависит не только от его внутренней ценности, но и от учета исторических факторов. Каждое обновление Ethereum имеет свою тему, и хотя EIP-2537 когда-то был самым важным EIP для обновления Berlin, он был отклонен из-за сложности. Затем Ethereum вошел в исторический процесс PoS, и EIP на чистом уровне исполнения не получил внимания, что привело к долгому непринятию EIP-2537.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
17 Лайков
Награда
17
7
Репост
Поделиться
комментарий
0/400
BakedCatFanboy
· 08-09 07:22
Ждал восемь лет, наконец-то пришло.
Посмотреть ОригиналОтветить0
rugpull_ptsd
· 08-06 22:13
Пять лет только на блокчейне, действительно можно подождать.
Посмотреть ОригиналОтветить0
MetaverseHermit
· 08-06 08:26
Пять лет, чтобы завершить одно обновление, действительно медленно.
Посмотреть ОригиналОтветить0
CoconutWaterBoy
· 08-06 08:25
Обновление раз в пять лет, действительно стабильно.
Посмотреть ОригиналОтветить0
SignatureVerifier
· 08-06 08:24
технически эта реализация bls требует серьезного тестирования на проникновение, мы уже видели эти полуготовые прекомпиляции ранее...
Посмотреть ОригиналОтветить0
MEVHunterX
· 08-06 08:14
Это предложение слишком затянуто.
Посмотреть ОригиналОтветить0
TrustMeBro
· 08-06 08:14
5 лет... Похоже, что обновление действительно не простое дело.
EIP-2537 Долгий путь: от отклонения обновления Berlin до окончательного принятия Pectra
EIP-2537:Долгий путь вычисления кривой Ethereum
EIP-2537 является недавно добавленной EVM предкомпилированной инструкцией в рамках обновления Pectra. Эта инструкция добавляет в EVM множество вычислительных возможностей для кривой BLS12-381, включая вычисления пар на области кривой и т.д.
EIP-2573 был впервые предложен в 2020 году и только в 2025 году был подтвержден для включения в обновление Ethereum. В этой статье будет рассмотрен процесс управления EIP-2537 и исследовано, почему этот проект был включен в обновление только через 5 лет.
Предпосылки предложения
В январе 2017 года Виталик Бутерин впервые представил алгоритмы пар и кривую alt_bn128. Затем Виталик и Кристиан Рейтвейснер предложили EIP-196 и EIP-197, чтобы добавить поддержку вычислений с кривой alt_bn128 в EVM. В октябре 2017 года обновление Byzantium официально включило кривую alt_bn128, реализовав вычисления пар по кривой внутри EVM, что позволило проверку доказательств ZK-Snarks выполнять внутри EVM.
В ноябре 2017 года команда zcash предложила кривую BLS12-381, которая обладает более высокой безопасностью и производительностью по сравнению с alt_bn128. Многие блокчейн-протоколы впоследствии приняли кривую BLS12-381, отказавшись от кривой alt_bn128.
В мае 2018 года Джастин Дрейк указал, что будущие обновления PoS и шардирования Ethereum могут использовать алгоритм BLS-мультиподписей на основе кривой BLS12-381. Это вывело на задний план предыдущую схему EIP-1011, и позднее обновление ETH2 также в конечном итоге приняло кривую BLS12-381.
С развитием ETH2 растет спрос на внедрение BLS12-381 в исполняющий слой ETH. В феврале 2020 года некоторые исследователи предложили EIP-2537, надеясь протестировать его в тестовой сети ETH2. Автор EIP-2537 Алекс Стокс призвал включить его в хардфорк Berlin.
Интересно, что автор EIP-2537 также является соучредителем Matter Labs, а самым известным продуктом Matter Labs является ZKSync.
Берлинские волнения
Перед тем как представить последующий контент, необходимо упомянуть EIP-1962. Это первое предложение по предварительной компиляции парного эллиптического кривого поля, предложенное Matter Labs в апреле 2019 года, поддерживающее три кривые: BLS12, BN и MNT4/6. Этот EIP планирует добавить 10 предварительных команд за один раз для обработки разных кривых. Однако многие разработчики ставят под сомнение, что предложение слишком сложное для реализации и неудобно для использования инженерами смарт-контрактов. В качестве инициатора, Matter Labs завершила разработку алгоритма эллиптической кривой и предоставила многопоточные ссылки на реализацию.
Чтобы решить проблему EIP-1962, Matter Labs в феврале 2020 года предложила несколько EIP, разделив EIP-1962, часть из которых унаследовала его интерфейс:
Среди них EIP-2537 наиболее важен, поскольку уровень консенсуса также использует кривую BLS12-381. Основная цель EIP-1962 и EIP-2537 заключается в реализации проверки BLS-подписей уровня консенсуса в основной сети. В то время ETH2 разрабатывал контракт на депозит, и из-за отсутствия алгоритма проверки BLS на уровне выполнения, первоначальный дизайн контракта на депозит не проверял подписи, а проверка осуществлялась на уровне консенсуса. Если будет обнаружена ошибка, это может привести к потере средств пользователей.
На этом фоне основные разработчики хотели ввести предварительную компиляцию BLS12-381 для проверки подписей в контракте на депозит, чтобы избежать возможных потерь средств пользователей. Это и стало причиной большого интереса разработчиков к EIP-1962 и EIP-2537 в то время.
Когда EIP-2537 только был предложен, Виталик указал на ряд проблем, которые в основном касались содержания документа EIP. Затем автор провел обсуждение в ответ. На собрании основных разработчиков 6 марта 2020 года Виталик отметил, что EIP-2537 и другие очень эффективны для рекурсивных SNARK-доказательств и в долгосрочной перспективе не повредят Ethereum. На встрече была подтверждена приоритетность EIP-2537, все клиенты согласились как можно скорее реализовать его и планируют завершить разработку до обновления Berlin.
Затем EIP-2537 стал задачей высокой приоритетности. На заседании 20 марта было подтверждено, что EIP-2537 заменяет EIP-1962 в качестве основного предложения BLS и попадает в предварительный список обновления Berlin. На заседании в апреле EIP-2537 официально был включен в обновление Berlin hard fork, была определена временная шкала реализации в апреле и тестирования в мае-июне, и он был включен в список задач высшего приоритета.
Следующий этап EIP-2537 входит в стадию активного тестирования и разработки, и на почти каждом из следующих 20 совещаний核心 разработчиков обсуждались связанные вопросы. Основные темы включают:
Таким образом, можно увидеть, что важность EIP-2537 значительно снизилась после завершения контракта на депозиты, и разработчики Geth считают, что его трудно реализовать до Берлина. Кажется, что EIP-2537 не будет принят на Берлине.
В последующих встречах возникнет больше вопросов:
В конечном итоге на 99-м заседании основных разработчиков было решено исключить EIP-2537 из тестовой сети YOLO v3 и обновления Berlin. Основная причина заключается в том, что EIP-2537 занял слишком много времени у основных разработчиков, что затруднило разработку других EIP. Второстепенным фактором является предложение Фонда Эфира о замене EVM384.
В апреле 2021 года Ethereum завершил обновление Berlin, основные реализации, такие как EIP-2565, несложны, обновление кажется несколько скромным, так как самый сложный EIP-2537 был исключен.
! Ethereum Governance Watch: EIP-2537 перед компиляцией
Последующие события
В обновлении Лондона после Берлина разработчики рассматривали возможность добавления EIP-2537, но из-за смены зависимостей, что могло изменить цены газа, в конечном итоге это было снова отвергнуто из-за сложности.
В июне 2021 года официально предложили включить EIP-2537 в обновление Shanghai. Однако обновление Merge заняло много времени у разработчиков. Только после завершения Merge в сентябре 2022 года разработчики получили возможность продолжить обсуждение целей Shanghai.
В ноябре 2022 года разработчики сочли, что EIP-2537 нужно отложить, основная цель обновления Шанхая - поддержка выводов PoS. Обновление Канкун также не обсуждало EIP-2537, так как сосредоточено на EIP-4844.
До февраля 2024 года разработчики обсуждали внедрение EIP-2537 в обновление Pectra, считая, что реализация уже не является проблемой, существуют только некоторые проблемы с ценообразованием на газ. С декабря 2024 года по январь 2025 года разработчики обсуждали конкретную модель расчетов затрат, в конечном итоге решив проблему затрат EIP-2537.
Резюме
EIP-2537 был предложен в феврале 2020 года и окончательно утвержден в январе 2025 года, что заняло почти 5 лет. За это время он несколько раз откладывался из-за сложности реализации или несоответствия теме обновления. Это показывает, что возможность включения EIP в обновление Ethereum зависит не только от его внутренней ценности, но и от учета исторических факторов. Каждое обновление Ethereum имеет свою тему, и хотя EIP-2537 когда-то был самым важным EIP для обновления Berlin, он был отклонен из-за сложности. Затем Ethereum вошел в исторический процесс PoS, и EIP на чистом уровне исполнения не получил внимания, что привело к долгому непринятию EIP-2537.
! Ethereum Governance Watch: путешествие перед компиляцией EIP-2537