Что такое Газ в Эфириум (Ethereum Gas)?

Что такое газ в Эфириуме? Сколько платить за транзакции Ethereum.

«Не хватило газа на выполнение транзакции! Что это значит? Что делать то?» — такие вопросы часто задают пользователи Эфириума. И действительно: Gas, Gwei, контракты — зачем так все усложнять? В прошлый раз разбирались с транзакциями Биткоина. Сейчас задача стоит посложнее, погнали!

1 ETH = 1000000000000000000 wei = 1000000000 gwei (shannon) = 1000000 szabo = 1000 finney

Вот так Виталик Бутерин и Ко прикололись над пользователями (зная как Виталик одевается, что мы часто обсуждаем в чате 2BTC, не удивительно). Они назвали доли Эфиров в честь значимых фигур в истории криптовалют.
Hal Finney — первый пользователь Биткоин, после Сатоши Накамото
Nick Szabo — создатель идеи смарт-контрактов
Wei Dai — создатель концепта b-money, по сути, предка Биткоина
Хотите изучить подробнее «почему так названы» — читайте эту статью.

Обычно у новых пользователей Эфира бомбит, когда они впервые встречаются с понятием газ. В Биткоине все было просто — установил размер комиссии и ждешь пока перевод пройдет. Маленькая комиссия — долго ждешь, большая — поменьше. Биткоин был создан как криптовалюта, для того чтобы переводить деньги между людьми. Основное отличие Эфириума от Биткоина заключается в наличии децентрализованной виртуальной машины (EVM). Она позволяет запускать любую программу/смарт-контракт (обычно на языке программирования Solidity) при наличии достаточного количества времени и памяти (Подробнее). Ethereum создавался не как валюта для переводов, а как платформа для выполнения приложений (с оплатой теми самыми Эфирками — ETH).

В статье про кошельки Эфира мы говорили, что родной кошелек Ethereum жрет слишком много ресурсов компьютера. Это происходит как раз потому, что на вашем компьютере работает та самая виртуальная машина EVM и выполняет разные программы.

Что можно сделать в сети Ethereum? Газ.

Для простоты рассмотрим 3 действия, которые можно сделать:

  1. Перевести ETH другому пользователю.
  2. Создать смарт-контракт (программу) и записать ее в блокчейн.
  3. Выполнить смарт-контракт (программу).

За каждую из этих операций нужно заплатить. Единицей оплаты в сети Ethereum является «газ». На самом деле перевод «газ» является неточным, «gas» было бы правильнее перевести как «бензин». Каждая операция стоит определенное количество газа (бензина). Можно провести аналогию с автомобилем: чтобы поехать в магазин нужно небольшое количество бензина, а для поездки в другой город его потребуется много.

  1. Для перевода ETH с одного кошелька на другой требуется 21000 gas.
  2. Для создания смарт-контракта может потребоваться разное количество газа, возьмем произвольный контракт:

    У каждого контракта в разделе «Contract Creator» указан адрес создателя и транзакция по записи контракта в блокчейн (выделена красной рамочкой). Если посмотреть эту транзакцию видно, что на создание было потрачено 219780 gas.
  3. Для выполнения смарт-контракта тоже может потребоваться разное количество газа, дело в том что контракт (программа) может выполнить разное количество операций в ходе работы. Если посмотреть на контракт, что мы выбрали для примера — каждый пользователь заплатил за его выполнение 22968 gas. Вы можете убедиться в этом сами, посмотрев информацию о каждой из транзакций:

Подробно необходимое количество газа для каждой операции описано в «уставном документе» Ethereum — Yellow paper, стр. 20. Например, для записи данных в блокчейн необходимо намного больше газа, чем для простого перемножения двух чисел.

Тема создания смарт-контрактов очень интересна, но, прежде всего, для разработчиков. Кстати, Etherscan покажет вам все, даже код транзакции, вы всегда можете посмотреть что там происходит.

Транзакция в сети Ethereum

В Эфире любая транзакция состоит из четырех частей:

  1. Адрес получателя
  2. Сумма ETH к переводу (может быть 0)
  3. Предельная величина газа на исполнение транзакции
  4. Дополнительные данные

При включении транзакции в блок исполняется требуемый код (если это запрос к смарт-контракту), и потребленное контрактом кол-во газа переводится в Эфирки и списывается с вас в виде вознаграждения майнеру.

Лимит газа служит определенным ограничителем платы за транзакцию. Если вы выставите лимит 1 000 000 gas, а смарт-контракту нужно всего лишь 50 000 gas, то вы и заплатите только 50 000. Лимит сделан для того, чтобы обезопасить пользователя и он не потратил больше средств, чем может себе позволить (скажем контракт мог бы запустить бесконечный цикл и пользователь попал бы впросак). Кстати, если для выполнения транзакции контракту нужно будет 1 000 005 gas, то, увы, gas потратится, а до конца программа не доработает и не выдаст результат. Обычно разработчики сами указывают сколько gas необходимо для выполнения их смарт-контракта.

