Комиссия без трёх мифов
- Gas limit — верхний предел работы, а gas used — фактическое потребление. Неиспользованный остаток лимита не превращается в списанную комиссию.
- Base fee задаёт протокол для блока и сжигает её; priority fee мотивирует включение, а max fee ограничивает цену за единицу gas.
- Неуспешная транзакция может потратить комиссию: узлы уже выполнили вычисления до точки, где EVM вернула ошибку.
Gas — это счётчик работы, а не отдельная монета
EVM назначает операциям стоимость в gas: простая передача ETH требует меньше работы, чем вызов контракта с несколькими записями в storage. Пользователь оплачивает этот объём в ETH. Gwei — только удобная единица цены: один gwei равен одной миллиардной ETH. Поэтому фраза «gas вырос» часто смешивает два разных события — приложение стало выполнять больше операций или рынок поднял цену за каждую единицу.
| Поле | Что означает | Чего не обещает |
|---|---|---|
| Gas limit | Максимум gas, доступный исполнению | Что весь лимит будет израсходован |
| Gas used | Фактическая работа до завершения или ошибки | Что транзакция была успешной |
| Цена gas | ETH за одну единицу gas | Фиксированное место в следующем блоке |
| Execution fee | Gas used × effective gas price для обычной type-2 транзакции | Что это единственная возможная составляющая fee |
- Поле
- Gas limit
- Что означает
- Максимум gas, доступный исполнению
- Чего не обещает
- Что весь лимит будет израсходован
- Поле
- Gas used
- Что означает
- Фактическая работа до завершения или ошибки
- Чего не обещает
- Что транзакция была успешной
- Поле
- Цена gas
- Что означает
- ETH за одну единицу gas
- Чего не обещает
- Фиксированное место в следующем блоке
- Поле
- Execution fee
- Что означает
- Gas used × effective gas price для обычной type-2 транзакции
- Чего не обещает
- Что это единственная возможная составляющая fee
EIP-1559 превращает ставку в конверт с потолком
В type-2 transaction кошелёк указывает maxPriorityFeePerGas и maxFeePerGas. Base fee уже следует из состояния сети и меняется от блока к блоку в зависимости от использования предыдущего блока. Для включённой транзакции base fee сжигается, допустимая priority fee достаётся валидатору, а effective gas price не может превысить max fee пользователя.
| Величина | Значение | Роль |
|---|---|---|
| Gas used | 42 000 | Фактически исполненная работа |
| Base fee | 18 gwei | Обязательная цена блока |
| Priority fee | 2 gwei | Стимул валидатору |
| Effective gas price | 20 gwei | Цена в receipt при достаточном max fee |
| Итог | 840 000 gwei = 0,00084 ETH | 42 000 × 20 gwei |
- Величина
- Gas used
- Значение
- 42 000
- Роль
- Фактически исполненная работа
- Величина
- Base fee
- Значение
- 18 gwei
- Роль
- Обязательная цена блока
- Величина
- Priority fee
- Значение
- 2 gwei
- Роль
- Стимул валидатору
- Величина
- Effective gas price
- Значение
- 20 gwei
- Роль
- Цена в receipt при достаточном max fee
- Величина
- Итог
- Значение
- 840 000 gwei = 0,00084 ETH
- Роль
- 42 000 × 20 gwei
Если max fee равен 40 gwei, это не означает автоматическую оплату 40 gwei. Это предел. При base fee 18 gwei и допустимой priority fee 2 gwei effective price составит 20 gwei; неиспользованная разница между потолком и фактической ценой не списывается. Но если потолок ниже необходимой base fee, транзакция может ждать подходящего блока. У type-3 blob transaction из предложения по улучшению Ethereum 4844 (EIP-4844) сверх execution fee есть отдельная blob gas fee, поэтому формулу нельзя выдавать за полный итог для любого типа транзакции.
До подписи виден прогноз, после блока — receipt
Wallet сначала симулирует вызов и оценивает gas limit, затем предлагает fee parameters по текущему состоянию. Это снимок, а не контракт со следующим блоком: состояние смарт-контракта и спрос на block space могут измениться. После включения authoritative-набором для конкретного исполнения становятся status, gasUsed и effectiveGasPrice в receipt, привязанные к transaction hash и сети.
Ошибка исполнения не отменяет уже проделанную работу
Если top-level вызов контракта завершается необработанным revert или исчерпывает доступный gas, изменения состояния всей транзакции откатываются, но узлы уже проверили подпись и выполнили вычисления до ошибки. Перехваченный revert во внутреннем subcall может откатить только этот под-вызов, а внешнее исполнение — продолжиться. Поэтому failed status относится к результату всей транзакции, а комиссия за выполненную работу всё равно может быть списана. Это отличается от отклонения кошельком до broadcast: в сеть тогда ничего не отправлено.
Что сверить, когда комиссия кажется неверной
- правильную сеть, transaction hash и block number;
- status, gas limit, gas used и effective gas price;
- base fee блока и фактически учтённую priority fee;
- value перевода отдельно от transaction fee;
- внутренние token transfers отдельно от нативной комиссии;
- единицы: wei, gwei и ETH, не смешивая их в одном числе.
На другой сети похожие слова могут обозначать другую экономику
EVM-совместимый интерфейс ещё не делает fee model идентичной Ethereum mainnet. Rollup может учитывать L2 execution и отдельную стоимость публикации данных в L1; другая сеть способна менять единицу оплаты или правила ресурса. Поэтому калькулятор одной сети нельзя переносить на другую только из-за знакомых полей gas limit и gas price: для сравнения нужен отдельный разбор сетевых комиссий.
Три коротких уточнения
Высокий gas limit делает транзакцию дороже?
Не сам по себе: итог обычно зависит от gas used. Но слишком низкий limit может оборвать исполнение, а кошелёк должен оценивать его на актуальном состоянии.
Priority fee гарантирует следующий блок?
Нет. Она влияет на стимул включения, но состояние mempool, правила builder и конкурирующие транзакции меняются.
Base fee получает валидатор?
В модели EIP-1559 base fee сжигается; валидатор получает допустимую priority fee и другие protocol rewards.
Источники
Мы используем прямые ссылки и фиксируем дату проверки. Полный текст чужих материалов не перепечатывается.
- Ethereum.org — gas and fees Ethereum Foundation · Проверено 15 августа 2026 г. в 03:02 GMT+5
- Ethereum.org — transactions Ethereum Foundation · Проверено 15 августа 2026 г. в 03:02 GMT+5
- EIP-1559 — fee market change Ethereum Improvement Proposals · Проверено 15 августа 2026 г. в 03:02 GMT+5
- Solidity — error handling Solidity · Проверено 15 августа 2026 г. в 03:02 GMT+5
- EIP-4844 — shard blob transactions Ethereum Improvement Proposals · Проверено 15 августа 2026 г. в 03:02 GMT+5
