Uzly v distribuované síti nemají stejnou pozici v síťovém konsensu. Uzly producentů bloků mají silnější pozici než běžné full-nody uživatelů. V tomto článku budeme hovořit o roli běžných plných uzlů v kontextu produkce bloků a governance. Podíváme se také na upgrade sítě prostřednictvím hard-fork kombinátoru.
Uzel vs. drahý zdroj
Decentralizaci můžeme zkoumat z pohledu produkce bloků a správy. Obojí potřebuje uzly a drahé zdroje. V první řadě je nutné pochopit jejich význam v kontextu decentralizace.
Drahým zdrojem máme na mysli ADA coin v případě Cardano nebo hash rate v případě Bitcoinu.
K výrobě bloků jsou potřeba pouze uzly produkující bloky (pooly) a drahý zdroj. Tuto činnost lze prakticky provádět bez podpory dalších (ne bloků produkujících) plných uzlů.
Na obrázku níže vidíte plné uzly a pooly. Na pooly je delegovaný drahý zdroj, takže oni mají silnější postavení v síti. Pooly mohou produkovat bloky zatímco full nody nemohou. Nezáleží na tom jestli jsou na pooly delegovány ADA mince nebo hash rate.
Lidé mohou vlastnit drahý zdroj a nějak ho delegovat na uzel produkující bloky. Coiny ADA lze delegovat z lehké peněženky do jakéhokoli poolu Cardano. Delegování spočívá v odeslání transakce s certifikátem, který umožní zahrnout ADA coiny do total stake zvoleného poolu. Pool, tedy uzel produkující bloky, získává delegováním silnější pozici v síti, protože může produkovat více bloků. O tolik více bloků, kolik se zvýšil jeho celkový vklad. Úplně stejným způsobem mohou ostatní stakeři delegovat ADA coiny do jiných poolů.
Běžní uživatelé mohou spustit plný uzel (peněženku Daedalus) a odeslat z něj delegační certifikát. Způsob delegování je však v kontextu decentralizace irelevantní (za předpokladu, že stakeři vlastní soukromé klíče k coinům ADA).
U Bitcoinu je situace velmi podobná. Těžaři delegují hash rate na vybraný pool prostřednictvím hardwaru ASIC.
Všimněte si, že ani stakeři, ani těžaři nemusí provozovat své vlastní plné uzly a stále rozhodovat, který pool bude produkovat bloky s jejich delegovanou rozhodovací pravomocí.
Správa je také závislá na drahém zdroji pro hlasování o upgradech sítě, distribuci coinů z pokladny projektu nebo jiných věcech. Není možné hlasovat přes uzly kvůli hrozbě útoků Sybil.
Útok Sybil je typ útoku na síť, kdy zlomyslný aktér vytvoří více falešných identit nebo uzlů, aby získal větší vliv nebo kontrolu nad sítí.
Na obrázku níže můžete vidět 4 uživatele provozující plné uzly a útočníka (Sybil), který si pro sebe vytvořil dvojnásobný počet uzlů.