— СКОЛЬКО СТОИТ ГАЗ-ТО?
— Пользователь сам назначает цену в ETH для газа!

В MyEtherWallet в верхнем правом углу есть ползунок и цену газа можно выбрать в диапазоне от 1 до 60 Gwei = от 0.000000001 до 0.00000006 ETH.

Перевод ETH с одного кошелька на другой

Перевод ETH стоит 21 000 gas.
Если вы выставите цену 1 gas = 20 Gwei вы заплатите такую комиссию за перевод:
21000 × 0.00000002 = 0.00042 ETH (0.12$)

Зачем платить больше? У Ethereum, как и у Bitcoin есть пул транзакций. Красивая картинка MyEtherWallet описывает процесс проведения транзакции:

В зависимости от того как быстро вы хотите, чтобы транзакция прошла, вы и выбираете цену газа. Есть прекрасный сервис ETH Gas Station, который позволяет подобрать оптимальное значение цены за бензин.

Если вы выставите цену 1 gas = 0.1 Gwei сервис обещает, что транзакция пройдет за 22 блока. Если 12 Gwei или больше — 2 блока. Не забывайте, что время нахождения блока в сети Ethereum сейчас 15 секунд, а значит при самой маленькой комиссии в 0.1 Gwei ваша транзакция должна пройти всего за 5 минут!

Зачем пользователи платят за газ по 50 Gwei — совершенно не понятно, а таких много (посмотреть можно в пуле транзакций). Кстати у ETH Gas Station есть справа внизу табличка с разными данными за последние 2 500 блоков. На текущий момент рекордсмен заплатил $5339.94 за перевод, потому что поставил лимит газа 200 000 и цену газа, вероятно случайно, 200 000 Gwei (0.0002 ETH). Транзакция потратила 92 068 gas. Вот она в Etherscan.

Рекордсмен в 2016 году заплатил комиссию 761 ETH за 1 транзакцию (правда Эфир тогда стоил существенно меньше, итого, всего лишь, чуть более $6 000).

А можно вообще не платить?

Разумный вопрос. Как ни странно, ответ на него — «Да!» (ну практически).
Дело в том, что пул транзакций Эфира пока еще небольшой, хотя, вероятно, в будущем он будет расти. Посмотрите на последние блоки:

У Эфира максимальный размер блока измеряется не в байтах, как у Биткоина, а в количестве газа. Сейчас в один блок может попасть транзакций на ±6 700 000 gas. По факту, очень часто блоки не заполнены:

  • Левый столбик, выделенный красным — количество транзакций в блоке.
  • Справа восклицательный знак стоит рядом с блоком, который заполнен всего на 1%.

Очередь транзакций маленькая. Мы провели небольшое исследование и обнаружили, что на текущий момент транзакции с ценой 1 gas = 1 wei проходят.

При цене газа 1 wei, независимо от количества газа, необходимого для вашей транзакции (напомним, при простом переводе это 21 000 gas), комиссия будет ничтожно мала!

Кстати, с ценой газа = 0 wei, увы, транзакция не проходит…

Как этим пользоваться?

При переводе вы указываете:

  • Адрес получателя — здесь все понятно
  • Лимит газа — 21 000 для перевода ETH. В случае с отправкой на смарт-контракт, например при участии в ICO, разработчик всегда указывает эту величину, лучше не экспериментировать.
  • Цену единицы газа — вы вправе выбирать самостоятельно (на текущий момент даже при 1 wei все работает), чем она больше, тем быстрее пройдет транзакция.

В официальном кошельке Ethereum размер комиссии выставляется ужасно. Вы можете двигать ползунок, при этом минимальная цена газа будет 1 Gwei. В MyEtherWallet минимум тоже 1 Gwei.

Как обмануть систему и уменьшить цену газа в MyEtherWallet?

Способ 1:

Вы можете зайти на вкладку «Send Offline» или на русском «Оффлайн-перевод», там можно выставить цену газа в wei, а не в Gwei:

Способ 2:

В браузере Google Chrome, например, можно выбрать «Инструменты разработчика» Ctrl + Shift + I, кликнуть на ползунок с выставлением цены газа и изменить начальное значение с 1 на 0.000000001 (= 1 wei), например.

Главное, не путайте лимит газа и цену газа, а то можно закончить, как тот парень. Наш канал в Telegram @two_btc

Редакция 2bitcoins.ru благодарит Славу Карпенко за помощь в подготовке данной статьи.

Мы обещали, что Эфиру тоже достанется. Обещания надо выполнять.

Смотрим последние блоки в сети: https://etherscan.io/blocks
Возьмем 10 блоков, скажем с 4 391 616 по 4 391 625 (в них транзакций довольно много, кстати, по сравнению с другими выборками).
Количество транзакций: 681
Вознаграждение майнеров: 30.7 ETH ($9 400)
1 транзакция обошлась почти в $14.

