great-banner

Эфириум: транзакции, газ и лимит

Главная/статьи/Эфириум: транзакции, газ и лимит

BTC: $6 8014.3% ETH: $24811.42%

Пример с ценой транзакции

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

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

Если брать машину, то цена будет $2.50 (цена) за галлон (единицу). В Эфириме это 20 Gwei (цена) за газ (единицу). Чтобы заполнить весь бензобак понадобится 10 галлонов по $2.50 = $25. Если брать Эфириум, то 21000 газа по 20Gwei = 0.00042 ETH.

Следовательно, общая комиссия за транзакцию будет 0.00042 Эфира.

Отправка токенов, как правило, требует от ~50000 до ~100000 газа, так что общая комиссия за транзакцию увеличивается до 0.001 ETH — 0.002 ETH.

Что такое “лимит газа на блок”?

Лимит газа на блок — это максимально допустимое количество газа в блоке для определения того, как много транзакций может поместиться в блок. Например, у нас есть 5 транзакций и каждая транзакция имеет лимит газа в 10, 20, 30, 40 и 50. Если лимит газа на блок — 100, то первые 4 транзакции могут поместиться в блок. Майнеры решают какие транзакции поместить в блок. Кто-то из майнеров может попробовать поместить последние 2 транзакции в блок (50+40), и останется место только для первой транзакции (10). Если попытаться включить транзакцию, которая использует больше газа, чем текущий лимит газа на блок — она будет отвергнута сетью и ваш Эфириум клиент выдаст вам сообщение “Транзакция превышает лимит газа на блок”. Пример взят из этого поста на Ethereum StackExchange.

Согласно ethstats.net, лимит газа на блок на момент написания статьи составляет 4,712,357 газа, что говорит о том, что примерно 224 транзакции с лимитом газа в 21000 могут поместиться в 1 блок (в среднем новый блок производится каждые 15–20 секунд). Протокол позволяет майнеру блока регулировать лимит газа на блок на 1/1024 (0.0976%) в любом направлении.

Кто решает какой будет лимит газа на блок?

Майнеры. Отдельно от регулируемого протокола, стратегия с минимальным лимитом газа в 4,712,388 стоит по умолчанию в большинстве клиентов. Майнеры могут изменить это, но многие этого не делают и оставляют настройки по умолчанию.

Как изменяется лимит газа на блок?

Майнеры сети Эфириум используют майнинговые программы, такие как ethminer, которые подсоединяются к geth или Parity. geth и Parity имеют настройки, которые майнеры могут изменить. Настройки командной строки для майнинга в geth есть тут, а для Parity тут.

Что такое “DoS” в сети Эфириум?

Недавно было очень много комментариев по поводу замедления работы сети Эфириум, забивания её транзакциями и невозможностью её использования. Эти комментарии описывают замедление как “DoS” сети Эфириум. Инцидент отказа в обслуживании (Denial of Service) в сети Эфириум происходит, когда блоки постоянно заполнены и существует много транзакций со статусом “в ожидании”. Как мы знаем, майнеры могут выбрать какую транзакцию включить в блок исходя комиссии, прикрепленной к транзакции. Когда в очереди сотни тысяч транзакций (или, техническим языком, в пуле транзакций), это может вызывать нестандартные часовые задержки. Инциденты с DDoS (Distributed Denial of Service, Распределённый отказ от обслуживания) могут быть как и злонамеренными, так и нет.

Злонамеренный DoS

Осенью предыдущего года Эфириум был атакован неизвестным лицом или группой через так называемую транзакционную спам-атаку. Атака была описана в этом посте:

Атакующий совершил DoS атаку постоянно вызывая определенный код в смарт контракте, который был сложен для вычисления клиентами (нодами и майнерами), но очень дешев для добавления в сеть.

Во время атаки майнеров попросили уменьшить лимит газа на блок до 1.5 миллионов и потом до 2 миллионов в другом случае. Были и другие случаи, когда майнеров просили уменьшить лимит газа на блок во время атак на сеть.

Не злонамеренный DoS

Подобные инциденты происходят когда в сети так много транзакций “в очереди”, что требуется необыкновенно много времени для их обработки. Недавно популярность некоторых ICO вызвала перегрузку сети транзакциями. Ребята из Infura написали пост о технических деталях подобных инцидентов.

Почему лимит газа на блок не изменяется даже если блоки постоянно полные?

Основная причина: майнеры не используют возможности адаптивного лимита газа.

В протоколе Эфириума есть встроенный механизм, через который майнеры могут голосовать за лимит газа, так что вместимость может быть увеличена без хард форка. Изначально этот механизм сочетался со стандартной стратегией, когда майнеры голосовали за лимит газа, который составляет минимум 4.7 миллиона, но может достичь 150% от недавнего (экспоненциальная скользящая 1024 блоков) среднего используемого лимита газа, если требуемое количество выше, позволяя увеличивать вместимость вместе с возрастающим спросом, в то время как всё еще существует потолок для защиты от спама.

Как описано в части “Злонамеренный DoS” выше, несколько раз в прошлом майнерам было предложено изменить их стандартные настройки лимита газа на блок, чтобы помочь удержать атаку пока не будет выпущен новый патч. Проблема в том, что некоторый майнинговые пулы никогда не меняли свои настройки обратно, даже когда атаки утихли. Примерно месяц назад майнеров попросили изменить настройки лимита и цены газа чтобы повторно ввести возможность адаптивного лимита газа, т.к. последние ICO очень быстно заполняли блоки и вызывали задержки в работе сети Эфириума.

ETH Gas Station* — это отличный ресурс для тех, кто ищет актуальную информацию о том, как майнинговые пулы голосуют за лимит газа на блок.

*Там же можно смотреть актуальную информацию о текущей минимально-безопасной цене газа (на момент написания это всего-лишь 0.7 Gwei или примерно $0.003 за обычную транзакцию с лимитом газа 21000!)

Источник

ТЕЛЕГРАММ КАНАЛ
(Оперативные новости, инвест. проекты,  сигналы с платныхканалов, инсайды, бонусы, рефбек, компенсации….)

Июль 24th, 2017|

Один комментарий

  1. Антон 03.02.2018 в 05:02 - Ответить

    https://www.youtube.com/watch?v=qN3SzBivSKg — Что такое Лимит газа и Цена газа. Видео на примере.

Оставить комментарий

Криптовалюты
По алфавиту

ABCDEFGHIJKLMNOPQRSTUVWYZ