Introducere

Un algoritm de consens este un mecanism prin care utilizatorii și programele își pot coordona acțiunile într-o rețea distribuită. Acesta asigură că toți participanții la rețea ajung la un acord cu privire la starea curentă a datelor, chiar dacă unele noduri eșuează. Cu alte cuvinte, consensul ajută la menținerea rezistenței sistemului (pentru a afla mai multe, consultați Misiunile generalilor bizantini explicate).

Într-o structură centralizată, o entitate are putere asupra întregului sistem. În cele mai multe cazuri, aceste organisme au puterea de a face modificări după cum consideră de cuviință: nu există un sistem complex de guvernare pentru a ajunge la un consens între mai mulți administratori.

Într-un mediu descentralizat, mecanismul de funcționare este complet diferit. De exemplu, dacă vorbim despre o bază de date distribuită, cum putem obține consimțământul tuturor participanților din rețea cu privire la ce date pot fi adăugate în rețea?

Atingerea consensului într-un mediu în care părțile nu pot avea încredere una în alta a fost una dintre cele mai importante evoluții din industrie, care a deschis calea pentru apariția blockchain-urilor. În acest articol, vom analiza importanța algoritmilor de consens pentru buna funcționare a criptomonedelor și a registrelor contabile distribuite.


Algoritmi de consens și criptomonedă

În rețelele de criptomonede, soldurile utilizatorilor sunt înregistrate într-o bază de date - blockchain. Fiecare utilizator (nod) trebuie să dețină o copie identică a bazei de date. În caz contrar, informațiile vor varia, ceea ce va încălca principiile de fiabilitate și deschidere a întregii rețele de criptomonede.

Criptografia cu cheie publică asigură că părțile neautorizate nu pot accesa monedele dvs. Cu toate acestea, utilizatorii au nevoie și de o modalitate fiabilă de a verifica dacă fondurile au fost cheltuite sau nu.

Satoshi Nakamoto, creatorul Bitcoin, a propus sistemul Proof of Work pentru a coordona utilizatorii rețelei. În continuare, ne vom uita la modul în care funcționează PoW, dar mai întâi vom identifica caracteristicile comune ale majorității algoritmilor de consens existenți.

Prima este cerința ca utilizatorii care doresc să adauge blocuri (le vom numi validatori) să ofere un fel de miză în schimb. O cotă sau o miză este o anumită valoare pe care un validator trebuie să o prezinte ca garanție a muncii cinstite: dacă validatorii încearcă să înșele sistemul, își vor pierde partea. Cota poate fi putere de calcul, criptomonedă sau reputație. 

Puteți pune o întrebare logică: de ce și-ar risca propriile resurse? Cert este că aici există un sistem special de recompense pentru muncă. În mod obișnuit, recompensele sunt emise sub formă de jetoane de protocol nativ, iar fondurile pentru acestea sunt preluate din taxele de utilizator și criptomoneda nou creată, sau uneori din ambele.

O altă caracteristică importantă este transparența pentru identificarea activităților frauduloase. Producerea blocurilor ar trebui să fie costisitoare, iar verificarea muncii efectuate ar trebui să fie ieftină și accesibilă utilizatorilor obișnuiți. Astfel, oricine poate verifica și monitoriza activitatea validatorilor.


Tipuri de algoritmi de consens

Dovada muncii (PoW)

Proof of Work (PoW) a devenit precursorul tuturor celorlalți algoritmi de consens din blockchain. A fost implementat pentru prima dată în Bitcoin, dar conceptul în sine a apărut cu mult înainte. În Proof of Work, validatorii (numiți mineri) trimit datele pe care doresc să le adauge până când obțin o soluție adecvată pentru un puzzle criptografic.

Un hash este un set aleatoriu de litere și numere care este creat atunci când datele sunt procesate printr-o funcție hash. Dacă indexați din nou aceleași date, veți obține același rezultat, dar dacă modificați chiar și o singură valoare, hash-ul va deveni complet diferit.

Privind rezultatul, nu veți putea spune ce informații au fost transmise prin funcție. Din acest motiv, hashes-urile sunt grozave pentru a demonstra ceva ce știai înainte de un anumit timp. Puteți oferi cuiva un astfel de hash și apoi furnizați informațiile inițiale, astfel încât persoana să o poată rula prin funcție și să vadă dacă rezultatul se potrivește.

În Proof of Work, protocolul stabilește condițiile pentru confirmarea (validarea) unui bloc. De exemplu, puteți seta că numai blocul al cărui hash începe cu 00 va fi valabil. Validatorii configurează programul să producă rezultate diferite de fiecare dată când este generat hash până când este generat hash-ul corect. 

În blockchain-urile mari este extrem de dificil să găsești un hash potrivit: vei avea nevoie de un întreg depozit de echipamente speciale pentru a hash o cantitate mare de date (cu unități de tip ASIC) pentru a fi competitiv și a putea crea un bloc valid.

