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

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

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

С разрешения я одолжу этот пример и аналогию у замечательной команды 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|
10

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

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

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

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

Криптовалюты

A
27.08.2017 Achain (ACT)
21.12.2017 Aelf (ELF)
01.06.2017 Aeternity (AE)
06.06.2017 Aidos Kuneen (ADK)
11.01.2018 Aigang (AIX)
18.10.2017 Aion (AION)
17.10.2017 AirSwap (AST)
13.09.2017 Ambrosus (AMB)
18.05.2017 Aragon (ANT)
08.01.2018 AppCoins (APPC)
23.07.2016 Ardor (ARDR)
21.03.2017 Ark (ARK)
01.04.2017 Asch (XAS)
04.10.2017 ATMChain (ATM)
19.09.2017 ATBCoin (ATB)
09.03.2016 Augur (REP)
B
12.06.2017 Bancor (BNT)
01.06.2017 Basic Attention T. (BAT)
24.12.2018 Bibox Token (BIX)
16.06.2017 Binance Coin (BNB)
16.10.2014 BitBay (BAY)
15.09.2017 BitClave(CAT)
17.07.2010 Bitcoin (BTC)
01.08.2017 Bitcoin Cash (BCH)
23.10.2017 Bitcoin Gold (BTG)
09.07.2014 Bitcoin Dark (BTCD)
25.04.2014 BitConnect (BCC)
11.07.2017 Bitdeal (BDL)
26.11.2014 BitShares (BTS)
01.11.2014 Blocknet (BLOK)
15.01.2018 Bloom ( BLT)
06.02.2018 Bluzelle (BLZ)
24.12.2017 Bread (BRD)
27.12.2016 Byteball Bytes (GBYTE)
20.05.2014 Bytecoin (BCN)
08.08.2017 Bytom (BTM)
C
08.01.2018 CanYaCoin (CAN)
01.10.2017 Cardano (ADA)
08.08.2017 Centra (CTR)
20.09.2017 ChainLink (LINK)
16.10.2017 Сhange-bank(CAG)
20.01.2018 ChatCoin (CHAT)
12.09.2017 Cindicator (CND)
21.06.2017 Civic (CVC)
17.07.2017 CoinDash (CDT)
29.01.2018 COMSA(CMS)
02.10.2017 CoinFi (COFI)
15.02.2014 Counterparty (XCP)
07.10.2017 Cryptonex(CNX)
D
18.01.2014 Dash (Dash)
15.12.2017 Datum (DAT)
17.09.2017 Decentraland (MANA)
10.02.2016 Decred (DCR)
28.12.2017 DeepBrain Chain (DBC)
12.08.2017 Dent (DENT)
01.11.2017 Dentacoin (DCN)
06.02.2014 DigiByte (DGB)
03.08.2017 DistrictOx (DNT)
18.04.2016 DigixDAO (DGD)
15.12.2013 Dogecoin (DOGE)
03.12.2017 Dragonchain (DRGN)
E
30.03.2017 Edgeless (EDG)
09.04.2014 Einsteinium (EMC2)
02.02.2018 Elastos (ELA)
02.11.2017 Electroneum (ETN)
23.08.2014 Emercoin (EMC)
11.09.2017 Enigma Catalyst (ENG)
26.06.2017 EOS (EOS)
01.11.2017 Enjin Coin (ENJ)
30.09.2014 Ethereum (ETH)
24.07.2016 Ethereum Classic (ETC)
01.10.2017 Etherparty (FUEL)
30.10.2017 EthLend (LEND)
18.07.2017 Ethos (ETHOS)
25.10.2017 Exchange Union (XUC)
F
06.10.2015 Factom (FCT)
05.02.2017 FirstCoin (FRST)
27.06.2017 FunFair (FUN)
G
01.09.2014 GameCredits (GAME)
06.07.2017 Gas (GAS)
01.05.2017 Gnosis (GNO)
18.12.2017 Gifto (GTO)
18.02.2017 Golem (GNT)
25.06.2017 GXShares (GXS)
H
18.08.2017 Hshare(HSR) 
03.02.2018 Huobi Token (HT)
I
27.10.2017 ICON (ICX)
30.07.2015 Iconomi (ICN)
20.04.2017 iExec RLC (RLC)
24.01.2018 indaHash (IDH)
20.11.2017 Ink (INK)
12.01.2017 INS (INS)
02.08.2014 I/O Coin (IOC)
16.01.2018 IOStoken (IOST)
21.10.2016 IOTA(MIOTA)
10.12.2017 IoT Chain (ITC)
K
04.10.2017 KickCoin (KICK)
12.09.2017 Kin(KIN)
11.02.2017 Komodo(KMD)
24.10.2017 KuCoin(KCS)
15.09.2017 Kyber Network (KNC)
L
24.05.2016 Lisk (LSK)
13.07.2012 Litecoin (LTC)
30.09.2017 Loopring (LRC) 
01.05.2017 Lunyr (LUN)
14.11.2016 Lykke (LKK)
M
22.04.2014 MaidSafeCoin (MAID)
29.01.2017 Maker (MKR)
30.05.2017 MCAP (MCAP)
22.02.2017 Melon (MLN)
25.10.2017 Mercury Protocol (GMT)
11.07.2017 Metal (MTL)
05.06.2017 Metaverse (ETP)
02.11.2017 MinexCoin (MNX)
23.10.2017 Modum (MOD)
11.09.2017 Moeda (MDA)
12.06.2017 MobileGo (MGO)
20.01.2018  Mobius (MOBI)
03.07.2017 Monaco (MCO)
20.03.2014 MonaCoin (MONA)
25.04.2014 Monero (XMR)
06.09.2017 Monetha(MTH)
N
07.03.2017 Nano (XRB)
12.06.2017 NAV Coin (NAV)
12.09.2017 Neblio (NEBL)
31.03.2015 Nem(XEM)
23.08.2017 Nebulas (NAS)
09.09.2016 NEO(NEO)
25.01.2015 Nexus (NXS)
12.09.2016 NoLimitCoin (NLC2)
04.12.2013 Nxt (NXT)
O
24.01.2018 ODYSSEY (OCN)
14.12.2014 OKCash (OK)
07.06.2017 OmiseGO(OMG)
22.06.2017 openANX (OAX)
25.10.2017 Open Trading N-k (OTN)
20.11.2017 Oyster (PRL)
16.08.2017 Ox (ZRX)
P
20.07.2017 Particl (PART)
15.10.2017 PayPie (PPP)
01.02.2016 PIVX (PIVX)
01.09.2017 Po.et (POE)
01.02.2016 Populous (PPT)
10.02.2014 PotCoin (POT)
01.11.2017 Power Ledger (POWR)
27.03.2015 Pura (PURA)
Q
21.10.2017 QASH (QASH)
28.11.2017 QLink (QLC)
16.03.2016 Qtum (QTUM)
20.11.2017 Quantstamp (QSP)
R
08.11.2017 Raiden (RDN)
11.01.2018 Revain (R)
06.10.2017 RChain (RHOC)
10.02.2014 ReddCoin (RDD)
28.10.2017 Red Pulse (RPX)
13.10.2017 Request Network (REQ)
01.10.2017 Regalcoin (REC)
24.10.2017 Ripio (RCN)
14.08.2014 Ripple (XRP)
S
29.09.2017 SALT (SALT)
12.07.2017 Santiment Net.. (SAN)
15.01.2018 SelfKey (KEY)
26.09.2015 Siacoin (SC)
03.10.2016 SingularDTV (SNGLS)
19.01.2018 SingularityNET (AGI)
21.06.2017 SkinCoin(SKIN)
17.04.2017 Skycoin (SKY)
21.07.2017 SmartCash (SMART)
15.06.2017 SONM (SNM)
20.12.2015 Storm (STORM)
12.01.2018 Spectre(SPEC-D/SPEC-U)
21.07.2015 Sprouts (SPRTS)
27.09.2017 Starbase (STAR)
20.06.2017 Status (SNT)
17.04.2016 Steem (STEEM)
06.08.2014 Stellar Lumens (XLM)
02.02.2018 STK (STK)
02.07.2017 Storj (STORJ)
04.08.2017 Stox (STX)
04.08.2017 Stratis (STRAT)
25.09.2017 Substratum (SUB)
20.08.2014 Syscoin (SYS)
09.01.2018 SwftCoin (SWFTC)
T
30.03.2017 TaaS (TAAS)
24.06.2017 TenX (PAY)
15.01.2018 Telcoin (TEL)
08.03.2015 Tether (USDT)
01.07.2017 Tezos (XTZ)
27.07.2017 Tierion(TNT)
27.11.2017 Time New Bank (TNB)
12.01.2018 Trade.io (TIO)
11.10.2016 Triggers (TRIG)
22.01.2018 Trinity (TNC)
13.09.2017 TRON (TRX)
U
07.09.2014 Ubiq (UBQ)
29.12.2017 UTRUST (UTK)
V
22.08.2017 VeChain (VEN)
25.10.2014 Verge (XVG)
08.06.2017 Veritaseum (VERI)
20.01.2014 Vertcoin (VTC)
18.07.2014 Viacoin (VIA)
25.09.2017 VIBE (VIBE)
06.10.2017 Viberate (VIB)
19.11.2017 Viuly (VIU)
W
28.11.2017 WaBi (WABI)
27.09.2017 Walton (WTC)
-.02.2018 Wanchain (WAN)
20.06.2016 Waves (WAVES)
01.11.2017 WAX (WAX)
09.02.2018 WePower (WPR)
26.04.2017 Wings (WINGS)
Y
19.08.2017 YOYOW (YOYOW)
Z
01.06.2017 ZenCash (ZEN)
06.10.2016 ZCoin (XZC)
26.01.2018 Zilliqa (ZIL)
28.10.2016 Zcash (ZEC)
10.11.2016 ZClassic (ZCL)