Autoři:
Aviv Yaish
Gilad Stern
Aviv Zohar
Odkaz na původní článek na medium.com
Původně zveřejněno 05.08.2022
První důkaz o útoku na významnou kryptoměnu
V novém dokumentu představujeme a analyzujeme nový vektor útoku na Proof-of-Work kryptoměny, jako je Ethereum. Poté procházíme nedávné bloky Etherea a podáváme první důkaz o útoku na úrovni konsensu provedeném ve „volné přírodě“ na významnější kryptoměnu!
Obtížnost těžby (difficulty) v Ethereu
V Ethereu se obtížnost těžby aktuálního bloku mění za běhu a snižuje se tím více, čím delší doba uplynula, aniž by někdo vytěžil nový platný blok; to se dělá proto, aby se zajistilo, že doba mezi bloky nebude z hlediska očekávání příliš dlouhá. Co by se mohlo pokazit?
Vyřazování konkurence (Časovou značkou)
Doba mezi bloky, a tedy i obtížnost těžby, se určuje podle časových značek bloků. Problémem je, že těžaři mají při jejich nastavování určitou volnost a mohou nastavit i falešné časové značky. Těžař může například začít těžit blok nyní, ale nastavit časovou značku bloku tak, aby ve skutečnosti byla 5 sekund v minulosti nebo 10 sekund v budoucnosti. Dokud je toto časové razítko v určitém rozumném rozmezí, bude blok podle zákonů konsensu Etherea stále považován za platný.
Stejné zákony konsensu říkají, že v případě remíz mezi bloky stejné výšky by měl být vybrán blok s vyšší celkovou obtížností těžby jako nadřazený aktuálně těženému bloku, zatímco druhý blok by měl být jeho „strýcem“ (tzv. „uncle block“).
Těžař, který chce nahradit poslední blok v blockchainu, tak může učinit vytěžením nového vlastního bloku, jehož časové razítko je dostatečně nízké, aby zvýšilo obtížnost těžby bloku. To může být užitečné například v případech, kdy tento poslední blok obsahuje transakce s vysokou výtěžností, nebo za účelem zdvojení transakce obsažené v bloku. Další možností je, že útočník preventivně těží bloky s takovými falešnými časovými razítky, aby si zajistil výhru v případě remíz s jinými bloky, které mohou být těženy současně nebo které mohly být těženy v nedávné minulosti, ale k útočníkovi se ještě nedostaly.
Všimněte si, že to je v příkrém rozporu s většinou existující literatury, která útok popisuje jako snahu nahradit bloky tím, že vyžaduje, aby těžaři tajně vytvořili nejdelší řetězec, udrželi jej v tajnosti a pak ho zveřejnili.
Žádné riziko, žádný zisk? Ne!
V našem dokumentu výše uvedený útok formálně popisujeme a důkladně analyzujeme. Ukazujeme, že provedením útoku specifickým způsobem útok nevede k žádnému chování, které by mělo nenulovou pravděpodobnost, že vydělá méně než poctivá těžba, což znamená, že náš útok dominuje nad strategií poctivé těžby.
Hledání ztraceného času: výroba strýčků v divočině
Na základě analýzy veřejně dostupných on-chain údajů můžeme konečně říci, že odpověď na dlouholetou otázku, zda těžaři útočí na konsensuální vrstvu hlavních kryptoměn, zní jednoznačně ano!
Ačkoli většina těžebních poolů vytváří relativně nenápadně vypadající bloky, F2Pool pravidla hrubě ignoruje a pro své bloky používá falešná časová razítka. Konkrétně, kdykoli by měl mít blok rozdíl časových značek oproti svému rodiči, který je dělitelný 9 (přesně čas, kdy se obtížnost těžby snižuje), F2Pool visí na předchozí vteřině o chvíli déle, čímž zvyšuje obtížnost těžby a zisky. V posledních dvou letech tak F2Pool neměl ani jeden blok s časovým razítkem, které by bylo dělitelné devíti.
Když se podíváme na bloky vytěžené jinými pooly, můžeme si všimnout, že prakticky všechny ostatní mají nadměrné zastoupení uncle bloků s rozdíly časových razítek, které jsou dělitelné 9, což znamená, že F2Pool se cíleně snaží tyto bloky nahradit.
Vzkaz domů
Domníváme se, že je velmi příhodné publikovat tento článek na prahu merge, tedy přechodu Etherea na Proof-of-Stake. Současná verze konsensu Etherea, která se opírá o Proof-of-Work, je známá tím, že rychle přijímá změny, aniž by je vždy pečlivě zkoumala a aniž by zkoumala, jaký vliv mohou mít na motivaci těžařů. Změny, které měly za cíl zmírnit jednu zranitelnost, tak otevírají dveře novým zranitelnostem. Náš článek ukazuje, že konsensuální mechanismy a jejich změny by měly být důsledně analyzovány, zejména s ohledem na motivaci těžařů.
. . .
Tato skutečnost byla zodpovědně sdělena nadaci Ethereum Foundation.
Pokud máte připomínky, zpětnou vazbu, vylepšení nebo návrhy, neostýchejte se nás oslovit, budeme rádi, když nám je sdělíte! Můžete tak učinit a také se podívat, co dalšího chystáme, prostřednictvím našich webových stránek: AvivY, Gilad, AvivZ.