Acasă
Articole
Toleranța la greșeala bizantină explicată

Toleranța la greșeala bizantină explicată

Avansat
Publicat Dec 6, 2018Actualizat Aug 17, 2023
5m

De la începutul Bitcoin în 2008, ca sistem peer-to-peer electronic de numerar, au fost create multe alte criptomonede, fiecare având un mecanism particular. Dar un lucru pe care aproape toate criptomonedele îl au în comun este blockchain-ul, ca element de bază al arhitecturii acestora.

Cu câteva excepții, blockchain-urile sunt proiectate în mod intenționat pentru a fi descentralizate, funcționând ca un registru digital care este întreținut de o rețea distribuită de noduri de computer. Din acest motiv, tehnologia blockchain a permis crearea unor sisteme economice fără încredere, în care tranzacțiile financiare transparente și de încredere puteau fi executate fără a fi nevoie de intermediari. Criptomonedele sunt adoptate ca o alternativă viabilă la sistemele bancare și de plată tradiționale, care depind în mare măsură de încredere.

La fel ca majoritatea sistemelor de calcul distribuite, participanții unei rețele de criptomonede trebuie să cadă în mod regulat de acord cu privire la starea actuală a blockchain-ului și asta este ceea ce numim atingerea consensului. Cu toate acestea, atingerea unui consens cu privire la rețelele distribuite, într-un mod sigur și eficient, este departe de a fi o sarcină ușoară.

Deci, cum poate o rețea distribuită de noduri de computer să ajungă de acord asupra unei decizii, dacă unele dintre noduri sunt susceptibile de a eșua sau de a acționa necinstit? Aceasta este întrebarea fundamentală a așa-numitei probleme a generalilor bizantini, care a dat naștere conceptului de toleranță bizantină la erori.


Ce este problema generalilor bizantini?

În câteva cuvinte, problema generalilor bizantini a fost concepută în 1982 ca o dilemă logică care ilustrează modul în care un grup de generali bizantini poate avea probleme de comunicare atunci când încearcă să convină asupra următoarei mișcări.

Dilema presupune că fiecare general are propria armată și că fiecare grup este situat în diferite locații din jurul orașului pe care intenționează să îl atace. Generalii trebuie să convină fie asupra atacului, fie asupra retragerii. Nu contează dacă atacă sau se retrag, cât timp toți generalii ajung la un consens, adică se pun de acord asupra unei decizii comune pentru a o executa în mod coordonat.

Prin urmare, putem lua în considerare următoarele cerințe:

  • Fiecare general trebuie să decidă: atac sau retragere (da sau nu);

  • După ce decizia este luată, aceasta nu poate fi schimbată;

  • Toți generalii trebuie să fie de acord cu aceeași decizie și să o execute în mod sincronizat.

Problemele de comunicare menționate mai sus sunt legate de faptul că un general nu poate comunica cu altul decât prin mesaje, care sunt transmise de un curier. În consecință, provocarea centrală a problemei generalilor bizantini este că mesajele pot fi oarecum întârziate, distruse sau pierdute.

În plus, chiar dacă un mesaj este livrat cu succes, unul sau mai mulți generali pot alege (indiferent de motiv) să acționeze rău intenționat și să trimită un mesaj fraudulos pentru a deruta ceilalți generali, ducând la un eșec total.

Dacă aplicăm dilema în contextul blockchain-urilor, fiecare general reprezintă un nod de rețea, iar nodurile trebuie să ajungă la un consens asupra stării curente a sistemului. Cu alte cuvinte, majoritatea participanților dintr-o rețea distribuită trebuie să fie de acord și să execute aceeași acțiune pentru a evita eșecul total.

Prin urmare, singura modalitate de a obține un consens în aceste tipuri de sistem distribuit este de a avea cel puțin ⅔ sau mai multe noduri de rețea fiabile și oneste. Aceasta înseamnă că, dacă majoritatea rețelei decide să acționeze rău intenționat, sistemul este susceptibil la eșecuri și atacuri (cum ar fi atacul 51%).


Toleranța bizantină la erori (BFT) explicată

În câteva cuvinte, toleranța la erori bizantine (BFT) este proprietatea unui sistem care este capabil să reziste clasei de defecțiuni derivate din problema generalilor bizantini. Aceasta înseamnă că un sistem BFT este capabil să continue să funcționeze chiar dacă unele dintre noduri eșuează sau acționează rău intenționat. 

Există mai multe soluții posibile pentru problema generalilor bizantini și, prin urmare, mai multe moduri de a construi un sistem BFT. De asemenea, există diferite abordări prin care un blockchain poate atinge toleranța bizantină la erori și acest lucru ne conduce la așa-numiții algoritmi de consens.


Algoritmii de consens blockchain

Putem defini un algoritm de consens ca fiind mecanismul prin care o rețea blockchain ajunge la consens. Cele mai comune implementări sunt Proof of Work (PoW) și Proof of Stake (PoS). Dar să luăm ca exemplu cazul Bitcoin.

În timp ce protocolul Bitcoin prescrie regulile primare ale sistemului, algoritmul de consens PoW este cel care definește modul în care aceste reguli vor fi urmate pentru a ajunge la un consens (de exemplu, în timpul verificării și validării tranzacțiilor).

Deși conceptul de Proof of Work este mai vechi decât criptomonedele, Satoshi Nakamoto a dezvoltat o versiune modificată a acestuia ca algoritm care a permis crearea Bitcoin ca sistem BFT.

Rețineți că algoritmul PoW nu este 100% tolerant la erorile bizantine, dar datorită procesului de minare costisitor și tehnicilor criptografice subiacente, PoW s-a dovedit a fi una dintre cele mai sigure și de încredere implementări pentru rețelele blockchain. În acest sens, algoritmul de consens Proof of Work, conceput de Satoshi Nakamoto, este considerat de mulți drept una dintre cele mai geniale soluții la erorile bizantine.


Gânduri finale

Problema generalilor bizantini este o dilemă intrigantă care în cele din urmă a stat la baza sistemelor BFT, care sunt aplicate pe scară largă în diferite scenarii. Dincolo de industria blockchain, printre cazurile de utilizare a sistemelor BFT se numără industria aviației, spațială și nucleară.

În contextul criptomonedelor, o comunicare eficientă în rețea împreună cu un mecanism de consens bun este esențială pentru orice ecosistem blockchain. Securizarea acestor sisteme este un efort susținut, iar algoritmii de consens existenți încă mai au de depășit câteva limitări (cum ar fi scalabilitatea). Cu toate acestea, PoW și PoS sunt abordări foarte interesante ca sisteme BFT, iar aplicațiile potențiale inspiră cu siguranță inovații pe scară largă.