🇨🇿 Jaký je Nakamoto koeficient Cardana?

Nakamotův koeficient poprvé oficiálně popsal v roce 2017 bývalý technický ředitel společnosti Coinbase Balaji Srinivasan. Nakamotův koeficient měří decentralizaci a představuje minimální počet aktérů potřebných k narušení blockchainové sítě. Vysoký Nakamotův koeficient znamená, že blockchain je více decentralizovaný. Když toto měření vzniklo, dominovaly světu sítě Proof-of-Work, takže Balaji se na sítě Proof-of-Stake nezaměřil. Nám to nevadí, protože principy jsou stejné. Balaji popsal další kategorie, které lze měřit. Například rozložení hash rate v jednotlivých zemích, počet uzlů, počet klientů, počet uzlů nebo dokonce vývoj. V tomto článku se budeme zabývat pouze útoky, které mohou narušit konsensus sítě.

TLDR

  • Není nutné útočit na všechny uzly v síti, pokud je cílem narušit konsensus sítě.
  • Nebezpečné jsou interní útoky. Například generální ředitel společnosti Binance chtěl, aby provozovatelé bitcoinových poolů odstranili transakci.
  • Strategie útoku se liší v závislosti na konkrétním poškození, kterého chce útočník dosáhnout.
  • Minimální vektor útoku (MAV) je podobný údaj, který odpovídá Nakamotovu koeficientu zaměřenému na těžbu.
  • Někteří lidé nevidí rozdíl mezi počtem uživatelských uzlů a počtem producentů bloků.
  • Edinburský index decentralizace (EDI) je index vyvinutý Edinburskou univerzitou k měření úrovně decentralizace kryptoměn.
  • Decentralizace může být nedosažitelným cílem, protože kontrolu lze koupit za peníze.

Kolik lidí je potřeba k rozbití sítě?

Každá blockchainová síť se skládá z uzlů, které obsluhují lidé. Napadnout je možné buď uzly, nebo lidi. Napadení uzlů může způsobit jejich vypnutí, zabránit jim v účasti na konsensu sítě nebo je ovládnout ve prospěch útočníka. Útok na lidi může vynutit chování, které by bylo pro síť škodlivé. Lze očekávat, že hackeři budou útočit na uzly, zatímco regulační orgány a politici mohou útočit na lidi. Popsali jsme vnější útoky. Hrozbou pro blockchain jsou také vnitřní útoky.

Interní útok je založen na spolupráci lidí, kteří se aktivně podílejí na údržbě sítě. Skupina lidí se může mezi sebou dohodnout, že síť poškodí. Interní útoky jsou méně pravděpodobné, ale nelze je vyloučit. Mohou nastat situace, kdy se spolupráce může vyplatit. Například během velkého hackerského útoku na burzu Binance v roce 2019 se generální ředitel burzy snažil vyvinout tlak na provozovatele poolu, aby “zrušili hackerský útok” tím, že provedou reorganizaci bitcoinového blockchainu. Zrušení v podstatě zabránil jen čas. Když generální ředitel požádal o spolupráci, bylo už relativně pozdě na to, aby zahodil mnoho již vytěžených bloků. Těžaři původně nebyli proti reorganizaci, takže kdyby byl CZ rychlejší, mohlo k ní dojít.

V blockchainové síti nemají uzly stejné postavení. Obvykle se na konsensu sítě podílí pouze podmnožina uzlů. Účastníci síťového konsensu se dobrovolně účastní prostřednictvím vlastnictví určitého zdroje. V případě sítí PoW je to hash rate, v sítích PoS jsou to mince. Tato skutečnost usnadňuje práci útočníkovi, protože menší počet uzlů nebo účastníků usnadňuje provedení zamýšleného útoku.

Pro konsensus sítě jsou nejdůležitější uzly, které vytvářejí bloky. Další důležitou skupinou jsou subjekty, které delegují prostředky na členy skupiny producentů bloků. V případě Cardana a Bitcoinu si skupina delegátů vybírá mezi skupinou poolů, kterým zdroj deleguje. Ethereum vyžaduje, aby každý producent bloků měl 32 ETH. Koncept poolů však vznikl také a to organicky. Koncept delegování odpovědnosti za výrobu bloků funguje i v této síti PoS.

Všimněte si, že útočit na plné uzly běžných uživatelů nemá z pohledu útočníka velký smysl, protože tím téměř nic nezíská. Uživatelské uzly v podstatě jen přijímají platné bloky, ale nemají žádný vliv na probíhající konsensus ohledně obsahu bloků, cenzury transakcí, výběru řetězců v případě forků atd.

Těžaři poskytující hashovací rychlost nemusí provozovat vlastní uzel stejně jako stakeři ADA. Pro útočníka jsou důležité pouze uzly producentů bloků. Není nutné útočit na všechny uzly v síti, pokud je cílem prolomit konsensus sítě. Někteří lidé se mylně domnívají, že důležitý je pouze počet uzlů v síti, ale pro útoky na konsensus tomu tak není.

