Разработчики Ethereum предлагают ограничение на газ для защиты от уязвимости к DoS-атакам
Предложенное обновление, инициированное исследователем Ethereum Тони Варштеттером и сооснователем Виталиком Бутериным, направлено на установление лимита использования газа. Эта мера призвана предотвратить сбои, вызванные ресурсоемкими транзакциями.
Новое предложение для Ethereum раскрывает, как одна транзакция может нарушить работу сети
Ключевым аспектом предложения является введение ограничения на использование газа для одной транзакции с максимальным порогом в 16,77 млн единиц газа (2^24).
Разработчики утверждают, что этот лимит газа является сбалансированным решением. Он позволяет проводить сложные транзакции, такие как развертывание контрактов и взаимодействие с продвинутыми DeFi-протоколами, одновременно обеспечивая предсказуемость и справедливость исполнения.
«В рамках проверки блока перед обработкой любой блок, содержащий транзакцию с gasLimit > 16,77 млн, считается недействительным и отклоняется», — говорится в EIP.
Важно отметить, что это ограничение будет применяться ко всем транзакциям, независимо от лимита газа блока, установленного майнерами или валидаторами. Транзакции, пытающиеся превысить этот порог, будут отклонены с генерацией кода ошибки.
Однако EIP-7983 также предлагает механизм разделения крупных транзакций на более мелкие и управляемые единицы. Такой подход значительно снижает риск перегрузки сети одной транзакцией.
По словам разработчиков, мотивация предложения связана с текущими сценариями, в которых одна транзакция может потреблять почти весь лимит газа блока.
Подобные ситуации представляют серьезные риски, включая возможность DoS-атак и снижение совместимости с zero-knowledge виртуальными машинами (zkVMs). Они также способствуют неравномерному распределению нагрузки при исполнении.
Исследователи подчеркивают, что газоемкие транзакции приводят к непредсказуемым результатам производительности и могут перегружать потоки исполнения, что ведет к нестабильности сети в целом.
Исследователи уверены, что Ethereum может достичь лучшего распределения ресурсов, разделяя крупные транзакции на меньшие единицы и устанавливая лимит на газ для отдельных транзакций. Такой подход также способствует созданию более стабильной и масштабируемой сети.
«Ожидается, что это изменение затронет минимальное количество пользователей и dApps, так как большинство транзакций сегодня значительно ниже предложенного лимита», — заявили они.
Обновление находится на стадии рассмотрения, и разработчики оценивают его внедрение и возможные технические компромиссы. В случае принятия EIP-7983 может значительно повысить устойчивость и масштабируемость Ethereum по мере его дальнейшего роста.
Перевод: SatoshiZ9