Так криптовалюты = МММ? Или нет? Пишите нам в чат.

Что такое Gas или газ в эфириуме? Зачем он нужен?

… Ведь все-таки это наш общий газ,
А мечты сбываются только у вас.
© Семен Слепаков.

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

В отличие от «старика» Биткоина, где все довольно просто — поставил размер комиссии и ждешь, пока перевод пройдет, на Эфириуме все работает несколько иначе. Хотя базовый принцип остаётся неизменным, чем больше денег готов отдать за комиссию, тем быстрее пройдет транзакция. Но если у Биткоина основная способность — покупательская и создавался он, в первую очередь, в качестве альтернативы фиатной валюте, то у Эфириума задачи более глобальны, и создавалась эта платформа для исполнения различных программ или смарт-контрактов.

Давайте выделим основные операции, которые можно совершать на Эфириуме:

  1. Создавать смарт-контракты.
  2. Исполнять смарт-контракты.
  3. Переводить эфир на другие адреса.

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

На сайте https://etherscan.io вы можете найти практически любую транзакцию в сети Эфириум. Пример смарт-контакта, на создание которого ушло 185 103 Газа (строчка Gas Used By Txn): https://etherscan.io/tx/0xb5260be5ae3b6470d.

Читайте также:  Как и сколько можно заработать на Эфириум (Ethereum)?

Что такое Gas Limit?

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

  1. Вы должны четко понимать, какой лимит Газа вам нужно поставить.
    К примеру, вы ставите лимит Газа 100 000, а на операцию вам нужно было 50 000, в этом случае необходимое количество Газа не превышает лимит, а значит, все ок – транзакция попадет в блок и будет выполнена, а оставшиеся 50 000 Газа вернутся вам на кошелек, в виде эфира. Но если на операцию вам нужно было 105 000, то все ваши 100 000 Газа потратятся, но валидацию транзакция не пройдет и вы останетесь «с носом». В Блокчейне отобразится попытка провести операцию, но из-за недостаточного количества Газа все изменения были отменены.
  2. Всегда узнавайте у разработчиков смарт-контрактов, при участии в ICO и других операциях, какой лимит Газа вам ставить! Здесь не советую экспериментировать!
  3. Помните, стандартный лимит Газа для перевода Эфира на другой адрес 21 000 Газ. То есть если вы планируете просто покупать и переводить эфир на различные адреса, не связываясь со смарт-контрактами, то для вас важно запомнить Газ Лимит 21 000!

Что такое Gas Price?

Чтобы вы не запутались в этих показателях, сразу приведу вам дробление эфира на различные доли.

1 ETH = 1 000 finney = 1 000 000 szabo = 1 000 000 000 gwei =1 000 000 000 000 000 000 wei

Кстати, названия долей не случайны, это фамилии людей, которые сыграли немалую роль в развитии криптовалют.

Так вот, Gas Price или Цена Газа — это та цена, которую вы готовы заплатить за одну единицу Газа. Каждый сам определяет какую цену за Газ он готов заплатить. В данный момент, Газ Прайс по умолчанию на Эфириуме 1 Gas = 20 Gwei, что при стандартной отправке эфира будет 21 000*0,00000002 = 0,00042 ETH (0,19$). Согласитесь, в принципе сумма приемлемая, но возникает вопрос, а можно ли поставить меньше и дойдет ли моя транзакция в этом случае. Чтобы ответить на этот вопрос, давайте воспользуемся одним замечательным сервисом: ethgasstation.info

Не пугайтесь большого количества цифр и букв, сейчас нам важны только два показателя:

  • Gas Price, который регулируется ползунком и измеряется в Gwei
  • Gas Used — количество Газа, необходимое для выполнения операции.

Поставив цену Газа в 1 Gwei, что в 20 раз меньше стандартных размеров, мы видим, что приблизительное время исполнения перевода 4 блока, а в данный момент время нахождения блока в сети около 20 секунд. Я думаю, вы уже догадались, что это значит. А значит это, что заплатив комиссию в 20 раз меньше (0,0095$) мы можем ожидать подтверждения транзакции чуть больше минуты!

Конечно, это не точные данные и они будут периодически меняться, но я искренне не понимаю, зачем платить за Газ по 20-60 Gwei, коих в сети очень много.

Подводя итоги сегодняшнего разговора, я очень надеюсь, что вы поняли, что такое Gas и как его корректно использовать. А также пожелаю вам внимательно относиться к любого рода комиссиям, ведь сэкономленные деньги, эта та же прибыль, которую можно заносить себе в актив.

Обучайтесь, мыслите трезво и читайте BITSTAT!

Хотите зарабатывать на крипте? Подписывайтесь на наши Telegram каналы!

