Author

Topic: Algoritmii de Consensus in Blockchain (exemple si explicatii) (Read 311 times)

member
Activity: 113
Merit: 15
Din acest articol veți afla că spatele fiecărei cripto-valute, există un algoritm de consensus si niciun algoritm de consensus nu este perfect, dar fiecare are punctele sale forte iar in lumea cripto-valutei, algoritmii de consensus de obicei rezolvă problema cheltuielilor duble și incă mute alte nuanțe.


Iată o clasificare a Tipurilor de Consensus Cryptocurrency care sunt cele mai populare la moment:


Proof-of-Work [(PoW) Dovada muncii - OG Consensus]

Implementări mai populare: Bitcoin, Ethereum, Litecoin, Dogecoin, (Cele mai multe dintre ele)

Avantaj: Știm că funcționează

Dezavantaj: Procesare lentă, consum mare de enetrgie

Proof-of-Work a fost primul algoritm de consensus blockchain. Conceput de Satoshi Nakamoto pentru utilizarea în blocul Bitcoin, Implementarea PoW o putem observa astazi în operațiunile miniere masive și consumul de energie pe care îl vedem în întreaga lume. Știm că funcționează (ceea ce este mult mai mult decât putem spune pentru mulți alți algoritmi de consensus), dar în această etapă a jocului de peste 10 ani, începe deja să fie considerată o tehnologie veche. Chiar și Ethereum migrează departe de PoW pentru mai multă energie și eficiență din punct de vedere economic. Cu atâtea alternative noi, este greu de văzut măcar o cauza de ce un blocaj nou ar folosi PoW.

În PoW, minerii rezolvă probleme grele și inutile pentru a crea blocuri. PoW rulează pe un sistem cu "cele mai lungi victorii ale lanțului". Deci presupunând că majoritatea mineriilor lucrează pe același lanț, cel care va crește cel mai rapid va fi cel mai lung și mai demn de încredere. Prin urmare, Bitcoin este sigur, atâta timp cât mai mult de 50% din munca pusă în practică de mineri este onestă.



Proof-of-Stake [(PoS) Dovada mizei]

Implementări mai populare: Decred, Ethereum (în curând), Peercoin

Avantaj: Atacurile sunt mai scumpe, Mai descentralizat, Eficient energetic

Dezavantaj: Nimic la miza

În PoS, blocurile nu sunt create de minerii care lucrează, ci de minerii care își impun jetoanele pentru a "paria" pe care blocuri sunt valide. În cazul unui fork, deținatorii de monetă iși pun ca miza jetoanele, votînd pe ce fork să-l susțină. Presupunând astfel că majoritatea oamenilor votează pe un fork corect, iar validatorii care au votat un fork greșit își vor "pierde miza" în cel corect.

Argumentul comun împotriva probei de miză este problema ca nu-i Nimic la miză. Problema constă in costurile validatorilor, care nu au aproape nici o putere de calcul pentru a susține un fork, spre deosebire de PoW, validatorii ar putea vota pentru ambele părți ale fiecărei furci care se întâmplă. Deci, fork-urile din PoS ar putea fi mult mai frecvente decât în ​​PoW, lucru care pe unii i-ar putea îngrijora pentru a dăuna credibilității monedei.



Delegated Proof-of-Stake [(DPoS) Alegeți validatorii dvs.]

Implementări mai populare: Steemit, EOS, BitShares

Avantaj: tranzacții ieftine, scalabile, eficiență energetică

Dezavantaj: Parțial centralizat

Este foarte diferit de PoS. În DPoS, detinatorii de mize de jetoane nu votează validitatea blocurilor, ci votează să aleagă delegații pentru a face validarea în numele lor. Există, în general, între 21-100 de delegați aleși într-un sistem DPoS. Delegații sunt amestecați periodic și li se dă o comandă de a-și livra blocurile. Având puțini delegați le permite să se organizeze eficient și să creeze sloturi de timp desemnate pentru fiecare delegat să-și publice blocul. În cazul în care delegații își pierd mereu blocurile sau publică tranzacții nevalide, detinatorii de mize le votează și le înlocuiesc cu un delegat mai bun.

În DPoS, minerii pot colabora pentru a face blocuri în loc de a concura ca în PoW și PoS. Prin centralizarea parțială a creării de blocuri, DPoS poate executa ordine de mărime mai rapidă decât cele mai multe algoritmi de consens. EOS este setat a fi primul blockchain cu timpi de blocare <1 secundă! si un timp de blocare de 10 minute mai mic decât in bitcoin.



Proof-of-Authority [(PoA)Încredere in a ști totul sau Veți respecta autoritatea mea]

Implementări mai populare: Rețea PoA, Ethereum Kovan testnet

Avantaj: performanță ridicată, scalabil

Dezavantaj: sistem centralizat

Documentul de autorizare este un algoritm de consensus în care tranzacțiile sunt validate prin conturi aprobate, cum ar fi "administratorii" sistemului. Aceste conturi sunt autoritatea pe care alte noduri le primesc ca adevărul. PoA are o capacitate mare și este optimizată pentru rețele private. Este puțin probabil să vedeți că PoA rulează pe un lanț public datorită naturii sale centralizate.



Proof-of-Weight [(PoWeight) Cu cit este mai mare este mai bine]

Implementări populare: Algorand, Filecoin, Chia

Avantaj: personalizabil, scalabil

Dezavantaj: Incurajarea poate fi o provocare

PoWeight este o clasificare largă a algoritmilor consens bazați pe modelul consensului Algorand. Ideea generală este că în cazul în care, în PoS, procentajul de jetoane deținute în rețea reprezintă probabilitatea de a "descoperi" următorul bloc, într-un sistem PoWeight este utilizată o altă valoare relativ ponderată. Exemplu concret: Fișierul PoSpacetime al lui Filecoin este ponderat în funcție de cantitatea de date IPFS pe care o stocați. Alte sisteme ar putea include greutăți pentru lucruri precum PoReputation.



Byzantine Fault Tolerance [(BFT)Toleranța defectelor bizantine - Asociați blocul!]

Implementări mai populare: Hyperledger, Stellar, Dispatch, Ripple

Avantaj: performanță ridicată, cost scăzut, scalabil

Dezavantaj: Semi-încredere

Este o problemă clasică care are la baza distribuția de calcul, care este explicată de obicei cu un exemplu de atac asupra unui oraș a generalilor bizantini. Problema este că câțiva generali bizantini și porțiunile respective ale armatei bizantine au înconjurat un oraș. Ei trebuie să decidă în mod unison dacă să atace sau nu. Dacă unii generali atacă fără ceilalți, asediul lor se va termina cu o tragedie. Generalii sunt de obicei separați prontr-o anumita distanță și trebuie să trimită mesaje pentru a comunica. Mai multe protocoale de criptocurrency utilizează o versiune a BFT pentru a ajunge la un consensus, fiecare avind argumente proprii și contra lor:

 -Practical Byzantine Fault Tolerance( PBFT - Pragul de toleranță bruște bizantină): Una dintre primele soluții la această problemă a fost cea a Toleranței bruște brute practice. În prezent, în uz de Hyperledger Fabric, cu o cantitate puțina (<20, după care lucrurile devin puțin cite puțin), generații pre-selectate PBFT rulează incredibil de eficient.
         Pro: Transmitere ridicată a tranzacțiilor
         Contra: centralizată/permisă.

 -Federated Byzantine Agreement( FBA - Acordul federal bizantin): FBA este o altă clasă de soluții la problema generalizată bizantină, folosită de monede precum Stellar și Ripple. Ideea generală, ar fi că fiecare general bizantin, responsabil pentru propriul sau lanț, ordonează ca mesajele care vin în a stabili adevărul. În Ripple, generalii (validatorii) sunt preselectați de Fundația Ripple. În Stellar, oricine poate fi un validator, astfel încât să alegeți validatorii în care să aveți încredere desinestătător.

Pentru capacitatea sa incredibilă, costul redus al tranzacțiilor și scalabilitatea rețelei, cred că clasa FBA a algoritmilor de consensus este cea mai bună pe care am descoperit-o pentru consensus-ul distribuit.



Directed Acyclic Graphs [(DAG)Diagrame aciclice direcționate - adică Lanțurile de blocare a blocurilor]

Implementări mai populare: Iota, Hashgraph, Raiblocks/Nano

Avantaje: Scalabilitatea rețelei, cost scăzut

Dezavantaje: Depinde de implementare

DAG-urile reprezintă o formă de consensus care nu utilizează structura de date a blocurilor și gestionează tranzacțiile asincron, acaeasta însemnînd că tranzacțiile teoretic pot ajunge la un număr infinit pe secundă, dar DAG-urile au puncte forte și puncte slabe ca orice alt consensus.

Tangle: este algoritmul DAG consensus utilizat de Iota. Pentru a trimite o tranzacție Iota, trebuie să confirmați două tranzacții anterioare pe care le primiți. Consensus-ul "două-pentru-unul, plătește-înainte" întărește valabilitatea tranzacțiilor, cu cât mai multe tranzacții sunt adăugate în Tangle. Deoarece consensul este stabilit de tranzacții, teoretic, dacă cineva poate genera 1/3 din tranzacții, aceștia ar putea convinge restul rețelei că tranzacțiile nevalide sunt valabile. Până când volumul tranzacției nu este suficient, crearea a 1/3 din volum devine imposibilă, Iota generează un "dublu" control al tuturor tranzacțiilor din rețea într-un nod centralizat numit “The Coordinator”. Iota spune că “The Coordinator” funcționează ca roți de antrenament pentru sistem și va fi eliminat odată ce Tangle este suficient de mare.

Hashgraph: este un consensus de bârfă-protocol elaborat de Leemon Baird. Nodurile își împărtășesc tranzacțiile cunoscute cu alte noduri la întâmplare, astfel încât în ​​cele din urmă toate tranzacțiile sunt bârfite în jurul tuturor nodurilor. Hashgraph este foarte rapid (250.000 tranzacții pe secundă), dar nu este rezistent la atacurile Sybil. Prin urmare, Hashgraph este o opțiune excelentă pentru rețelele private, dar nu veți putea vedea implementat într-o rețea publică ca Ethereum sau Dispatch, în orice caz nu de curând.

Block-lattice: Nano (fostul Raiblocks) rulează cu o răsucire pe lanțul de blocuri numit "Block-lattice". Lanțul de blocuri este o structură în care fiecare utilizator (adresa) are propriul lanț pe care numai ei îl pot scrie, iar toată lumea deține o copie a tuturor lanțurilor. Fiecare tranzacție este defalcată atât în ​​blocul de expediere din lanțul expeditorului, cât și în cel de primire pe lanțul de primire. Lanțul de blocuri pare aproape prea simplu pentru a funcționa, dar este deja acolo aflat în sălbăticie. Structura unică nu lasă Lanțul să se deschidă unor vectori de atac unici, cum ar fi atacul Penny-spend, unde atacatorii inflaționează numărul de lanțuri pe care nodul trebuie să le urmărească, trimițând cantități neglijabile unei game largi de portofele goale.

SPECTRE: Serialization of Proof-of-work Events: Confirming Transactions via Recursive Elections (Serializarea evenimentelor de verificare a afacerii : Confirmarea tranzacțiilor prin intermediul alegerilor recursive), mai bine cunoscută sub numele de SPECTRE, este o soluție propusă de scalare a Bitcoin care utilizează o combinație de PoW și DAG pentru a ajunge la un consensus scalabil. În SPECTRE, sunt minate blocurile care indică mai mulți părinți, nu doar unul, astfel încât rețeaua ar putea manipula potențial mai multe blocuri pe secundă. Extinderea unui bloc care indică anumite blocuri părinte acceptă valabilitatea acestor blocuri. În comparație cu "cele mai lungi victorii ale lanțului" lui PoW, SPECTRE utilizează ceva de genul "blocuri cu cea mai mare victorie pentru copii". SPECTRE nu a fost testat încă în slbăticie, iar noi vectori de atac ar putea să apară, dar seamănă foarte mult cu un mod potențial inteligent de a repara Bitcoin.

Jump to: