
Комиссии gas в Ethereum: объяснение для пользователей самостоятельного хранения
Любое действие в Ethereum стоит gas, и для того, кто хранит собственные ключи, эта комиссия решает, подтвердится транзакция или застрянет. Когда комиссии gas в Ethereum объяснены простыми словами — это одна из самых полезных вещей, которые может сделать пользователь самостоятельного хранения: как только механика становится понятной, числа в кошельке перестают быть загадкой и превращаются в решение, которое вы принимаете осознанно.
Это руководство охватывает, за что вы платите, формулу комиссии, как EIP-1559 делит комиссию на сжигаемую base fee и чаевые валидатору, почему даже неудавшаяся транзакция стоит денег, а также как сюда вписываются SSP и более дешёвые сети L2. Только начинаете с ETH в SSP? Начните с Ethereum в SSP, а затем вернитесь сюда.
Что такое gas на самом деле
gas — это единица, которой Ethereum измеряет вычислительную работу. У каждой операции есть фиксированная стоимость в gas, и сеть их суммирует: простой перевод ETH дёшев, потому что делает мало, тогда как swap или взаимодействие с DeFi затрагивает больше кода контракта и сжигает больше gas. gas существует потому, что место в блоке общее и ограниченное, поэтому сеть назначает цену за спрос на это место и платит валидаторам, которые выполняют работу. Документация по gas от Ethereum Foundation — канонический источник.
Формула комиссии: gas used умножить на gas price
Полная комиссия любой транзакции — это простое умножение:
комиссия = gas used × gas price
gas used — это сколько работы выполнила транзакция; gas price — это сколько вы платите за единицу, в gwei: это доля ETH, где один ETH равен миллиарду gwei, а один gwei — миллиарду wei, наименьшей единице. Так, перевод, использующий 21 000 gas по цене 20 gwei, стоит 0,00042 ETH; при 80 gwei он стоит вчетверо дороже, хотя работа идентична. Цена за единицу движется со спросом, тогда как объём работы остаётся фиксированным.
EIP-1559: base fee плюс priority fee
В 2021 году обновление EIP-1559 изменило то, как определяется gas price: вместо единого слепого аукциона, где все угадывали, комиссия теперь состоит из двух частей.
base fee алгоритмически задаётся протоколом, для каждого блока, исходя из того, насколько полным был предыдущий блок: она растёт, когда блоки заполнены больше чем наполовину, и падает, когда они пустее, так что цена плавно реагирует на спрос. Что особенно важно, base fee сжигается — навсегда изымается из обращения, — поэтому не достаётся ни одному валидатору.
priority fee, или чаевые, — это то, что вы добавляете сверху, чтобы стимулировать валидатора включить вас раньше. Поскольку base fee сжигается, именно чаевые валидаторы реально зарабатывают, поэтому более высокие чаевые выигрывают оспариваемое место в блоке, когда сеть загружена. base fee одинакова для всех в блоке; чаевые — рычаг, которым управляете вы. Полную спецификацию смотрите в самом EIP-1559.
maxFeePerGas и maxPriorityFeePerGas: пределы, которые вы задаёте
Поскольку base fee может меняться между блоками, пока ваша транзакция ждёт, EIP-1559 позволяет задать два потолка вместо одной фиксированной цены.
- maxPriorityFeePerGas — это максимум, который вы заплатите как чаевые валидатору.
- maxFeePerGas — это абсолютный максимум, который вы заплатите за единицу gas в сумме: base fee плюс чаевые вместе.
С вас списывается фактическая base fee блока плюс ваши чаевые, но никогда больше, чем maxFeePerGas; если base fee окажется ниже, остаток возвращается, так что скачок, пока вы ждёте, не сможет списать с вас лишнего. Большинство кошельков, включая SSP, заполняют эти значения исходя из текущих условий, так что вы обычно выбираете скорость, а не вводите числа.
gas limit против gas used, и почему неудавшиеся транзакции всё равно стоят gas
Ещё одно число сбивает людей с толку: gas limit — максимальное количество gas, которое вы разрешаете израсходовать транзакции. Это предохранительный потолок для работы, а не цена: с вас взимается только фактически использованный gas. Простой перевод всегда использует 21 000 gas; для взаимодействия с контрактом кошелёк оценивает лимит с запасом.
Болезненная часть — это сбой. Если у транзакции заканчивается gas или она откатывается на полпути, уже выполненную работу всё равно нужно оплатить. Неудавшаяся или откатившаяся транзакция всё равно стоит gas. Слишком низкий gas limit — частая причина сбоя из-за нехватки gas, и именно поэтому позволить кошельку оценить лимит лучше, чем настраивать его вручную.
Почему комиссии gas резко растут
Цены на gas растут по одной причине: спрос на место в блоке превышает предложение. Размер блока ограничен, поэтому, когда многие совершают транзакции одновременно — запуск популярного token, востребованный mint NFT, резкое движение рынка, — алгоритм base fee толкает цену вверх блок за блоком, пока спрос не остынет, а чаевые растут по мере того, как пользователи борются за включение.
Поэтому комиссии в основной сети Ethereum очень переменчивы: один и тот же перевод может стоить несколько центов в спокойный час и несколько долларов в разгар ажиотажа; работа не изменилась, изменилась только цена — вот почему важен момент.
Как кошельки оценивают комиссии: медленно, обычно, быстро
Вы редко задаёте сырые gwei вручную. Кошельки считывают текущие условия и предлагают предустановки — обычно медленно, обычно и быстро, — которые соответствуют разным уровням чаевых и времени подтверждения.
- Более медленный вариант использует меньшие чаевые: дешевле, но может занять больше времени, а во время скачка может остаться в ожидании.
- Обычный вариант нацелен на подтверждение в ближайшие несколько блоков по разумной цене.
- Более быстрый вариант платит более высокие чаевые, чтобы попасть раньше, — это оправдано, когда вы гонитесь со временем или волатильными ценами.
Это оценки, а не гарантии. Если транзакция с низкой ценой застряла, отправьте её заново с тем же nonce и более высокой комиссией — это действие «ускорить» или «заменить», описанное в статье отправка и получение Ethereum с SSP. В SSP замена — это новая транзакция, поэтому она всё равно требует совместной подписи 2-of-2.
gas в SSP: оплата через UserOperation
SSP хранит ваш ETH в multisig 2-of-2, и в сетях EVM это смарт-контрактный аккаунт ERC-4337 — что меняет форму транзакции, но не экономику gas. Вместо того чтобы транслировать обычную транзакцию, аккаунт выражает своё намерение как UserOperation, которую bundler отправляет в сеть. gas оплачивается как часть этой UserOperation, и под капотом по-прежнему применяются те же base fee и priority fee по EIP-1559: вы всё равно платите gas used × gas price в ETH, совместно подписанные обоими устройствами как единая Schnorr-агрегированная операция.
account abstraction также делает возможным спонсирование gas: ERC-4337 позволяет paymaster оплачивать gas от имени пользователя, так что в принципе комиссию мог бы покрыть третий участник или её можно было бы оплатить в token вместо ETH. Это возможность стандарта, а не обещание о конкретном поведении — глубина относится к объяснению account abstraction (ERC-4337). Пока же держите немного ETH на аккаунте, чтобы покрывать gas.
Дешевле по своей природе: gas в сетях L2
Если комиссии основной сети кажутся высокими, вам не обязательно совершать там все транзакции. Тот же набор ключей SSP охватывает ряд сетей EVM, а сети L2 и сайдчейны вроде Polygon и Base намного дешевле — часто доли цента, — потому что выполняют тяжёлую работу вне основной сети, где места в блоке гораздо менее дефицитно.
Модель та же — вы платите gas в нативном token сети, и обычно применяется ценообразование в стиле EIP-1559, — но числа в сравнении крошечные. О том, когда и как ими пользоваться, читайте в статье использование SSP в Polygon, Base и других сетях EVM.
Комиссии Bitcoin против Ethereum, вкратце
Если вы пришли в SSP из Bitcoin, модель комиссий Ethereum покажется родственной, но иной: обе назначают цену за дефицитное место в блоке и позволяют платить больше за более быстрое подтверждение, но разница в том, за что вы платите. Комиссии Bitcoin зависят от размера транзакции в байтах — сколько места она занимает в блоке — по ставке в сатоши за байт, без произвольных вычислений, а значит без gas limit и без сбоя из-за нехватки gas. Комиссии Ethereum назначают цену за вычислительную работу, меняются в зависимости от того, что делает ваша транзакция, и добавляют сверху структуру base fee плюс чаевые из EIP-1559. О стороне Bitcoin читайте в статье стратегия комиссий Bitcoin в SSP.
Практические советы для пользователей самостоятельного хранения
- Выбирайте время для транзакций. Если перевод не срочный, более спокойный период может существенно снизить стоимость.
- Проверяйте оценку перед совместной подписью. SSP показывает комиссию, пока вы её просматриваете: взгляните на неё на обоих устройствах перед подтверждением.
- Держите запас ETH на gas. Баланс из одних token не может оплатить собственный gas, поэтому всегда держите немного ETH — и правильный нативный token в каждой сети L2.
- Используйте L2, когда это уместно. Для частых или мелких переводов более дешёвая сеть EVM экономит куда больше, чем тщательный выбор момента в основной сети.
- Не паникуйте из-за застрявшей транзакции. Ту, что застряла, обычно можно ускорить, отправив её заново с тем же nonce.
Куда двигаться дальше
gas перестаёт пугать, как только вы видите его составляющие: вы платите gas used × gas price, цена — это сжигаемая base fee плюс чаевые, которыми вы управляете, и даже неудавшаяся транзакция оплачивает выполненную работу. Отсюда переходите к практике с отправкой и получением Ethereum с SSP или исследуйте более дешёвую сторону с использованием SSP в Polygon, Base и других сетях EVM. В какой бы сети вы ни были, принцип SSP остаётся прежним: два ключа, одна подпись и комиссии, которые вы контролируете.


