Kopš Bitcoin pirmsākumiem 2008. gadā kā vienādranga elektroniskās kases sistēma ir radītas daudzas citas kriptovalūtas, katrai no kurām ir īpašs mehānisms. Taču viena lieta, kas ir kopīga gandrīz visām kriptovalūtām, ir blokķēde, kas ir to arhitektūras galvenais elements.

Ar dažiem izņēmumiem blokķēdes ir apzināti izstrādātas tā, lai tās būtu decentralizētas, darbojoties kā digitālā virsgrāmata, ko uztur sadalīts datoru mezglu tīkls. Šī iemesla dēļ blokķēdes tehnoloģija ļāva izveidot neuzticamas ekonomikas sistēmas, kurās varēja veikt caurspīdīgus un uzticamus finanšu darījumus bez starpniekiem. Kriptovalūtas tiek pieņemtas kā dzīvotspējīga alternatīva tradicionālajām banku un maksājumu sistēmām, kas ir ļoti atkarīgas no uzticības.

Tāpat kā lielākajai daļai izplatīto skaitļošanas sistēmu, arī kriptovalūtu tīkla dalībniekiem regulāri jāvienojas par blokķēdes pašreizējo stāvokli, un to mēs saucam par vienprātības sasniegšanu. Tomēr vienprātības panākšana par izplatītajiem tīkliem drošā un efektīvā veidā nebūt nav viegls uzdevums.

Tātad, kā izplatīts datoru mezglu tīkls var vienoties par lēmumu, ja daži no mezgliem, visticamāk, neizdosies vai rīkojas negodīgi? Šis ir tā sauktās Bizantijas ģenerāļu problēmas pamatjautājums, kas radīja bizantiešu defektu tolerances koncepciju.


Kāda ir Bizantijas ģenerāļu problēma?

Dažos vārdos Bizantijas ģenerāļu problēma tika iecerēta 1982. gadā kā loģiska dilemma, kas ilustrē, kā Bizantijas ģenerāļu grupai var rasties komunikācijas problēmas, mēģinot vienoties par savu nākamo soli.

Dilemma paredz, ka katram ģenerālim ir sava armija un katra grupa atrodas dažādās vietās ap pilsētu, kurai viņi plāno uzbrukt. Ģenerāļiem jāvienojas par uzbrukumu vai atkāpšanos. Nav svarīgi, vai viņi uzbrūk vai atkāpjas, kamēr visi ģenerāļi panāk konsensu, t.i., vienojas par kopīgu lēmumu, lai to izpildītu saskaņoti.

Tāpēc mēs varam apsvērt šādas prasības:

  • Katram ģenerālim ir jāizlemj: uzbrukt vai atkāpties (jā vai nē);

  • Pēc lēmuma pieņemšanas to nevar mainīt;

  • Visiem ģenerāļiem ir jāvienojas par vienu un to pašu lēmumu un tas jāizpilda sinhroni.

Iepriekš minētās komunikācijas problēmas ir saistītas ar to, ka viens ģenerālis ar otru spēj sazināties tikai ar ziņojumiem, kurus pārsūta kurjers. Līdz ar to galvenais Bizantijas ģenerāļu problēmas izaicinājums ir tas, ka ziņojumi var kaut kā aizkavēties, tikt iznīcināti vai pazaudēti.

Turklāt, pat ja ziņojums ir veiksmīgi piegādāts, viens vai vairāki ģenerāļi var izvēlēties (kādu iemeslu dēļ) rīkoties ļaunprātīgi un nosūtīt krāpniecisku ziņojumu, lai sajauktu citus ģenerāļus, izraisot pilnīgu neveiksmi.

Ja mēs piemērojam dilemmu blokķēžu kontekstam, katrs vispārīgais apzīmē tīkla mezglu, un mezgliem ir jāpanāk vienprātība par pašreizējo sistēmas stāvokli. Citiem vārdiem sakot, lielākajai daļai sadalītā tīkla dalībnieku ir jāpiekrīt un jāveic viena un tā pati darbība, lai izvairītos no pilnīgas neveiksmes.

Tāpēc vienīgais veids, kā panākt vienprātību šāda veida izplatītajās sistēmās, ir vismaz ⅔ vai vairāk uzticamu un godīgu tīkla mezglu. Tas nozīmē, ka, ja lielākā daļa tīkla nolemj rīkoties ļaunprātīgi, sistēma ir uzņēmīga pret kļūmēm un uzbrukumiem (piemēram, 51% uzbrukumu).


Bizantijas kļūdu tolerance (BFT)

Dažos vārdos sakot, Bizantijas kļūdu tolerance (BFT) ir tādas sistēmas īpašība, kas spēj pretoties kļūmju klasei, kas izriet no Bizantijas ģenerāļu problēmas. Tas nozīmē, ka BFT sistēma var turpināt darboties pat tad, ja daži mezgli neizdodas vai rīkojas ļaunprātīgi.

Bizantijas ģenerāļu problēmai ir vairāk nekā viens iespējamais risinājums un līdz ar to vairāki veidi, kā izveidot BFT sistēmu. Tāpat ir dažādas pieejas blokķēdei, lai panāktu bizantiešu kļūdu toleranci, un tas mūs noved pie tā sauktajiem konsensa algoritmiem.


Blockchain konsensa algoritmi

Mēs varam definēt vienprātības algoritmu kā mehānismu, ar kura palīdzību blokķēdes tīkls panāk vienprātību. Visizplatītākās implementācijas ir Proof of Work (PoW) un Proof of Stake (PoS). Bet ņemsim kā piemēru Bitcoin lietu.

Lai gan Bitcoin protokols nosaka sistēmas primāros noteikumus, PoW konsensa algoritms ir tas, kas nosaka, kā šie noteikumi tiks ievēroti, lai panāktu vienprātību (piemēram, darījumu pārbaudes un validācijas laikā).

Lai gan Proof of Work koncepcija ir vecāka par kriptovalūtām, Satoshi Nakamoto izstrādāja tā modificētu versiju kā algoritmu, kas ļāva izveidot Bitcoin kā BFT sistēmu.

Ņemiet vērā, ka PoW algoritms nav 100% tolerants pret bizantiešu kļūmēm, taču izmaksu ietilpīgā ieguves procesa un pamatā esošo kriptogrāfijas metožu dēļ PoW ir izrādījies viens no drošākajiem un uzticamākajiem blokķēdes tīklu ieviešanas veidiem. Šajā ziņā Satoši Nakamoto izstrādāto darba pierādījumu konsensa algoritmu daudzi uzskata par vienu no ģeniālākajiem bizantiešu kļūdu risinājumiem.


Pēdējās domas

Bizantijas ģenerāļu problēma ir intriģējoša dilemma, kas galu galā radīja BFT sistēmas, kuras tiek plaši izmantotas dažādos scenārijos. Papildus blokķēdes nozarei daži BFT sistēmu izmantošanas gadījumi ietver aviācijas, kosmosa un kodolenerģijas nozares.

Kriptovalūtas kontekstā efektīva tīkla komunikācija kopā ar labu vienprātības mehānismu ir ļoti svarīga jebkurai blokķēdes ekosistēmai. Šo sistēmu nodrošināšana ir nepārtraukts darbs, un esošajiem konsensa algoritmiem vēl ir jāpārvar daži ierobežojumi (piemēram, mērogojamība). Tomēr PoW un PoS ir ļoti interesantas pieejas kā BFT sistēmas, un potenciālie lietojumi noteikti iedvesmo plaši izplatītus jauninājumus.