Gas limit ethereum что это

Что такое газ в Эфириуме? Сколько платить за транзакции 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).

Читайте также:  Как пополнить binance с биткоин кошелька

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

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

У Эфира максимальный размер блока измеряется не в байтах, как у Биткоина, а в количестве газа. Сейчас в один блок может попасть транзакций на ±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, 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 минут.

Источник

Оцените статью