Kopš Bitcoin pirmsākumiem 2008. gadā kā vienādranga elektroniskā finanšu sistēma ir radītas daudzas digitālās valūtas, katra no tām darbojas ar īpašu mehānismu. Bet viena lieta, kas visām digitālajām valūtām ir kopīga, ir blokķēde kā to struktūras pamatelements.

Visas blokķēdes ir apzināti izstrādātas tā, lai tās būtu decentralizētas, un ar dažiem izņēmumiem tās darbojas kā digitāla virsgrāmata, ko uztur sadalīts datoru mezglu tīkls. Šī iemesla dēļ blokķēdes tehnoloģija ir ļāvusi izveidot uzticamas ekonomiskās sistēmas, kurās finanšu darījumus var veikt pārskatāmā un uzticamā veidā, neizmantojot starpniekus.

Digitālo valūtu izmantošana pašlaik tiek pieņemta kā dzīvotspējīga alternatīva tradicionālajām banku sistēmām un maksājumu metodēm, kas lielā mērā ir atkarīgas no uzticības.

Tāpat kā lielākajā daļā izplatīto skaitļošanas sistēmu, kriptovalūtu tīkla dalībniekiem ir regulāri jāvienojas par pašreizējo stāvokli, kurā darbojas blokķēde. To mēs saucam par vienprātības sasniegumu. Tomēr vienprātības panākšana par izplatītajiem tīkliem drošā veidā ir ļoti grūts uzdevums.

Tātad, kā izplatīts datoru mezglu tīkls var vienoties par to, vai daži mezgli var nedarboties vai rīkoties nelikumīgi? Šis ir tā sauktās Bizantijas ģenerāļu problēmas pamatjautājums, no kura radās Bizantijas kļūdu tolerances jēdziens.


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

Īsāk sakot, 1982. gada Bizantijas ģenerāļu problēma tika uztverta kā loģiska dilemma, kas ilustrē to, kā bizantiešu ģenerāļu grupai var rasties problēmas sazināties vienam ar otru, mēģinot vienoties par nākamo soli savā plānā.

Dilemma paredz, ka katram ģenerālim ir sava armija, ka katra grupa atrodas dažādās vietās ap pilsētu, kurai viņš plāno uzbrukt, un ka katram ģenerālim ir jāpiekrīt vai nu uzbrukt, vai atkāpties. 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 īstenotu koordinēti.

Tāpēc mēs varam apsvērt šādus mērķus:

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

  • Kad lēmums ir pieņemts, to nevar mainīt.

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

Iepriekš minētās komunikācijas problēmas ir saistītas ar faktu, ka katrs atsevišķs ģenerālis spēj sazināties ar citu ģenerāli tikai ar ziņojumu starpniecību, ko sūta pārvadātājs/kurjers. Tādējādi galvenais Bizantijas ģenerāļu problēmas izaicinājums bija tas, ka ziņojumi var tikt aizkavēti, sabojāti vai pazaudēti.

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

Ja mēs piemērojam šo dilemmu blokķēdes kontekstā, katrs gens ir tīkla mezgls, un mezgliem ir jāpanāk vienprātība par sistēmas pašreizējo stāvokli. Citā veidā lielākajai daļai sadalītā tīkla dalībnieku ir jāpiekrīt un jāveic 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 sadalītajās sistēmās, ir ⅔ (divas trešdaļas) vai vairāk godīgu mezglu. Tas nozīmē, ka, ja lielākā daļa tīkla nolemj rīkoties ļaunprātīgi, sistēma būs neaizsargāta pret kļūmēm un uzbrukumiem (piemēram, 51% uzbrukums).


Bizantijas defektu tolerance — BFT

Īsāk sakot, Bizantijas kļūdu tolerance (BFT) ir tādas sistēmas īpašība, kas spēj izturēt atteices veidu, 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 tas nozīmē, ka ir vairāki veidi, kā izveidot BFT sistēmu. Tāpat ir vairākas atšķirīgas pieejas blokķēdēm, 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 sasniedz vienprātību. Visizplatītākās lietojumprogrammas ir Proof of Work (PoW) un Proof of Stake (PoS). Bet ņemsim kā piemēru Bitcoin gadījumu.

Lai gan Bitcoin protokols nosaka sistēmas pamatnoteikumus, konsensa algoritms, kas pazīstams kā Proof of Work (PoW), nosaka, kā šie noteikumi tiek ievēroti, lai panāktu vienprātību (piemēram, darījuma verifikā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 Proof of Work (PoW) algoritms nav 100% bizantiešu defektu tolerants, taču izmaksu ietilpīgā ieguves procesa un kriptogrāfijas metožu dēļ PoW ir izrādījies viens no drošākajiem un uzticamākajiem blokķēdes tīklu ieviešanas veidiem.

Tāpēc Satoši Nakamoto izstrādāto Proof of Work algoritmu daudzi izmanto kā vienu no ģeniālākajiem bizantiešu kļūdu risinājumiem.


Secinājums

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

Digitālo valūtu kontekstā jebkurai blokķēdes sistēmai ir ļoti svarīgi izveidot efektīvu sakaru tīklu un vienprātības mehānismu. Šo sistēmu nodrošināšana ir nepārtraukts darbs, un esošie konsensa algoritmi joprojām strādā, lai pārvarētu dažus ierobežojumus (piemēram, mērogojamību). Tomēr Proof of Work (PoW) un Proof of Stake (PoS) ir divas ļoti interesantas pieejas BFT sistēmām, un iespējamie pielietojumi noteikti ir plaši izplatītas iedvesmas avots.