Útočník může chtít zpomalit produkci bloků, ovlivnit konsensus ve svůj prospěch, pokusit se o útok double-spend, rozdělit síť na dvě (nebo více částí), kde každá udržuje jinou verzi blockchainu, atd. Cílem útočníka může být v podstatě jen demonstrace síly a důkaz, že síť lze napadnout. Cílem útoku může být ztráta reputace sítě.

Strategie útoku se liší v závislosti na konkrétních škodách, kterých chce útočník dosáhnout. Na blockchain je možné zaútočit na úrovni sítě. Je například možné pokusit se zabránit distribuci bloků. Je možné útočit přímo na uzly. Pokud například pool Bitcoinu rozděluje práci mezi těžaře a útočníkovi se podaří uzel vypnout, blok nebude tímto poolem vytvořen ani po vyřešení úlohy PoW. Blok tak může produkovat node útočníka.

Útočník se může pokusit ovládnout zdroj. To znamená, že buď nakoupí dostatečné množství zdroje k útoku na síť na volném trhu, nebo se pokusí ukrást zdroj jeho současným držitelům. Mince sítí PoS mohou být ukradeny na burzách nebo přímo jejich držitelům, kteří je nemají dobře chráněné, například v HW peněženkách, jako jsou Trezor a Ledger. Držitelé ADA, kteří stakují mince na centralizovaných burzách, ohrožují Cardano. Pokud se hackerovi podaří ukrást mince z burzy, může získat část prostředků, které mu pomohou napadnout konsensus.

V případě hash rate je možný stejný typ útoku. Útočník může investovat do těžařů ASIC a energie nebo může během útoku odříznout velké těžební haly od internetu, čímž účinně zabrání vytvoření bloku. Chytřejší útok může zahrnovat využití hash rate třetí strany ve svůj prospěch. Útok může být zaměřen buď na síť (nechat těžaře vyřešit úkol útočníka), nebo na provozovatele těžební haly (buď regulačně, nebo vydíráním).

Minimální vektor útoku

Minimální vektor útoku (Minimal Attack Vector - MAV) se zabývá tím, kolik subjektů majících určitou kontrolu nad sítí by bylo potřeba k 51% útoku. Jinými slovy, MAV určuje, kolik nezávislých subjektů se musí tajně domluvit, aby získalo oněch 51 % kontroly. Čím je toto číslo vyšší, tím je lepší.

Všimněte si, že útočník se nesnaží získat kontrolu nad sítí tím, že by se snažil získat 51 % zdrojů například nákupem na volném trhu, tedy získáním nadvlády tím, že má více zdrojů než poctiví hráči.

Z hlediska vnitřního útoku je to počet stran, které při útoku vzájemně spolupracují. Z hlediska vnějšího útoku by někdo musel tento počet stran k útoku přesvědčit, převzít kontrolu nad infrastrukturou nebo je k útoku donutit.

MAV je podobný údaj, který odpovídá Nakamotovu koeficientu zaměřenému na těžbu. Pokud jde o decentralizaci těžby, Balaji sleduje počet subjektů, které přímo získávají odměny od protokolu, tj. poolů.

V síti Cardano se musíme podívat na počet subjektů, které by musely spolupracovat, aby po sečtení jednotlivých podílů měly kontrolu nad 51 % mincí ADA. Všimněte si, že se nejedná o počet poolů, protože jeden subjekt může kontrolovat více poolů. Důležitý je podíl (stake), který subjekt drží, nikoli počet poolů, které produkují bloky. To je určitá výhoda, protože pokud provozovatel provozuje pooly chytře a každý je na jiné infrastruktuře, může být pro vnější útok obtížnější ohrozit všechny pooly provozovatele současně.

Současná hodnota MAV sítě Cardano je 22. Některé zdroje uvádějí 24. MAV pro Bitcoin a Ethereum je 3. V případě Etherea to může být 5, pokud rozložíme vkladatele Lido.

Je důležité poznamenat, že MAV nemusí mít takový význam, jak si lidé obvykle myslí. V případě rychlého útoku, jako je například double-spend nebo reorganizace blockchainu v případě podobném hacknutí Binance, má MAV smysl. Delegáti obvykle nemají čas reagovat na útok během krátké chvíle. Nestihnou delegovat zdroje jinam, aby oslabili zlobivé pooly. V případě déle trvajících problémů, například pokud pooly cenzurují transakce, je moc v rukou delegátů. Ti mohou delegovat zdroj (mince nebo hash rate) na pooly, které se chovají podle jejich očekávání, což nemusí být pooly, které cenzurují transakce.

