НовостиКриптовалютыОбновление Ethereum Glamsterdam столкнулось с рисками для смарт-контрактов: разработчики предложили два решения

Обновление Ethereum Glamsterdam столкнулось с рисками для смарт-контрактов: разработчики предложили два решения

Автор: Hokanews·

Ключевые выводы

  • •Разработчики Ethereum Лео Глисич и Джулио Ребуффо представили в воскресенье конкурирующие предложения, направленные на то, чтобы повышение стоимости газа по EIP-8037 и EIP-8038 в Glamsterdam не нарушило работу уже развернутых в сети контрактов.
  • •EIP-8037 повысит базовую плату за газ при создании смарт-контракта с 32 000 до 183 600 газа, при этом дополнительные затраты на хранение и выполнение кода будут применяться отдельно.
  • •Этап тестирования Glamsterdam в тестовой сети, назначенный на 26 октября, был перенесен после предупреждений специалистов по безопасности о том, что перерасчет может нарушить работу существующих приложений, а исследователь pcaversaccio заявил, что обновление не следует выпускать в текущем виде.
  • •Разработчик banteg указал на список примерно из 200 000 потенциально затронутых контрактов в репозитории, предупредив, что из-за методологических ограничений фактическое число может быть значительно выше и может включать известные протоколы.
  • •EIP-8488 Глисича позволит существующим контрактам сохранить прежний график газа, а новым контрактам — использовать опкоды V2, тогда как дизайн двойного учета газа Ребуффо пока не имеет реализации в клиентах выполнения и результатов тестов консенсуса.
Обновление Ethereum Glamsterdam столкнулось с рисками для смарт-контрактов: разработчики предложили два решения

Два разработчика Ethereum, Лео Глисич и Джулио Ребуффо, представили в воскресенье конкурирующие предложения, описывающие различные стратегии защиты приложений, уже развернутых в сети. Оба касаются возможных последствий предложений по улучшению Ethereum EIP-8037 и EIP-8038, которые увеличат объем газа, необходимый для определенных операций со смарт-контрактами. Этот спор стал серьезной проблемой для Glamsterdam, поскольку разработчики оценивают, можно ли внести предлагаемые изменения ценообразования, не interfereруя с контрактами, спроектированными с учетом действующего графика газа Ethereum.

Изменения газа в Glamsterdam вызывают опасения по поводу совместимости

В центре полемики находятся EIP-8037 и EIP-8038 — два предложения, включенные в запланированное обновление Glamsterdam, которые изменят стоимость создания контрактов и доступа к хранящимся данным блокчейна. Газ — это единица, которой Ethereum измеряет вычислительные ресурсы, необходимые для выполнения транзакций и инструкций смарт-контрактов, а изменения ценообразования газа могут повлиять на поведение приложений, особенно если разработчики программировали контракты с учетом конкретных лимитов выполнения.

Обновления Ethereum, подобные Glamsterdam, объединяют несколько EIP в единое согласованное изменение правил сети, и предложения обычно проходят этапы рецензирования основными разработчиками, реализации в клиентах и тестирования в тестовой сети до принятия решения об активации. Текущий спор разворачивается внутри этого процесса: возражения возникают, пока Glamsterdam все еще проходит оценку в тестовой сети, до того как что-либо достигнет основного блокчейна.

Согласно EIP-8037, базовая плата за газ при создании смарт-контракта вырастет с 32 000 до 183 600 газа, при этом дополнительные затраты, связанные с хранением кода и его выполнением, будут применяться отдельно. Это повышение вызвало опасения, поскольку некоторые существующие приложения Ethereum разрабатывались с расчетом на то, что определенные операции продолжат потреблять прежний объем газа.

Некоторые контракты выделяют фиксированный лимит газа при взаимодействии с другими приложениями. Если стоимость таких взаимодействий превысит выделенный объем, операции могут завершиться сбоем. Ставки особенно высоки для смарт-контрактов, которые нельзя изменить после развертывания, поскольку у таких приложений может не быть простого механизма адаптации к пересмотренному графику газа.

Специалисты по безопасности предупреждают о масштабных сбоях в работе контрактов

Эти опасения уже повлияли на график тестирования Glamsterdam. Хотя обновление было развернуто в тестовой сети Ethereum, второй этап тестирования, назначенный на 26 октября, был перенесен после предупреждений специалистов по безопасности. Тестовые сети Ethereum позволяют разработчикам оценивать изменения протокола до того, как они попадут в основной блокчейн, где приложения и транзакции связаны с реальными активами. Графики газа пересматривались и в предыдущих обновлениях Ethereum, именно поэтому предложения о перерасчете стоимости обычно проверяются на соответствие контрактам, написанным с учетом старых предположений о затратах.

