Разбираемся что такое Gas, Gas Limit и Gas Price в сети Ethereum

Майнеры Эфириума принимают в качестве оплаты за обработку и помещение транзакций в новый блок «Газ». Если в биткоине процесс комиссионного вознаграждения довольно понятный (отправь средства, заплати комиссию, дождись одобрения, получи), то у эфира он устроен несколько иначе.

Газ (Gas) — это единица исчисления, которая используется для расчета и оплаты комиссии за определенное действие или транзакцию.

Основной принцип остается неизменным — заплатил больше — транзакция пройдет быстрее. Но эфир создавался не как платежная система, а как инструмент для создания децентрализованных приложений (DApps), в котором любая операция управляется через смарт-контракты — особый алгоритм, который представляет из себя цепочку условий для выполнения определенного действия. Следовательно, для того чтобы перевести средства с одного адреса на другой создается смарт-контракт, в котором кроме размера комиссионного вознаграждения (Газа) нам необходимо указать и другие параметры.

Что такое газ / Gas (Ethereum)?

Вы можете подумать о том, чтобы заправить свою машину или даже о том, что вы ели раньше, когда услышите термин «газ». Тем не менее, у этого термина есть особый контекст в мире криптографии. Газ в криптографии относится к вычислительным усилиям, необходимым для выполнения операций.

Вы должны заплатить комиссию за газ, чтобы совершить транзакцию или выполнить смарт-контракт в сети Ethereum. Независимо от того, какой кошелек вы используете, вам всегда нужно будет платить за газ при выполнении транзакций.

Хотите отправить маме немного ETH? Эта транзакция требует газа. Хотите одолжить свои деньги через Compound? Эта сделка тоже требует газа. А как насчет покупки NFT? Как вы уже догадались — газ. Газ — это как плата за проезд. Если вы хотите использовать шоссе, вы должны заплатить за проезд. Чем сильнее автомобиль подвергает дорогу принуждению, тем больше дорожный сбор должен платить водитель. Плата за проезд для 18-колесных водителей намного выше, чем для водителей мотоциклов.

Точно так же, чем сложнее транзакция в Ethereum, тем выше плата за газ.

Что такое Gas Limit?

Gas Limit (лимит газа) – это коэффициент, который используется для расчёта финальной стоимости транзакции. Он умножается на Gas Price, а результат в ETH и будет общей комиссией за перевод.
Вот вы решили отправить Ethereum или токены (для участия в ICO или на другой адрес) с помощью криптовалютного кошелька MyEtherWallet или MetaMask, как вдруг появилась ошибка:

Insufficient funds. Account you try to send transaction from does not have enough funds. Required xxx and got: xx. Недостаточно газа для проведения транзакции…

Это значит, что на балансе кошелька недостаточно ETH, который нужен для оплаты комиссии сети (исчисляется в единицах Gas Limit и Price).

Внимание: Gas, который нужен для переводов в сети Ethereum – совсем не тот, который котируется на криптовалютных биржах и обслуживает Neo. Не стоит их путать (второй можно получить бесплатно).

Каждая транзакция (перевод между кошельками, оплата токенов через Pre-Sale, зачисление купленных токенов после ICO, депозит эфира на биржу, любой возврат ETH и токенов, а также все технические операции со смарт-контрактами) требуют Gas для реализации.

Свежий пример:

  • Если вы создавали новую seed фразу для своего кошелька, но перед этим вывели весь эфир с баланса (а токены оставили), то перевести средства не выйдет.
  • Вы не сможете оплатить комиссию сети – придётся пополнить кошелек.
  • Сколько ETH нужно для этих операций? Точную сумму поможет рассчитать калькулятор в конце статьи.

Вот как устроен процесс обработки транзакции в Ethereum:

Gas списывается с вашего баланса в ETH, поэтому если у вас на кошельке MEW нет эфира, перевод не будет выполнен.

