Un ghid pentru înțelegerea algoritmilor de consens blockchain

Publicat: 2019-10-21

Blockchain este o rețea distribuită descentralizată care oferă o transparență, securitate și imuabilitate mai ridicate.

Cu totii stim asta!!

Dar, te-ai întrebat vreodată cum este capabil să realizeze toate acestea?

Cine guvernează această rețea și verifică fiecare tranzacție, cu condiția să nu existe o autoritate centralizată?

Sună interesant corect!

Ei bine, sunt algoritmi de consens Blockchain – Partea centrală a lumii dezvoltării Blockchain despre care vom vorbi în acest ghid cuprinzător.

CUPRINS:

  1. Definiția Blockchain Consensus Algorithm
  2. Obiectivele unui mecanism de consens
  3. Algoritmi de consens blockchain care sunt populari pe piață
  4. Proprietățile unui bun mecanism de consens blockchain
  5. Consecințele bazarii pe un protocol de consens prost
  6. întrebări frecvente
  7. Concluzie

Ce este algoritmul de consens Blockchain?

Cel mai simplu răspuns la ceea ce este algoritmul de consens Blockchain este că, este o procedură prin care toți colegii unei rețele Blockchain își acceptă fiecare acceptare sau consens cu privire la starea în timp real a registrului distribuit.

Un mecanism de consens permite rețelei blockchain să atingă fiabilitatea și să construiască un nivel de încredere între diferite noduri, asigurând în același timp securitatea în mediu. Acesta este motivul pentru care este una dintre părțile vitale ale fiecărui ghid de dezvoltare a aplicațiilor Blockchain și ale fiecărui proiect dApp din mediul registru distribuit.

Acești algoritmi funcționează pe baza diferitelor obiective, dintre care câteva le vom acoperi în următoarea secțiune a acestui articol.

Obiectivele mecanismului de consens blockchain

Objectives of Blockchain Consensus Mechanism

1. Acord unificat

Unul dintre obiectivele principale ale mecanismelor de consens este obținerea unui acord unificat.

Spre deosebire de sistemele centralizate în care este necesară încrederea în autoritate , utilizatorii pot opera chiar și fără a construi încredere unul în celălalt într-o manieră descentralizată. Protocoalele încorporate în rețeaua Distributed blockchain asigură că datele implicate în proces sunt adevărate și exacte, iar starea registrului public este actualizată.

2. Alinierea stimulentelor economice

Când vine vorba de construirea unui sistem fără încredere care să reglementeze singur, alinierea intereselor participanților la rețea este o necesitate.

Un protocol blockchain de consens , în această situație, oferă recompense pentru comportamentul bun și pedepsește actorii răi. Astfel, se asigură și reglementarea stimulentelor economice .

3. Echitabil și echitabil

Mecanismele de consens permit oricui să participe la rețea și să folosească aceleași elemente de bază. În acest fel, justifică proprietatea open-source și de descentralizare a sistemului blockchain.

4. Preveniți cheltuielile duble

Mecanismele de consens funcționează pe baza anumitor algoritmi care asigură că numai acele tranzacții sunt incluse în registrul public transparent, care sunt verificate și valide. Aceasta rezolvă problema tradițională a dublei cheltuieli, adică problema cheltuirii unei monede digitale de două ori.

5. Tolerant la erori

O altă caracteristică a metodei Consensus este că asigură faptul că blockchain-ul este tolerant la erori, consecvent și de încredere. Aceasta înseamnă că sistemul guvernat ar funcționa pe perioade nedeterminate chiar și în cazul eșecurilor și amenințărilor.

În prezent, există o multitudine de algoritmi de consens Blockchain în ecosistem și mulți alții se îndreaptă să intre pe piață. Acest lucru face imperativ pentru fiecare companie de dezvoltare Blockchain și Antreprenor entuziast să se familiarizeze cu factorii care definesc un protocol de consens bun și posibilul efect de a merge cu unul slab.

Cu elementele de bază ale metodelor de consens Blockchain fiind acoperite, să ne aprofundăm în subiect și să ne uităm la tipurile populare de mecanism de consens.

Algoritmi de consens blockchain populari pe piață

Algoritmi de consens blockchain

1. Dovada muncii (PoW)