Что такое Ethereum Gas, Gas Limit и Gas Price?

19.12.2018 | Автор: Евгений Наумов

Если говорить коротко, Ethereum Gas – это единица, которая измеряет объем вычислительных усилий, которые потребуются для выполнения определенных операций.

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

В этой статье мы постараемся рассказать, что такое Эфириум газ и как он работает.

Что такое Ethereum Газ (Gas)

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

Данный для таблицы ниже были взяты из «Ethereum whitepaper» и дает приблизительное представление о том, сколько газа требуется для той или иной транзакции.

Какую комиссию газа необходимо устанавливать для проведение транзакции

ИмяЗначениеОписание
GzeroБез оплаты
Gbase2Сумма газа, подлежащего оплате за операции
Geveryslow3Количество газа, подлежащего оплате за операции
Glow5Количество газа, подлежащего оплате за операции
Grnid8Количество газа, подлежащего оплате за операции
Ghigh10Количество газа, подлежащего оплате за операции
Geztcodt700Количество газа, подлежащего оплате за операции
Gbalance400Сумма газа, подлежащего оплате за операцию
Gsload200Оплатаза операцию SLOAD.
Gjumpdext1Оплата за операцию JUMPDEST.
Gsset20000Оплата за операцию SSTORE, когда значение хранения установлено на ненулевое значение.
Greset5000Оплачивается за операцию SSTORE, когда нулевая стоимость хранения остается неизменной или установлена ​​на ноль.
Rsclear15000Возврат (добавляется в счетчик возврата), когда значение хранилища устанавливается равным нулю с ненулевого значения.
Rsuicide24000Возврат (добавлен в счетчик возврата) для уничтожения учетной записи.
Gsuicide5000Количество газа, подлежащего оплате за операцию SUICIDE.
Gcreate32000Оплата за операцию CREATE.
Gcodedeposit200Оплата за операцию CREATE, чтобы для преобразования кода
Gcall700Плата за операцию CALL.
Gcallvalue9000Плата за перенос ненулевого значения как часть операции CALL.
Gcallslipend2300Взнос для указанного контракта вычитается из для передачи ненулевого значения.
Gnewaccount25000Оплата за операцию CALL или SUICIDE, которая создает учетную запись.
Gezp10Частичный платеж за операцию EXP.
Gezpbyte10Частичный платеж при умножении на log. ^ (Exponent)] для операции EXP.
Gmemory3Оплата за каждое дополнительное слово при расширении памяти.
Gtxcreate32000Оплачивается всеми транзакционными транзакциями после перехода Homestead.
Gtxdatazero4Оплачивается за каждый нулевой байт данных или кода для транзакции.
Gtxdotanonzero8Оплачивается за каждый ненулевой байт данных или кода для транзакции.
Gtransactton21000Оплата за каждую транзакцию.
Glog375Частичный платеж за операцию LOG.
Glogdata8Оплачивается за каждый байт в данных операции LOG.
Glogtopic375Оплачивается за каждую тему операции LOG.
Gsha330Плата за каждую операцию SHA3.
Gsha3word6Оплата за каждое слово (округленное) для ввода данных в операцию SHA3.
Gcopy3Частичный платеж за операции «COPY», умноженные на скопированные слова, округленные.
Gblockhash20Плата за операцию Blockhash.

Чтобы лучше понять, как работает Ethereum газ, давайте проведем аналогию. Предположим, вы собираетесь поехать куда-то на машине. Для этого вы:

Заезжаете на АЗС и заказываете несколько литров бензина, чтобы вам хватило на поездку.

Заливается бензин в бак.

Платите за бензин какую-то сумму денег.

Теперь давайте проведем параллели с Ethereum.

Поездка на авто – это операция, которую вы хотите выполнить, например создать смарт-контракт. В нашем случае бензин это Ethereum газ.

АЗС – ваш майнер. Деньги, которые вы платите за бензин – в случае с Эфириум, это деньги которые вы платите это вознаграждение майнера.

Вроде бы все просто и понятно, но возникает логический вопрос…

Зачем вообще нужна система Ethereum Газа?

Ответ прост . стимулирование.

Ethereum сильно зависит от хэшрейта своих майнеров. Больше майнеров, больше хешрейта, система более безопасная и быстрая.

Чтобы привлечь больше майнеров в систему, нужно сделать систему максимально прибыльной и привлекательной для майнеров. Поэтому была придумана такая «газовая система».

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

Эта плата известна как гонорар майнера, и это помогает стимулировать майнеров активно участвовать в экосистеме.

Сколько стоит Ethereum газ (Gas Price)

Ethereum газ измеряется в единицах газа. Транзакция, отправленная в сеть Ethereum, требует определенного количества газа (например, 100 газов) в зависимости от того, сколько команд EVM необходимо выполнить.

Итак, как перевести газ в эфир?