Помните, что при сбое в операции, либо при ошибке в переводе (например, участвуя в ICO, вы указали меньший Gas limit (лимит газа), чем требуется в сети, так что ваш перевод вернулся обратно), потраченный Gas не компенсируется.

Поэтому следует внимательно изучать условия ICO, где должен быть четко обозначен требуемый Gas Limit (чаще всего – 200000). И не отправлять средства впритык, до копеечки – пытайтесь держать некоторый запас ETH на кошельке.

Что такое лимит газа (gas limit)?

Плата за газ указывается в Gwei, что составляет всего 0,0000001 ETH. Вы можете думать о Gwei как о центах, поскольку 1 цент равен 0,01 доллара. Для каждой транзакции, которую вы хотите совершить, вы должны указать, какую комиссию вы готовы заплатить за выполнение транзакции.

Максимальное количество газа, которое вы готовы заплатить в рамках конкретной транзакции, называется лимитом газа. Кроме того, вы также должны ввести цену на газ для каждой транзакции. Лимит газа x цена на газ = плата за газ. Вы платите комиссию за газ при отправке транзакции.

К счастью для вас, MetaMask рассчитывает приблизительную плату за газ, которую вы должны установить для вас, исходя из того, как быстро вы хотите, чтобы ваша транзакция была подтверждена.

Разбираемся что такое Gas, Gas Limit и Gas Price в сети Ethereum

В сети Ethereum, в отличие от Bitcoin, действует не только одноименная криптовалюта — эфир, но и Gas и Gas Limit. Именно они позволяют пользователям не только оплачивать транзакции, но и запускать смарт-контракты и DApps, а также хранить данные на блокчейне.

Платформа Ethereum

Платформа второй по капитализации криптовалюты мира Ethereum была запущена в июле 2015 года Виталиком Бутерином. Цель платформы — предоставить разработчикам открытую распределенную сеть для запуска собственных децентрализованных приложений (DApps) и смарт-контрактов. Если сеть Bitcoin играет роль пиринговой платежной системы, то Ethereum со­здан для вы­пол­не­ния про­грамм­но­го кода с помощью децентрализованной виртуальной машины (EVM).

Эфир — это внутренняя криптовалюта, которую добывают майнеры для поддержания работы сети, и, в отличие от других криптовалют, ее роль не ограничена только платежами. Одна монета эфира делится на: Finney, Szabo, Gwei, Mwei, Kwei и Wei, где Wei — наименьшая единица эфира. Такие названия разработчики дали долям эфира в честь известных личностей, которые внесли существенный вклад в развитие криптовалют. Один ETH равен тысяче Finney, миллиону Szabo, миллиарду Gwei и квинтиллиону Wei.

Количество единиц Wei в каждой доле

Транзакции в Ethereum

За проведение любой транзакции и действия в блокчейне Ethereum взимается комиссия, которую получает майнер. Майнеры сети подтверждают транзакции и решают, какие из них войдут в новый блок сети. Комиссия за транзакцию исчисляется в газе, а оплачивается в эфире. Из чего выходит, что газ — это «топливо» сети Ethereum, которое используется для проведения транзакций, выполнения смарт-контрактов и запуска DApps, а также для оплаты хранения данных.

Газ имеет две составляющих — лимит и цену. Таким образом, работу сети Ethereum обеспечивают:

Эфир (ETH) — это криптовалюта сети Ethereum, вторая по размеру капитализации на крипторынке.

Газ (Gas) — это единица исчисления, которая обозначает размер комиссии за определенное действие или транзакцию.

Лимит газа (Gas Limit) — это максимальное количество газа, которое пользователь готов заплатить за выполнение этого действия или подтверждения транзакции (минимум — 21,000).

Цена газа (Gas Price) — это количество Gwei, которое пользователь готов потратить на каждую единицу газа.

Для каждой транзакции отправитель устанавливает лимит и цену газа. Чтобы самостоятельно рассчитать общую стоимость комиссии за транзакцию в эфире, необходимо умножить лимит газа на его цену. Например, если лимит газа равен 50,000 единицам, а цена газа — 20 Gwei, то это значит, что отправитель готов потратить на выполнение транзакции 0.001 эфира.

