Ce este blockchain-ul?

Un blockchain este o listă de înregistrări de date care funcționează ca un registru digital descentralizat. Datele sunt stocate în blocuri în ordine cronologică și protejate folosind criptografia. 

Primul model blockchain a fost creat la începutul anilor 1990, când informaticianul Stuart Haber și fizicianul W. Scott Stornetta au decis să folosească criptografie pe blockchain pentru a proteja documentele digitale de falsificare. 

Munca lor a inspirat mulți programatori și pasionați de criptografie, ducând în cele din urmă la crearea Bitcoin ca primul sistem de monedă electronică descentralizat (sau pur și simplu prima criptomonedă).

Deși tehnologia blockchain este mult mai veche decât criptomonedele, potențialul său a fost realizat abia după apariția Bitcoin în 2008. De atunci, interesul pentru acesta continuă să crească în fiecare zi, iar criptomonedele devin din ce în ce mai acceptate.

Tehnologia Blockchain este folosită în principal pentru a înregistra tranzacțiile cu criptomonede, dar este potrivită și pentru diferite tipuri de date digitale și poate îndeplini o varietate de sarcini. Cea mai veche, mai sigură și populară rețea blockchain este Bitcoin, care combină criptografia și teoria jocurilor.


Cum funcționează blockchain-ul?

În contextul criptomonedelor, un blockchain constă dintr-un lanț stabil de blocuri, fiecare dintre ele conține o listă de tranzacții confirmate anterior. Deoarece rețeaua blockchain este întreținută de multe computere din întreaga lume, funcționează ca o bază de date descentralizată sau registru. Aceasta înseamnă că fiecare participant (nod) stochează o copie a datelor blockchain și interacționează cu alte noduri pentru a confirma că informațiile din blocuri se potrivesc.

Astfel, tranzacțiile blockchain au loc pe o rețea globală peer-to-peer, iar acest lucru face din Bitcoin o monedă digitală descentralizată, care nu are restricții și este rezistentă la cenzură. În plus, majoritatea sistemelor blockchain nu necesită încredere și nu sunt controlate de un singur organism de conducere.

La baza aproape fiecărui blockchain se află un proces de minerit bazat pe algoritmi de hashing. Bitcoin folosește algoritmul SHA-256 (algoritm de hashing securizat de 256 de biți). Acceptă o intrare de lungime arbitrară și generează o ieșire de lungime fixă. Ieșirea se numește hash și, în acest caz, este întotdeauna de 64 de caractere (256 de biți).

Aceleași intrări vor duce la aceeași ieșire, indiferent de câte ori se repetă procesul. Cu toate acestea, dacă modificați ușor datele de intrare, rezultatul va fi complet diferit. Datorită acestui fapt, în lumea criptomonedelor, majoritatea funcțiilor hash sunt deterministe și unidirecționale.

Unidirecționalitatea înseamnă că este aproape imposibil să se calculeze datele de intrare din datele de ieșire. Se poate doar ghici ce a fost la intrare, dar șansele de a ghici această informație sunt extrem de mici. Acest lucru asigură securitatea blockchain-ului Bitcoin.

Să ne uităm la modul în care funcționează blockchain folosind o tranzacție simplă ca exemplu.

Să ne imaginăm că Alice și Bob au câțiva bitcoini în bilanţ. Alice îi datorează lui Bob 2 bitcoini.

Pentru a le trimite, Alice transmite un mesaj cu tranzacția tuturor minerii din rețea.

În această tranzacție, Alice le spune minerilor adresa Bob și cantitatea de Bitcoin pe care ar dori să o trimită, precum și o semnătură digitală și cheia ei publică. Semnătura se face folosind cheia privată a lui Alice și confirmă că ea este proprietara acestor monede.

Minerii trebuie să verifice validitatea tranzacției, după care o combină cu alte tranzacții și încearcă să creeze un bloc folosind algoritmul SHA-256. Ieșirea trebuie să înceapă de la un anumit număr de 0, care depinde de așa-numita „dificultate” și puterea de calcul a rețelei.

Pentru a obține un hash de ieșire cu numărul corect de 0 la început, minerii adaugă un așa-numit număr nonce la bloc înainte de a rula algoritmul. Deoarece o mică modificare a intrării schimbă complet rezultatul, minerii încearcă diferite combinații până găsesc hash-ul dorit.

După crearea unui bloc, minerul îl transmite altor mineri. Apoi verifică validitatea blocului, astfel încât să îl poată adăuga la copia lor a blockchain-ului și să finalizeze tranzacția. Minerii includ și hash-ul de ieșire al blocului anterior în bloc pentru a lega toate blocurile într-un fel de lanț, adică un blockchain. Sistemul de încredere blockchain este construit pe acest mecanism.

Fiecare miner stochează o copie a blockchain-ului pe computerul său, iar gradul de încredere în blockchain depinde de puterea de calcul investită și de lungimea acesteia. Dacă un miner modifică o tranzacție într-un bloc anterior, hash-ul de ieșire al acelui bloc se va schimba, de asemenea, determinând modificarea tuturor hashurilor de după acesta. Apoi, minerul va trebui să refacă toată munca pentru ca blockchain-ul său să fie acceptat ca valabil. Pentru a înșela sistemul, un atacator ar trebui să preia mai mult de 50% din puterea de calcul a rețelei, ceea ce este aproape imposibil. Astfel de atacuri de rețea se numesc atacuri de 51%.

Un model în care producția de blocuri este realizată prin munca unui computer se numește Proof-of-Work (PoW). Există și alte modele, precum Proof-of-Stake (PoS), care nu necesită multă putere de calcul și consumă mai puțină energie, oferind scalabilitate multor utilizatori.