Фиксированной цены конвертации не существует. Отправитель транзакции может указать любое количество газа, которое ему нравится. С другой стороны, майнер должен проверить любые транзакции (обычно в первую очередь проверяются те, которые имеют самую высокую цену в единицах газа). Средняя цена Ethereum газ, как правило, составляет порядка 20 Гвэй (или 0,00000002 ETH), но может увеличиваться во время высокого сетевого трафика, так как в следующем блоке больше конкурентов, которые будут включены в следующий блок.

Unit Wei Value Wei
wei1 wei1
Kwei (babbage)le3 wei1,000
Mwei (lovelace)le6 wei1,000,000
Gwei (shannon)le9 wei1,000,000,000
microether (szabo)lel2 wei1,000,000,000,000
milliether (finney)lel5 wei1,000,000,000,000,000
etherlel8 wei1,000,000,000,000,000,000

Вэй – самая маленькая единица эфира, а Гвей состоит из миллиарда вей. Перед тем, как войти, вы укажете цену на газ, которую вы хотите установить, можно смотреть на текущие цены на газ с ETH Gas Station.

Что такое газовый предел Ethereum (Gas Limit)?

Чтобы выполнить операцию в Ethereum, отправитель транзакции должен указать предел газа, прежде чем отправлять его в сеть. Предел газа – это максимальный объем газа, который отправитель желает заплатить за эту транзакцию.

При указании предельного уровня газа необходимо учитывать следующие моменты:

Различные операции будут иметь разные затраты газа (как было показано ранее).

Майнеры прекращают выполнение, если газ заканчивается.

Если газ останется, он будет возвращен создателю операции.

Предположим, мы добавляем два числа в наш смарт-контракт и он должен выполнить следующие действия:

Сохранение переменной. Предположим, что эта операция стоит 45 газов.

Добавление двух переменных, предположим, стоит 10 газов.

Сохранение результата, который снова стоит 45 газов.

Предположим, что мы указываем газовый предел 120 газов.

Общий газ, используемый майнером для расчета, равен (45 + 10 + 45) = 100 газа.

Плата, выплачиваемая майнеру, при условии, что 1 газ стоит 20 Gwei, составляет (100 * 20 Gwei) = 0,000002 ETH.

Теперь, сколько газа осталось?

120 – 100 = 20 газов.

20 неиспользованных газов возвращается обратно отправителю.

А может случиться так, что предел газа для операции слишком низкий или наоборот слишком высокий:

Сценарий №1: Очень низкий предел

Если газ закончился, но операция не была завершена, то все возвращается в исходное состояние, как будто ничего не произошло. Газ возвращается отправителю, а операция прерывается. Но некоторая работа была выполнена, и майнеры хотят получить вознаграждение за то, что они выполнили. В блокчейне транзакция будет записана как «Failed», и ваш ETH останется в вашем кошельке (то есть перевод с кошелька на кошелек не удался), поскольку для полного выполнения перевода недостаточно газа. Газ, используемый для неудавшейся транзакции, будет получен майнерами для их работы, и вы НЕ получите его обратно. Вот что произойдет, если вы укажете слишком мало газа.

Читайте также:  Самые жирные краны для заработка Эфириума (Ethereum)

Сценарий №2: Предел газа слишком высок

Итак, что, если мы установим слишком высокий предел газа?

Майнеры ограничены предельным уровнем газа, который им могут предложить, это 6 700 000 газа. Основная транзакция (простая передача ETH) имеет, по крайней мере, потребность в газе 21 000 газа. Майнеры могут включать только транзакции, которые могут быть меньше или равны предельному газу газа.

Но не стоит беспокоиться о выборе предельного значения газа, MyEtherWallet (MEW) и Metamask автоматически устанавливают предельные значения по умолчанию для всех типов транзакций.

Разница между газом и вознаграждением

Теперь вы знаете, что газ и эфир – это не одно и то же. Газ – это объем вычислительной мощности, в то время как эфир – это валюта, используемая для оплаты этого газа.

Теперь давайте рассмотрим некоторые сценарии использования газа и сборов.

Если у операции НИЗКИЙ предел газа, то майнеры не возьмут сделку, потому что недостаточно газа для завершения вычисления.

Если у операции НИЗКИЕ сборы, но достаточно газа, чтобы покрыть ее, майнеры также не захотят проводить операцию, потому что операция с низкой комиссией не является экономически привлекательной для них.

Если операция имеет ВЫСОКИЙ предел газа, то это означает, майнеры не будут ее брать, чтобы не возвращать много.

Если операция имеет ВЫСОКУЮ плату, то майнеры знают, что они получат хорошее вознаграждение и сразу же возьмут ее.

В настоящее время рекомендуемые цены на газ для транзакций с разными приоритетами следующие:

Рекомендуемые цены на Ethereum Gas (основаны на текущей работе сети)

