Hlavní navigace

Co přinesl dlouho očekávaný Ethereum hardfork Constantinople?

Autor: Depositphotos
Karel Wolf

Po Bitcoinu druhá nejpopulárnější kryptoměna prošla poslední únorový den dlouho očekávaným technickým hardforkem, respektive dokonce dvěma. Co přinesly?

Doba čtení: 5 minut

Dlouhé měsíce plánovaný Constantinople i nouzový Petersburg odstraňující návrh protokolu EIP 1283, který obsahoval závažnou bezpečnostní chybu, šel ven podle plánu, vytěžením bloku č. 7 280 000 poslední únorový den. Mineři a operátoři nodů na novou verzi Etherea ale přecházejí velmi zvolna, dva týdny po forku je zatím je dle stránky ethernodes.org „Constantinople ready“ jen okolo 50 % klientů.  Pro běžného uživatele Etherea se ale na první pohled nic důležitého nezměnilo, došlo jen k několika technickým vylepšením. Čím je tedy fork vůbec zajímavý?

Constantinople představuje závěrečnou část dvoufázového updatu Ethereum sítě, která je známá pod názvem Metropolis. Metropolis má síť připravit na příchod protokolu Casper a radikální změnu konsenzus mechanismu etherového blockchainu. Ten by měl postupně přejít z Proof of Work postaveného na těžbě pomocí GPU na Proof of Stake konsensus, a tím pádem by mělo dojít k uskutečnění jednoho z největších sociálních experimentů v dějinách kryptoměn. Další update po Constantinople (Serenity) by tak měl být už bez těžařů, jak je známe.

Protože je Ethereum od počátku koncipováno spíše jako platforma (virtuální stroj) pro decentralizované aplikace než jako pouhá měna, má trochu odlišný model dlouhodobého vývoje, než jak jsme zvyklí například u Bitcoinu.

Aby mohla platforma naplnit svůj původní navržený účel, byla už na počátku vytvořena roadmapa čtyř fází růstu, kterými bude muset Ethereum před dosažením cíle (jakéhosi Etherea 2.0) dojít. Každá fáze znamená integraci více a více vlastností, které dělají systém robustnější a jeho chod plynulejší.

Ethereum po svém spuštění začínalo s fází Frontier, následovala Homestead, nyní se nacházíme v závěru fáze Metropolis, která byla z důvodu velkého množství změn rozdělena na části Byzantium a právě Constantinople, a čeká nás ještě závěrečná fáze Serenity.

Co vlastně Constantinople představuje?

Constantinople obsahuje celkem pět návrhů – Ethereum Improvement Proposals (EIPs) na změny v Ethereum síti. EIP je obdoba bitcoinových BIP, protože je (alespoň teoreticky) Ethereum open source síť vlastněná komunitou, není zde (nebo by alespoň neměla být) jedna entita, která by rozhodovala, jakým způsobem dojde k upgradu sítě. Každý, kdo se chce aktivně podílet na vývoji Ethrea, proto může přijít s vlastním návrhem, jak by se dala síť vylepšit, a tento návrh vložit právě do podoby EIP, kterou si budou moci přečíst ostatní a hlasovat pro její případnou implementaci.

Constantinople obsahuje těchto zlepšovacích návrhů celkem pět:

  1. EIP 1014  –  umožňuje tzv. State Channels, což je proces, ve kterém uživatelé navzájem provádějí transakce primárně mimo mateřský blockchain (podobně jako platební kanály v Lightning Network) a pouze minimum transakcí se uzavírá on-chain. Za návrhem stojí sám zakladatel Etherea Vitalik Buterin
  2. EIP 1052 –  snižuje množství výpočetní síly nutné k ověření smart kontraktu a zefektivňuje a zrychluje tím pádem celý proces.
  3. EIP 145 –  snižuje gas potřebný k poslání transakce (gas je abstraktní jednotka vyjadřující pevné transakční náklady – tolik a tolik gas za kontrakt, ty se v momentě transakce převádějí na Ether podle platného ETH kurzu).
  4. EIP 1234  –  snížení odměny za ověření bloku pro minery ze 3 na 2 ETH a odklad difficulty bomb.
  5. EIP 1283  –  opět redukuje náklady na gas a snižuje tím pádem cenu transakce.

