Ethereum — это децентрализованная платформа, которая позволяет запускать смарт-контракты и децентрализованные приложения (dApps). Для того чтобы операции в сети Ethereum могли выполняться, необходимо учитывать вычислительные ресурсы, которые требуются для выполнения транзакций и контрактов. Эти вычислительные ресурсы выражаются в единицах, называемых газом. Газ является неотъемлемой частью работы блокчейна Ethereum и играет важную роль в определении стоимости и скорости транзакций.
Что такое газ в Ethereum?
Газ — это единица измерения работы, которая необходима для выполнения операций в сети Ethereum. Каждое действие в сети, будь то выполнение транзакции, изменение состояния смарт-контракта или простое взаимодействие с блокчейном, требует определённого количества газа.
Газ не является самой криптовалютой Ethereum (ETH), но он необходим для оплаты работы сети. В конечном итоге пользователи платят за газ в ETH, но сам газ является абстрактной единицей, которая помогает вычислить стоимость выполнения транзакций.

Зачем нужен газ?
Газ необходим для нескольких целей:
Ограничение злоупотреблений: Газ предотвращает атаки типа "denial of service" (DoS), когда злоумышленники пытаются загрузить сеть ненужными или избыточными вычислениями. Это защищает сеть от чрезмерных затрат вычислительных ресурсов.
Ресурсы вычислений: Каждая операция в Ethereum требует вычислительных ресурсов. Газ служит меткой, которая указывает, сколько этих ресурсов нужно для выполнения операции.
Оплата за выполнение смарт-контрактов: Смарт-контракты могут выполнять сложные вычисления, и за их выполнение также нужно платить. Газ позволяет точно рассчитывать, сколько стоит выполнение определённых операций.
Как работает газ в Ethereum?
В сети Ethereum за выполнение операций, таких как создание транзакции или вызов смарт-контракта, необходимо заплатить определённое количество газа. Это количество газа зависит от сложности выполняемой операции.
Пример: Простая транзакция, например, отправка ETH с одного адреса на другой, может стоить примерно 21 000 единиц газа. Однако более сложные операции, такие как взаимодействие со смарт-контрактами, могут требовать гораздо больше газа.
Газовые лимиты
Каждая транзакция или операция имеет два ключевых параметра, связанные с газом:
Gas limit (лимит газа): Это максимальное количество газа, которое отправитель готов потратить на выполнение транзакции. Если транзакция требует больше газа, чем указано в лимите, она будет отменена, но деньги не будут возвращены.
Gas price (цена за газ): Это стоимость газа, которую пользователь готов заплатить. Газ цена обычно выражается в gwei (1 ETH = 1 миллиард gwei). Чем выше цена за газ, тем быстрее будет обработана транзакция, поскольку майнеры или валидаторы будут предпочитать транзакции с более высокой ценой газа.
Пример расчета комиссии
Предположим, что вы отправляете транзакцию, которая требует 21 000 единиц газа, и устанавливаете цену газа в 50 gwei. Чтобы вычислить стоимость транзакции, нужно умножить цену за газ на количество газа:
Стоимость транзакции = 21,000 × 50 gwei = 1,050,000 gwei = 0.00105 ETH
Таким образом, стоимость транзакции в данном случае составит 0.00105 ETH.

Как комиссии работают в Ethereum?
Комиссия за транзакцию в Ethereum зависит от двух факторов:
Газовое ограничение (Gas Limit): Это максимальное количество газа, которое может быть использовано для выполнения транзакции. Он зависит от сложности транзакции.
Цена за газ (Gas Price): Это сумма, которую отправитель готов заплатить за каждую единицу газа.
Когда транзакция отправляется в сеть, она включает в себя эти два параметра: лимит газа и цену за газ. В случае, если транзакция использует меньше газа, чем указано в лимите, оставшийся газ будет возвращён отправителю. Но если газа не хватает, транзакция отменяется, и все изменения в сети откатываются.
Однако майнеры или валидаторы (в случае Ethereum 2.0 и перехода на Proof of Stake) отдают предпочтение транзакциям с более высокой ценой за газ, поскольку это позволяет им получать большее вознаграждение за обработку транзакций.

Как изменяются комиссии в сети?
Цена газа может варьироваться в зависимости от состояния сети. Например, если сеть Ethereum перегружена (например, в период активных торгов или запусков крупных децентрализованных приложений), спрос на вычислительные ресурсы растёт, и, как следствие, цена газа повышается.
Для повышения эффективности транзакций в сети Ethereum существует механизм, называемый EIP-1559, который был внедрён в обновлении London Hard Fork. Этот механизм включает динамическое изменение базовой цены газа, которая зависит от текущей загруженности сети. Если сеть перегружена, базовая цена газа увеличивается, а если сеть свободна, то она уменьшается.
Роль EIP-1559 и базовой цены газа
EIP-1559 был предложен с целью улучшить предсказуемость и стабильность комиссии за газ. До этого изменения, пользователи должны были указывать цену за газ вручную, и в результате этого могли столкнуться с проблемами, когда комиссия была либо слишком высокой, либо слишком низкой. EIP-1559 вводит базовую цену газа, которая определяется динамически на основе текущего состояния сети.

При использовании EIP-1559 пользователи оплачивают не только базовую цену газа, но и чаевые (tip), которые идут в пользу майнеров (или валидаторов). Базовая цена уничтожается (сжигается), что также помогает уменьшить инфляцию в сети Ethereum.
Заключение
Газ в Ethereum играет важную роль в обеспечении работы децентрализованных приложений и смарт-контрактов. Он обеспечивает правильную экономику сети, помогая ограничивать злоупотребления и давая стимулы для майнеров и валидаторов.
Транзакции и операции с контрактами требуют газа, который оплачивается в ETH, и стоимость газа зависит от множества факторов, таких как загруженность сети и сложность транзакции. С помощью инновации в виде EIP-1559 процесс расчёта комиссии стал более предсказуемым и эффективным, что сделало использование сети Ethereum удобнее для пользователей.