*Оригинал: «Что будет после хардфорка Ethereum в Канкуне?»
Георгиос Константопулос
Составитель: Odaily Moni
В этой статье мы проанализируем понимание командой Paradigm Reth важных EIP (Ethereum Network Improvement Protocol), содержащихся в Prague Hard Fork (следующий хардфорк уровня исполнения после обновления Cancun Cancun), и их взгляды на план «EL Core Dev» в 2024 году.
Пражский хардфорк, скорее всего, состоится в тестовой сети Ethereum в третьем квартале 2024 года и в основной сети к концу года. Повышение класса обслуживания включает:
Рекомендуется включать EIP, связанные со стейкингом, такие как EIP-7002, активировать рестейкинг и стейкинг-пулы, не требующие внешнего доверия;
Независимые изменения EVM;
Кроме того, Paradigm готова работать со всеми командами, которые хотят продолжить изучение проблем хардфорков EL, таких как Prague, и рада предоставить рекомендации по изменению кодовой базы Reth.
Paradigm считает, что приоритетными должны быть следующие EIP: 7002, 6110, 2537.
Paradigm поддерживает Ethereum Object Format (EOF), описанный в спецификации, но надеется как можно скорее определить область и создать мета-EIP, предназначенный для этой области.
Paradigm готова добавить EIP-4844 Max Blob Gas и не будет слишком много комментировать правильное число в нем, но пригласит персонал данных к сотрудничеству в расследовании EIP.
Paradigm открыта для выпуска версии EIP-7547: Inclusion Lists, которая может помочь противостоять цензуре базового уровня.
Paradigm не поддерживает структуру данных Verkle Trys, используемую пражским хардфорком, но поддерживает клиентскую команду, чтобы начать работу над ней во втором квартале 2024 года, обещая обновление и релиз в Осаке в середине/конце 2025 года.
Paradigm считает, что лимит газа исполнения L1 или размер контракта не должны быть увеличены, но пригласит персонал данных к сотрудничеству в исследовании влияния этой практики на сеть Ethereum. В то же время Paradigm готова скорректировать свою точку зрения, так как прошлые тесты показали, что Reth Node может справиться с возросшей нагрузкой без каких-либо проблем.
Paradigm считает, что EIP абстракции кошелька/счета нуждаются в более состязательном тестировании, чтобы лучше понять компромиссы в киберпространстве. Если абстракция кошелька/счета не является взаимоисключающей, в будущем возникнет желание развернуть несколько EIP, связанных с абстракцией учетной записи.
Если сообщество согласится со слухами о бэкдоре АНБ, Paradigm считает, что черта EIP-7212 (secp 256 r 1) может быть пересечена.
Другие темы дорожной карты: Paradigm не имеет практического понимания Consensus Layer EIP или CL/EL (Consensus Layer/Execution Layer), но два предложения EIP 7549 и EIP 7251 кажутся многообещающими. Paradigm также хочет внести свой вклад в работу PeerDAS со стороны EL настолько, насколько это возможно, и в настоящее время хочет избежать введения корней SSZ (EIPs 6404, 6465, 6466). Наконец, Paradigm считает, что решение для долгосрочного архивирования данных должно быть предоставлено для просроченных BLOB-объектов, истории и состояния, поскольку ни EIP-4844, ни EIP-4444 не указывают на это, но еще предстоит определить, готов ли Ethereum предоставить такое решение.
Вот подробности:
В абстрактном смысле, Paradigm в основном поддерживает следующие два аспекта:
Дальнейшее сокращение разрыва между уровнями консенсуса и реализации;
Модификации EVM могут выполняться как работа одного человека и могут быть протестированы независимо или параллельно.
Этот EIP разблокирует пулы рестейкинга и стейкинга без доверия, позволяя смарт-контрактам на стороне уровня исполнения контролировать одного или нескольких валидаторов на стороне уровня консенсуса. С точки зрения Paradigm, в этом EIP есть доля правды, которая, по крайней мере, позволит существующим стейкинг-пулам удалить уровень централизации из смарт-контракта, реализующего вывод средств.
Кроме того, введение предварительной компиляции с отслеживанием состояния в EVM также является функцией, которая, по мнению Paradigm, должна быть реализована в реализации EVM, но, помимо этого, Paradigm считает, что это EIP, который может быть выполнен напрямую.
EIP вводит функцию депонирования в состоянии уровня исполнения, упрощая управление состоянием, которое должно быть выполнено на уровне консенсуса. С точки зрения реализации, это похоже на отслеживание вывода средств на уровне консенсуса, поэтому в целом Paradigm считает, что это также простой в реализации и автономный EIP.
В настоящее время BLS 12-381 имеет несколько реализаций и представляет собой кривую, которая часто используется во многих SNARK, алгоритмах подписи BLS и EIP-4844. Paradigm считает, что реализация BLS 12-381 менее сложна, поскольку она предоставляет алгоритм проверки кривой только через предварительно скомпилированный интерфейс, поэтому также может потребоваться предварительно скомпилированный хэш кривой BLS 12-381.
Проще говоря, EOF будет поддерживать как Solidity, так и Vyper с более широким диапазоном версий, и имеет смысл упростить анализ настроек форматирования кода и верификации, и Paradigm рекомендует тщательно обдумывать все, что выходит за рамки этого, и рекомендует некоторые EIP ниже, а также быть готовым к дальнейшим настройкам.
Хорошие аспекты:
● Изменения только для EVM, которые могут быть протестированы с помощью Ethereum/Testnet и реализованы одним человеком.
● Изменения EVM, которые нужны Vyper и Solidity.
● Помогает повысить производительность и увеличить ограничения по размеру контракта.
● Устраняет необходимость в анализе байт-кода во время выполнения EVM, который может занимать до 50% времени анализа без использования кэширования и увеличивается по мере увеличения размера контракта.
● Обеспечивая частичную загрузку кода, Zhejiang помогает выполнять большие смарт-контракты.
● Devex: Позволит решить проблему «слишком глубокого стека» с помощью dupN/swapN и других улучшений инструментария.
● Применимые функции в будущем: Новые функции для обеспечения безопасности в L2 могут быть введены, и инструмент будет знать, какие функции совместимы.
Плохие аспекты:
● Дальность и движущиеся цели.
● Нет поддержки для того, чтобы добиться значительного толчка к его включению.
● Устаревший код по-прежнему нуждается в поддержке.
● До принятия существовало временное расхождение между EthereumMainnet и другими цепочками EVM.
Paradigm считает, что следующие функции EOF должны быть развернуты в 2024 году, и рекомендует определить область действия и взять на себя обязательства по внедрению как можно скорее. Существуют и другие вопросы, которые следует учитывать при последующих развертываниях. Поэтому Paradigm рекомендует:
● EIP-3540 (EOF - EVM Object Format v1): вводит контейнеры кода и данных, а также добавляет структуру и управление версиями в байт-код Ethereum.
● EIP-3670 (EOF - Code Validation): отклоняет любой контракт, который не соответствует формату EOF при развертывании, может быть выполнен только более структурированный код, и отключает недействительные и неопределенные инструкции.
● EIP-663 (Бесконечные инструкции SWAP и DUP): Этот EIP решает проблему «слишком глубокого стека» в Solidity, использование анализа JUMPDEST в качестве мгновенного значения может иметь побочные эффекты, но это функция, которую EVM становится языком, который очень хочется.
● EIP-4200 (EOF - Static Relative Jumps): улучшенный статический анализ без неопределенных скачков. Улучшена компиляция AOT, которая больше способствует повторному использованию кода, чем переходы.
● EIP-4750 (EOF – Functions): требует разрешения подпрограмм, которые могут использовать динамические переходы, но не статические переходы, а также позволяет загружать некоторый код, хорошо работает со структурами данных Verkle и увеличивает предельный размер контракта.
● EIP-5450 (EOF - Stack Validation): проверка кода и требований к стеку. Удалены проверки переполнения стека во время выполнения для всех инструкций, кроме CALLF (EIP-4750).
● EIP-7480 (EOF - Data Part Access Instruction): Разрешает доступ к части данных байт-кода.
● EIP-7069 (Улучшенная инструкция CALL) удаляет наблюдаемость газа из CALL, что упрощает изменение цен на газ в будущем. Несмотря на то, что EIP не зависит от EOF, Paradigm рассматривает этот хардфорк как хорошую возможность для внедрения EIP.
Paradigm не слишком уверена в EIP-6206 (EOF-JUMPF и Non-Return Function), и хотя этот EIP позволяет оптимизировать хвостовые вызовы в функциях EOF, Paradigm все еще нужно увидеть полезность лингвистического анализа. Если нет, Paradigm считает, что его можно удалить из области применения и включить в последующие обновления EOF.
Paradigm оценивает вышеуказанную рабочую нагрузку примерно в 1-2 человеко-месяца полной занятости и готова еще больше сузить ее, если оцениваемая рабочая нагрузка больше.
Примечание к устаревшему байт-коду:
● Несмотря на то, что можно запретить новый унаследованный байт-код, существующий устаревший байт-код не может быть признан устаревшим, поскольку он фактически действует как EOF “v 0”. Устаревший байт-код по-прежнему требует анализа JUMPDEST после EOF и по-прежнему требует специальной обработки кода для его фрагментации на блоки в Verkle Trys.
● Насколько известно Paradigm, невозможно проверить преобразование байт-кода, не относящегося к EOF, в EOF без доступа к исходному коду, но Paradigm готова исследовать механизмы, облегчающие это преобразование.
● В качестве альтернативы Paradigm готова изучить методы истечения срока действия для принудительной миграции состояния в EOF.
Увеличение количества больших двоичных объектов EIP-4844
Paradigm открыта для этого изменения и добавит “MAX_BLOB_GAS_PER_BLOCK и TARGET_BLOB_GAS_PER_BLOCK”
Выберите значения TARGET_BLOB_GAS_PER_BLOCK и MAX_BLOB_GAS_PER_BLOCK соответствующие целевым объектам из 3 больших двоичных объектов (0,375 МБ) каждый блок (до 6 больших двоичных объектов, примерно 0,75 МБ). Эти начальные ограничения невелики, но они минимизируют нагрузку на сеть, вызванную EIP, и могут быть увеличены при последующих обновлениях, поскольку сеть демонстрирует надежность в больших блоках.
На самом деле, изменения в коде не будут слишком большими, но Paradigm необходимо изучить фактическое влияние этих изменений на txpool, чтобы инфраструктуру стресс-тестирования EIP-4844 можно было использовать повторно. Уровень консенсуса может испытывать трудности с распространением большего количества больших двоичных объектов, поэтому Paradigm также уважает мнение команды уровня консенсуса.
Проще говоря, развертывание Verkle к концу 2024 — началу 2025 года кажется маловероятным, и Paradigm рекомендует команде выделить ресурсы для этого во 2 квартале 2024 года и взять на себя обязательство по развертыванию в Osaka Hard Fork во 2-3 кварталах 2025 года.
Хорошие аспекты:
● Недорогие легкие клиенты с меньшими объемами хранения.
● Выполнение без сохранения состояния за счет включения предсостояния чтения в заголовок блока, что также может привести к повышению производительности за счет доступа к статическому состоянию.
● Увеличьте предельный размер контракта, разделив байт-код на фрагменты и включив частичную загрузку кода.
● Истечение срока действия статуса становится более приемлемым за счет более низкой стоимости «восстановления» состояния.
Плохие аспекты:
● Влияние изменений и усилий по интеграции на внедрение и тестирование.
● Изменения в учете газа: Verkle Tries ввела размер свидетеля в функцию расчета газа, и Paradigm была обеспокоена тем, что изменения в ценообразовании на хранение еще не были изучены (например, сколько стоит возглавить потребителей газа после Verkle).
● Интеграция приложений: Что должно делать приложение с валидатором Merkle Patricia Trie при выполнении преобразования Overlay?Как должно вести себя eth_getProof?
Несмотря на то, что Verkle Tries имеет определенные преимущества, Paradigm считает, что необходимо уделять больше внимания тому, как сторонние инструменты/контракты должны вписываться в систему, и как переход повлияет на решения уровня 2 и т. д. Первоначально Paradigm скептически относилась к стратегии миграции, поскольку утверждала, что Verkle Tries должен обновляться при чтении состояния из ранее существовавшего MPT, но, похоже, это уже не так. Таким образом, Paradigm поддерживает метод наложения в качестве возможного пути миграции.
Документация по стратегии миграции Verkle часто кажется устаревшей, так как в большинстве ресурсов до сих пор утверждается, что попытка Verkle должна обновляться при чтении состояния из MPT, хотя это не так. Paradigm хотела бы, чтобы ключевая документация по переходу была обновлена в соответствии с новейшей методологией, на которую можно ссылаться. Paradigm также хотела бы увидеть проект плана эко-инвестиций по стратегии перехода.
Поэтому Paradigm по-прежнему поддерживает его запуск в 2025 году, а не в этом хардфорке.
Предел газа L1
Paradigm считает, что на стороне спроса может быть некоторое «неправильное направление», и на самом деле повышение лимита газа L1 не оказывает большого влияния на практике. Paradigm также считает, что большинство клиентов могут справиться с увеличением средней нагрузки, но Paradigm хочет быть бдительными в отношении наихудшего сценария и поэтому не рекомендует увеличивать лимит газа L1 в настоящее время. Paradigm считает, что увеличение лимита газа в краткосрочной перспективе является более перспективным решением.
Paradigm хочет пригласить сообщество к сотрудничеству в исследованиях в смежных направлениях, часто связанных с нарушением учета ресурсов в EVM. Эта статья, опубликованная Broken Meter, должна стать хорошей отправной точкой для этой области исследований.
Абстракция аккаунта
Paradigm готова включить 1 или более EIP (или включить ERC) в хардфорк, но в идеале предпочла бы видеть больше сравнений UX и опыта разработчиков между каждым предложением, чтобы лучше понять компромиссы и усилия по интеграции инструментов. Paradigm фокусируется на следующих EIP/ERC, и сообщество может вносить предложения в Paradigm в любое время:
● EIP-3074: код операции AUTH и AUTHCALL
ERC-4337: абстракция учетной записи с помощью альтернативного мемпула
● EIP-5806: Транзакция условного депонирования
● EIP-5920 :P Код операции AY
● EIP-6913: команда SETCODE
● EIP-7377: транзакции миграции
● RIP-7560: Абстракция собственной учетной записи - Core EIP - Fellowship of Ethereum Magicians
Напомним, что «Абстракция счета» применяется только к EIP-4337 и EIP-7560, в то время как другие предложения сосредоточены на двух областях: Газовое спонсорство и Оптовые операции. («Абстракция учетных записей» похожа на абстрагирование функции проверки, основной целью которой является включение ротации секретных ключей, превращение мультиподписи в ключевой элемент и предоставление нам пути к автоматическому достижению квантовой устойчивости.) )