Специалист по безопасности pcaversaccio публично раскритиковал предлагаемые корректировки стоимости газа, заявив, что Glamsterdam не должен продвигаться в существующем виде.

«imho Glamsterdam should not be shipped in its current form, period», — написал pcaversaccio на X.

По словам исследователя, об этих опасениях он сообщил основным разработчикам Ethereum двумя неделями ранее.

Псевдонимный разработчик banteg также поставил под сомнение полноту существующих оценок совместимости, указав на список примерно из 200 000 потенциально затронутых контрактов в репозитории ethereum/repricing-impact. По мнению banteg, методологические ограничения оценки могут означать, что на самом деле затронуто значительно больше контрактов, чем указано в существующем списке. Разработчик также предупредил, что предлагаемые изменения могут помешать развертыванию и работе нескольких известных протоколов Ethereum, а не только менее распространенных приложений.

Эти предупреждения усилили внимание к тому, как разработчики Ethereum намерены внедрить перерасчет стоимости газа, сохранив при этом работоспособность контрактов, уже функционирующих в сети.

EIP-8488 предлагает отдельные правила газа для существующих и новых контрактов

Предложение Глисича, известное как EIP-8488, вводит механизм совместимости, который различает смарт-контракты, развернутые до обновления, и созданные после него. Существующие контракты продолжат работать по действующим правилам ценообразования газа Ethereum, тогда как новые развернутые контракты будут использовать пересмотренный набор инструкций, отражающий повышенную стоимость газа, введенную EIP-8037 и EIP-8038.

Фактически предложение разделит набор инструкций Ethereum на две версии, позволяя старым приложениям сохранить установленные затраты на выполнение, а новым приложениям — следовать обновленной ценовой структуре.

«Existing contracts keep the legacy schedule», — говорится в черновике EIP-8488.

Новые контракты должны будут использовать опкоды V2, связанные с пересмотренным графиком газа. Этот подход призван снизить риски совместимости для приложений, которые невозможно обновить, позволяя Ethereum внедрить запланированные изменения ценообразования газа для будущих развертываний.

Альтернативное предложение вводит двойной учет газа

Ребуффо предложил другой механизм, который применит новый график стоимости газа к биллингу транзакций, сохранив прежнее поведение выполнения для старых смарт-контрактов. Вместо поддержания отдельных наборов инструкций для старых и новых приложений этот дизайн вводит два механизма учета газа в каждой транзакции. Один счетчик отслеживает выполнение контракта по действующим правилам газа, а второй рассчитывает плату за транзакцию по обновленному графику ценообразования.

При такой структуре новый график определяет комиссию за транзакцию, но старые приложения продолжат выполняться в соответствии с предположениями, установленными прежними правилами газа. Предложение направлено на отделение расчета стоимости транзакций от условий выполнения, от которых зависят существующие смарт-контракты.

Однако в черновике признается, что этот дизайн остается непроверенным на уровне реализации.

«no execution-client implementation or consensus tests have been run for this design», — говорится в предложении.

Разработчикам предстоит принять решения по поводу изменений газа в Glamsterdam

Конкурирующие предложения демонстрируют разные подходы к решению одной и той же проблемы совместимости. EIP-8488 Глисича сохранит действующее ценообразование газа для ранее развернутых контрактов, вводя пересмотренный график через новые инструкции. Альтернатива Ребуффо применит обновленный биллинг транзакций, сохранив прежнее поведение выполнения. Оба подхода направлены на то, чтобы предотвратить сбои в работе приложений, зависящих от действующих затрат на выполнение в Ethereum, из-за запланированного перерасчета стоимости газа.

Эта проблема привлекла внимание, поскольку среди затронутых контрактов могут быть устоявшиеся протоколы, которые не могут легко изменить свой развернутый код. После того как тестирование уже было отложено из-за предупреждений о безопасности, эти предложения предлагают возможные технические решения для разработчиков, оценивающих риски совместимости Glamsterdam.

Вехи, которые продвинут эту дискуссию вперед, вполне конкретны: перенесенный этап тестирования в тестовой сети с уже действующим механизмом совместимости и, если какой-либо из черновиков будет продвигаться, реализации в клиентах выполнения и результаты тестов консенсуса для его оценки. Пока эти шаги не предприняты, вопрос совместимости остается открытым по мере прохождения Glamsterdam цикла разработки.

Доступная информация не позволяет утверждать, будет ли принято какое-либо из предложений. Дизайн Ребуффо также остается без реализации в клиентах выполнения и результатов тестов консенсуса, поэтому его техническая осуществимость требует дальнейшей оценки.

Источник: CoinDesk

Впервые опубликовано: Hokanews