Satoshi BrotherСвой человек на крипторынке
RU

Исправление оценок газа в Ethereum (ETH): проблемы и решения от разработчика Geth

Узнайте, как новое предложение разработчика Geth направлено на исправление проблем с оценками газа в Ethereum, улучшая успех транзакций и надежность кошельков.

Исправление оценок газа в Ethereum (ETH): проблемы и решения от разработчика Geth

Проблема с транзакциями в Ethereum

Транзакции в сети Ethereum могут выглядеть успешными, однако за кулисами может скрываться серьезная проблема. Разработчик Geth предложил исправление для оценки газа клиента, согласно черновику запроса на изменение #36084 на GitHub. Патч решает проблему в текущем оценщике, которая может привести к неправильным лимитам газа из-за игнорирования неудачных внутренних вызовов (вызовов от одного смарт-контракта к другому). Хотя транзакция может завершиться успешно, нет гарантии, что действие, которое хотел выполнить пользователь, действительно произошло.

Механизм работы смарт-контрактов

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

Предложение по улучшению оценки газа

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

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

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

Результаты тестирования

Разработчик утверждает, что они воспроизвели 432 транзакции основной сети с новым набором правил из обновления Амстердама и что предложенное изменение исправило 64 из 67 случаев. Лимит газа увеличился на 4%. 254 дополнительных оценки не пострадали из-за отсутствия проблемы, при этом 3 случая остались невыявленными.

Польза для инвесторов

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

На других языках: EnglishDeutschFrançaisItalianoEspañol

Редакционная политика и ИИ · Контакты