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 1990, 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 a inspirat cu siguranță munca multor altor informaticieni și pasionați de criptografie - ceea ce a dus în cele din urmă la crearea Bitcoin ca 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 pe o 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 registru). Aceasta înseamnă că fiecare participant (nod) păstrează o copie a datelor blockchain și 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ă granițe ș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 (secure hash algorithm 256 biți). Este nevoie de 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).
Deci aceeași intrare va avea ca rezultat aceeași ieșire, indiferent de câte ori se repetă procesul. Dar dacă se face o mică modificare la intrare, ieșirea se va schimba complet. Ca atare, funcțiile hash sunt deterministe, iar în lumea criptomonedei, cele mai multe dintre ele sunt concepute ca o funcție hash unidirecțională.
Fiind o funcție unidirecțională înseamnă că este aproape imposibil să se calculeze care a fost intrarea de la 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 împreună cu soldul lor Bitcoin. Să presupunem că Alice îi datorează lui Bob 2 Bitcoins.
Pentru ca Alice să îi trimită lui Bob acel 2 bitcoin, Alice transmite un mesaj cu tranzacția pe care vrea să o facă tuturor minerii din rețea.
În acea tranzacție, Alice le oferă 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 se face cu cheia privată a lui Alice, iar minerii pot valida că Alice, de fapt, este 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ă mine blocul. Acest lucru se face prin trecerea blocului prin algoritmul SHA-256. Ieșirea trebuie să înceapă cu un anumit număr de 0 pentru a fi considerată validă. Cantitatea de 0 necesare depinde de ceea ce se numește „dificultatea”, care se modifică în funcție de puterea de calcul disponibilă în rețea.
Pentru a produce un hash de ieșire cu cantitatea dorită de 0 la început, minerii adaugă ceea ce se numește „nonce” în bloc înainte de a-l rula prin algoritm. Deoarece o mică modificare a intrării schimbă complet rezultatul, minerii încearcă non-uri aleatorii până găsesc un hash de ieșire valid.
Odată ce blocul este exploatat, minerul transmite acel bloc nou extras tuturor celorlalți mineri. Apoi verifică pentru a se asigura că blocul este valid, astfel încât să îl poată adăuga la copia lor a blockchain-ului și tranzacția este completă. Dar în bloc, minerii trebuie să includă și hash-ul de ieșire din blocul anterior, astfel încât toate blocurile să fie legate împreună, de unde și numele blockchain. Aceasta este o parte importantă din cauza modului în care funcționează încrederea în sistem.
Fiecare miner are propria 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 hashurilor după acesta, deoarece blocurile sunt apreciate cu hash-uri. Minerul ar trebui să refacă toată munca pentru a-i 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 de 51%.
Modelul de 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 menite să necesite mai puțină energie electrică. putând în același timp să se extindă la mai mulți utilizatori.