Скорость Цена Gas (gwei)
Медленно (13
Стандарт (15
Быстро (20

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

Почему нельзя ставить большой предел газа?

В Solidity, есть две команды, которые гарантируют, что вы получите Ethereum газ обратно.

SUICIDE: Это по существу, убивает смарт-контракт. Это приведет к возврату 24000 газа.

SSTORE: удаление хранилища, которое возвращает вам 15 000.

Итак, если ваш контракт использует 14 000 газа и удаляет хранилище, вам должны вернуть обратно (15000-14000) 1000?

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

Накопленная сумма возврата не может превышать половину используемого газа во время вычисления.

Предположим, у нас есть смарт-контракт, который использует 14 000 газа.

Установленный нами газовый предел составляет 20 000 газа.

Смарт- контракт также включает команду SSTORAGE.

Итак, сколько газа создатель контракта вернет после вычисления?

(20 000-14 000) = 6 000 единиц неиспользованного газа.

Поскольку использовалась команда SSTORAGE, поэтому теоретически он должен получить обратно 15 000 газа.

Однако количество газа, которое было использовано в контракте, составляет 14 000, а 15 000 > 14 000/2 генерируемый REFUND будет 14 000/2 = 7000.

Таким образом, общий газ, который возвращается в конце, составляет 6000 + 7000 = 13 000

Пример 2

Предположим, что на этот раз контракт использует 70 000 газа, и он включает в себя функцию SUICIDE.

Функция SUICIDE должна вернуть вам 24 000 единиц газа, 24 000

Не забывайте подписываться на наши социальные сети и делиться информацией! Мы будем рады 🙂

Для того, чтобы оставить комментарий, необходимо авторизоваться или зарегистрироваться.

Что такое Gas в сети Ethereum и его предназначение

Уверен, вы не раз при переводе токенов/ETH задавались вопросом “Что такое этот Gas?”. В этой статье мы с вами обсудим главные вопросы, касающиеся “газа”.

В отличие от Биткоина, где все довольно просто — достаточно поставить размер комиссии и ждать, пока перевод пройдет, на Ethereum все работает несколько иначе. Хотя базовый принцип остаётся неизменным, чем больше денег вы готовы отдать за комиссию, тем быстрее пройдет транзакция. Но если Bitcoin создавался в первую очередь, в качестве альтернативы фиатной (традиционной) валюте, то у Ethereum задачи более глобальные, и создавалась эта платформа для исполнения различных программ или смарт-контрактов.

Есть три основные операции, которые можно совершать на блокчейне Эфириума:

  1. Переводить эфир на другие адреса;
  2. Исполнять смарт-контракты;
  3. Создавать смарт-контракты.

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

На сайте https://etherscan.io вы можете найти практически любую транзакцию в сети Эфириум. Пример транзакции, на которую ушло 22 251 Газа (строчка Gas Used By Txn): https://etherscan.io/tx/0x9b896be007157ca7c7a19880811c1add43c8f05323ecb08ec1befdb168dd4b09

Что такое Gas Limit?

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

  1. К примеру, вы ставите лимит Газа 50 000, а на операцию вам нужно было 25 000, в этом случае необходимое количество Газа (25к) не превышает лимит(50к), а значит, все ОК — транзакция попадет в блок и будет выполнена, а оставшиеся 25 000 Газа вернутся вам на кошелек, в виде ETH. Но если на операцию вам нужно было 55 000, то все ваши 50 000 Газа потратятся, но валидацию транзакция не пройдет и вы останетесь «с носом» (обычно выбивает ошибку “out of gas”).
  2. Обычно, при выборе токенов на перевод, лимит выставляется автоматически. Но если он остаётся неизменным, то узнавайте у разработчиков смарт-контрактов, при участии в ICO и других операциях, какой Gas limit вам ставить.
  3. Помните, стандартный лимит Газа для перевода ETH на другой адрес — 21 000 Gas. То есть, если вы планируете просто переводить эфир на различные адреса, не связываясь со смарт-контрактами, то для вас важно запомнить Gas Limit = 21 000.

Что такое Gas Price?

Эфир делится на различные доли в таком соотношении:

1 ETH = 1 000 finney (“финни”) = 1 000 000 szabo (“сабо”) = 1 000 000 000 gwei (“джи-вэи”) =1 000 000 000 000 000 000 wei (“вэи”)

Кстати, названия долей не случайны, это фамилии людей, которые сыграли немалую роль в развитии криптовалют.

Так вот, Gas Price или Цена Газа — это та цена, которую вы готовы заплатить за одну единицу Газа. Каждый сам определяет какую цену за Gas он готов заплатить. В данный момент 1 Gas = 20 Gwei, что при стандартной отправке эфира будет 21 000*0,00000002 = 0,00042 ETH ($0.364). Согласитесь, в принципе сумма приемлемая, но возникает вопрос, а можно ли поставить меньше и дойдет ли транзакция в этом случае. Чтобы ответить на этот вопрос, воспользуемся сервисом: ethgasstation.info

В таблице на сайте очень много цифр и букв, но нам нужны только два показателя:

  • Gas Price , мы регулируем его ползунком. Он измеряется в единицах — Gwei;
  • Gas Used — количество Gas, необходимое для выполнения операции.

На скрине выше мы поставили Gas Price в 20 Gwei. И Gas Used в 21 000. Время перевода будет меньше минуты (смотрите Avg Time (min)), а стоимость комиссии в долларовом эквиваленте — $0.364.

Теперь, поставив цену Газа в 2 Gwei, что в 10 раз меньше за стандартное значение, мы видим, что приблизительное время перевода будет 6 минут (на практике переводится за

Это значит, что заплатив комиссию в 10 раз меньше ($0.036) вы будете ожидать подтверждения чуть больше 4 минут.

Конечно, это не точные данные, периодически время отправки меняется, в зависимости от загруженности сети Ethereum, но мне до сих пор не понятно, зачем платить за Gas по 20-60 Gwei, если даже при 2-5 оно отправляется не настолько медленно?

Мы с вами разобрались, что такое Gas и с чем его “едят”. Теперь вы знаете как отправлять с меньшей комиссией.

Что такое Газ в Эфириум (Ethereum Gas)?

Ethereum (эфириум) — это сеть, блокчейн. Эфир (ETH) — это топливо для сети. Когда вы передаете токены, взаимодействуете с контрактом, посылаете ETH или выполняете какие-либо действия в блокчейне, вы должны заплатить за эти вычисления. Платеж исчисляется в газе, а газ выплачивается в ETH.

Таким образом, Gas — это внутренняя валюта для заключения сделки или контрактов в Ethereum.

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

Вы можете посмотреть комиссию за транзакцию (лимит газа * цена газа) в ETH и USD через поиск в etherscan.io. Это не та комиссия, которую получает MyEtherWallet или любой другой поставщик услуг. Ее получают майнеры за обработку транзакций, их добавление в блоки и защиту блокчейна.

Краткий обзор

Когда вы слышите слово «газ», человек говорит о:

Общая стоимость транзакции (комиссия) — это лимит газа * цена газа.

Как правило, если кто-либо просто говорит «газ», он/она имеет в виду «лимит газа».

Время аналогий!

Вы можете рассматривать лимит газа как количество литров/галлонов/единиц топлива для машины. Цену газа можно рассматривать как цену литра/галлона/единицы этого топлива.

  • В случае машины цена за галлон (единицу) составляет 2,5 $.
  • В случае эфириума цена за газ (единицу) составляет 20 GWEI.

Чтобы заполнить «бак», потребуется 10 галлонов по 2,5 $, что составит 25 $, или 21 000 единиц газа по 20 GWEI — 0,00042 ETH.

Таким образом, общая комиссия будет равна 0,00042 эфира.

Отправка токенов обычно требует от

100 000 газа, поэтому общая комиссия увеличивается до 0,001 ETH — 0,002 ETH.

Вы можете использовать конвертор MyEtherWallet , чтобы узнать стоимость комиссии в ETH, а не в GWEI.

Лимит газа

Лимит газа называют лимитом, потому что это максимальное количество единиц газа, которое вы готовы потратить на транзакцию. Это позволяет избежать ситуаций, когда из-за ошибки в контракте вы тратите 1 ETH….10 ETH….1000 ETH…., и так до бесконечности.

Читайте также:  Капитализация криптовалюты Эфириум (Ethereum) на сегодня

Но число единиц газа, необходимое для транзакции, уже определено количеством кода, который выполняется в блокчейне. Если вы не хотите тратить так много газа, снижение его лимита не поможет. Вы должны включить достаточно газа, чтобы покрыть расходы вычислительных ресурсов, которые вы используете, или ваша транзакция не пройдет в связи с ошибкой Out of Gas (недостаточно газа).

Весь неиспользованный газ вернется к вам по окончании транзакции. Поэтому, если вы зайдете в MyEtherWallet, отправите 1 ETH на наш адрес для пожертвований и используете лимит газа 400 000, то обратно вы получите 400 000 — 21 000*. Но если вы отправляете 1 ETH контракту и ваша транзакция не проходит (например, период создания токенов уже закончен), вы израсходуете все 400 000 и обратно ничего не получите.

*21 000 — лимит газа для стандартной транзакции

Цена газа

Если вы хотите потратить на транзакцию меньше, можно снизить сумму, которую вы платите за единицу газа. Цена газа определяет скорость подтверждения транзакции.

В обычное время:

  • Цены в 40 GWEI будет почти всегда достаточно, чтобы транзакция попала в следующий блок.
  • При 20 GWEI ваша транзакция окажется в каком-то из следующих нескольких блоков.
  • При 2 GWEI вашу транзакцию подтвердят в течение следующих нескольких минут.

В периоды создания токенов (т.е. ICO) эти цены резко меняются, подстраиваясь под спрос/предложение:

  • 50 GWEI — максимальная цена газа, которую будут принимать большинство контрактов для новых периодов создания токенов. Если поставить более высокую цену, транзакция не пройдет. Ключевое слово здесь — большинство. Уточняйте эту информацию у организаторов продажи токенов, в которые хотите инвестировать, до ее начала.
  • 50 GWEI — та сумма, которую следует устанавливать в этом случае.
  • Если вы пытаетесь отправить средства в период создания токенов (но не для создания токенов) у вас есть 2 пути: подождать немного, пока не закончится этот период, или установить цену газа выше 50 GWEI.

Цену газа можно регулировать в MyEtherWallet в нижней части с помощью ползунка. Она ограничена 50 GWEI для того, чтобы транзакции людей, которые инвестируют в предпродажи токенов, не отклонили, так как они обычно не читают справочную информацию.

Увеличение цены газа позволит ускорить подтверждение транзакции? А если установить низкую цену, то транзакцию вообще не подтвердят?

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

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

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

Зачем устанавливать низкую цену газа?

Вы экономите. И так как цена ETH возрастает по отношению к USD, транзакция, которая ранее стоила половину цента, теперь может обойтись в несколько центов. Более дорогие транзакции, например ставки на имя в ENS, сейчас могут стоить доллар или больше! Как пользователю, вам следует отправлять несрочные транзакции с низкой ценой газа: чем больше будет таких транзакций, тем более вероятно, что майнеры снизят свои минимальные пороги.

Стоит ли увеличивать лимит газа для участия в продажах токенов?

Вам следует устанавливать те значения, которые указывают организаторы продаж токенов. Если вы не знаете значений, то до начала продаж уточните эту информацию. Это гарантирует, что вы не увидите ошибку Out of Gas. Как правило, лимита в 200 000 единиц достаточно, но иногда требуется больше.

Увеличение лимита до 1 500 000 или большего числа не повысит ваши шансы. Так вы заполните блоки быстрее и потеряете комиссию, если транзакция не пройдет. Мы никогда не видели продажи токенов, где бы требовался лимит более 800 000.

Тогда для участия в продаже токенов следует устанавливать высоооооокую цену газа, правильно?

Необязательно. Здесь риск заключается в том, что даже с повышенной ценой ваша транзакция все равно может не пройти, но вы в любом случае заплатите комиссию. Газ НЕ вернется, если в период продажи токенов вы отправите транзакцию с очень низким лимитом, слишком рано или поздно.

Сначала посмотрите, указана ли в продаже токенов максимальная цена газа. Если да, то используйте ее. У Status и Bancor максимальная цена была 50 GWEI.

Если организаторы позволяют устанавливать любую цену газа, вам нужно решить, сколько средств вы хотите инвестировать и сколько готовы потратить на эту попытку. Нужно принять тот факт, что вы можете заплатить полную комиссию и не получить ничего в периоды создания токенов. Установите лимит газа (например, 200 000), умножьте на цену газа (например, 50 GWEI или 0,00000005 ETH) и вы получите сумму, которую заплатите за попытку поучаствовать в продаже.

До периода создания токенов BAT средняя цена газа для продаж была 20 GWEI (по умолчанию). А сейчас сложно сказать:

  • 40 GWEI * 200 000 == 0,008 ETH == 2,08 USD
  • 70 GWEI * 200 000 == 0,014 ETH == 3,64 USD
  • 100 GWEI * 200 000 == 0,02 ETH == 5,2 USD

Абсурдные цены с периода создания токенов BAT:

  • 118 GWEI * 200 000 == 0,0236 ETH == 6,13 USD
  • 7590 GWEI * 200 000 == 1,518 ETH == 394,68 USD
  • 58 000 GWEI * 200 000 == 11,6 ETH == 3016 USD

Все верно. Кто-то заплатил 6000+ $, чтобы отправить транзакцию, которая не прошла. Действительно обидно.

Где можно посмотреть, какие транзакции майнеры принимают?

На время написания статьи ниже отметки в 20 GWEI почти все блоки полные. Это значит, что если вы установите цену ниже этой, придется подождать в очереди.

Удивительный майнер — miningpoolhub, принимает транзакции с ценой в 2 GWEI, но их блоки всегда полные и они покрывают только 9% всего процесса майнинга. Это значит, что примерно в 1 блок из 10 (

150 с) будут включены транзакции с ценой в 2 GWEI и после этого он будет заполнен. Поэтому, вероятно, придется дождаться одного из таких блоков.

Этот калькулятор поможет вам оценить время подтверждения транзакции при заданной цене газа.

Что такое 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.

Транзакции в 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 минут.

Ссылка на основную публикацию