În minerit, miza este costul unor astfel de echipamente și energia electrică cheltuită pentru lucrare. Hardware-ul de tip ASIC (Application-Specific Integrated Circuit) este proiectat pentru o singură sarcină, deci nu poate fi folosit pentru altceva decât pentru minerit de criptomonede. Singura modalitate de a recupera investiția inițială este prin minerit și recompense pentru adăugarea cu succes a unui bloc.

Pentru rețea, este suficient să vă asigurați că ați creat de fapt blocul corect. Chiar dacă ASIC-urile dvs. au efectuat trilioane de combinații pentru a obține hash-ul corect, pentru a-i verifica corectitudinea este suficient să treceți datele prin funcție o dată. Dacă datele dvs. produc un hash valid, blocarea va fi acceptată ca fiind valabilă de către rețea și veți primi o recompensă. În caz contrar, rețeaua îți respinge cererea de a adăuga un bloc și poți spune că ai pierdut timp și energie electrică.


Dovada mizei (PoS)

Proof of Stake (PoS) a apărut în primele zile ale Bitcoin ca o alternativă la Proof of Work. Sistemul PoS nu necesită participarea minerilor, utilizarea echipamentelor speciale sau consumul masiv de energie electrică - un computer personal obișnuit va fi suficient.

În plus, va trebui să vă aduceți propria contribuție. PoS nu folosește o resursă externă (electricitate sau echipament), ci una internă - criptomoneda. Cerințele pot varia între protocoale, dar, în general, există o sumă minimă de fonduri care acordă proprietarului dreptul de a miza.

În timpul perioadei de miză, fondurile sunt blocate în portofel (nu pot fi mutate în timpul mizarii). În cele mai multe cazuri, sunteți de acord cu alți validatori cu privire la tranzacțiile care vor intra în blocul următor. Într-un fel, validatorii plasează un pariu pe blocul pe care doresc să îl adauge în blockchain, dar dreptul de a alege blocul rămâne în sarcina protocolului.

Validatorii al căror bloc este selectat vor primi o parte din comisioanele de tranzacție în funcție de mărimea mizei lor. Cu cât au fost blocate mai multe fonduri din portofel, cu atât recompensa va fi mai mare. Cu toate acestea, pentru încercările de a înșela sistemul și de a adăuga tranzacții invalide, atacatorii riscă să-și piardă o parte (sau toată) cota lor. Astfel, PoS funcționează similar cu PoW: a acționa cinstit este mai profitabil decât a încerca să înșeli sistemul.

Acest mecanism nu oferă recompense pentru validatori sub formă de monede nou create. Cu acest algoritm, moneda nativă a blockchain-ului trebuie emisă în alt mod, cum ar fi printr-o ofertă inițială (ICO sau IEO), sau prin lansarea protocolului pe PoW și apoi trecerea la PoS.

Până în prezent, Proof of Stake în forma sa pură a fost implementat doar în câteva criptomonede cu o rețea relativ mică, din acest motiv este încă greu de spus cu siguranță dacă poate deveni o alternativă viabilă la PoW. Deși acest algoritm pare teoretic solid, în practică totul se întâmplă puțin diferit. 

Odată ce PoS este implementat într-o rețea cu o sumă mare de fonduri, în sistem intră în joc teoriile jocurilor și diverse stimulente financiare. Dacă cineva dorește să „pirateze” un sistem PoS, va fi doar cu o garanție de profit, așa că putem afla doar cât de probabil este acest lucru în rețea.

Testarea la scară largă a PoS va avea loc foarte curând: ca parte a actualizării rețelei Ethereum (cunoscută și sub numele de Ethereum 2.0), va fi implementat protocolul Casper.


Alți algoritmi de consens

Proof of Work și Proof of Stake sunt cei mai discutați algoritmi de consens, dar există mulți alții care au propriile avantaje și dezavantaje. Vă recomandăm să vă familiarizați cu ele mai detaliat în următoarele articole:

  • Dovada de lucru amânată explicată

  • Cum funcționează Dovada mizei închiriate

  • Explicarea dovezii de autoritate

  • Explicația dovezilor de ardere

  • Clarificarea dovezii delegate de miză

  • Algoritmul hibrid de consens


Relua

Mecanismele de consens sunt vitale pentru funcționarea sistemelor distribuite. Mulți cred că cea mai mare inovație a Bitcoin a fost utilizarea Proof of Work, care permite utilizatorilor să cadă de acord asupra unui set comun de fapte.

Algoritmii de consens susțin astăzi nu numai sistemele monetare digitale, ci și blockchain-urile, permițând dezvoltatorilor să ruleze cod într-o rețea distribuită. Ele sunt acum piatra de temelie a tehnologiei blockchain și sunt esențiale pentru viabilitatea pe termen lung a diferitelor rețele existente.

Dintre toți algoritmii de consens, Proof of Work rămâne în continuare dominantă, din simplul motiv că o alternativă mai fiabilă și mai sigură nu a fost încă propusă. Cu toate acestea, există o cantitate imensă de cercetare și dezvoltare pentru a înlocui PoW și probabil că vom vedea doar mai multe.