Fault Bizantin, sau problema generalilor bizantini, a fost un subiect larg dezbătut în diverse domenii, cum ar fi informatica sau sistemele distribuite. În cripto, în special în tehnologia blockchain, Byzantine Fault Tolerance (BFT) joacă un rol extrem de important. Să aflăm mai multe despre BFT în acest articol!
Ce este Byzantine Fault Tolerance (BFT)?
Byzantine Fault Tolerance este abilitatea în care un sistem distribuit sau o rețea poate funcționa și ajunge la un consens (acord neutru), având în vedere că unii participanți ar putea să nu acționeze sau să facă acest lucru în mod rău intenționat. Numele său derivă dintr-un paradox numit Problema generalilor bizantini, în timp ce toleranța la greșeală bizantină este soluția problemei.
Pentru ca rețeaua să funcționeze corect, chiar dacă unii dintre participanții săi întâmpină probleme (intenționat sau neintenționat), trebuie să existe niște reguli și condiții comune, astfel încât participanții funcționali să poată garanta consensul rețelei.
Care este problema generalilor bizantini?
Problema generalilor bizantini a fost introdusă pentru prima dată în 1982 într-o lucrare de către un grup de oameni de la Microsoft Research. Problema a fost descrisă clar după cum urmează:
„Imaginați-vă că mai multe divizii ale armatei bizantine sunt tabărate în afara unui oraș inamic, fiecare divizie fiind comandată de propriul general. Generalii pot comunica între ei doar prin mesager. După ce au observat inamicul, ei trebuie să decidă asupra unui plan comun de acțiune.
Cu toate acestea, unii dintre generali pot fi trădători, încercând să-i împiedice pe generalii loiali să ajungă la o înțelegere. Generalii trebuie să decidă când să atace orașul, dar au nevoie de o majoritate puternică a armatei lor pentru a ataca în același timp.
Generalii trebuie să aibă un algoritm care să garanteze că (a) toți generalii loiali decid asupra aceluiași plan de acțiune și (b) un număr mic de trădători nu poate determina generalii loiali să adopte un plan prost. Generalii loiali vor face cu toții ceea ce algoritmul spune că ar trebui, dar trădătorii pot face orice doresc. Algoritmul trebuie să garanteze condiția (a) indiferent de ceea ce fac trădătorii. Generalii loiali nu trebuie doar să ajungă la un acord, ci ar trebui să cadă de acord asupra unui plan rezonabil.”
Problema generalilor bizantini, deși similară cu Problema celor doi generali (Paradoxul celor doi generali), este o versiune mai generală. Într-o manieră mai complicată, Problema generalilor bizantini poate impune mai multe variații. De exemplu, mesagerii pot să nu transmită mesajul pe drum sau chiar să schimbe în mod deliberat conținutul original.
Ce este BFT în Crypto?
În cripto, în special în tehnologia blockchain , Byzantine Fault Tolerance joacă un rol extrem de important. Când aplicăm problema generalilor bizantini la cripto, generalii sunt nodurile . Toate nodurile dintr-o rețea blockchain trebuie să comunice între ele și să găsească o modalitate de a ajunge la un consens, ceea ce duce la metode pe care le numim algoritmi de consens .
Există numeroase modalități de a obține toleranța la greșeală bizantină. Prin urmare, există și diverși algoritmi de consens în spațiul blockchain, fiecare cu propriile soluții la problemă pentru o eficiență optimă.
Bitcoin , cu algoritmul său de consens Proof of Work, este printre primii care au ajuns la Byzantine Fault Tolerance în cripto. De la introducerea sa în 2008, Proof of Work s-a dovedit a fi una dintre cele mai sigure și de încredere soluții la această problemă, alături de succesul Bitcoin.
Cum dovada muncii ajunge la toleranța bizantine la greșeală
Cum funcționează Toleranța Practică la Defecțiuni Bizantină?
Practical Byzantine Fault Tolerance (pBFT) este un algoritm de consens introdus la sfârșitul anilor 90 de Barbara Liskov și Miguel Castro cu scopul de a rezolva problemele existente ale soluțiilor de toleranță bizantine deja disponibile.
În general, pBFT funcționează atribuind inițial un nod ca nod primar (lider) și alții ca nod secundar (de rezervă). Orice nod poate deveni principal în cazul în care cel actual nu funcționează.
În plus, un sistem pBFT poate funcționa atunci când și numai atunci când numărul maxim de noduri rău intenționate nu trebuie să fie mai mare sau egal cu o treime din toate nodurile din sistem.
Există 4 faze ale rundelor de consens pBFT:
- Solicitare: clientul trimite o solicitare nodului primar (lider).
- Pregătire: nodul primar (lider) transmite cererea către toate nodurile secundare (de rezervă).
- Pregătire: Nodurile (primare și secundare) efectuează serviciul solicitat.
- Commit: Răspunsul este trimis clientului dacă este valid.
Cum funcționează practic Byzantine Fault Tolerance (pBFT).
Centralizare și descentralizare
După cum puteți vedea, pentru a ajunge la Byzantine Fault Tolerance, fiecare nod (sau participant) din rețea trebuie să comunice și să coopereze cu celălalt. Nu există o sursă de informații de încredere pe care să se bazeze cineva. Prin urmare, numai rețelele descentralizate trebuie să ia în considerare toleranța la erori bizantină.
Pe de altă parte, pentru rețelele centralizate, există întotdeauna unul sau mai mulți terți care acționează ca intermediar între fiecare participant, facilitând comunicarea și consensul. Fiecare participant nu mai trebuie să aibă încredere în celălalt; pot pur și simplu să livreze intermediarului toate informațiile.
Toleranța la greșeală bizantină în centralizare și descentralizare
Întrebări frecvente despre BFT în Crypto
Dovada mizei este toleranța la greșeală bizantină?
După cum s-a menționat mai sus, tehnologia blockchain necesită algoritmi de consens pentru a ajunge la Byzantine Fault Tolerance. Fiind unul dintre ele, Proof of Stake poate îndeplini cerințele bizantine de toleranță la erori la fel ca Proof of Work.
Aflați mai multe: Ce este PoS? De ce este toleranța la greșeală bizantină?
Este Tendermint BFT?
Tendermint, introdus pentru prima dată în 2014, este prima adaptare a consensului Proof-of-Stake derivat din algoritmul Practical Byzantine Fault Tolerant (PBFT). Astfel, este considerat un algoritm de consens BFT Proof-of-Stake.
Ethereum este toleranță bizantină la greșeală?
Ethereum utilizează în prezent algoritmul de consens Proof-of-Work, similar cu ceea ce folosește Bitcoin. În viitor, Ethereum își va schimba rețeaua la Proof-of-Stake.
Oricum, Ethereum este încă capabil să îndeplinească toleranța bizantine la greșeli.
Concluzie
Byzantine Fault Tolerance este abilitatea în care un sistem distribuit sau o rețea poate funcționa și ajunge la un consens (acord neutru), având în vedere că unii participanți ar putea să nu acționeze sau să facă acest lucru în mod rău intenționat.
Numele său derivă dintr-un paradox numit problema generalilor bizantini, în timp ce toleranța la greșeală bizantină este soluția problemei.
Pe scurt, Problema generalilor bizantini se referă la o problemă când mai mulți generali vor să atace o cetate și trebuie să decidă ca grup dacă să atace sau să se retragă. Trebuie să aflăm cum acești generali pot ajunge la un consens indiferent de actele rău intenționate sau încercările eșuate de comunicare.
Când aplicăm problema generalilor bizantini la cripto, generalii sunt nodurile. Toate nodurile dintr-o rețea blockchain trebuie să comunice între ele și să găsească o modalitate de a ajunge la un consens, ceea ce duce la metode pe care le numim algoritmi de consens.
Există numeroase modalități de a obține toleranța la greșeală bizantină. Prin urmare, există și diverși algoritmi de consens în spațiul blockchain, fiecare cu propriile soluții la problemă pentru o eficiență optimă.