Ce este blockchain-ul?
Blockchain-ul este o listă de înregistrări (sau date) în continuă creștere, numite blocuri, care sunt legate și securizate cu ajutorul criptografiei. Ca structură de date, un blockchain este o listă simplu înlănțuită, în care legăturile între elemente se fac prin hash. Astfel, fiecare bloc conține de obicei o legătură către un bloc anterior (un hash al blocului anterior), un timestamp și datele tranzacției. Prin design, blockchainurile sunt rezistente la modificarea datelor. Blockchainul este „un registru transparent și distribuit care poate înregistra tranzacții între două părți în mod eficient, verificabil și permanent”. Pentru a fi folosit ca registru distribuit, un blockchain este de obicei administrat de o rețea colectivă de tip peer-to-peer, ce aderă la un protocol pentru validarea noilor blocuri. Odată înregistrate, datele din orice bloc de date nu mai pot fi modificate retroactiv fără alterarea blocurilor care urmează, ceea ce necesită acordul majoritar al participanților din rețea.
Structura
Un blockchain este o „carte contabilă” (în engleză ledger) descentralizată, distribuită și publică, formată dintr-o listă de blocuri înlănțuite. Blockchainul este folosit pentru a înregistra tranzacțiile distribuit (pe mai multe calculatoare), iar înregistrările nu pot fi modificate retroactiv fără alterarea blocurilor ulterioare. O bază de date de tip blockchain este gestionată autonom, folosind o rețea peer-to-peer și un server de timestamping distribuit. Aceste servere sunt gestionate prin colaborare în masă, dirijată de interese colective. Rezultatul este un sistem de tranzacții robust, unde incertitudinea participanților privind securitatea datelor este marginală. Utilizarea unui blockchain elimină posibilitatea de copiere/clonare a activelor digitale. Printr-un blockchain se asigură astfel faptul că fiecare unitate de valoare a fost transferată doar o singură dată, rezolvând astfel problema dublei cheltuieli. Blockchainurile au fost descrise ca fiind protocoale de schimb de valoare. Aceste schimburi de valoare pe bază de blockchain pot fi finalizate mai repede, mai sigur și mai ieftin față de sistemele tradiționale. Un blockchain poate fi folosit pentru a atribui titluri de proprietate, deoarece acesta oferă o înregistrare permanentă care obligă acceptarea contractului.
Blocurile
Blocurile dețin seturi de tranzacții care sunt indexate și codificate într-o structură specială de date numită arbore Merkle. Fiecare bloc include hash-ul criptografic al blocului anterior din blockchain, prin care se leagă astfel cele două blocuri, formând un lanț. Verificarea repetată a integrității blocurilor precedente poate fi făcută până la începutul lanțului, la „blocul geneză”. Uneori, în paralel cu lanțul principal, pot apărea lanțuri secundare printr-un proces cu numele de „forking”. Blocurile din lanțurile secundare sunt numite „blocuri orfane”.
Calculatoarele care mențin baza de date de tip blockchain (numite și noduri de rețea) pot avea diferite versiuni istorice ale bazei de date (e.g. nu toate sunt actualizate până la ultimele tranzacții). Fiecare versiune istorică are un „număr de versiune”, iar calculatoarele păstrează doar versiunea cea mai recentă pe care au primit-o până atunci de la celelalte calculatoare. Ori de câte ori un calculator primește o versiune mai recentă (de obicei, versiunea anterioară cu un singur bloc nou adăugat), baza de date proprie se actualizează și apoi se retransmite celorlalte calculatoare din rețea. Blockchainurile sunt de obicei construite pentru a adăuga blocuri noi peste cele vechi – existența stimulentelor în a lucra la extinderea cu blocuri noi, decât la suprascrierea blocurilor vechi, face ca probabilitatea înlocuirii unui bloc nou adăugat cu altul să scadă exponențial de-a lungul timpului. De exemplu, într-un blockchain ce folosește un sistem de tip proof-of-work, lanțul care are „timpul de lucru” cel mai mare este întotdeauna considerat valid de rețea. Există o serie de metode care pot fi utilizate pentru a demonstra un nivel suficient de calcul. Într-un blockchain, calculul se efectuează în mod redundant în comparație cu sistemele tradiționale de calcul, care funcționează în mod segregat și paralel.
Descentralizare
Prin stocarea datelor într-o rețea peer-to-peer, arhitectura blockchain elimină o serie de riscuri care vin atunci când datele sunt organizate la nivel central.
Arhitecturile peer-to-peer precum blockchainurile nu au puncte centrale de vulnerabilitate pe care hackerii le-ar putea exploata; de asemenea, nu au niciun punct critic central – adică nu există niciun calculator „important” a cărui defectare ar cauza întreruperea rețelei. Metodele blockchain de securitate includ utilizarea de criptografie cu chei publice. O „cheie publică” este un șir lung de caractere aleatorii și reprezintă o adresă pe blockchain care înregistrează valoarea tokenurilor trimise prin rețea la acea adresă. O „cheie privată” este ca o parolă, care oferă proprietarului accesul la activele sale digitale sau mijloacele de a interacționa cu diferite aplicații care sunt construite peste blockchainuri. Datele stocate pe blockchain sunt considerate, în general, incoruptibile. În timp ce bazele de date centralizate sunt mult mai ușor de controlat, modificarea și manipularea datelor este posibilă și ușor de realizat. Prin descentralizarea datelor dintr-o „carte contabilă”, blockchainurile publice oferă transparență pentru toți cei implicați.
Fiecare nod (calculator) într-un sistem descentralizat deține o copie a blockchainului. Calitatea datelor este menținută prin replicarea masivă a acestora și prin necesitatea rezolvării de puzzle-uri matematice (proof-of-work) pentru validarea tranzacțiilor. Nu există o copie „oficială” centralizată și niciun utilizator nu este „mai de încredere” decât altul. Tranzacțiile sunt publicate pe rețea folosind un software specializat. Mesajele sunt livrate în funcție de cât de repede pot comunica nodurile între ele. Nodurile care minează validează tranzacțiile, le adăugă la un bloc și apoi publică acest bloc când este finalizat la alte noduri. Blockchainurile folosesc diverse scheme de consens precum proof-of-work sau proof of stake. Creșterea dimensiunii blockchainului este însoțită de riscul de centralizare, deoarece doar puține computere și utilizatori vor avea resursele necesare pentru a procesa cantitățile mari de date.
Avantajele cheie ale blockchain-ului:
Natura transparentă și inalterabilă a tehnologiei blockchain îi conferă o serie de avantaje pentru organizații:
• Transparență: informațiile din blockchain sunt vizibile de către toți participanții și nu pot fi modificate. Acest lucru va reduce riscul și frauda, creând în același timp încrederea.
• Securitate: natura distribuită și criptată a blockchain-ului înseamnă că va fi dificil de piratat. Acest lucru arată o promisiune pentru securitatea afacerilor și a Internetului obiectelor (IoT).
• Trasabilitate: datele blockchain-ului sunt inalterabile, sunt ideale pentru urmărirea și urmărirea articolelor sau proveniența prin lanțuri de aprovizionare complexe, de exemplu.
• Eficiență și ROI mai mari: registrele distribuite vor oferi un ROI rapid, ajutând companiile să creeze procese mai slabe, mai eficiente și mai profitabile.
• Procese mai rapide: blockchain poate accelera execuția procesului în scenarii multipartite - și permite tranzacții mai rapide, care nu sunt limitate de orele de birou.
• Automatizare: blockchain-ul este programabil, ceea ce face posibilă declanșarea automată a acțiunilor, evenimentelor și plăților odată cu îndeplinirea condițiilor.
• Confidențialitatea datelor: în timp ce informațiile sunt verificate și adăugate la blockchain printr-un proces de consens, datele în sine sunt traduse într-o serie de litere și cifre printr-un cod hash. Participanții la rețea nu au nicio modalitate de a traduce aceste informații fără o cheie.