Všechny výše uvedené návrhy jsou součástí širší vize tzv. ETH 2.0, jak jej Vitalik představil v Praze na loňském Devcon4. Jde především o zlepšení protokolové ekonomiky, mezikontraktové logiky, optimalizace Ethereum Virtual Machine, radikální zlepšení škálovatelnosti a přechod na již zmiňovaný Proof of Stake.

Jejich implementace nebyla úplně bezbolestná, svědčí o tom nejen měsíce testování, ale také to, co se odehrálo 15. ledna (den před tím, než měl už tak odkládaný Constantinople původně naběhnout). Auditorská společnost ChainSecurity, která se specializuje na prověřování smart kontraktů, si všimla, že EIP-1283 dělá existující kontrakty náchylné na tzv. „reentrancy“ útok. Útočník tak mohl vstupovat do specifické funkce v síti opakovaně, aniž musel upozornit uživatele, čehož bylo možné následně zneužít například k odčerpávání prostředků z kontraktu do nekonečna, aniž by byl odhalen.

Odhalení chyby vedlo k dalšímu odkladu forku a vyřazení EIP 1283 z Constantinople. To nakonec na doporučení Pétera Szilágyi (Core Developera Etherea) proběhlo prostřednictvím samostatného updatu, který proběhl spolu s prvním hardforkem. Důvodem byl hlavně ohled na minery, kteří by se jinak mohli dostat do situace, kdy budou muset kvůli zavedení opravy provést rollback.

Kontroverzní EIP 1234

Z jednotlivých návrhů jsou nejzajímavější asi EIP 1014 – State Channels, to je nicméně spíše téma na samostatný článek, a EIP 1234, což je de facto příprava na přechod k Proof of Stake konsensu. Proof of Stake by měl de facto zvirtualizovat celý těžební proces a nahradit minery tzv. validátory. Ti uzamknou určité množství svých Etherů coby zástavu a následně začnou validovat bloky. Když objeví nový blok, o kterém si myslí, že by měl být přidán, validují jej pomocí toho, že si na něj vsadí. Pokud je blok připojen, validátoři získávají odměnu, která je proporční vložené sázce. Ethereum chce využívat PoS implementaci jménem Casper Protocol. Protože by však náhlý přechod z PoW na PoS pravděpodobně skončil kolapsem sítě, ethereum nejprve představí hybridní PoW-PoS consensus mechanismus nazvaný Casper FFG.

Content Early

Jako nedílná součást této transformace byla v roce 2015 představena tzv. difficulty bomb, funkce, která po své aktivaci zvýší obtížnost těžby exponenciálně a učiní tak mining natolik obtížný, že mineři ztratí ekonomickou motivaci se mu věnovat a přejdou eventuálně na PoS. Protože ale Casper Protocol ještě není plně připravený pro reálný provoz, došlo v návrhu k odložení difficulty bomby o 29 milionů vteřin, a tedy asi k jejímu ročnímu odkladu.

Omezení odměny ze 3 na 2 ETH za blok je tak kompromisní řešení, jak alespoň trochu limitovat inflaci v síti. Právě tento EIP ale vzbuzuje z celého Constantinople největší kontroverzi. Zatímco jeho autor Afri Schoeden tvrdí, že je to nejlepší návrh na stabilizaci vydávání nových ETH a zároveň zpoždění difficulty bomby, velká část komunity má obavu, že odklad difficulty bomb spolu se snížením obtížnosti, ke kterému v síti došlo s poklesem hashrate, povede k mnohem větší centralizaci etherového blockchainu a třetinové snížení odměny za blok tento problém neřeší.

Našli jste v článku chybu?