Blokovna veriga (ali veriga blokov) je način shranjevanja zaporednega seznama vnosov tako, da jih po vnosu ni mogoče preprosto spremeniti ali izbrisati. To varovanje integritete se doseže z uporabo več konceptov iz kriptografije, vključno z digitalnimi podpisi in hash funkcijami. V zelo osnovnem smislu veriga blokov združuje naslednji dve ideji:

  1. Ob danih podatkih je enostavno izračunati kontrolno vsoto. Za izračun te kontrolne vsote so lahko zasnovane posebne funkcije hash. Te funkcije običajno vrnejo vrednost, ki je vedno enake dolžine in neodvisna od dolžine vhoda; to je hash vrednost ali odtis sporočila. Funkcije imajo tudi lastnost determinističnosti: enak vhod vedno da enak izhod. Poleg tega je običajno praktično nemogoče preprosto najti drug vhod, ki povzroči isti izhod (lastnost odporenosti na kolizije pri varnih hash funkcijah).
  2. Poleg vrednosti hasha blok običajno vsebuje tudi časovni žig in neko vsebino (npr. transakcije ali zapise). Blok se pogosto tudi digitalno podpiše ali vsebuje dokaz, ki omogoča odkrivanje spremembe podatkov od trenutka, ko je bil blok ustvarjen. Ko se ustvarijo novi bloki, novo ustvarjeni blok vsebuje tudi vrednost hasha prejšnjega bloka, kar poveže bloke v verigo in zagotavlja, da je sprememba enega bloka mogoča le ob sočasni spremembi vseh naslednjih blokov.

Kako deluje veriga blokov v praksi

V tipičnem sistemu verigo blokov upravlja omrežje peer-to-peer. Vsi vrstniki v omrežju uporabljajo skupni protokol, ki določa, kako izmenjujejo podatke, kako zbirajo vnose v blok, kako se preverja veljavnost novih blokov in kako se doseže soglasje o naslednjem bloku verige. Ko je blok enkrat potrjen in dodan v verigo, postane spreminjanje tega bloka težavno, saj bi bila za to potrebna ponovna izračunavanja in potrditev tudi vseh kasnejših blokov, običajno s soglasjem večine ali celo vseh vrstnikov (odvisno od protokola).

Mehanizmi konsenza

Da se omrežje strinja o veljavni različici verige, se uporabljajo različni mehanizmi konsenza. Najpogostejši sta:

  • Proof-of-Work (PoW) – udeleženci (rudarji) tekmujejo pri reševanju računsko zahtevnega problema; prvi reševalec predlaga nov blok in prejme nagrado. PoW zagotavlja varnost z zahtevnostjo spreminjanja zgodovine, vendar porabi veliko energije in ima omejitve skalabilnosti.
  • Proof-of-Stake (PoS) in izvedenke – rudarjenje nadomestijo mehanizmi, kjer imetniki žetonov (stake) sodelujejo pri potrjevanju blokov sorazmerno z vloženimi sredstvi. PoS zmanjšuje porabo energije in omogoča drugačne sheme finalnosti in ekonomskih spodbud.

Obstajajo tudi drugi pristopi (delegirani konsenzi, BFT algoritmi ipd.), ki so pogosti pri zasebnih ali poslovnih podatkovnih bazah.

Javne, zasebne in dovolilne verige

Verige blokov so lahko:

  • Javne (permissionless) – vsak se lahko pridruži omrežju, preverja transakcije ali nastopa kot rudar/validator (primer: bitcoin).
  • Zasebne ali dovolilne (permissioned) – dostop do validacije in/ali pisanja v verigo je omejen na vnaprej določene udeležence; takšne rešitve so pogoste v podjetjih in javnem sektorju, kjer je treba nadzorovati kdo lahko spreminja zapis.

Pametne pogodbe in razširitve

Verige blokov lahko podpirajo tudi pametne pogodbe — programsko logiko, ki se samodejno izvrši, ko so izpolnjeni vnaprej določeni pogoji. To omogoča izdelavo decentraliziranih aplikacij (DApps), avtomatizacijo poslovnih procesov in izdajo digitalnih sredstev (žetonov). Platforme, kot je bitcoin, so bile pionirji digitalnega denarja, medtem ko so druge platforme razširile funkcionalnosti z vgrajenimi programskimi okolji.

Primeri uporabe

Blokovne verige se uporabljajo kadar koli, ko je pomembno zabeležiti in zaščititi zgodovino dogodkov ali podatkov ter omogočiti preverljivost. Primeri vključujejo:

  • Sistemi za plačila in digitalna valuta (npr. bitcoin).
  • Sledljivost v dobavnih verigah (sledenje izvora blaga, preprečevanje ponarejanja).
  • Zdravstveni zapisi in upravljanje pacientovih podatkov z nadzorovanim dostopom.
  • Upravljanje identitete in preverjanje pristnosti dokumentov.
  • Glasovanje — varnejše in preglednejše volilne rešitve, kjer je treba zagotoviti neokrnjenost volilnih zapisov.
  • Tokenizacija sredstev, decentralizirano financiranje (DeFi), nezamenljivi žetoni (NFT) in avtomatizirane pogodbe.

Prednosti in omejitve

Prednosti:

  • Visoka integriteta zapisov in odpornost proti spreminjanju zgodovine.
  • Preglednost in sledljivost, kadar je veriga javna ali kadar udeleženci delijo zapis.
  • Odpravljanje potrebe po osrednjem zaupanja vrednem posredniku (pri permissionless sistemih).

Omejitve in izzivi:

  • Skalabilnost — število transakcij na sekundo je pri mnogih javnih verigah omejeno.
  • Energijska poraba pri nekaterih mehanizmih konsenza (npr. PoW).
  • Zasebnost podatkov — javne verige niso primerne za shranjevanje občutljivih osebnih informacij brez dodatnih šifriranj ali rešitev za zasebnost.
  • Pravni in regulativni izzivi, vključno z davčnim in pravnim statusom digitalnih žetonov.

Zgodovina

Koncepti, ki so vodili do blokovne verige, segajo v zgodnja dela iz leta 1991, ko sta Stuart Haber in Scott Stornetta razvila metode za varovanje integritete digitalnih zapisov. Haber in Stornetta sta leta 1995 predstavila prvi komercialni blockchain na svetu; Surety.

Leta 2008 je anonimna oseba ali skupina, znana pod imenom Satoshi Nakamoto, v dokumentu Bitcoin: A Peer to Peer Electronic Cash System kot reference navedla tudi dve delu Haberja in Stornette. Ta zasnova je služila kot javna knjiga transakcij za kriptovalute in je omogočila, da je bitcoin postal prva digitalna valuta, ki je rešila problem dvojne porabe brez potrebe po zaupanja vrednem organu ali osrednjem strežniku. Zaradi te zasnove so se pojavile številne nadaljnje aplikacije in platforme, ki nadgrajujejo ali prilagajajo ideje blokovne verige.

Blokovne verige so močno orodje za varno beleženje podatkov, vendar niso univerzalna rešitev — nujno je izbrati pravo vrsto verige in protokol glede na zahteve po zasebnosti, skalabilnosti, regulaciji in stroških.