Toleranța bizantină la erori explicată

De la crearea Bitcoin în 2008, ca un sistem de numerar electronic peer-to-peer, au fost create multe alte criptomonede, fiecare cu un mecanism special. Dar un lucru pe care aproape toate criptomonedele îl au în comun este blockchain-ul, ca element central al arhitecturii lor.

Cu puține excepții, blockchains sunt proiectate în mod intenționat pentru a fi descentralizate, funcționând ca un registru digital care este menținut de o rețea distribuită de noduri de calculatoare. Din acest motiv, tehnologia blockchain a permis crearea unor sisteme economice fără încredere, în care tranzacțiile financiare transparente și fiabile pot 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 în cazul majorității sistemelor de calcul distribuit, participanții unei rețele de criptomonede trebuie să se pună de acord în mod regulat asupra stării actuale a blockchain-ului, iar acest lucru este ceea ce numim realizarea consensului. Cu toate acestea, atingerea consensului în rețelele distribuite, într-un mod sigur și eficient, este departe de a fi o sarcină ușoară.

Atunci, cum poate o rețea distribuită de noduri de calculatoare să cadă de acord asupra unei decizii, dacă este probabil ca unele dintre noduri să eșueze sau să acționeze 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ă ce ilustrează modul în care un grup de generali bizantini poate avea probleme de comunicare atunci când încearcă să cadă de acord asupra următoarei lor mișcări.

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

De aceea, putem lua în considerare următoarele cerințe:

  • Care general trebuie să decidă: atacă sau se retrage (da sau nu);
  • După ce decizia este luată, ea nu poate fi schimbată;
  • Toți generalii trebuie să cadă de acord asupra aceleiași decizii ș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 constă în faptul că mesajele pot fi cumva întârziate, distruse sau pierdute.

În plus, chiar dacă un mesaj este transmis cu succes, unul sau mai mulți generali pot alege (indiferent de motiv) să acționeze în mod malițios și să trimită un mesaj fraudulos pentru a-i deruta pe ceilalți generali, ceea ce duce la un eșec total.

Dacă aplicăm dilema în contextul blockchains, fiecare general reprezintă un nod de rețea, iar nodurile trebuie să ajungă la un consens cu privire la starea actuală a sistemului. Altfel spus, majoritatea participanților dintr-o rețea distribuită trebuie să fie de acord și să execute aceeași acțiune pentru a evita un eșec total.

Prin urmare, singura modalitate de a obține consensul în aceste tipuri de sisteme distribuite este de a avea cel puțin ⅔ sau mai multe noduri de rețea fiabile și oneste. Acest lucru înseamnă că, dacă majoritatea rețelei decide să acționeze în mod malițios, sistemul este susceptibil la eșecuri și atacuri (cum ar fi atacul 51%).

Toleranța la defecte bizantine (BFT)

În câteva cuvinte, toleranța la defecte bizantine (BFT) este proprietatea unui sistem care este capabil să reziste clasei de eșecuri 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ă în mod rău intenționat.

Există mai multe soluții posibile la Problema generalilor bizantini și, prin urmare, mai multe moduri de a construi un sistem BFT. În mod similar, există diferite abordări pentru ca un blockchain să realizeze toleranța bizantină la erori și acest lucru ne conduce la așa-numiții algoritmi de consens.

Argitmi de consens pentru blockchain

Potem 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 respectate pentru a ajunge la 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 defectele bizantine, dar datorită procesului de minerit costisitor și tehnicilor criptografice care stau la baza acestuia, PoW s-a dovedit a fi una dintre cele mai sigure și mai fiabile implementări pentru rețelele blockchain. În acest sens, algoritmul de consens Proof of Work, conceput de Satoshi Nakamoto, este considerat de mulți ca fiind una dintre cele mai geniale soluții la defectele bizantine.

Gânduri finale

Problema generalilor bizantini este o dilemă intrigantă care a dat naștere, în cele din urmă, sistemelor BFT, care sunt aplicate pe scară largă în diverse scenarii. Dincolo de industria blockchain, câteva cazuri de utilizare a sistemelor BFT includ industriile aviației, spațială și a energiei nucleare.

În contextul criptomonedelor, a avea o comunicare eficientă în rețea împreună cu un mecanism de consens bun este vital pentru orice ecosistem blockchain. Securizarea acestor sisteme reprezintă un efort continuu, iar algoritmii de consens existenți trebuie încă să depășească 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ță o inovare pe scară largă.

.

Lasă un comentariu