Dezvoltat de Satoshi Nakamoto , Proof of Work este cel mai vechi mecanism de consens folosit în domeniul Blockchain. Este, de asemenea, cunoscut sub numele de minerit, unde nodurile participante sunt numite mineri.

În acest mecanism, minerii trebuie să rezolve puzzle-uri matematice complexe folosind o putere de calcul cuprinzătoare. Ei folosesc diferite forme de metode de exploatare, cum ar fi exploatarea GPU, exploatarea CPU, exploatarea ASIC și exploatarea FPGA. Iar cel care rezolvă problema cel mai devreme primește un bloc drept recompensă.

Cu toate acestea, procesul nu este atât de ușor. Un puzzle poate fi rezolvat doar printr-o metodă de încercare și eroare. În plus, nivelul de complexitate al puzzle-ului crește odată cu viteza cu care sunt extrase blocurile. Deci, devine obligatoriu ca cineva să creeze un nou bloc într-un anumit interval de timp pentru a face față nivelului de dificultate.

Mecanismul Proof of Work este folosit de mai multe criptomonede precum Bitcoin, Litecoin, ZCash, Primecoin, Monero și Vertcoin pentru a numi câteva.

Algoritmul Bitcoin explicat în acest mecanism folosește nonce ca valoare aleatorie pentru a varia rezultatul valorii hash. În algoritmul de consens bitcoin, fiecare bloc este destinat să genereze o valoare hash, iar nonce este parametrul care este utilizat pentru a genera acea valoare hash.

În ceea ce privește implementările sale, Proof of Work (PoW) nu a influențat doar industria financiară, ci și asistența medicală, guvernanța, managementul și multe altele. De fapt, a oferit oportunitatea plăților multicanal și a tranzacțiilor cu semnături multiple peste o adresă pentru sporirea securității.

2. Dovada mizei (PoS)

Proof of Stake este cea mai de bază și mai ecologică alternativă a protocolului de consens PoW.

În această metodă blockchain, producătorii de blocuri nu sunt mineri, dar acţionează ca validatori. Ei au posibilitatea de a crea un bloc peste toată lumea, ceea ce economisește energie și reduce timpul. Cu toate acestea, pentru ca aceștia să devină validatori, ar trebui să investească o anumită sumă de bani sau miză.

De asemenea, spre deosebire de asta în cazul PoW, minerilor li se oferă privilegiul de a-și lua taxele de tranzacție în acest algoritm, deoarece nu există un sistem de recompensă în acest model de consens.

Acest lucru, în ansamblu, a încurajat mărci precum Ethereum să-și actualizeze modelul de la PoW la PoS în actualizarea lor Ethereum 2.0 . De asemenea, a ajutat diverse ecosisteme Blockchain precum Dash, Peercoin, Decred, Reddcoin și PivX să funcționeze corect.

Acum, în timp ce PoS a rezolvat mai devreme diverse probleme asociate cu PoW, au existat multe provocări încă fără praf pe piață. Pentru a atenua aceste provocări și a oferi un mediu blockchain îmbunătățit, au apărut mai multe variante de PoS.

Cele două variante populare ale Proof of Stake (PoS) sunt DPoS și LPoS.

  • Dovada de miză delegată (DPoS)

În cazul Delegated Proof of Stake (DPoS), participanții își miză moneda și votează pentru un anumit număr de delegați, astfel încât cu cât investesc mai mult, cu atât primesc mai multă pondere. De exemplu: dacă utilizatorul A cheltuiește 10 monede pentru un delegat și utilizatorul B investește 5 monede, votul lui A primește mai multă pondere decât cel al lui B.

Delegații sunt, de asemenea, recompensați sub formă de taxe de tranzacție sau o anumită cantitate de monede.

Datorită acestui mecanism de vot ponderat în funcție de miză, DPoS este unul dintre cele mai rapide modele de consens blockchain și foarte preferat ca democrație digitală. Unele dintre cazurile de utilizare din viața reală a acestui mecanism de consens blockchain sunt Steem, EOS și BitShares.

  • Dovada mizei închiriate (LPoS)

LPoS este o versiune îmbunătățită a mecanismului de consens PoS care funcționează pe platforma Waves .

