─î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├ę Jun 13, 2024
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.