Что такое газовый предел в Эфириуме?

Какова функция параметра Gas Limit в Ethereum? Является ли это участие в добыче полезных ископаемых или чем-то еще?

37 голосов | спросил Xawery Wiśniowiecki 18 PM00000080000002331 2015, 20:18:23

2 ответа


58

В Ethereum газ является мерой вычислительных усилий. К каждой операции назначается фиксированное количество газа (например, добавление двух номеров стоит 3 газа, расчет хеша составляет 30 газов, посылка транзакции стоит 21000 газов [1]).

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

К сожалению, часто бывает непросто и вообще даже невозможно заранее знать, сколько газа потребуется в конце концов. Поэтому транзакции имеют поле gas limit , чтобы указать максимальный объем газа, который отправитель желает купить. Если используемый газ превышает этот предел во время выполнения, обработка прекращается. Отправитель все равно должен заплатить за выполненные вычисления, но они защищены от полной работы из средств.

Предел транзакционного газа также защищает полные узлы от злоумышленников, которые могли бы без ограничения по газу заставить их выполнять эффективные петли бесконечности. Если такая транзакция займет больше одного блока для обработки, она никогда не может быть включена в блок, и, таким образом, злоумышленнику не нужно будет платить за нее. [2]

Кроме того, в блоках также есть поле, называемое пределом газа . Он определяет максимальное количество газа, которое все транзакции во всем объединенном блоке разрешено потреблять. Подобно максимальному размеру блока в биткойне (измеряется в байтах), его цель заключается в том, чтобы поддерживать низкое распространение блока и время обработки, что позволяет создать достаточно децентрализованную сеть. В отличие от Биткойна, он, однако, не является постоянным. Вместо этого у шахтеров есть возможность увеличить или уменьшить каждый блок на определенный коэффициент. [3]

ответил jnnk 22 AM00000030000002331 2015, 03:39:23
7

Текущий лимит газа можно проверить на странице статистики сети .

В настоящее время 3,141,592 (пи миллионов). Однако ограничение на газ для блока не является фиксированным. Количество контрактных вызовов и стандартных транзакций ограничено предельным газом, что составляет 1,2 раза от экспоненциальной скользящей средней. Таким образом, есть только так много газа, которое может быть израсходовано на блок, хотя оно может расти, конечно.

Обратите внимание, что каждый вызов контракта на вызывающего абонента составляет сумму Эфира, определяемую (gas sent to contract)*(price of gas as defined by caller), поэтому отправка транзакций на сумму 10 тыс. долларов за блок может закончиться довольно дорогим делом.

ответил Afri 28 Jpm1000000pmThu, 28 Jan 2016 19:22:50 +030016 2016, 19:22:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132