Čo je to blockchainový konsenzuálny algoritmus?
Obsah
Úvod
Konsenzuálne algoritmy a kryptomena
Typy konsenzuálnych algoritmov
Ostatné konsenzuálne algoritmy
Záverečné myšlienky
Čo je to blockchainový konsenzuálny algoritmus?
Domov
Články
Čo je to blockchainový konsenzuálny algoritmus?

Čo je to blockchainový konsenzuálny algoritmus?

Začiatočník
Zverejnené Dec 13, 2018Aktualizované Dec 12, 2022
7m

Úvod

Algoritmus konsenzu je mechanizmus, ktorý umožňuje používateľom alebo strojom koordinovať sa v distribuovanom prostredí. Musí zabezpečiť, aby sa všetci agenti v systéme mohli dohodnúť na jednom zdroji pravdy, aj keď niektorí agenti zlyhajú. Inými slovami, systém musí byť odolný voči chybám (pozri tiež: Vysvetlenie byzantskej odolnosti voči chybám).

V centralizovanom nastavení má nad systémom moc jedna entita. Vo väčšine prípadov môžu robiť zmeny, ako sa im zachce – neexistuje žiadny zložitý systém riadenia na dosiahnutie konsenzu medzi mnohými administrátormi. 

Ale v decentralizovanom nastavení je to úplne iná situácia. Povedzme, že pracujeme s distribuovanou databázou – ako dosiahneme dohodu o tom, ktoré položky budú pridané?

Prekonanie tejto výzvy v prostredí, kde si cudzí ľudia neveria, bolo možno tým najdôležitejším vývojom, ktorý dláždil cestu blockchainom. V tomto článku sa pozrieme na to, ako sú konsenzuálne algoritmy životne dôležité pre fungovanie kryptomien a distribuovaných účtovných kníh.


Konsenzuálne algoritmy a kryptomena

V kryptomenách sa zostatky používateľov zaznamenávajú do databázy – blockchainu. Je nevyhnutné, aby každý (alebo presnejšie každý uzol) udržiaval identickú kópiu databázy. V opačnom prípade by ste čoskoro skončili s protichodnými informáciami, čo by podkopalo celý účel siete kryptomien.

Kryptografia s verejným kľúčom zaisťuje, že používatelia nemôžu navzájom míňať svoje mince. Stále však musí existovať jediný zdroj pravdy, na ktorý sa účastníci siete spoliehajú, aby mohli určiť, či už boli prostriedky vynaložené.

Satoshi Nakamoto, tvorca Bitcoinu, navrhol systém Proof of Work na koordináciu účastníkov. Čoskoro sa dostaneme k tomu, ako PoW funguje – zatiaľ identifikujeme niektoré spoločné črty mnohých existujúcich konsenzuálnych algoritmov.

Po prvé, vyžadujeme, aby používatelia, ktorí chcú pridávať bloky (nazývame ich validátori), poskytli vklad. Vklad je nejaký druh hodnoty, ktorú musí overovateľ predložiť, čo ho odrádza od nečestného konania. Ak budú podvádzať, stratia svoj podiel. Ide napríklad o výpočtovú silu, kryptomenu alebo dokonca o reputáciu. 

Prečo by sa obťažovali riskovaním vlastných zdrojov? No a k dispozícii je aj odmena. Zvyčajne pozostáva z natívnej kryptomeny protokolu a pozostáva z poplatkov platených inými používateľmi, čerstvo vygenerovaných jednotiek kryptomeny alebo oboch.

Posledná vec, ktorú potrebujeme, je transparentnosť. Musíme byť schopní odhaliť, keď niekto podvádza. V ideálnom prípade by mala byť pre nich výroba blokov nákladná, ale pre kohokoľvek by mala byť lacná na ich overenie. To zaisťuje, že bežní používatelia budú mať validátory pod kontrolou.


Typy konsenzuálnych algoritmov

Dôkaz o práci (PoW)

Proof of Work (PoW) je krstným otcom blockchainových konsenzuálnych algoritmov. Prvýkrát bol implementovaný v Bitcoine, ale skutočný koncept je tu už nejaký čas. V Proof of Work validátory (označované ako ťažiari ) hashujú údaje, ktoré chcú pridať, kým nevytvoria konkrétne riešenie.

Hash je zdanlivo náhodný reťazec písmen a čísel, ktorý sa vytvorí, keď spustíte údaje cez hashovaciu funkciu. Ale ak cez to znova spustíte rovnaké údaje, vždy skončíte s rovnakým výstupom. Zmeňte však čo i len jeden detail a váš hash bude úplne iný.

Pri pohľade na výstup nemôžete povedať, aké informácie boli do funkcie vložené. Sú preto užitočné na preukázanie, že ste určitý údaj poznali pred určitým časom. Môžete niekomu dať jeho hash, a keď neskôr odhalíte údaje, táto osoba ich môže spustiť cez funkciu, aby sa uistila, že výstup je rovnaký.

V Proof of Work protokol stanovuje podmienky, na základe ktorých je blok platný. Môže napríklad povedať, že platný bude iba blok, ktorého hash začína 00. Jediný spôsob, ako môže ťažiar vytvoriť taký, ktorý zodpovedá tejto kombinácii, sú vstupy s hrubou silou. Môžu upraviť parameter vo svojich údajoch tak, aby pre každý odhad vytvorili iný výsledok, kým nezískajú správny hash. 