Je nutné hlasovat přes coiny (nebo hash rate) a ne přes uzly, protože hlasování přes uzly je zranitelné. Pokud by bylo povoleno hlasování prostřednictvím uzlů, útočník by mohl vytvořit mnoho falešných uzlů (dočasně přidělit velké množství IP adres) a hlasovat pro své vlastní zájmy nebo preference, aniž by musel do sítě investovat jakékoli zdroje nebo podíl. To by jim poskytlo nespravedlivou výhodu nad čestnými uzly a ohrozilo by spravedlnost a legitimitu volebního procesu.
Hlasování prostřednictvím drahých zdrojů na druhé straně vyžaduje, aby účastníci prokázali, že do sítě investovali nějaké nákladné zdroje. To útočníkovi ztěžuje a prodražuje vytváření falešných uzlů nebo hlasů a zajišťuje, že jeho rozhodnutí mohou ovlivňovat pouze ti, kteří mají v síti podíl.
Hlasování prostřednictvím ADA coinů nebo hash rate sladí pobídky účastníků se zájmy sítě, protože těží z udržení její bezpečnosti a stability.
Všimněte si, že pro hlasování také není nutné provozovat vlastní úplný uzel. Existuje však případ, kdy uživatelé mohou hlasovat prostřednictvím běžných úplných uzlů.
Jedinou formou hlasování, kde plné uzly hrají důležitější (ale ne zásadní) roli, je upgrade na novější nebo jinou verzi klienta. Pokud se na síti objeví dvě nekompatibilní klientské verze, může dojít k rozvětvení blockchainu. Forky blockchainu (a tím i sítě) jsou nepříjemné, protože snižují bezpečnost a stabilitu sítě, způsobují fragmentaci mezi uživateli, vývojáři a komunitou a mohou vést ke vzniku nových coinů.
V případě platforem SC, jako je Cardano nebo Ethereum, mohou být tokeny (stablecoiny), NFT a aplikace teoreticky duplikovány. K tomuto tématu se vrátíme později a vysvětlíme si proč se to v Cardano síti nemůže stát.
Je důležité si uvědomit, že i v tomto případě je role drahého zdroje zcela zásadní. Blockchainy jsou zabezpečené a decentralizované prostřednictvím drahého zdroje, nikoli prostřednictvím úplných uzlů. Vlastníci zdroje rozhodují o tom, která síť bude bezpečnější (a teoreticky i decentralizovaná).
Odhadnout výsledek rozvětvení sítě je obtížné, protože roli hraje mnoho detailů. Záleží na rozhodnutí těch, kdo drží většinu drahých zdrojů (mohou to být instituce nebo firmy). Pokud jsou projektové coiny duplikovány, obě strany mohou prodat první verzi a koupit druhou.
Hlasování přes uzly (i v případě síťového forku) má další zásadní nedostatek, a to nízké kvórum. U většiny sítí provozuje úplný uzel ani ne 1 % uživatelů. V kombinaci s hrozbou útoků Sybil se hlasování přes plné uzly zdá nemožné. K upgradům sítě se vrátíme později.
Role plných uzlů při produkci bloků
Pokud jde o produkci bloků, běžný (ne produkující bloky) úplný uzel přijímá pouze platné bloky, které obdrží. V případě forku aplikuje pravidla pro výběru cahinu. Úplný uzel nehraje vůbec žádnou roli, pokud jde o výběr transakcí, které mají být zahrnuty do bloku, nebo rozhodování o tom, který řetězec vyhraje v případě rozvětvení blockchainu.
Pokud jsou například transakce cenzurovány provozovatelem poolu, vlastník úplného uzlu s tím nemůže nic dělat, na rozdíl od držitele drahého zdroje.
Ukažme si to na praktickém příkladu. Podívejte se na obrázek níže.
Pouze uzly producentů bloků rozhodují o tom, jaké transakce budou ve všech blocích. Po bloku 5 došlo k rozvětvení. Plné uzly s tím nemohou nic dělat a pasivně přijímají oba bloky 6 a 7. O tom, který řetězec vyhraje, opět rozhodují pouze uzly vyrábějící bloky (a drahý zdroj). Náhodně vybraný uzel výrobce bloků přidá blok 8.

