Vývojáři Etherea odložili plánované spuštění aktualizace Glamsterdam na testovací síti Hoodi poté, co bezpečnostní experti upozornili na potenciálně závažný problém. Navrhované změny v účtování poplatků za gas by mohly ovlivnit fungování již existujících chytrých kontraktů a v některých případech způsobit, že se neúspěšné operace nevrátí do původního stavu.
Vývojáři druhé největší kryptoměny Ethereum rozhodli o odložení další fáze testování připravované aktualizace Glamsterdam. K tomuto kroku přistoupili po zveřejnění bezpečnostní analýzy, která upozornila na možné komplikace při zpracování transakcí a fungování chytrých kontraktů.
Aktualizace měla být na testovací síti Hoodi aktivována v pondělí 26. října v 17:42:48 UTC. Během čtvrtečního setkání All Core Devs Execution však vývojáři rozhodli o jejím odložení, aby získali čas na důkladné prošetření identifikovaných rizik. Nový termín zatím nebyl stanoven.
Hlavním předmětem obav je návrh EIP-8037, který upravuje způsob účtování poplatků za vytváření nových záznamů v úložišti blockchainu. Cílem této změny je omezit nadměrný růst datové struktury Etherea v době, kdy se síť připravuje na další zvyšování své transakční kapacity.
Bezpečnostní společnost ChainSecurity však již 13. října zveřejnila analýzu, podle níž by kombinace návrhů EIP-8037 a EIP-8038 mohla nečekaně změnit chování některých existujících chytrých kontraktů.
Problém souvisí především se situacemi, kdy chytrý kontrakt zavolá jiný kontrakt, jehož operace následně selže kvůli nedostatku gasu. Některé kontrakty jsou naprogramovány tak, aby takové selhání zachytily a pokračovaly v dalších krocích. Mohou například zaznamenat neúspěšný pokus, zablokovat jeho opakování nebo přejít do další fáze procesu.
Za současných pravidel však vývojáři v určitých případech spoléhají na to, že po neúspěšné operaci nezůstane dostatek gasu k dokončení těchto kroků. Výsledkem je vrácení celé transakce do původního stavu.
Aktualizace Glamsterdam by tento mechanismus mohla narušit. Nově navrhovaná pravidla totiž umožňují v určitých situacích vrátit část gasu spotřebovaného při změnách úložiště, pokud jsou tyto změny následně zrušeny. Kontrakt by tak mohl získat dostatek prostředků k dokončení operace, která by za dosavadních podmínek selhala.
V praxi by to mohlo znamenat například trvalé zaznamenání neúspěšného pokusu nebo změnu interního stavu kontraktu v situaci, kdy jeho původní návrh počítal s úplným zrušením transakce.
Bezpečnostní analytici zároveň upozornili na opačný problém. Podle výpočtů ChainSecurity by vytvoření nového úložného záznamu mohlo při vyčerpání zvláštního limitu vyžadovat až 110 020 jednotek gasu, zatímco podle současných pravidel jde o 22 100 jednotek.
To představuje téměř pětinásobný nárůst, který by mohl způsobit selhání některých jinak platných operací v kontraktech využívajících předem stanovený limit gasu.
Přestože jde o potenciálně závažné komplikace, experti zatím veřejně neprokázali, že by bylo možné tímto způsobem zneužít některý z významných protokolů fungujících na hlavní síti Etherea. Identifikované problémy se navíc týkají teprve navrhovaných pravidel, nikoliv současného provozu blockchainu.
Samotná aktualizace Glamsterdam představuje důležitý krok v dalším technologickém rozvoji Etherea. Vedle změn v účtování gasu má přinést také nový systém výběru tvůrců bloků a další optimalizace, které mají umožnit zpracování větších bloků a zvýšení celkové kapacity sítě.
První významnou zkouškou prošla aktualizace 6. října na testovací síti Sepolia. Následovat mělo právě spuštění na síti Hoodi, současně s plánovaným zvýšením limitu gasu na 200 milionů jednotek na blok. Také tento krok byl nyní odložen.
Vývojáři dosud nepotvrdili ani konečný termín nasazení Glamsterdam na hlavní síť Ethereum. Další postup bude záviset především na výsledcích bezpečnostního prověřování a případných úpravách problematických návrhů.
Odložení testování tak zatím nepředstavuje bezprostřední ohrožení uživatelů Etherea, ale připomíná složitost modernizace rozsáhlých blockchainových sítí. I relativně drobné změny v ekonomice transakcí totiž mohou mít nečekané důsledky pro tisíce aplikací a chytrých kontraktů, které na jejich fungování spoléhají.
