Dlouho očekávaný upgrade Ethereum sítě s názvem Constantinople byl opět odvolán. Stalo se tak již podruhé. Tentokrát je na vině kritická chyba, která byla naštěstí včas odhalena.

Důležitost auditů pro smart kontrakty

Auditorská firma ChainSecurity, která se zaměřuje na testování a revizi smart kontraktů, potvrdila, že kdyby byl návrh na zlepšení sítě Ethereum – EIP 1283 (Ethereum Improvement Proposal) implementován, mohl by útočníkům poskytnout relativně snadný způsob na ukradení prostředků uživatelů. Vývojáři společnosti Ethereum, jakož i vývojáři klientských softwarů a ostatní projekty provozující ETH síť, již  souhlasili se zpožděním hard forku, přinejmenším dočasně. Shodli se během urgentního online meetingu. Celý problém musí důkladně prověřit a zhodnotit.

Účastníky meetingu byli i tvůrce Etherea Vitalik Buterin, vývojáři Hudson Jameson, Nick Johnson a Evan Van Ness i release manažer firmy Parity Afri Schoedon. Nový datum forku bude pravděpodobně určen v průběhu další schůzky vývojářského týmu v pátek.

Hlavní vývojáři projektu dospěli k závěru, že by trvalo příliš dlouho opravit tuto chybu. Jelikož se měl fork odehrát 17. ledna přibližně v 5:00 ráno, čas na opravu chyby už vývojáři neměli.

O jakou chybu se vlastně jedná?

Tento útok nazvaný „reentrancy attack“ (útok znovuproniknutím) v podstatě umožňuje útočníkovi „opakovat“ tutéž funkci vícekrát, aniž by informoval uživatele nebo jinou část kódu o stavu provádění. Podle tohoto scénáře by mohl útočník v podstatě „vybírat finanční prostředky donekonečna“, řekl Joanes Espanol, technický ředitel blockchainové analytické firmy Amberdata. Dále vysvětluje:

„Představte si, že v mém kontraktu je funkce, která volá jiný kontrakt. Pokud jsem hacker a mohu spustit funkci, dokud se předchozí funkce stále provádí, mohl bych si ukořistit zpracovávané finanční prostředky.“

Chyba připomíná jedno ze zranitelných míst, které bylo zneužito při neslavném  DAO útoku na Ethereum síť v roce 2016. Je proto možné se domnívat, že odhalení takové závažné chyby až po nasazení Constantinople do ostrého provozu by mohlo mít pro Ethereum fatální následky.

Ethereum: Historie, DAO a Ethereum Classic

Otázkou je, zda náhodou nejsou podobně zranitelné kontrakty na Ethereum MainNetu již nasazeny.

– Analýza dostupných údajů ve službě eveem.org zatím neodhalila zranitelné smart kontrakty na hlavní ETH síti.

Rovněž pokud držíte své ETH na hardwarových peněženkách jako Ledger nebo  Trezor, nemusíte se ničeho obávat. Nejste ve spojitosti s touto chybou vystaveni žádnému riziku.

Techničtější pohled na problém

Příspěvek společnosti ChainSecurity vysvětlil, že před Constantinople hard forkem by storage operace (ukládací operace) v síti stály 5,000 gasů, což by značně přesahovalo 2,300 gasů, které se obvykle vybírají za provedení kontraktu pomocí funkcí „transfer“ nebo „send“.

Pokud by však upgrade proběhl, tyto ukládací operace by stály jen 200 gasů. Kontrakt útočníka by tak mohl použít tyto poplatky (2,300 gasů) na úspěšnou manipulaci proměnné nebo proměnných ve zranitelném smart kontraktu.

Oficiální vyjádření společnosti Ethereum najdete v tweetu:

Další odložení Constantinople

Aktualizace sítě Constantinople měla být spuštěna už loni v listopadu. Nestalo se tak po odhalení problémů při spuštění aktualizace na testovací síti Ropsten.

CEO Coinbase: Kryptoměny ve virtuální realitě jsou další velkou aplikací blockchainu

Originální verze tohoto článku byla publikována na našem slovenském webu kryptoportal.sk

Zdroj: coindesk.com