Тема высоких комиссий в Ethereum стала актуальной в 2020 году. Рост популярности DeFi проектов усилил нагрузку на сеть Ethereum, увеличив количество транзакций, в том числе сложных – ввод/вывод средств на смарт-контракты. Помимо этого, эфириум является основной площадкой для создания новых криптовалют – около 4000 криптовалют и их производных работают на блокчейне Ethereum*.
Эти причины привели к росту размера комиссий за транзакции в сети до рекордных максимумов. В статье рассмотрим, как рассчитываются комиссии, их зависимость от вида транзакции и времени проведения. Также будут ссылки на ресурсы, с помощью которых можно отслеживания и рассчитывать размеры комиссий.
Как рассчитываются
Ethereum работает на алгоритме PoW (Proof-of-Work), соответственно подтверждением транзакций и созданием новых блоков в сети занимаются майнеры и за это получают комиссию. Как рассчитывается комиссия за транзакцию:
Газ (Gas)
Комиссия за транзакцию измеряется в единицах gas (газ), количество которого зависит от сложности транзакции. Стандартная транзакция – это, например, перевод из кошелька в кошелёк монет ETH или токенов криптовалют, построенных на блокчейне Ethereum (токены стандарта ERC-20). При проведении такой транзакции расходует до 21 000 единиц газа.
Существуют более сложные транзакции, например, перевод средств в смарт-контракт, используемый в DeFi проекте. В таком случае расходуется несколько сотен тысяч единиц газа. Из личного опыта**, чтобы завести деньги на площадку Aave (сделать одну транзакцию) необходимо израсходовать 250 000 – 270 000 единиц газа, независимо от суммы транзакции. А для ввода средств в пул ликвидности на Uniswap потребуется 130 000 -190 000 единиц газа, независимо от суммы ввода.
Количество газа, используемого для транзакции, не зависит от суммы транзакции, а зависит от её типа.
Гвеи (Gwei) и ETH
Стоимость газа оценивается в gwei (гвей).
1 Gwei = 0,000000001 ETH (одна миллиардная).
Отправленная пользователем транзакция попадает в очередь (mempool) на подтверждение к майнерам. Майнеры подтверждают транзакцию и включают её в новый блок. Поскольку блок ограничен по размеру и майнеры получают вознаграждение за подтверждение каждой транзакции, то им выгоднее в первую очередь подтверждать транзакции с более высокой ценой за газ. Получается некий аукцион – для того, чтобы транзакция прошла быстрее, пользователь увеличивает цену за единицу газа.
Обычно при совершении транзакции кошелёк автоматически определяет цену за газ. Но, в зависимости от конкретной ситуации, пользователь может сам устанавливать цену на газ в своём кошельке – чем цена выше, тем транзакция пройдёт быстрее и наоборот. Чтобы взвешенно определить цену, воспользуемся следующим ресурсом https://www.ethgasstation.info:
Сайт анализирует цены на газ в реальном времени, во всей сети Ethereum и рекомендует цены, в зависимости от желаемой скорости проведения транзакций. Вводим цену за единицу газа, лимит газа и сайт отобразит сколько времени займёт обработка транзакции и размер комиссии.
Цена «Cheap» – это минимальная гарантированная цена, при которой транзакция точно получит подтверждение хотя бы у кого-то из майнеров и не застрянет. Цена ниже «cheap» приведёт к длительному подтверждению или вообще к «застреванию» транзакции. Застрявшую транзакцию можно будет или отменить (например, в MetaMask есть такая функция) или повторно отправлять по более высокой цене, в обоих случаях придётся заплатить дополнительную комиссию.
Цена «Fasten» – это цена, которую примет любой майнер как приоритетную, и транзакция пройдёт максимально быстро. Ставить цену выше этой – излишнее расходование средств, которое существенно не ускорит транзакцию.
Стоимость газа за прошедший период времени можно отследить на ресурсе https://ethereumprice.org/gas/:
Пример расчёта цены
Предположим, я из Ethereum-кошелька MetaMask хочу отправить 0,002 ETH кому-нибудь. Получаем такой экран:
Кошелёк предлагает использовать лимит в 21 000 газа. Цену за газ я выбираю самостоятельно = 35 гвеев за единицу – это та самая минимально гарантированная цена на этот момент, по которой транзакция пройдёт. Получаем такой расчёт комиссии:
21 000 газа *35 гвеев / 1 000 000 000 = 0,000735 ETH * 497 долларов (цена1 ETH) = 0,36 доллара.
Время проведения транзакции составит примерно 9 минут.
Скрин и расчёт просто для примера. Реально делать эту транзакцию не буду – бессмысленно переводит активов на 1 бакс и платить за это 0,36 доллара.
Ещё пара полезных ресурсов
https://etherscan.io – можно отследить транзакции, увидеть рекомендуемую среднюю цену на газ и другую информации по сети Ethereum.
https://bitinfocharts.com/ru/ethereum/ - наглядно представлена основная статистическая информация по Ethereum, в том числе есть график с размером комиссий за транзакции за всё время работы сети. Максимальных размеров комиссия достигала 02.09.2020 и составила 14,6 доллара за транзакцию:
В заключение
Создавая статьи про DeFi и Ethereum, каждый раз сталкивался с расчётом комиссий в сети и искал инфу по разным ресурсам. Эта статья как попытка собрать воедино всю информацию по теме комиссий в Ethereum🙂
Если увидели ошибки или есть что дополнить пишите в комментарии.
21.11.2020
У нас появился Телеграм-канал, где будем публиковать анонсы новых статей выходящих на Дзен-канале и наблюдения, которые показались интересными, но вышли за тему еженедельной статьи.
Подписывайтесь на каналы и читайте про криптовалюты.
* https://www.coingecko.com/ru?asset_platform_id=ethereum&view=market
**статьи по теме: