Cum funcționează blockchain-ul?
Acasă
Articole
Cum funcționează blockchain-ul?

Cum funcționează blockchain-ul?

Intermediar
Publicat Dec 9, 2018Actualizat Oct 4, 2022
5m

Ce este blockchain-ul?

Pe scurt, un blockchain este o listă de înregistrări de date care funcționează ca un registru digital descentralizat. Datele sunt organizate în blocuri, care sunt aranjate cronologic și securizate prin criptografie

Cel mai vechi model de blockchain a fost creat la începutul anilor '90, când informaticianul Stuart Haber și fizicianul W. Scott Stornetta au folosit tehnici criptografice într-un lanț de blocuri ca o modalitate de a securiza documentele digitale împotriva falsificării datelor. 

Munca lui Haber și Stornetta cu siguranță a inspirat munca multor alți informaticieni și pasionați de criptografie - ceea ce a dus, într-un final, la crearea Bitcoin, adică primul sistem de numerar electronic descentralizat (sau, pur și simplu, prima criptomonedă).

Deși tehnologia blockchain este mai veche decât criptomonedele, abia după crearea Bitcoin în 2008, potențialul său a început să fie recunoscut. De atunci, interesul pentru tehnologia blockchain a crescut treptat, iar criptomonedele sunt acum recunoscute la scară mai mare.

Tehnologia blockchain este folosită în mare parte pentru a înregistra tranzacțiile cu criptomonede, dar se potrivește multor alte tipuri de date digitale și poate fi aplicată într-o gamă largă de cazuri de utilizare. Cea mai veche, mai sigură și mai mare rețea blockchain este Bitcoin, care a fost concepută cu o combinație atentă și echilibrată de criptografie și teoria jocurilor.


Cum funcționează blockchain-ul?

În contextul criptomonedelor, un blockchain constă dintr-un lanț stabil de blocuri, fiecare stocând o listă de tranzacții confirmate anterior.  Deoarece rețeaua blockchain este întreținută de o multitudine de computere răspândite în întreaga lume, funcționează ca o bază de date descentralizată (sau ca un registru). Asta înseamnă că fiecare participant (nod) păstrează o copie a datelor din blockchain și toți participanții comunică între ei pentru a se asigura că sunt toți pe aceeași pagină (sau bloc).

Prin urmare, tranzacțiile blockchain au loc într-o rețea globală peer-to-peer și aceasta este ceea ce face din Bitcoin o monedă digitală descentralizată, fără limite și rezistentă la cenzură. În plus, majoritatea sistemelor blockchain sunt considerate fără încredere, deoarece nu necesită niciun fel de încredere. Nu există o singură autoritate care să controleze Bitcoin.

O parte centrală a aproape fiecărui blockchain este procesul de minerit, care se bazează pe algoritmi de hashing. Bitcoin folosește algoritmul SHA-256 (algoritm de hash securizat, pe 256 biți). Acesta folosește o intrare de orice lungime și generează o ieșire care va avea întotdeauna aceeași lungime. Ieșirea produsă se numește „hash” și, în acest caz, este întotdeauna formată din 64 de caractere (256 de biți).

Așadar, aceeași intrare va produce aceeași ieșire, indiferent de câte ori se repetă procesul. Dar, dacă se face o mică modificare a intrării, ieșirea se va schimba complet. Ca atare, funcțiile hash sunt deterministe, iar în lumea criptomonedelor, cele mai multe dintre ele sunt concepute ca funcții hash unidirecționale.

Fiind o funcție unidirecțională, înseamnă că este aproape imposibil să se calculeze care a fost intrarea în funcție de ieșire. Se poate doar ghici care a fost intrarea, dar șansele de a ghici corect sunt extrem de mici. Acesta este unul dintre motivele pentru care blockchain-ul Bitcoin este sigur.

Acum că știm ce face algoritmul, să demonstrăm cum funcționează un blockchain, cu un exemplu simplu de tranzacție.

Imaginați-vă că îi avem pe Alice și Bob care au soldul de Bitcoin. Să presupunem că Alice îi datorează lui Bob 2 bitcoini.

Pentru ca Alice să-i trimită lui Bob acei 2 bitcoini, Alice transmite un mesaj cu tranzacția pe care vrea să o facă tuturor minerilor din rețea.

În acea tranzacție, Alice le dă minerilor adresa lui Bob și suma de Bitcoin pe care ar dori să o trimită, împreună cu o semnătură digitală și cheia ei publică. Semnătura este efectuată cu cheia privată a lui Alice, iar minerii pot valida că Alice este, cu adevărat, proprietara acelor monede.

Odată ce minerii sunt siguri că tranzacția este validă, o pot pune într-un bloc împreună cu multe alte tranzacții și pot încerca să mineze blocul. Acest lucru se face prin trecerea blocului prin algoritmul SHA-256. Ieșirea trebuie să înceapă cu un anumit număr de zerouri pentru a fi considerată validă. Numărul de zerouri necesar depinde de ceea ce se numește „dificultate”, care se modifică în funcție de puterea de calcul disponibilă în rețea.

Pentru a produce un hash de ieșire cu numărul dorit de zerouri la început, minerii adaugă ceea ce se numește un „nonce” în bloc, înainte de a-l rula prin algoritm. Deoarece o mică modificare a intrării schimbă complet ieșirea, minerii încearcă nonce-uri aleatorii până găsesc un hash de ieșire valid.

Odată ce blocul este minat, minerul transmite acel bloc nou minat tuturor celorlalți mineri. Apoi, verifică blocul, pentru a se asigura că este valid, astfel încât să îl poată adăuga la copia sa a blockchain-ului, iar tranzacția este completă. Dar, în bloc, minerii trebuie să includă și hash-ul de ieșire din blocul anterior, astfel ca toate blocurile să fie legate împreună, de unde și numele blockchain. Această parte este importantă, ca urmare a modului în care funcționează încrederea în sistem.

Fiecare miner are propria sa copie a blockchain-ului pe computer și toată lumea are încredere în orice blockchain care are cea mai mare muncă de calcul, cel mai lung blockchain. Dacă un miner modifică o tranzacție într-un bloc anterior, hash-ul de ieșire pentru acel bloc se va schimba, ceea ce duce la schimbarea tuturor hash-urilor de după acesta, deoarece blocurile sunt legate de hash-uri. Minerul ar trebui să refacă toată munca pentru a face pe oricine să accepte blockchain-ul său ca fiind cel potrivit. Deci, dacă un miner ar vrea să trișeze, ar avea nevoie de mai mult de 50% din puterea de calcul a rețelei, ceea ce este foarte puțin probabil. Astfel de atacuri de rețea se numesc atacuri 51%.

Modelul folosit pentru a face computerele să funcționeze pentru a produce blocuri se numește Proof-of-Work (PoW), există și alte modele precum Proof-of-Stake (PoS), care nu necesită atât de multă putere de calcul și sunt concepute să necesite mai puțină energie electrică, în același timp fiind capabile să se extindă la mai mulți utilizatori.