Hlavní navigace

Ethereum Istanbul Hard Fork je mírný pokrok v mezích zákona

12. 12. 2019
Doba čtení: 5 minut

Sdílet

 Autor: Depositphotos
Dlouho očekávaný technický (hard) fork Ethereum sítě plní titulky kryptowebů a blockchainových magazínů. Co přináší?

Ethereum má za sebou aktivaci třetího letošního technického hard forku (a též třetí velkou aktualizaci protokolu v rámci fáze „Metropolis“), k té došlo s blokem 9 069 000, který byl vytěžen v neděli v 0:25 koordinovaného světového času. Co přinesl?

Podobně jako v případě předchozích dvou velkých letošních změn v Ethereum síti nejde navzdory vžitému názvu v pravém slova smyslu o fork chainu, ale jen o další technický upgrade protokolu (síť se na něm z valné většiny shodla). K dnešnímu dni Ethereum absolvovalo podobných síťových upgradů celkem 8.

Istanbul nicméně přináší minimálně jednu zásadní změnu, která má v důsledku závažný dopad na některé na Ethereu postavené aplikace. Hned několik implementovaných návrhů překopává gas poplatky a jako obvykle všechny změny patří do série předpřípravných kroků pro příchod mystické fáze Serenity, tedy příchodu Etherea 2.0 s jeho velkým proof-of-stake experimentem.

Šest návrhů

Istanbul do protokolu Etherea implementuje šest návrhů EIP (Ethereum Improvement Proposal), které byly vybrány z původního dvouciferného poolu kandidátů. Přinášejí změny v počítání ceny za gas pro jednotlivé operace a funkce a další změny.

Technicky vzato je těch implementovaných EIP v nové verzi protokolu 7, protože kód Istanbulu obsahuje ještě meta-EIP 1679, který obsahuje seznam a specifikaci provedených změn. Ty mají umožnit interoperabilitu se Zcash a dalšími na Equihash postavenými kryptoměnami, levnější a efektivnější škálování na druhé vrstvě a levnější provoz privacy funkcí prostřednictvím zk-SNARKS a zk-STARKS.

Dále pak lépe vybalancovat náklady na opcode ve virtuálním stroji s výpočetními náklady (reálnou spotřebou zdrojů), zvýšit odolnost sítě proti DoS útokům a umožnit větší kreativitu při vytváření smart kontraktů.

Oproti předchozím změnám je Istanbul prakticky celý čistě o technické optimalizaci s malým přímým dopadem na uživatele. Výjimku tvoří EIP-1884, který citelně zvedá gas náklady pro určité typy operací, což v důsledku vede k nefunkčnosti některých kontraktů. 

Kontext: Ethereum se od jiných (neplatformních) kryptoměn, například Bitcoinu, liší tím, že miner plní vedle role stvrzovatele transakcí také roli vykonavatele. Ta spočívá v tom, že na svém těžebním zařízení provozuje zároveň virtuální stroj Etherea (EVM), ve kterém dochází k bezpečnému spouštění chytrých kontraktů. Funguje to zhruba tak, že požadavek správce chytrého kontraktu vyvolá určitou část programu a za poskytnutí potřebné výpočetní kapacity jsou mineři odměněni určitou malou částkou v etheru (jedná se o tzv. gas). Jednotlivé operace mají předem stanovenou cenu, kterou je nutné obětovat, pokud chceme, aby došlo k vykonání operace.

Překopané schéma poplatků pro vykonavatele

EIP-1884 mění poplatek u EVM opcode v rámci pokusu zmírnit spamovací útoky na blockchain a vybalancovat výpočty v jednotlivých blocích. Jedním z problémů rychle bobtnajícího Ethereum blockchainu je, jak vybalancovat cenu určitých základních operací – například vyvolání stavových dat, jako jsou informace o proběhlých transakcích a stavech účtů tak, aby nebyla ohrožena jejich použitelnost a zároveň nevznikal vektor útoku snadným a levným zahlcováním sítě.

Pokud by cena za gas zůstala neměnná, bude síť čím dál náchylnější na denial of service (DoS) útoky. Pokud naopak bude příliš vysoká, stane se síť pro řadu use casů prakticky nepoužitelná kvůli enormním nákladům na základní operace, případně budou programátoři nuceni dělat v rámci úspornosti svých aplikací ústupky bezpečnosti, nebo uživatelskému komfortu. EIP-1884 se vydává kompromisní cestou, kdy znatelně, ale zase ne fatálně zvedá gas poplatek za posílání stavových transakcí.

Po implementaci tohoto EIP by měly být náklady na gas více v souladu s reálnou spotřebou zdrojů. Krok se nicméně neobešel bez kontroverze, neboť v síti existuje řada kontraktů, které s takovou změnou v momentě svého vzniku nepočítaly (například cca 680 smartkontraktů platformy Aragon pro tvorbu decentralizovaných organizací) a teď nefungují.

Snížení ceny za volání dat

EIP-2200 mění způsob, jakým je počítána cena za data ukládaná do virtuálního stroje (tzv. SSTORE opcode) a rozšiřuje možnosti smart kontraktů o některé zajímavé nové funkce. 

Zero-knowledge protokol je kryptografická metoda, která umožňuje, aby jedna strana mohla dokázat jiné straně (ověřovateli), že je nějaké tvrzení pravdivé, aniž by odhalila jakékoli informace kromě skutečnosti, že je toto konkrétní prohlášení pravdivé.

Volání on-chain dat vyžaduje na Ethereu pochopitelně patřičnou gas platbu. EIP-2028 přináší do protokolu snížení poplatku za „calldata“ z původních 68 gas za bajt na 16 gas za bajt.

Změna má ulehčit použitelnost privacy technologií zero-knowledge SNARKs a STARKs (šifrují blockchainové transakce, ale nenarušují přitom fungování konsensus algoritmu) v Ethereum síti díky snížení ceny za volání dat. Důsledků změny je ale více. Pomůže to také rozšířit šířku pásma, protože v jednom bloku najednou bude moci být více dat.

Další změny

EIP-1344 přidává novou možnost, jak mohou kontrakty udržovat přehled o chainu, na kterém se kontrakt nachází. Návrh přidává opcode, který vrací jedinečný identifikátor EIP-155 aktuálního chainu. Tato změna se snaží eliminovat důsledky lidské nepozornosti při tvorbě kontraktů, která v minulosti vedla k zneužití a ztrátě prostředků. Tento EIP využívá chain ID k tomu, aby nebylo možné prostřednictvím jiného chainu provést „replay attack“ na kontrakt.

EIP-1108 přináší další změnu na úrovni ceny za gas, která přináší úlevu pro zero-knowledge SNARKs a v důsledku umožňuje levnější chod privacy funkcí na Ethereu a levnější škálování.

A konečně EIP-152 přidává velmi zajímavou možnost ověřovat proof-of-work algoritmus Equihash v rámci Ethereum kontraktu. Změna tak mimo jiné umožňuje provádět atomic-swap transakce a další interakce mezi Ethereem, Zcashem a dalšími na hashovací funkci Equihash postavenými proof of work kryptoměnami.

Závěr

Otázka do pranice zní, zdali splnil Istanbul Hard fork vložená očekávání. Správná analytická odpověď by měla znít ve stylu: „To záleží“. Na první pohled fork proběhl celkem hladce, „Istanbul ready“ je dnes 96 procent sítě a podporuje jej většina velkých burz. Na straně druhé, jak již víme z předchozích forků Etherea, žádný z nich se nikdy neobešel úplně bez problémů. Výjimkou není ani Istanbul. Minimálně procento nahlášených nefunkčních, nebo podivně se chovajících kontraktů za těch pár dnů od začátku nasazování povážlivě stouplo.

WT100temata2

Zdali povedou implementovaná opatření ve finále k očekávanému výsledku, také ukáže až čas, jak se totiž v minulosti již mnohokrát ukázalo, inženýr míní, uživatel mění. Některé implementované vlastnosti nové verze protokolu vypadají potenciálně hodně zajímavě, pokud je ovšem komunita, nebo byznys nezačne aktivně využívat, je to, jako by vůbec nebyly.

Část uživatelů, převážně spekulanti, si od forku slibovala také pozitivní dopad na hodnotu etheru. Osobně si myslím, že by podobné technické události měly mít v ideálním světě na cenu nativního tokenu nulový vliv. V ideálním světě nicméně nežijeme, a tak hard fork mohl představovat pro tuto část určité zklamání, z toho bych si nicméně dělal těžkou hlavu asi nejméně.

Autor článku

Redaktor serveru Lupa.cz a expert na blockchain a kryptoměny. Jako šéfredaktor v minulosti vedl ADASTRA Business Intelligence Magazine a server ITbiz.cz.