Spre deosebire de metoda obișnuită Proof-of-Stake, în care fiecare nod cu o anumită cantitate de criptomonedă are dreptul să adauge următorul blockchain, utilizatorii își pot închiria soldul la nodurile complete în acest blockchain al algoritmului de consens. Iar cel care închiriază suma mai mare nodului complet are o probabilitate mai mare de a genera următorul bloc. De asemenea, chiriașul este apoi recompensat cu un procent din comisionul de tranzacție care a fost colectat de către nodul complet.

Această variantă PoS este o opțiune eficientă și sigură pentru dezvoltarea criptomonedelor publice.

3. Dovada de autoritate

Proof of Authority este o versiune modificată a Proof of Stake în care sunt în joc identitățile validatorilor din rețea. În acest sens, pentru a verifica identitatea validatorului, identitatea este asemănarea dintre identificarea personală a validatorului și documentația oficială a acestora. Acești validatori își pun reputația în rețea. În Proof of Authority, nodurile (care devin validatoare) sunt singurele permise să producă noi blocuri. Validatorii a căror identitate este în pericol sunt stimulați să securizeze și să păstreze rețeaua blockchain. În această dovadă, numărul de validatori este destul de mic, în jur de 25 sau mai puțin.

4. Byzantine Fault Tolerance (BFT)

Byzantine Fault Tolerance, așa cum sugerează și numele, este folosită pentru a face față greșelii bizantine (numită și Problema Generalilor Bizantini) – o situație în care actorii sistemului trebuie să convină asupra unei strategii eficiente pentru a evita eșecul catastrofal al sistemului, dar unele dintre ele. sunt dubioase.

Aflați mai multe despre problema generalilor bizantini prin acest videoclip: -

Cele două variante ale modelului de consens BFT care sunt principale în arena Blockchain sunt PBFT și DBFT.

  • Toleranță bizantină practică la erori (PBFT)

PBFT este un algoritm blockchain ușor care rezolvă problemele generalului bizantin, permițând utilizatorilor să confirme mesajele care le-au fost livrate prin efectuarea unui calcul pentru a evalua decizia privind validitatea mesajului.

Apoi, partea își anunță decizia altor noduri care, în cele din urmă, procesează o decizie asupra acesteia. În acest fel, decizia finală se bazează pe deciziile preluate de la celelalte noduri.

Stellar, Ripple și Hyperledger Fabric sunt câteva cazuri de utilizare ale acestui mecanism de consens blockchain.

  • Toleranță bizantină delegată la erori (DBFT)

Introdus de NEO, mecanismul Delegated Byzantine Fault Tolerance este similar cu modelul de consens DPoS. Tot aici, deținătorii de jetoane NEO au posibilitatea de a vota pentru delegați.

Cu toate acestea, aceasta este independentă de suma de monedă pe care o investesc. Oricine îndeplinește cerințele de bază, adică o identitate verificată, echipament potrivit și 1.000 GAS , poate deveni delegat. Unul dintre acei delegați este apoi ales aleatoriu ca vorbitor.

Vorbitorul creează un nou bloc din tranzacție care așteaptă să fie validat. De asemenea, transmite o propunere delegaților votați care au responsabilitatea de a supraveghea toate tranzacțiile și de a le înregistra în rețea. Acești delegați au libertatea de a împărtăși și analiza propunerile pentru a verifica acuratețea datelor și onestitatea vorbitorului. Dacă, atunci, 2/3 din delegați îl validează, blocul este adăugat în blockchain.

Acest tip de protocol de consens Blockchain este numit și „Ethereum of China” și poate fi o resursă utilă în construirea unei „economii inteligente” prin digitalizarea activelor și oferirea de contracte inteligente pe blockchain.

5. Graficul aciclic direct (DAG)

Un alt model de consens blockchain de bază, dar principal, cu care trebuie să fie familiarizată orice companie de servicii de dezvoltare a aplicațiilor mobile care lucrează cu Blockchain este DAG.

În acest tip de protocol de consens Blockchain, fiecare nod în sine se pregătește să devină „mineri”. Acum, când minerii sunt eradicați și tranzacțiile sunt validate chiar de utilizatori, taxa asociată se reduce la zero. Devine mai ușor să validați tranzacțiile între oricare două noduri cele mai apropiate, ceea ce face ca întregul proces să fie ușor, mai rapid și sigur.

Cele mai bune două exemple de algoritmi DAG sunt IOTA și Hedera Hashgraph .