Чем выше цена газа, которую отправитель готов заплатить, тем приоритетней его транзакция в сети Ethereum, поскольку вознаграждение майнера будет выше. Этот вариант подходит тем, кто участвует в предпродаже токенов популярного ICO и хочет увеличить шансы на включение своей транзакции в следующий блок. Однако, установив низкую цену на газ, отправитель экономит собственные средства, например, при переводе средств с одного кошелька на другой.

После выполнения транзакции весь неиспользованный газ возвращается на счет отправителя. Но если он указал слишком низкое значение для лимита газа, то его транзакция считается недействительной и будет отклонена в связи с ошибкой «Out of Gas», а потраченный на вычисления газ не вернется на счет. Стоит иметь в виду, что отправитель всегда платит майнерам за вычисления, независимо от того, пройдет транзакция или нет. Процесс обработки транзакции с кошелька MyEtherWallet будет выглядеть следующим образом:

Для того чтобы подсчитать в ETH или USD количество эфира, лимит газа и время транзакции, существует онлайн-сервис ETH Gas Station. А сервис GasPriceOracle, основываясь на информации о последних транзакциях, рассчитывает цену газа и время, необходимое для выполнения вычислений майнерами. На сегодняшний день за 1 Gwei на подтверждение транзакции уйдет около 30 минут, а за 40 Gwei — порядка 1−2 минут.

Будь в курсе! Подписывайся на Криптовалюта.Tech в Telegram

Куда уходят ваши сборы за газ?

Вы можете спросить: «Почему моя транзакция будет подтверждена, если я установлю более высокую плату за газ?» Отличный вопрос!

Когда вы отправляете транзакцию в Ethereum, вы конкурируете с другими людьми, которые также хотят отправить транзакцию. Хотя вы можете отправлять своей маме немного эфира, кто-то в Индии может торговать на Uniswap. Каждый человек пытается выполнить свою транзакцию одновременно. Но только определенное количество транзакций может быть включено в блок Ethereum, и каждые примерно 13 секунд появляются только новые блоки. Фактически в каждом блоке всего 12,5 млн единиц газа. Это означает, что все соревнуются друг с другом за включение своей транзакции в следующий блок. Когда спрос высок, а предложение ограничено, поскольку в блок может быть включено только определенное количество транзакций, цена должна увеличиваться.

Но когда вы отправляете транзакции, где они, прежде чем майнеры их одобрят? Эти транзакции отправляются в пул памяти, сокращение от «пул памяти». Мемпул — это место, где находятся все транзакции, которые были отправлены, но еще не проверены. Короче говоря, мемпул — это очередь ожидания проверки. Майнеры, которые проверяют транзакции перед выполнением, чтобы убедиться, что они не являются вредоносными, выбирают транзакции, которые должны быть включены в следующий блок из мемпула.

«Так почему же майнеры выбирают мою транзакцию из мемпула раньше всех?» Потому что, конечно, я заплачу им больше!

Майнеры выбирают, какие транзакции должны быть включены в следующий блок, исходя из того, насколько высока плата за газ, установленная пользователями перед отправкой транзакции. Чем выше плата за газ, тем выше вероятность, что майнер захочет включить вашу транзакцию в следующий блок. В этой ситуации возникает конкуренция, поскольку вы конкурируете со всеми, устанавливая плату за газ в течение этого периода времени за пространство блока.

Out of gas ethereum

Ethereum Stack Exchange is a question and answer site for users of Ethereum, the decentralized application platform and smart contract enabled blockchain. It only takes a minute to sign up. Sign up to join this community. For example, interacting with smart contracts often leads to high costs since the. ETH wallets such as MetaMask provide a way to set the gas limit.
If you run out of gas when exchanging Ethereum, it’s similar to running out of gas when driving a car, except imagine that you reached your destination without being able to get out of the car. If you see the message out of gas, your exchange was successfully completed. Increase the gas cost of SLOAD ( 0x54) to 2100, and the *CALL opcode. though these technologies may take a long time to fully roll out.