V případě vidlice se všechny uzly (včetně poolů) v síti řídí stejnými pravidly ohledně přijímání bloků a výběru řetězce v případě forku.
V případě Cardana platí pravidlo nejdelšího řetězu. Pokud jsou oba řetězce stejně dlouhé, rozhoduje výstup VRF v posledních blocích. Náhodně vybraný pool, který se stal vedoucím slotu, by měl vybrat řetězec, který má nižší výstupní hodnotu VRF.
V případě Bitcoinu si provozovatel poolu vybírá řetězec podle vlastního uvážení. Neexistuje žádné explicitní pravidlo kromě pravidla nejdelšího řetězce. Více než polovinu počtu bloků těží 2 pooly. Existuje určitá šance, že v případě rozvětvení se mohou pooly rozhodnout připojit nový blok za svůj vlastní (předešlý) blok.
Pooly mají v některých případech právo vybrat si, což pasivní plné uzly nemají. Ukázali jsme to na příkladu forku. V případě Cardano nemusí provozovatel poolu respektovat pravidlo a může přidat nový blok za blok 6 nebo 7 bez ohledu na pravidlo týkající se menšího výstupu VRF. Zbytek sítě neví (a nemůže prokázat), že pool měl k dispozici oba bloky, tedy že věděl o forku. Jak jsme si již řekli, v případě Bitcoinu jde o svobodnou volbu.
Úplné uzly pouze pasivně monitorují síť a přijímají každý platný blok. Pokud dojde k forku, počkají, až to pooly vyřeší. Pokud se produkce bloků z nějakého důvodu zastaví, úplný uzel nemůže síti nijak pomoci. Pokud pooly vytvářejí prázdné bloky, musí je plný uzel přijmout (prázdný blok je platný blok).
Pokud se pool nechová v souladu se zájmy sítě, úplný uzel nemá pravomoc potrestat provozovatele poolu. Výroba bloků je plně řízena uzly producentů bloků a drahými zdroji. Potrestat provozovatele poolu je možné pouze prostřednictvím drahého zdroje, který sám nevlastní a je na něj pouze delegován.
K forkům se ještě jednou vrátíme, protože k nim může dojít během upgradu sítě.
V kontextu decentralizace má smysl provozovat vlastní úplný uzel, protože ověřujete práci poolů. Úplné uzly a uzly producentů bloků musí dodržovat stejná pravidla. Pokud by se jeden uzel producenta bloku pokusil porušit pravidla a například se pokusil vložit do bloku neplatnou transakci, všechny ostatní uzly by to okamžitě detekovaly a blok nepřijaly. To je důležité zejména v případě jiných poolů, protože by také zahodily neplatný blok. Blok producenti se navzájem dozírají a full nody mohou dozírat všechny blok producenty.
Pokud by běžný fullnode operátor našel problém s produkcí bloků, velmi pravděpodobně by nebyl v síti jediný. Všechny plné uzly by detekovaly stejný problém. Lidé by si mohli veřejně stěžovat na problémového provozovatele poolu (provozovatelů) v naději, že delegátoři drahého zdroje oslabí jeho pozici delegováním do jiného poolu.
Nezapomínejme, že plné uzly v síti Cardano provozují hlavně stakeři, takže by okamžitě delegovali ADA coiny jinam, když se provozovatel poolu chová špatně. To je výhoda ve srovnání s Bitcoinem, protože v Bitcoinové síti není běžné, aby operátoři plných uzlů provozovali také hardware ASIC.
Upgrade Cardano sítě
Hard fork je typ změny protokolu, který zavádí nová pravidla nebo funkce, které nejsou kompatibilní s předchozí verzí. Hard fork obvykle vyžaduje, aby všechny uzly v síti upgradovaly na novou verzi, jinak zůstanou v samostatném řetězci. Hard fork také vytváří riziko rozdělení nabídky mincí a uživatelské základny a také způsobuje zmatek a nejistotu mezi účastníky sítě.
Upgrady jsou v síti Cardano snadné a bezproblémové díky unikátnímu nástroji zvanému hard-fork kombinátor.
Síť Cardano používá hard-fork kombinátor ke spojení více hardforků do jediné aktualizace, aniž by došlo k jakémukoli narušení nebo zdvojení řetězu a mincí.
Hard-fork kombinátor funguje pomocí speciálního pravidla účetní knihy, které může kombinovat více protokolů do jednoho systému a přepínat mezi nimi v předem definovaných okamžicích. Nástroj také zachovává historii a kontinuitu blockchainu, stejně jako platnost a jedinečnost mincí. Umožňuje projektu Cardano implementovat nové funkce a vylepšení, aniž by to ovlivnilo normální provoz sítě nebo vytvořilo jakékoli rozvětvení nebo rozdělení.
Na obrázku níže můžete vidět, že po bloku 4 došlo k hard forku sítě. Od bloku 5 platí nová pravidla sítě (zelený chain). Hard fork v tomto případě není úplně přesný název, protože žádný fork blockchainu ve skutečnosti neproběhl. Na většině uzlů nebude žádný osiřelý blok, jen souvislý řetězec bloků.
Událost hard fork kombinátoru je iniciována vývojáři Cardano, kteří rozhodují, kdy a jak implementovat novou verzi protokolu (klienta), která zavádí nové funkce nebo vylepšení do sítě. Aby se provozovatelé poolu připravili na událost hard fork kombinátoru, musí nainstalovat novou verzi softwaru nebo klienta, který podporuje novou verzi protokolu. Nový software nebo klient se automaticky přepne na novou verzi protokolu v předem definovaném okamžiku, aniž by vyžadoval jakýkoli ruční zásah nebo koordinaci.
Provozovatelé poolu se mohou svobodně rozhodnout, zda nainstalují novou verzi protokolu nebo ne. To je důležitá součást vládnutí. Událost hard fork kombinátoru nelze spustit, pokud není signalizována dostatečná podpora.
Všimněte si, jakou roli v tom hraje drahý zdroj, tedy mince ADA. Stakeři mohou zkontrolovat, jakou verzi protokolu nainstalovali provozovatelé poolu. Pokud se některý z provozovatelů poolu rozhodne nepodpořit přechod na novou verzi protokolu a veřejně to oznámí, je na držitelích ADA, zda tyto provozovatele poolu podpoří delegováním nebo je opustí a delegují jinam.
Pokud je síť upgradována, musí být samozřejmě upgradovány i peněženky plného uzlu (peněženka Daedalus). Všimněte si, že pokud jde o hlasování pro změnu, plné uzly opět nehrály téměř žádnou roli. Pokud by byli proti změně a zůstali na starší verzi peněženky (nodu), jejich node by nebyl schopný akceptovat nové bloky.
Hard-fork kombinátor je jednou z inovací, díky kterým je Cardano flexibilní a adaptabilní blockchain platforma, která se může časem vyvíjet a růst. Navíc dává rozhodovací pravomoc do rukou držitelů ADA. Událost hard fork kombinátoru nelze inicializovat bez jejich podpory a koordinace s operátory poolu.
Cardano bude ještě decentralizovanější, pokud jde o správu, jakmile bude inicializace události hard fork kombinátoru v rukou komunity. V této fázi však tým nemůže prosazovat změny dle libosti, protože protokol provozují nezávislé subjekty, nad kterými nemá nikdo kontrolu.
Upgrade Bitcoinové sítě
V případě Bitcoinu je to principiálně velmi podobné, přesto odlišné.
Chcete-li se zúčastnit hard forku, musí uzly upgradovat na novou verzi klienta, která podporuje nová pravidla. Nový klient se automaticky přepne na novou verzi protokolu v předem definovaném okamžiku, aniž by vyžadoval jakýkoli ruční zásah nebo koordinaci. Uzly, které neprovedou upgrade, zůstanou na staré verzi protokolu a nebudou moci komunikovat s uzly, které byly upgradovány.
Na obrázku níže došlo k hard forku po bloku 4. Modrý řetězec je udržován původní verzí klienta. Zelený řetězec je udržován novou (upgradovanou) verzí klienta.
Hash rate a hlasování jsou dva faktory, které ovlivňují výsledek hard forku.
Hash rate je míra těžební síly, která je věnována výrobě nových bloků.
Hlasování je proces signalizace podpory nebo preference určité verze protokolu zbytku sítě pomocí specifického bitu v hlavičce bloku. Bit nastavují provozovatelé Bitcoin poolů. Bit označuje podporu určité verze pomocí hash rate, který poskytují těžaři. Operátoři poolu mohou sbírat data od těžařů a podle toho nastavit bit. Bit mohou provozovatelé poolu kdykoli změnit v závislosti na jejich rozhodnutí nebo strategii.
Signalizace probíhá před hard forkem.
Jak hash rate, tak i hlasování mohou naznačovat úroveň konsensu a přijetí hard forku mezi těžaři, kteří jsou zodpovědní za zabezpečení a ověřování sítě.
Hash rate a hlasování nejsou pro hard fork závazné ani rozhodující, protože neodrážejí názory ani zájmy všech účastníků sítě. Upozorňujeme, že operátoři plného uzlu nemohou vyjádřit svůj názor na upgrade sítě. Mohou pouze sledovat signalizaci těžařů a podle toho se rozhodnout, zda upgradovat svůj vlastní uzel.
Těžaři, tedy hash rate, je to, co rozhoduje o výsledku hard forku nejvíce, protože je v zájmu většiny účastníků zůstat u bezpečnějšího řetězce. Je samozřejmě možné zůstat u méně bezpečného chainu. V konečném důsledku však hard fork závisí na tržních silách a uživatelských volbách, které určují jeho hodnotu a přijetí.
V případě Bitcoinu došlo v minulosti k několika duplikacím coinů a fragmentaci komunity (spolu s vývojáři). Pokud si část komunity přeje provést změnu prostřednictvím hard forku, stane se to. Zbytek účastníků se buď připojí k nové verzi klienta, nebo zůstane u staré verze.
Uživatelsky aktivovaný hard fork (UAHF) je speciální typ změny protokolu v Bitcoinu, který rozšiřuje nebo upravuje pravidla. UAHF aktivují uživatelé, kteří používají software s novými pravidly a nevyžadují podporu většiny těžební síly. UAHF může způsobit rozdělení blockchainu na dvě (nebo více) větví, které nejsou vzájemně kompatibilní. Uzly s novými pravidly budou následovat svůj vlastní řetězec bez ohledu na jejich podporu těžby.
UAHF je způsob, jak umožnit různým skupinám uživatelů Bitcoinu, kteří mají různé názory nebo vize, dobrovolně se oddělit od původního řetězce a vytvořit si vlastní verzi kryptoměny. Operátoři plných uzlů však nemusí mít záruku, že síť bude těžaři dostatečně zabezpečena.
UAHF mi připadá jako určitá forma nátlaku, kdy operátoři full node (uživatelé) mohou ignorovat těžaře a naopak těžaři mohou ignorovat uživatele.
Nejsem si jistý, zda bude UAHF v budoucnu relevantní formou hlasování. Jak bylo zmíněno výše, velmi málo lidí provozuje své vlastní plné uzly, takže je malá šance, že se k menšině uživatelů připojí většina těžařů. Úplné uzly provozované ústřednami mohou mít vyšší váhu než uživatelské uzly.
Troufám si tvrdit, že i v případě Bitcoinu hrají plné uzly zanedbatelnou roli a o upgradech rozhodují především těžaři. Je v zájmu uživatelů zůstat u nejbezpečnější verze, tedy respektovat rozhodnutí těžařů. Významnou roli však hrají držitelé velkého množství mincí a případně bohaté subjekty (instituce, pooly atd.), protože jejich nákup či prodej mincí přímo ovlivňují odměny těžařů.
Pro Bitcoin by byl nepříjemný fork, který by rozdělil komunitu a tím i hash rate na přibližně dvě stejné části, jelikož by také snížil bezpečnost Bitcoinu A a Bitcoinu B na polovinu (alespoň krátkodobě). O tom jaký chain si ponechá originální jméno Bitcoinu rozhoduje hash rate, tedy pravidlo delšího řetězce.
Role týmů
Pojďme si říci něco více o roli týmů. Vliv týmů na protokoly je relativně malý, pokud jde o decentralizaci, protože verze klientů, které navrhují, musí síť akceptovat.
V případě Cardana je síla týmu o něco vyšší než v případě Bitcoinu, protože tým (3 zakládající subjekty) inicializuje událost hard-fork kombinátoru. To má určité výhody a nevýhody. Výhodou je, že síť Cardano nelze rozdělit. Vždy bude pouze jedna síť Cardano a 45 000 000 000 ADA coinů. Nikdy nebude Cardano Classic nebo Cardano Cash. Na druhou stranu má tým kontrolu nad tím, co Cardano je a jaké aktualizace bude nová verze klienta obsahovat. Bylo by možné udělat hard fork bez hard-fork kombinátoru? Možná.
V případě Bitcoinu může hard fork udělat kdokoli a kdykoli. Blockchain forky a duplikace coinů je součástí řízení. Problém je přesvědčit komunitu, těžaře, vývojáře a také burzy, aby nový řetězec podpořili. Myslím, že to je obrovská překážka nejen v případě Bitcoinu, ale i v případě Cardana. Relevance blockchainové sítě je primárně o komunitě a adopci a až v druhé řadě o technologii. Bez výrazné podpory komunity nemá smysl o hard forku uvažovat.
Tým vytvoří novou verzi klienta a nabídne ji komunitě (síti). Držitelé drahých zdrojů a tržní síly rozhodují o tom, který klient bude používán. V případě Cardana musí komunita upgrade přijmout, jinak k němu vůbec nedojde. K rozvětvení sítě Cardano nemůže dojít. V případě Bitcoinu jsou forky součástí governance.
Na obrázku níže vidíte tým jenž komunita nabídnul novou verzi klienta (zelená). Většina pool operátorů novou verzi akceptovala. Jeden operátor zůstal na staré verzi (modrý).
Tým může mít kontrolu nad konsensem sítě, pokud si ponechá drahý zdroj. To může být snazší v případě PoS projektů, protože tým si může ponechat významnou část coinů. V případě Cardana je však naprostá většina coinů v rukou komunity, takže žádné takové riziko nehrozí. Nemyslím si, že členové týmu Bitcoin Core kontrolují významnou část hash rate. Kontrolu nad těžbou však získávají společnosti jako Digital Currency Group a nově Black Rock. Prostřednictvím hash rate mohou mít kontrolu nad upgradem sítě, tedy nad týmem.
Decentralizace je vlastně velmi složitá věc. Pokud by bylo možné obejít se bez drahého zdroje (který si mohou bohatí lidé koupit) a spoléhat se pouze na uzly umožňující peer-to-peer komunikaci mezi uživateli, bylo by to jednodušší. Bez síťového konsenzu však není možné zajistit například ochranu před dvojím utrácením coinů nebo neměnnost měnové politiky (digitální nedostatek). Síťový konsensus protokol je nezbytný a účastníci musí mít ve hře vlastní kůži, protože neexistuje žádná jiná forma ochrany.
Pamatujte, že bezpečnost sítě (a ochrana proti 51% útokům) je primárně určena tržní hodnotou coinů. Decentralizace je závislá na distribuci drahého zdroje. V případě upgradu sítě je důležité zachovat tyto funkce na co nejlepší úrovni.
Úplné uzly nemají téměř žádný vliv na bezpečnost nebo decentralizaci. Přestože úplné uzly mohou teoreticky ovlivnit výsledek hlasování, nemohou přímo poskytovat důležité vlastnosti síti. Toho mohou dosáhnout pouze nepřímo tím, že prokážou vůli těch, kteří provozují plné uzly. Z mého pohledu je mnohem efektivnější hlasovat přes drahý zdroj.
Závěr
Spuštění plného uzlu je výhodné pro vaše soukromí a nezávislost na třetí straně. Můžete také sledovat práci uzlů výrobce bloků. Z hlediska konsensu a správy sítě je však nejdůležitější drahý zdroj.
Útoky sybil znemožňují možnost hlasovat nebo se k situaci vyjádřit na základě počtu plných uzlů a jejich případné signalizace. Coiny největších blockchainů drží desítky až stovky milionů uživatelů, zatímco plné uzly obsluhují tisíce až deset tisíc lidí. To je velký nepoměr, takže počet uzlů má velmi nízkou vypovídající hodnotu, co se uživatelského názoru týče. Výroba bloků je založena na drahém zdroji a má smysl používat stejné principy pro hlasování a upgrady.
Občas se setkávám s názorem, že kvalitu decentralizace sítě primárně určuje počet plných uzlů. Doufám, že je zřejmé, že to tak být nemůže. Rozhodující je především počet producentů bloků a počet delegátů. Zadruhé je nutné se zabývat tím, jak je drahý zdroj distribuován a kolik velryb je v systému.
Článek připravili Cardanians s podporou od Cexplorer.
Přečtěte si celý článek: https://cexplorer.io/article/understanding-the-full-node-s-role-in-network-consensus