Introducere
Un algoritm de consens este un mecanism care permite utilizatorilor sau mașinilor să coordoneze relațiile într-un mediu distribuit. Necesită să ne asigurăm că toți agenții din sistem pot fi de acord în cele din urmă asupra unei singure surse de adevăr (chiar dacă unii agenți nu sunt de acord). Cu alte cuvinte, sistemul trebuie să aibă o toleranță bună la defecțiuni (vezi și „Explicarea toleranței bizantine la erori”).
Într-un mediu centralizat, o singură entitate deține controlul asupra întregului sistem. În cele mai multe cazuri, aceste entități sunt adesea capabile să schimbe sistemul după bunul plac, deoarece nu reușesc să creeze un sistem de guvernanță bine definit care să permită multor administratori să ajungă la un consens.
Dar dacă este într-un mediu descentralizat, este o cu totul altă poveste. Presupunând că folosim o bază de date distribuită, cum suntem de acord asupra intrărilor de adăugat?
Acest mediu este plin de străini care nu au încredere unii în alții. Cum să depășiți această provocare poate fi cheia pentru rezolvarea problemelor de dezvoltare și pentru a deschide calea pentru blockchain. În acest articol, vom analiza importanța algoritmilor de consens pentru rularea criptomonedelor și a registrelor contabile distribuite.
Algoritmi de consens și criptomonede
Într-un mediu de criptomonedă, soldurile utilizatorilor sunt înregistrate în baza de date blockchain. Este esențial ca fiecare utilizator (mai precis, fiecare nod) să mențină aceeași copie a bazei de date. Nerespectarea acestui lucru va duce în cele din urmă la probleme de conflict de informații care subminează întregul scop al rețelei de criptomonede.
Criptografia cu cheie publică asigură că utilizatorii nu pot cheltui jetoanele altor utilizatori. Dar trebuie să existe o singură sursă de adevăr în care participanții rețelei pot avea încredere pentru a ști dacă fondurile au fost cheltuite.
Creatorul Bitcoin Satoshi Nakamoto a propus un sistem de dovadă a muncii ca o modalitate de a coordona participanții. Vom intra în mai multe detalii despre modul în care funcționează Proof of Work mai târziu. Acum, să înțelegem mai întâi caracteristicile comune ale diverșilor algoritmi de consens existenți.
În primul rând, avem nevoie de miza de la utilizatorii care doresc să adauge blocuri (cunoscute și ca validatori). Validatorii trebuie să mizeze o anumită valoare pentru a-i împiedica să comită fraude. Odată ce trișează, își vor pierde drepturile la miză. De exemplu, pierderea puterii de calcul și a criptomonedei sau chiar pierderea reputației.
Deci, de ce și-ar risca propriile resurse? Pentru că există și un mecanism de recompensă în acest proces. Recompensele sunt de obicei criptomoneda nativă a protocolului. Recompensele pot fi, de asemenea, taxe plătite de alți utilizatori, unități criptomonede nou generate sau ambele.
În cele din urmă, trebuie să asigurăm și transparența. Trebuie să avem capacitatea de a detecta înșelăciunea în timp util. În teorie, producerea blocurilor costă mult, dar verificarea autenticității lor este destul de ieftină. Prin acest mecanism, utilizatorii obișnuiți pot constrânge cu ușurință validatorii.
Tip de algoritm consens
Dovada muncii (PoW)
Proof of Work (PoW) este considerat nașul algoritmilor de consens blockchain. Acest mecanism a fost folosit pentru prima dată în spațiul Bitcoin, dar conceptul real există de mult timp. În proof-of-work, validatorii (numiți mineri) trimit datele pe care doresc să le adauge până când este produsă o soluție specifică.
Un hash este un șir aparent aleatoriu de litere și numere creat prin rularea datelor printr-o funcție hash. Rularea în mod repetat a acelorași date va da întotdeauna aceeași ieșire. Cu toate acestea, dacă modificați chiar și un mic detaliu, valoarea hash rezultată va fi complet diferită.
Nu există nicio modalitate de a deduce ce informații au fost introduse în funcție doar din rezultat. Prin urmare, această metodă este eficientă pentru a demonstra că cunoașteți o anumită bucată de date înainte de un anumit moment în timp. Puteți spune cuiva hash-ul în prealabil, iar când dezvăluiți datele mai târziu, acea persoană poate rula funcția și va vedea că rezultatul este același.
În proof-of-work, protocolul specifică condițiile care fac un bloc valid. De exemplu, s-ar putea prevedea că numai hashurile care încep cu 00 sunt blocuri valide. Singura modalitate prin care un miner poate crea un bloc care se potrivește cu această combinație este de a introduce forța brută. Ei ajustează parametrii datelor și testează fiecare presupunere cu rezultate diferite până când obțin valoarea hash corectă.
Pentru blockchain-urile principale, bara tinde să fie destul de ridicată. Pentru a concura cu alți mineri, trebuie să pregătiți o cantitate mare de hardware de hashing special (circuite integrate specifice aplicației) pentru a crea condițiile pentru producerea de blocuri valide.
În timpul procesului de exploatare, miza pe care o pariați include costul achiziționării mașinii și a energiei electrice necesare pentru a rula mașina. Circuitele integrate specifice aplicației (ASIC) sunt construite special pentru minerit de criptomonede și sunt inutile pentru alte aplicații. Singura modalitate prin care vă puteți recupera investiția inițială este prin minerit, iar dacă adăugați cu succes noi blocuri în blockchain, puteți obține recompense considerabile.
Rețeaua poate verifica cu ușurință autenticitatea blocurilor pe care le creați. S-ar putea să fie nevoie să încercați trilioane de combinații pentru a obține corect valoarea hash, dar validarea datelor necesită doar un singur calcul al funcției hash. Dacă datele dvs. produc un hash valid, rețeaua îl va accepta și veți fi recompensat pentru asta. În caz contrar, rețeaua va respinge valoarea și tot timpul și puterea dvs. vor fi irosite.
Dovada mizei (PoS)
În primele zile ale Bitcoin, Proof of Stake (PoS) era privită ca o alternativă la Proof of Work. Într-un sistem proof-of-stake, nu există conceptul de mineri, hardware specializat sau consum masiv de energie. Tot ce ai nevoie este un computer obișnuit.
Cu toate acestea, nu este întotdeauna cazul. Ai nevoie și de niște capital. Într-un mecanism proof-of-stake, în timp ce nu trebuie consumate resurse externe (cum ar fi electricitatea sau hardware-ul), trebuie furnizate resurse interne, și anume criptomoneda. Regulile fiecărui protocol sunt diferite, dar, în general, există o sumă minimă de investiție pe care trebuie să o îndeplinești pentru a fi eligibil pentru miza.
Odată ce se face acest lucru, fondurile din portofel vor fi blocate (fondurile nu pot fi mutate în timpul mizării). În general, trebuie să fiți de acord cu alți validatori asupra tranzacțiilor care vor intra în blocul următor. Într-un fel, acest lucru este echivalent cu pariarea pe care bloc va fi selectat, iar protocolul va alege doar unul dintre blocuri.
Dacă blocul dvs. este selectat de protocol, veți primi comisioane de tranzacție proporționale cu valoarea mizei pe care o mizați. Cu cât blocați mai multe fonduri, cu atât randamentele dvs. sunt mai mari. Dacă încercați să înșelați și să propuneți o tranzacție nevalidă, veți pierde o parte (sau toată) miza dvs. Prin urmare, operam un mecanism similar cu dovada mizei, în care onestitatea și seriozitatea pot obține mai multe beneficii decât înșelăciunea.
În general, recompensele validatorului nu vor fi emise sub formă de jetoane nou bătute. Prin urmare, moneda nativă a blockchain-ului trebuie emisă într-un alt mod. Acest lucru ar putea fi printr-o ofertă inițială (adică ICO sau IEO) sau prin lansarea protocolului cu Proof-of-Work și apoi trecerea la Proof-of-Stake.
Până acum, dovada de miză pură a fost implementată doar în criptomonede mai mici. Prin urmare, nu este clar dacă poate servi ca o alternativă viabilă la dovada muncii. În timp ce funcționează în teorie, în practică nu este deloc așa.
Odată ce proof-of-stake este implementat într-o rețea cu o valoare mare, întregul sistem devine o arenă plină de teoria jocurilor și stimulente economice. Atâta timp cât există un profit, acei hackeri calificați vor „hack” sistemul proof-of-stake. Prin urmare, singura modalitate de a determina dacă este fezabilă este aplicarea acesteia într-o rețea online.
În curând, Proof of Stake va fi testată la scară, iar rețeaua Ethereum este pe cale să implementeze o serie de upgrade (cunoscute în mod colectiv sub numele de Ethereum 2.0), inclusiv implementarea lui Casper.
Alți algoritmi de consens
Proof-of-work și proof-of-stake sunt în prezent cei mai discutați algoritmi de consens. Dar există mulți alți algoritmi în afară de acesta și fiecare are propriile sale avantaje și dezavantaje. Vă rugăm să citiți următorul articol pentru detalii:
„Explicația detaliată a dovezii de încărcare a sarcinii de lucru”
„Explicația detaliată a consensului privind dovada dobânzii de închiriere”
„Explicația detaliată a dovezii autorizate”
„Explicația detaliată a certificatului de distrugere”
„Explicația detaliată a dovezii de capitaluri proprii delegate”
„Explicația detaliată a dovadă a muncii hibride/dovada consensului mizei”
Rezuma
Mecanismele pentru atingerea consensului sunt esențiale pentru funcționarea sistemelor distribuite. Mulți oameni cred că cea mai mare inovație a Bitcoin este utilizarea dovezilor de lucru, un mecanism prin care utilizatorii pot conveni adesea asupra unui set de fapte comune.
Astăzi, algoritmii de consens au devenit fundamentul sistemelor de monedă digitală și blockchain-urilor, permițând dezvoltatorilor să ruleze cod în rețele distribuite. Algoritmii de consens ocupă o poziție fundamentală în tehnologia blockchain și joacă un rol vital în viabilitatea pe termen lung a diferitelor rețele existente.
Printre toți algoritmii de consens, dovada muncii domină. Nimeni nu a propus încă o soluție alternativă mai fiabilă și mai sigură. Acestea fiind spuse, profesioniștii încă dezvoltă o serie de produse pentru a înlocui dovada muncii și ne putem aștepta să vedem mai multe soluții alternative să apară în următorii ani.

