
Пересчёт газа в Glamsterdam может сломать часть контрактов
Предстоящий апгрейд Ethereum Glamsterdam изменит стоимость газа за создание и доступ к состоянию, и небольшое число смарт-контрактов может сломаться или начать работать хуже в результате, заявили в Ethereum Foundation.
Цены на газ за операции с состоянием в последний раз корректировались в форке Berlin в 2021 году. С тех пор состояние Ethereum значительно выросло, а недавние повышения лимита газа ускорили этот рост ещё сильнее. Ethereum Foundation представляет этот репрайсинг как необходимое условие для дальнейшего повышения лимита газа: новая шкала построена вокруг целевого показателя производительности, который поддерживает рост базовой пропускной способности примерно в 3 раза.
Изменение вносят два EIP. EIP-8037 повышает и отдельно измеряет стоимость создания нового состояния, новых аккаунтов, новых слотов хранилища и развёрнутого байткода, чтобы рост состояния оставался устойчивым по мере повышения лимитов газа. EIP-8038 повышает стоимость доступа к уже существующему состоянию, включая SSTORE, SLOAD, доступ к «холодным» аккаунтам и EXTCODESIZE/EXTCODECOPY, чтобы отразить реальную производительность этих операций при текущем размере состояния.
Чтобы оценить реальное влияние, Ethereum Foundation воспроизвела исторические транзакции мейннета по новой шкале и разделила результаты на четыре исхода. Большинство транзакций не показывают никаких изменений. Часть проходит успешно, но с другой суммой затраченного газа или иной небольшой деталью. Меньшая группа исчерпывает газ при исходном лимите, но успешно завершается при более высоком. Последняя группа не проходит даже при значительно повышенном лимите газа.
Контракты из последней группы обычно опираются на жёстко заданные предположения о газе: фиксированный стипенд Solidity в 2300 газа для transfer и send, жёстко заданные значения газа в вызовах, логику, ветвящуюся по gasleft(), или предподписанные транзакции, построенные вокруг фиксированного лимита газа. Ethereum Foundation утверждает, что большинство выявленных проблем решается простым повышением лимита газа, а подавляющее большинство контрактов вообще не затронуты.
Разработчики, поддерживающие L1-контракты, могут вставить адрес контракта в инструмент поиска затронутых контрактов проекта, чтобы увидеть конкретные сценарии сбоя и то, какой EIP их вызывает. Контрактам, которым достаточно более высокого лимита газа, можно всё исправить, обновив этот лимит во фронтенде, инфраструктуре или там, где его задают пользователи. Контракты, помеченные как потенциально сломанные, требуют проверки затронутых участков кода и тестирования на новой шкале, которая уже работает на тестнете Platåberget.
У разработчиков кошельков, RPC и инструментов для нод отдельная задача. Оба EIP меняют то, что должны учитывать eth_estimateGas и связанные вызовы, и любые закэшированные газовые константы в этих инструментах будут занижать стоимость и приводить к неудачным транзакциям после включения новой шкалы. Обычным пользователям делать ничего не нужно: обновлённые кошельки и инфраструктура учтут эти изменения автоматически.
- Изменение: репрайсинг газа за создание состояния (EIP-8037) и доступ к состоянию (EIP-8038) в апгрейде Glamsterdam
- Последняя корректировка: форк Berlin, 2021 год
- Цель: поддержка роста базовой пропускной способности примерно в 3 раза при дальнейшем повышении лимитов газа
- Проверка риска: вставить адрес контракта в инструмент поиска затронутых контрактов
- Тестирование исправлений: тестнет Platåberget (glam-devnet-8), уже работает
Новая газовая шкала уже работает на девнетах и перейдёт на публичные тестнеты до активации в мейннете. Ethereum Foundation уже напрямую связалась с командами наиболее затронутых контрактов и говорит, что базовая цель проста: газ, отражающий реальную стоимость ресурсов, позволяет лимитам газа блоков продолжать расти без потери производительности для операторов нод, обрабатывающих каждую транзакцию.
Это не финансовый совет — только информация к размышлению.

Комментарии (0)
Пока нет комментариев — будь первым!
Похожие материалы
ПопулярноеТоп 7
Крипторынок теряет 4-5% за день: что говорят объёмы и трейдеры
72Рынок