Not enough gas for a transaction! How many gwei is it? by Y Faqir-Rhazoui · 2022 · Cited by 1 — However, most blockchain infrastructure (e$1. Ethereum) requires. We need to talk about the block gas limit. Here are some definitions of terms related to gas. The referenced eth APIs are part of the library. gas: unit of measurement for the computational work of running transactions or smart contracts in the Ethereum network; gasLimit: maximum amount of gas that can be spent on all transactions within a single block. This is not configurable.

Почему транзакции занимают так много времени?

Поскольку все пользователи конкурируют друг с другом за пространство для блока, если вы установите слишком низкую плату за газ, майнеры предпочтут не включать вашу транзакцию в блок в ближайшем будущем. Таким образом, ваша транзакция занимает так много времени, потому что вы не установили достаточно высокую плату за газ, чтобы ваша транзакция была включена в блокировку в ближайшем будущем. Вам придется подождать, пока плата за газ, которую готовы платить другие пользователи, снизится, чтобы ваша плата за газ была привлекательной для майнеров.

Отказ от ответственности: Эта статья предназначена для общего руководства и информационных целей только для новичков, участвующих в криптовалютах и DeFi. Содержание этой статьи не должно толковаться как юридическая, деловая, инвестиционная или налоговая консультация. Вам следует проконсультироваться со своими консультантами по всем юридическим, деловым, инвестиционным и налоговым последствиям и советам. ConsenSys не несет ответственности за потерянные средства. Пожалуйста, используйте здравый смысл и проявите должную осмотрительность, прежде чем взаимодействовать со смарт-контрактами.

Spread the love

Параметры для расчета комиссии

Первый из них — Gas Limit или Лимит Газа — максимальное количество Газа, которое может у вас списаться при проведении транзакции или выполнении какого-либо цикла операций.

Необходимо запомнить, что стандартный лимит Газа для совершения одного перевода ETH на другой адрес 21 000 Gas!

Т.е. если вы будете использовать кошелек эфириума только для совершения платежей — этот параметр всегда будет оставаться неизменным, т.к. все транзакции обрабатываются стандартным смарт-контрактом для отправки, одинаковым для всех.

Но иногда, для участия в ICO необходимо увеличить этот параметр, чтобы купленные токены могли вернуться на ваш адрес. В таком случае не следует экспериментировать — необходимо обратиться к указанным на официальном сайте проекта контактным лицам и узнать у них рекомендуемый размер параметра Gas Limit.

Чтобы понять, что произойдет если мы ошибемся при выборе лимита, рассмотрим все на примере:

Для участия в ICO мы хотим отправить на адрес кошелька проекта некоторую сумму ETH. Для транзакции мы установили параметр Gas Limit на 100 000. Теперь есть два варианта:

  • В смарт-контракте проекта был прописан лимит в 50 000. Следовательно, нашего газа хватит и транзакция будет успешно включена в блокчейн.
  • В смарт-контракте проекта был прописан лимит в 125 000. Нам не хватит наших ста тысяч, чтобы покрыть эту сумму, а значит они просто полностью истратятся, но транзакция проведена не будет. При этом в нашем кошельке отобразится ошибка:

“Insufficient funds. Account you try to send transaction from does not have enough funds. Required xxx and got: xx. Недостаточно газа для проведения транзакции…”

Отправленные средства вернутся обратно в наш кошелек за вычетом стоимости потраченного Газа — 100 000. Возникает резонный вопрос: почему разработчики сделали все именно так?

Лимит Газа является одной из функций защиты от ошибок. Как мы уже говорили, Эфир — это платформа в первую очередь ориентированная на разработчиков. Довольно часто в приложениях необходимо запускать большие циклы операций. Вот именно для того, чтобы в результате ошибки алгоритма пользователь не потерял крупную сумму и существует Gas Limit.

Рейтинг
( 2 оценки, среднее 4.5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]