Velikost poolu se skládá z delegovaných prostředků. Chceme-li se decentralizací zabývat podrobněji, měl by nás zajímat počet delegátů. Zejména velcí delegáti, tj. ti, kteří drží velké množství mincí v sítích PoS nebo provozují velké těžební haly v sítích PoW. Vlastníci zdrojů mohou provozovat vlastní pool, ale existují i velryby, které zdroje delegují.

Vysoká decentralizace řeší “téměř” vše

Nejlepší obranou sítě proti většině útoků je vysoká míra decentralizace. Uvažujme situaci, kdy se Alice rozhodne podvádět. Změní pravidla protokolu ve svém uzlu a začne například cenzurovat transakce nebo preferovat transakce určité burzy, zatímco ostatní transakce ve svém mem-poolu ignoruje. Co se stane? Pokud má Alice malý podíl na zdroji (malý stake), nestane se téměř nic významného. Pokud se Bob, Carol, Dave a další budou řídit původními pravidly protokolu, prosadí se pravidla preferovaná většinou.

Proto musí být MAV co nejvyšší. Pokud by k cenzuře transakcí stačila dohoda mezi Alicí, Bobem a Carol, byla by decentralizace sítě velmi nízká. Pokud by tato trojice měla řekněme 60% podíl na zdroji (stake), mohla by v některých sítích ignorovat bloky menšiny a v podstatě si vynucovat cenzuru. Čím více účastníků by muselo s takovým nežádoucím chováním souhlasit, tím menší je pravděpodobnost, že k němu dojde.

Bylo by spravedlivé, kdyby Alice, Bob a Carol mohli dělat něco (cenzurovat transakce), co si většina uživatelů nepřeje? Pokud mají 60% kontrolu nad výrobou bloků, je tato trojice většinová. Mají konsenzuální právo rozhodovat o pravidlech, protože kontrolují většinu zdroje. Co nemají, je souhlas uživatelů, ale o ten se v zásadě starat nemusí, pokud jim nevadí, že někteří odejdou jinam.

Dešign Cardana je dobře promyšlený, protože provozovatelé poolu, v našem příkladu Alice, Bob a Carol, pravděpodobně nikdy nebudou vlastnit dostatek mincí ADA, aby mohli kontrolovat konsensus sítě. Je důležité, aby uživatelé měli kontrolu nad prací provozovatelů poolu z pozice držitele zdroje. Pokud jsou s prací provozovatelů poolu nespokojeni, mohou mince ADA delegovat jinam. Jedná se o naprosto stejný princip, jaký zavedl Bitcoin, s tím rozdílem, že držitelé BTC většinou nejsou těžaři. Bitcoin má tendenci se centralizovat, protože jen několik desítek těžebních hal kontroluje více než polovinu hash rate. Decentralizace zdroje by také měla být v ideálním případě co nejvyšší. To může být nedosažitelný cíl, protože kontrolu lze koupit za peníze.

Těžaři chtějí vyšší odměny z těžby a je chytré vytlačit konkurenci. Tím ale postupně získávají dominantní moc nad konsensem sítě. Cardano má podobný problém, protože mince ADA lze také koupit za peníze a čím více mincí máte, tím vyšší je odměna. Určitou výhodou je, že mince chce vlastnit velké množství dalších lidí a každý držitel ADA v podstatě decentralizuje síť. Jinými slovy, Cardano je inkluzivnější síť, pokud jde o možnost podílet se na decentralizaci a být odměňován. Ani staking nemusí být konečným řešením, jak dosáhnout co nejlepší decentralizace.

Všimněte si, že ten kdo kontroluje velkou část zdroje vůbec nemusí mít vlastní plný uzel. Pokud by vlastní uzel měl tak bude mít jeho uzel v síti výrazně silnější postavení než uzly ostatních účastníků.

Závěr

Kryptoměnový průmysl bohužel decentralizaci dobře neměří. Mnoho laiků si neuvědomuje, jak rozmanitá je škála útoků a jak důležité jsou detaily. Někteří lidé nevidí rozdíl mezi počtem uživatelských uzlů s počtem producentů bloků nebo podceňují schopnosti poolů pro krátkodobé útoky.

Edinburský index decentralizace (EDI) je index vyvinutý Edinburskou univerzitou k měření úrovně decentralizace kryptoměn, jako jsou Bitcoin a Ethereum. Na základě tohoto indexu je možné získat praktické a objektivní měření toho, jak je projekt decentralizovaný. Po změření těchto dvou největších projektů uvidíme, jak dobře si Cardano a další projekty vedou. Je důležité mít nezávislou analýzu s dobře vypracovanou metodikou měření. Tým na indexu stále pracuje, takže zatím nejsou k dispozici žádné výsledky.

Článek napsali Cardanians s podporou Cexplorer.

Článek v AJ: What is the Nakamoto coefficient of Cardano? | Cardano Explorer