Pri hlavných blockchainoch je latka nastavená neuveriteľne vysoko. Aby ste mohli konkurovať iným ťažiarom, potrebovali by ste sklad plný špeciálneho hashovacieho hardvéru (ASIC), aby ste mali šancu vyrobiť platný blok.

Váš podiel pri ťažbe sú náklady na tieto stroje a elektrina potrebná na ich prevádzku. ASIC sú postavené na jeden účel, takže nemajú využitie v aplikáciách mimo ťažby kryptomien. Jediným spôsobom, ako získať späť svoju počiatočnú investíciu, je ťažba, ktorá prináša významnú odmenu, ak do blockchainu úspešne pridáte nový blok.

Pre sieť je ľahké overiť, či ste skutočne vytvorili správny blok. Aj keď ste vyskúšali bilióny kombinácií, aby ste získali správny hash, stačí, aby vaše údaje prešli jednou funkciou. Ak vaše údaje vytvoria platný hash, budú prijaté a dostanete odmenu. V opačnom prípade ho sieť odmietne a vy budete strácať čas a elektrinu pre nič za nič.


Proof of Stake (PoS)

Proof of Stake (PoS) bol navrhnutý v počiatkoch Bitcoinu ako alternatíva k Proof of Work. V systéme PoS neexistuje koncept ťažiarov, špecializovaného hardvéru alebo masívnej spotreby energie. Potrebujete len obyčajný počítač.

No nie je to však všetko. Aj tak musíte do hry vložiť vlastnú kožu. V PoS nepredkladáte externý zdroj (ako je elektrina alebo hardvér), ale interný zdroj – kryptomenu. Pravidlá sa líšia pri každom protokole, ale vo všeobecnosti existuje minimálna suma finančných prostriedkov, ktorú musíte držať, aby ste mali nárok na stakovanie.

Odtiaľ si uzamknete svoje prostriedky v peňaženke (nedajú sa presunúť, kým stakujete). S ostatnými validátormi sa zvyčajne dohodnete na tom, aké transakcie prejdú do ďalšieho bloku. V istom zmysle staviate na blok, ktorý bude vybraný, a protokol vyberie jeden.

Ak je vybratý váš blok, dostanete pomernú časť transakčných poplatkov v závislosti od vášho vkladu. Čím viac prostriedkov máte zablokovaných, tým viac môžete získať. Ak sa však pokúsite podvádzať navrhovaním neplatných transakcií, stratíte časť svojho vkladu (alebo celý vklad). Preto máme podobný mechanizmus ako PoW – konať čestne je výnosnejšie ako konať nečestne.

Vo všeobecnosti nie sú súčasťou odmeny pre overovateľov čerstvo vytvorené mince. Natívna mena blockchainu tak musí byť vydaná nejakým iným spôsobom. Dá sa to urobiť buď prostredníctvom počiatočnej distribúcie (t. j. ICO alebo IEO) alebo spustením protokolu s PoW pred neskorším prechodom na PoS.

Čistý Proof of Stake bol doteraz skutočne nasadený len v menších kryptomenách. Preto nie je jasné, či môže slúžiť ako životaschopná alternatíva k PoW. Aj keď sa to zdá teoreticky správne, v praxi to bude veľmi odlišné. 

Akonáhle sa PoS spustí v sieti s veľkým množstvom hodnoty, systém sa stane ihriskom teórie hier a finančných stimulov. Každý, kto má know-how na „hacknutie“ systému PoS, by to pravdepodobne urobil iba vtedy, ak by z toho mohol získať – preto jediný spôsob, ako zistiť, či je to možné, je na živej sieti.

Čoskoro uvidíme PoS testovaný vo veľkom meradle – Casper bude implementovaný ako súčasť série upgradov siete Ethereum (spoločne známej ako Ethereum 2.0).


Ostatné konsenzuálne algoritmy

Proof of Work a Proof of Stake sú najčastejšie diskutované konsenzuálne algoritmy. Existuje však široká škála ďalších, všetky so svojimi výhodami a nevýhodami. Prečítajte si nasledujúce články:


Záverečné myšlienky

Mechanizmy na dosiahnutie konsenzu sú pre fungovanie distribuovaných systémov životne dôležité. Mnohí veria, že najväčšou inováciou v Bitcoine bolo použitie Proof of Work, ktoré používateľom umožnilo dohodnúť sa na spoločnom súbore faktov.

Algoritmy konsenzu dnes nepodporujú len systémy digitálnych peňazí, ale aj blockchainy, ktoré vývojárom umožňujú spúšťať kód v distribuovanej sieti. Teraz sú základným kameňom technológie blockchain a sú rozhodujúce pre dlhodobú životaschopnosť rôznych existujúcich sietí.

Zo všetkých konsenzuálnych algoritmov zostáva dominantnou ponukou Proof of Work. Ešte nebola navrhnutá alternatíva, ktorá je spoľahlivejšia a bezpečnejšia. To znamená, že existuje obrovské množstvo výskumu a vývoja v oblasti náhrad za PoW a pravdepodobne ich v najbližších rokoch uvidíme viac.