Deși acestea sunt principalele modele de consens în mediul de dezvoltare, multe mecanisme diferite de consens blockchain au început încet și treptat să câștige avânt, cum ar fi:

6. Dovada capacității (PoC)

În mecanismul Proof of Capacity (PoC), soluțiile pentru fiecare puzzle matematic complex sunt acumulate în stocări digitale precum hard disk-urile. Utilizatorii pot folosi aceste hard disk-uri pentru a produce blocuri, astfel încât cei care sunt cei mai rapizi în evaluarea soluțiilor să aibă șanse mai mari de a crea blocuri.

Procesul pe care îl urmează se numește Plotting. Cele două criptomonede care se bazează pe protocolul de consens PoC blockchain sunt Burstcoin și SpaceMint.

Here it is

7. Dovada de ardere (PoB)

Considerat o soluție alternativă la PoW și PoS în ceea ce privește consumul de energie, modelul de consens Proof of Burn (PoB) funcționează pe principiul de a lăsa minerii să „arde” sau să „strice” jetoanele de criptomonede virtuale, ceea ce le oferă în continuare privilegiul de a scrie blocuri proporțional cu monedele. Cu cât ard mai multe monede, cu atât sunt mai mari șansele de a alege noul bloc pentru fiecare monedă pe care o primesc.

Dar, pentru a arde monede, ei sunt obligați să le trimită la adresa unde nu a putut fi cheltuită pentru verificarea blocării.

Acest lucru este utilizat pe scară largă în cazul consensului distribuit. Și cel mai bun exemplu al acestui mecanism de consens este moneda Slim.

8. Dovada identității (PoI)

Conceptul de PoI (Proof of Identity) este la fel ca cel al identității autorizate. Este o parte de confirmare criptografică pentru cheia privată a unui utilizator care este atașată la fiecare tranzacție particulară. Fiecare utilizator identificat poate crea și gestiona un bloc de date care poate fi prezentat altora din rețea.

Acest model de consens blockchain asigură autenticitatea și integritatea datelor create. Și astfel, este o alegere bună pentru introducerea orașelor inteligente.

9. Dovada activității (PoA)

PoA este practic o abordare hibridă concepută prin convergența modelelor de consens blockchain PoW și PoS.

În cazul mecanismului PoA, minerii se întrec pentru a rezolva un puzzle criptografic cel mai devreme folosind hardware special și energie electrică, la fel ca în PoW. Cu toate acestea, blocurile pe care le întâlnesc conțin doar informații despre identitatea câștigătorului blocului și tranzacția cu recompensă. Aici mecanismul trece la PoS.

Validatorii (acţionarii desemnaţi să valideze tranzacţiile) testează şi asigură corectitudinea blocului. Dacă blocul a fost verificat de mai multe ori, validatorii se activează la un bloc complet. Acest lucru confirmă faptul că tranzacțiile deschise sunt procese și sunt în sfârșit integrate în containerele de bloc găsite.

În plus, recompensa de bloc este împărțită astfel încât validatorii să câștige cote din ea.

Cele două implementări în lumea reală ale acestui mecanism sunt monedele Espers și Decred .

10. Dovada timpului scurs (PoET)

PoET a fost introdus de Intel cu intenția de a prelua puzzle-urile criptografice implicate în mecanismul PoW, luând în considerare faptul că arhitectura CPU și cantitatea de hardware de minerit știu când și cu ce frecvență un miner câștigă blocul.

Se bazează pe ideea de a distribui și extinde în mod echitabil șansele pentru o parte mai mare de participanți. Și astfel, fiecărui nod participant i se cere să aștepte un anumit timp pentru a participa la următorul proces de minerit. Membrul cu cel mai scurt timp de reținere este rugat să ofere un blocaj.

În același timp, fiecare nod vine și cu propriul timp de așteptare, după care intră în modul de repaus.

Deci, de îndată ce un nod devine activ și un bloc este disponibil, acel nod este considerat „câștigătorul norocos”. Acest nod poate apoi să răspândească informațiile în întreaga rețea, păstrând în același timp proprietatea de descentralizare și primind recompensa.

11. Dovada de importanță (PoI)

Introdus de NEM , PoI este o variantă a protocolului PoS care ia în considerare rolul acționarilor și validatorilor pentru funcționarea sa. Cu toate acestea, acest lucru nu este influențat doar de mărimea și șansa acțiunilor lor; diverși alți factori, cum ar fi reputația, echilibrul general și nu. a tranzacțiilor efectuate prin orice anumită adresă joacă, de asemenea, un rol în aceasta.

