Газ и комиссии
Почему транзакции в блокчейне платные, как устроен газ в Ethereum, что такое gwei и сжигаемая базовая комиссия, как считают комиссии в Bitcoin.
Почти любое действие в публичном блокчейне стоит небольшую комиссию. Перевести монеты, обменять токены, выпустить NFT — всё это транзакции, и за их обработку кто-то должен заплатить. В Ethereum и похожих сетях комиссию описывают через газ, в Bitcoin её называют просто комиссией за транзакцию. Разберёмся, зачем нужны комиссии и как они считаются.
Зачем блокчейну комиссии
Комиссии решают сразу две задачи.
- Оплата безопасности: майнеры или валидаторы выполняют реальную работу по поддержке сети, и комиссии — часть их вознаграждения.
- Защита от спама: место в каждом блоке ограничено. Если бы транзакции были бесплатными, сеть можно было бы забить мусором. Комиссия делает это дорогим и помогает решить, какие транзакции обработать первыми, когда желающих много.
Поскольку место в блоках ограничено, комиссии ведут себя как рынок. Когда одновременно транзакции отправляют многие, они конкурируют за место, и комиссии растут. Когда в сети спокойно — снижаются.
Газ в Ethereum
В Ethereum каждая операция, которую выполняет транзакция, имеет фиксированную стоимость в единицах газа. Простой перевод эфира расходует небольшое фиксированное количество газа. Взаимодействие со смарт-контрактом — например, обмен на децентрализованной бирже — обычно требует больше, потому что сети приходится выполнить больше вычислений и сохранить больше данных.
Полезно различать два понятия:
- Израсходованный газ — сколько работы требует транзакция. Зависит от того, что она делает.
- Цена газа — сколько вы платите за единицу газа. Зависит от загруженности сети.
Итоговая комиссия — это, грубо говоря, израсходованный газ, умноженный на цену газа.
Что такое gwei
Цену газа указывают в gwei — мелкой единице эфира. Один gwei равен одной миллиардной эфира, то есть 10^-9 ETH. Так удобнее, чем записывать цену с длинной цепочкой нулей.
Лимит газа
Отправляя транзакцию, кошелёк задаёт лимит газа — максимум, который вы разрешаете на неё потратить. Если транзакции нужно больше, она завершится ошибкой, а уже израсходованный газ всё равно будет оплачен: сеть ведь проделала работу. Обычно кошелёк подбирает подходящий лимит автоматически.
EIP-1559: базовая комиссия и чаевые
В августе 2021 года обновление London ввело EIP-1559, которое изменило механизм комиссий в Ethereum. С тех пор плата за единицу газа состоит из двух частей:
- Базовая комиссия (base fee) — её задаёт протокол для каждого блока. Она растёт, если блоки заполнены сильнее целевого уровня, и снижается, если слабее. Базовая комиссия сжигается: эти монеты навсегда выводятся из обращения, а не достаются кому-либо.
- Приоритетная комиссия, или чаевые, — доплата валидатору, чтобы он включил вашу транзакцию быстрее.
Пользователь также указывает максимальную комиссию — предел, который он готов заплатить за единицу газа. Если базовая комиссия вместе с чаевыми окажется ниже, разница не списывается. Такая схема сделала комиссии более предсказуемыми для расчёта в кошельках, но дешёвыми при высоком спросе они от этого не стали.
Комиссии в Bitcoin
В Bitcoin газа нет. Комиссия за транзакцию зависит прежде всего от её размера в данных, а не от суммы перевода. Транзакция, которая тратит много мелких входов, занимает больше места и стоит дороже, чем транзакция с одним входом, даже если сумма одинаковая. Комиссию обычно указывают в сатоши за виртуальный байт.
Майнеры сами выбирают, какие транзакции включить в блок, и, как правило, предпочитают те, что платят больше за байт. Неподтверждённые транзакции ждут в очереди, которая называется мемпулом. Если в загруженный период заплатить слишком мало, транзакция может долго висеть без подтверждения.
Комиссии в Bitcoin получает майнер, включивший транзакцию в блок. По мере того как с каждым халвингом субсидия уменьшается, комиссии, как ожидается, будут играть всё более заметную роль в доходе майнеров.
Почему комиссии так сильно меняются
- Спрос: громкие события, резкие движения рынка или запуск нового токена быстро заполняют блоки.
- Тип транзакции: сложные вызовы контрактов в Ethereum расходуют больше газа, чем простые переводы.
- Выбор сети: у разных блокчейнов разная пропускная способность и разные правила комиссий.
Как снижают расходы на комиссии
- отправляют транзакции, когда сеть менее загружена;
- пользуются сетями второго уровня (L2), которые объединяют много транзакций и записывают их в основную сеть пачкой;
- в Bitcoin объединяют мелкие входы в периоды низких комиссий.
Комиссии бирж — отдельная история. Централизованная биржа берёт собственную плату за сделки и вывод средств, и её размер устанавливает компания, а не блокчейн.
Главное
- Комиссии оплачивают безопасность сети и защищают её от спама.
- В Ethereum комиссия — это израсходованный газ, умноженный на цену газа в gwei.
- После EIP-1559 базовая комиссия сжигается, а чаевые получает валидатор.
- Комиссия в Bitcoin зависит от размера транзакции, а не от суммы перевода.