Gas — это внутренняя валюта для заключения сделки или контрактов в Ethereum. На момент написания и до запуска Frontier он был установлен на 10 Szabo, что составляет около 1/100000 от Ether. Это отделило блок Ether (ETH) и его рыночную стоимость от единицы измерения (Gas). Таким образом, майнер может принять решение об увеличении или уменьшении использования Gas в соответствии с его потребностями, а в случае необходимости цена Gas может быть соответственно увеличена или уменьшена, избегая ситуации, в которой повышение цены ETH вызовет необходимость изменить всю цену на Gas. Это также является своеобразным ответом на обсуждение в Bitcoin о структуре сборов.

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

В Ethereum существует также предел блокировки — так что вы платите за премиум-пространство в следующем блоке так же, как в Bitcoin.

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

Цена Gas за транзакцию или контракт устанавливается для того, чтобы иметь дело с Turing Complete и ее EVM (Ethereum Virtual Machine Code) — идея заключается в ограничении бесконечных циклов. Так, например, 10 Szabo или 0,00001 Ether или 1 Gas могут выполнять строку кода или некоторую команду. Если в учетной записи недостаточно Ether для выполнения транзакции или сообщения, то действие автоматически считается недействительным. Идея состоит в том, чтобы прекратить атаки на отказ в обслуживании из-за бесконечных циклов, повысив эффективность кода, а также заставить злоумышленников платить за ресурсы, которые они используют, от использования полосы пропускания до процессорных вычислений.

Чем сложнее команды, которые вы хотите выполнить, тем больше Gas (и Ether) вам придется заплатить. Например, если Aнна хочет отправить Bиктору 1 Ether — то общая стоимость 1.00001 Ether будет выплачена Aнной. Однако, если бы Анна хотела заключить контракт с Bиктором в зависимости от будущей цены Ether, было бы больше линий исполняемого кода и больше ответственности или потребления энергии, размещаемых в распределенной сети Ether — и, следовательно, Aнне пришлось бы заплатить больше, чем 1 Gas за сделанную транзакцию.

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

Наименование функций стоимости Gas:

 

step1 Значение по умолчанию для Gas, подлежащего оплате за цикл выполнения.
stop 0 Ничего не заплатили за операцию SUICIDE.
sha3 20 Выплачено за операцию SHA3.
sload 20 Заплачено для операции SLOAD.
sstore 100 Выплачивается за обычную операцию SSTORE (иногда удваивается или отменяется).
balance 20 Оплачено для операции BALANCE
create   100 Оплачено для операции CREATE
call 20 Оплачено для операции CALL.
memory 1 Оплачивается за каждое дополнительное слово при расширении памяти
txdata 5 Оплачивается за каждый байт данных или код для транзакции
transaction 500 Плата за каждую транзакцию

 

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

Что такое Gas в Ethereum?
4.4 (88.57%) 7 votes

1 ответить

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий