Erik Weijers, před rokem
Včera se lidé zaměřili nejen na klesající cenu Etheru, ale také na Beacon Chain. Tam proběhla takzvaná "reorganizace bloků" o hloubce ne méně než sedmi bloků. K takovým reorganizacím na řetězcích proof-of-work občas dochází, ale byla naděje, že na řetězci Ethereum proof-of-stake budou minulostí. Měli bychom se obávat?
Ethereums Beacon Chain je paralelní řetězec, na kterém se důkladně testuje proof-of-stake. Po sloučení v (doufejme) druhé polovině roku 2022 pak Ethereum skutečně poběží na síti, která je v současnosti testovací sítí proof-of-stake. Na odhalení zranitelností je tedy ještě čas. Reorganizace bloků byla jedním z těch momentů, kdy si vývojáři navzájem psali DM: Co se to tu děje? Může to ublížit? Zdá se, že ne.
Při spojování bloků transakcí je normální, že na krátkou dobu dojde k rozvětvení. Jak k tomu dochází? V řetězcích proof-of-work, jako je Bitcoin, je to proto, že dva těžaři dokončili své "puzzle" téměř ve stejnou dobu a mohou těžit blok. Tento blok odešlou do uzlů. Pokud se tak stane téměř současně, je pravděpodobnější, že některé uzly schválí jeden blok a jiné uzly jiný. Pak dojde k rozvětvení (split). Ten se obvykle vyřeší dalším blokem, po kterém zůstane jen vítězný řetězec. Šance, že se téměř současné vytvoření bloku bude opakovat, je velmi malá - natož aby se to stalo třikrát nebo čtyřikrát za sebou. (Tato možnost forkování je důvodem, proč mnoho krypto burz a peněženek čeká na několik potvrzení/bloků. Teprve když je transakce zastrčená čtyři, pět, šest bloků hluboko, je téměř nulová šance, že ji lze zvrátit).
Jak se mohlo stát, že v Beacon Chain Etherea došlo k tomuto konfliktu až u sedmi bloků (mimochodem, doba bloku Etherea je jen asi 12 sekund)? Souvisí to s různými klienty Etherea (verzemi softwaru Ethereum), které byly v oběhu. Na některých uzlech běželi klienti, na kterých již byla provedena změna protokolu - na jiných tato aktualizace ještě provedena nebyla.
Dotyčná aktualizace protokolu se týkala tzv. funkce boost. Ta zajišťuje, že rychle vytvořené bloky jsou distribuovány mimořádně rychle - právě proto, aby se zabránilo oběhu konfliktních verzí řetězce. Protože ne každý klient měl tuto funkci boost implementovanou, různé uzly vyvodily různé závěry o tom, jaký je ten správný blok, na kterém je třeba založit zbytek řetězce.
Zdá seže právě k tomu došlo. Přesná pitva bude nepochybně následovat později. Jak již bylo zmíněno, výskyt dočasných forků a následných reorganizací není sám o sobě problém. A nepochybně všichni klienti začnou implementovat tuto funkci boostu, po které již k tomuto typu reorganizace bloků nebude docházet.
Reorganizace bloku neměla nic společného s útokem na systém, pokusem o dvojí útratu - ve skutečnosti ani s chybou. Nešlo tedy o nic příliš závažného. Ale skutečnost, že vývojáři Etherea tento typ události nepředpokládali, něco vypovídá o složitosti přechodu na proof-of-stake. Jedná se o systém ověřování transakcí, který je mnohem, mnohem složitější než proof-of-work. Nadcházející měsíce a roky - i po sloučení - by měly odhalit, jaká překvapení nás ještě čekají.
Přihlaste se k odběru informací pomocí našich e-mailových aktualizací