Rețelele bazate pe modelul de consens POI sunt costisitoare de atacat și recompensează utilizatorii pentru contribuția la securitatea rețelei.

Informațiile partajate până acum te-ar fi ajutat să diferențiezi diversele protocoale de consens Blockchain.

Cu toate acestea, pentru a simplifica acest lucru, iată un tabel de comparație a algoritmilor de consens blockchain.

Acum, să începem cu a determina ce face ca un consens Blockchain să fie unul bun.

Proprietățile unui bun mecanism de consens blockchain

1. Siguranță

Într-un mecanism de consens bun, toate nodurile sunt capabile să genereze rezultate valabile conform regulilor de protocol.

2. Inclusiv

Un mecanism blockchain de consens bun asigură că fiecare nod particular al rețelei participă la procesul de vot.

3. Participativ

Un mecanism de consens în care toate nodurile participă activ și contribuie la actualizarea bazelor de date pe Blockchain se numește un model de consens bun.

4. Egalitarist

O altă trăsătură a unui mecanism bun este că dă valoare și pondere egală fiecărui vot primit de la nod.

Având în vedere acest lucru , haideți să aflăm ce se întâmplă atunci când nu luați în considerare acești factori și să introducem un model slab de consens în procesul dumneavoastră de dezvoltare.

Consecințele alegerii unui protocol de consens prost

1. Blockchain Forks

Alegerea unei metode slabe de consens blockchain crește vulnerabilitatea lanțului. O astfel de vulnerabilitate cu care se confruntă entuziaștii și dezvoltatorii blockchain este Blockchain Forks.

Blockchain forks, într-un limbaj laic, este o situație sau circumstanțe în care un singur lanț diverge în două sau mai multe. O explicație detaliată despre furca Blockchain și tipurile sale este disponibilă în videoclipul încorporat mai jos.

Când are loc o bifurcătură Blockchain, aplicația începe să funcționeze într-o manieră imprevizibilă, creând două sau mai multe noduri divergente înainte.

2. Performanță slabă

Când se ia în considerare un mecanism blockchain de consens prost , fie nodul funcționează defectuos, fie suferă de partiția rețelei. Acest lucru întârzie procesul de schimb de mesaje între noduri și crește latența aplicației, ceea ce în cele din urmă scade nivelul de performanță.

3. Eșecul consensului

Un alt efect al încorporării unui mecanism prost de consens în modelul dvs. de afaceri este eșecul consensului. În această situație, o fracțiune de noduri nu reușește să participe la niciun proces și astfel, în absența voturilor lor, consensul nu reușește să ofere rezultate precise și dorite.

Având în vedere elementele de bază ale metodelor de consens Blockchain acum acoperite, haideți să aprofundăm subiectul și să ne uităm la tipurile populare de mecanisme de consens.

Întrebări frecvente despre algoritmii de consens Blockchain

Î. Ce este Protocolul de consens în Blockchain?

Un protocol de consens este un set de reguli sau proceduri care guvernează modul în care două sau mai multe noduri interacționează, schimbă informații și efectuează procese asociate în ecosistemul Blockchain .

Î. Ce model de consens folosește Ethereum?

Anterior, Ethereum lucra cu modelul de consens PoW (Proof of Work). Dar, acum a trecut la algoritmul de consens blockchain PoS (Proof of Stake) .

Click here to know more

Gândurile Sfârșitului

Până la urmă toate aceste componente au un obiectiv similar și anume acela de a avea consens într-o rețea descentralizată. Cu toate acestea, chiar și după ce au un scop comun, aceste mecanisme diferă în modul lor de abordare a atingerii consensului. În timp ce consensul ideal nu există încă, este fascinant și emoționant să vedem cum mecanismele de consens s-au dezvoltat și s-au adaptat pe termen lung la cerințele în schimbare ale unui protocol ca acesta și, fără îndoială, va fi interesant să observi că ideile inovatoare se concretizează. .

Este important să o alegeți cu înțelepciune pe cea în funcție de necesitatea rețelei de afaceri, deoarece rețelele Blockchain nu pot funcționa corect fără algoritmii de consens pentru a confirma fiecare tranzacție care este efectuată.