Besedilo predavanja na Posvetu o plačilnem prometu v organizaciji Združenja bank Slovenije.

O tehnologiji veriženja blokov, ki ji izvorno pravimo blockchain, se danes zelo veliko piše in govori. Analitiki jo obravnavajo kot eno od najpomembnejših inovacij na področju internetnih tehnologij vse od iznajdbe svetovnega spleta. Nekateri pravijo celo, da bomo priča drugi internetni revoluciji, ko bo ta nova tehnologija dokončno zaživela in jo bomo začeli uporabljati pri vsakdanjih opravilih.

Podobno kot na področju izdelave električnih avtomobilov, ki bodo znali sami voziti po cestah, se tudi na področju tehnologije veriženja blokov zadnja leta zelo veliko dogaja. Lahko celo rečemo, da smo priča nekakšni “zlati mrzlici”. Na osnovi tehnologije blockchain posamezniki in podjetja namreč mrzlično razvijajo najrazličnejše aplikacije, ki jih bodo uporabnikom ponudili takoj, ko bo nova tehnologija prišla v množično uporabo.

V predavanju bom najprej povedal nekaj o pionirskih časih tehnologije veriženja blokov, nato bom poskusil čim bolj preprosto predstaviti ključno idejo, na kateri temelji nova tehnologija, za konec pa bom povedal še nekaj o različnih poskusih njene uporabe v vsakdanjem svetu.

Skromni začetki

Kot pri mnogih podobnih pomembnih inovacijah, tudi v tem primeru začetki nikakor niso bili lahki. Zgodba o vzponu tehnologije veriženja blokov se je začela zelo skromno pred skoraj natanko osmimi leti.

Enaintridesetega oktobra 2008 ob 14.10 po newyorškem času je popolni neznanec z imenom Satoši Nakamoto nekaj sto strokovnjakom za računalniško šifriranje prek e-poštne skupine poslal kratko elektronsko sporočilo. V njem je navedel, da razvija sistem elektronskega denarja, ki za delovanje ne potrebuje osrednje avtoritete oziroma banke. Sporočilu je priložil še devet strani dolg dokument v pdf formatu, v katerem je svoje ideje zelo natančno opisal in pojasnil.

Med prvotnimi naslovniki pisma, ki jih je Satoši Nakamoto obvestil o svojih dognanjih, so bili predvsem navdušenci za nove tehnologije, programerji in strokovnjaki za tajnost elektronskih komunikacij. Ti nad predstavljenimi idejami sprva niso bili pretirano navdušeni. Glede na to, za kako pomembno idejo je šlo, je bil odziv zelo slab.

Vendar Nakamota hladen sprejem pri strokovnjakih nikakor ni omajal v nameri, da svoje teoretične ideje čimprej preizkusi tudi v praksi. Tretjega januarja 2009 je na svojem računalniku prvič zagnal program za izmenjavo bitnih kovancev. Po šestih dneh samostojnega preizkušanja je člane e-poštne skupine ponovno obvestil, da sistem elektronskega denarja zdaj že deluje, zato se mu lahko pridružijo in ga preizkusijo. Vzpostavil je tudi spletno stran bitcoin.org.

Desetega januarja mu je končno uspelo pridobiti prvega uporabnika. To je bil računalniški strokovnjak Hal Finney, ki je tudi sam poskušal že vrsto let razviti elektronski denar, a ni bil pretirano uspešen, zato ga je predlog nove tehnološke rešitve seveda zelo zanimal. Z Nakamotom sta si izmenjala nekaj elektronskih pisem in Finney si je na svoj računalnik namestil tudi program, ki je omogočal uporabo elektronske denarnice. Nakamoto mu je testno nakazal 10 bitcoinov, kar je bila prva transakcija v tej valuti.

Žal pa sistem na začetku ni deloval tako, kot je bilo zamišljeno. Ko je Finney posodobil program na verzijo 0.1.0, se mu je vse skupaj sesulo. Tudi naslednje različice programa so bile zelo nestabilne, čeprav se je Nakamoto vseskozi trudil odpravljati hrošče in izboljševati uporabniško izkušnjo.

Po približno tednu dni testiranja je bil Finney kot drugi aktivni uporabnik bitcoina za pomoč pri vzdrževanju sistema, kot veleva protokol, nagrajen že s približno tisoč novimi elektronskimi kovanci. Kmalu zatem pa ga je začetno navdušenje minilo. Princip delovanja je spoznal, zato se z novo valuto ni želel več ukvarjati. Seveda pa se takrat še ni zavedal, da bo dobrih tisoč bitnih kovancev, ki jih je pridobil kot drugi uporabnik nove tehnologije, po današnjem menjalniškem tečaju vrednih več kot pol milijona evrov.

Inovacija, ki bo spremenila internet?

Poglejmo si sedaj, kaj je tako revolucionarnega in pomembnega pri tej novi tehnologiji, da je kljub začetni skepsi strokovnjakov doživela tako hitro rast in zanjo sedaj pravijo, da predstavlja eno najpomembnejših tehnoloških inovacij odkar obstaja internet?

Da bi razumeli, kaj novega prinaša blockchain, si moramo najprej osveži razumevanje tega, kaj sploh je internet in kako je spremenil naš vsakdan.

Bistvo revolucije, ki jo je povzročil prihod interneta v naše vsakdanje življenje, najlažje povzamemo s trditvijo, da je internet predvsem zelo poenostavil in pohitril komuniciranje in prenašanje informacij na poljubno velike razdalje. Vse, kar obstaja v digitalni obliki, nam je postalo s prihodom interneta izjemno hitro dostopno, posledično pa je postala tudi komunikacija med ljudmi bolj preprosta, kar je olajšalo sodelovanje in izmenjavo idej.

Kljub vsem izboljšavam pa so vseeno z uporabo interneta povezane določene težave. Ena ključnih je, da je vse, kar je digitalno, mogoče brez težav kopirati in razmnoževati. In digitalna kopija je povsem enaka originalu. Naredimo lahko poljubno število kopij in vse bodo povsem enake kakovosti.

Ta lastnost digitalnega sveta nam nekatera opravila zelo olajša in izboljša kvaliteto prenosa informacij, po drugi strani pa lahko povzroči tudi velike težave, kjer ni zaželeno, da se predmeti in izdelki nekontrolirano množijo. In denar je gotovo ena od stvari, ki izgubi ves svoj pomen in vrednost, če ga je mogoče nekontrolirano množiti oziroma tiskati.

Marsikaj v ekonomiji se je zadnja desetletja že dokaj dobro prilagodilo tem novim okoliščinam. Za klasični materialni svet tako velja pravilo, da ima večjo vrednost tisto, česar je na voljo zgolj omejena količina oziroma je težko dostopno. Čim večje je povpraševanje in manjša je ponudba, večjo vrednost bo imel izdelek.

V novi digitalni ekonomiji pa nasprotno ni najbolj uspešen tisti izdelek, ki je najtežje dostopen, ampak tisti, ki se najhitreje razmnožuje, deli oziroma kopira. Zgolj za primer lahko navedemo kar najbogatejša Slovenca. To sta računalničarja, ki sta razvila aplikacijo za telefone in tablice, ki oponaša ljubkega govorečega mačka Toma. Ta aplikacija se je do sedaj, če sem prav obveščen, skupaj z vsemi različicami, digitalno razmnožila oziroma presnela že več kot 4 milijardokrat.

Vendar vseh izdelkov in dobrin ne moremo preoblikovati na način, da bi bilo ekonomsko uspešno, če se čim večkrat prekopirajo in tako digitalno razmnožijo.

Najbolj očiten primer predmeta iz našega vsakdanjega sveta, za katerega nikakor ni dobro, če se nekontrolirano razmnožuje oziroma kopira, je seveda denar. In ključno vprašanje razvoja elektronskega denarja je bilo vseskozi, kako zgraditi sistem, ki bi preprečil nekontrolirano kopiranje, hkrati pa bi bil še vedno digitalen. Kako torej po eni strani ohraniti lastnosti digitalnega sveta, hkrati pa preprečiti razmnoževanje.

Gre za neke vrste iskanje rešitve za težavo, ki se zdi nerešljiva. Bistvo tega, da je nekaj digitalno, je ravno v tem, da je kopija vselej povsem enaka originalu. Digitalizirana stvar se po definiciji z lahkoto razmnožuje. Digitalna fotografija bo enako kvalitetna vsakič, ko jo pogledamo ali natisnemo, tudi če se razmnoži po vseh računalnikih sveta.

Pomen tehnologije veriženja blokov oziroma blockchaina je ravno v tem, da uspela to težavo z nekontroliranim razmnoževanjem digitalnih vsebin uspešno razrešiti.

Tehnologija veriženja blokov

Specifični problem vseh elektronskih oziroma digitalnih valut, ki izhaja iz same narave digitalnega medija, je, kako v sistemu učinkovito onemogočiti dvojno uporabo istega kovanca. Kako v povsem digitalnem svetu, v katerem je vsaka kopija datoteke povsem enaka originalu, zagotoviti, da nekdo svojih elektronskih kovancev ne bo uporabil večkrat?

V prvi generaciji digitalnega denarja je sistem preprečevanja dvojne uporabe istega kovanca temeljil na zaupanja vrednih posrednikih, ki so urejali odnose med strankami. To so banke ali podjetja, kot je denimo PayPal.

Težava s takšnimi posredniki pa je, da imajo v zelo veliko moč, kar zmanjšuje zaupanje v sistem. Posredniki, ki vodijo igro, lahko iz lastnih kapric ali pod pritiskom močnih zunanjih deležnikov kot so denimo vplivne države, preprosto zamrznejo določene račune in uporabnikom onemogočijo dostop do denarja. To se je, kot je splošno znano, zgodilo v primeru Wikileaksa, ki mu je PayPal zamrznil račun, na katerem so zbirali donacije.

Pri elektronskem denarju druge generacije takšnih vsemogočnih posrednikov ni več. Zato tudi strahu pred zamrzovanjem računov in onemogočanjem dostopa do sredstev ni več. Se pa zastavlja vprašanje, kako v tem primeru, ko ni osrednje inštitucije, ki bi razreševala spore, vzpostaviti univerzalno zaupanje. Zakaj bi sploh zaupali svoj denar sistemu, v katerem ni hierarhije odgovornosti, ampak so vsi udeleženci povsem enakovredni?

Ideja, ki jo je oktobra leta 2008 predlagal Satoši Nakamoto, problem z zaupanjem učinkovito razreši. Ime za to ključno idejo, ki omogoča varno in učinkovito upravljanje seznama lastnikov nečesa digitalnega, ne da bi za to potrebovali osrednjo agencijo, ki bi ji morali vsi zaupati, je blockchain oziroma sistem razpršenega veriženja blokov.

Bistvo blockchaina je, da je njegovo knjigovodstvo razpršeno med vsemi uporabniki. S samim algoritmom izmenjevanja informacij o plačilih pa je poskrbljeno, da se vsi uporabniki ves čas strinjajo, kdo ima v lasti koliko elektronskega denarja oziroma podobnih digitalnih dobrin. Bistveno pri tem je, da algoritem sam, brez kakršne koli osrednje avtoritete, poskrbi, da se vsi sodelujoči strinjajo grede tega, kdo ima v lasti koliko bitnih kovancev.

Ideja, kako strukturno preprečiti goljufanje in nekontrolirano kopiranje elektronskega denarja, temelji na dokazu opravljenega dela, ki se približno vsakih 10 minut zahteva za sprejetje novega bloka oziroma seznama opravljenih novih transakcij. To opravljeno delo mora biti tako veliko, da praktično ni mogoče goljufati, saj bi moral potencialni goljuf opraviti bistveno več dela kot vsi drugi skrbniki sistema skupaj, kar pa je v praksi težko izvedljivo.

Protokol usklajevanja, ki temelji na prikazu opravljenega dela, izhaja iz izvajanja zapletenih računskih nalog, ki zahtevajo veliko procesorskega napora računalnikov. Ampak ko nekdo nalogo enkrat reši, je mogoče rešitev preprosto preveriti in tako potrditi, da je bilo delo dejansko opravljeno in ni prišlo do prevare.

Protokol prikaza opravljenega dela lahko v analogiji primerjamo s izgradnjo zapletene sestavljanke iz veliko majhnih delov. Ko je sestavljanka enkrat končana, lahko z enim samimi pogledom nanjo preverimo, ali je bilo delo res skrbno opravljeno. Prikaz rešitve vsakič nove težke naloge je tako nesporen dokaz, da je reševalec v delo investiral veliko energije in časa.

Do zaupanja z rudarjenjem

Poglejmo si sedaj to tehnologijo avtomatske izgradnje zaupanja s prikazom opravljenega dela bolj natančno.

Nakamoto je v prikazu svoje ideje elektronskega denarja predlagal, da se seznam vseh izvedenih transakcij hrani pri vseh uporabnikih. Posamezna transakcija pa temelji na elektronsko podpisanem sporočilu, da nekdo prenaša določeno količino e-kovancev na drugega uporabnika. Vsaka od novih transakcij se takoj po izvedbi razpošlje vsem članom sistema. Ta nova sporočila vsakdo shranjuje in iz njih tvori nov blok, kot se imenuje seznam novih transakcij, ki še niso potrjene in glede katerih še ni soglasja v sistemu.

Ključen element pri usklajevanju je v tem primeru elektronsko preverjanje istovetnosti podatkov. To se izvaja preko digitalnega prstnega odtisa, ki mu pravijo zgoščena vrednost ali hash. Izračuna se z matematično operacijo, ki kateremukoli poljubno dolgemu zaporedju znakov priredi natančno določeno zaporedje 64 znakov.

Bistveno pri takšni operaciji ustvarjanja prstnega odtisa podatkov je, da za vsak vhodni podatek ustvarimo kodo, ki je značilna prav za ta vnos. Vsakdo lahko s pomočjo zgoščene vrednosti zlahka preveri, ali ima pred seboj nespremenjeno datoteko. Če je bila v seznamu transakcij spremenjena zgolj ena vejica, bo zgoščena vrednost podatkov povsem drugačna.

Računalniki, na katerih teče program za bitcoin, sledijo novim sporočilom o izvedenih transakcijah in na podlagi zgoščene vrednosti zadnjega veljavnega bloka, predloga novega bloka in še nekaj naključnih dodanih znakov, izračunavajo novo zgoščene vrednost vseh teh podatkov skupaj.

Postopek, ko uporabniki z naključnim dodajanjem znakov na konec novega bloka ustvarjajo vedno nove zgoščene vrednosti, se imenuje rudarjenje. Vsak računalnik namreč v predlogu novega bloka naključno doda še nekaj znakov, s čimer spreminja zgoščeno vrednost bloka v želji, da bi našel takšno vrednost, ki ustreza vnaprej predpisanim zahtevam, kot je, recimo, ta, da mora nova zgoščena vrednost vsebovati določeno število ničel ali kaj podobnega.

Šele ko z naključnim dodajanjem znakov računalnik najde ustrezno zgoščeno vrednost, lahko predlog bloka z zabeleženimi novimi transakcijami razpošlje drugim uporabnikom v odobritev. Ti blok potrdijo, če ne najdejo primerov, ko bi v seznamu transakcij kdo ista sredstva porabil večkrat, oziroma če ni kake druge napake v podatkih. Uporabniki sistema glasujejo za veljavnost novega bloka preprosto tako, da ga dodajo v verigo prejšnjih, že potrjenih, in začnejo graditi novega. To se v povprečju zgodi vsakih 10 minut.

Kako z algoritmom preprečiti goljufanje

Ključna ideja, ki naj bi preprečila prevare in zlorabe, je zahteva, da se je treba za tvorbo novega bloka zelo potruditi. Vložiti je treba res zelo veliko računalniškega procesorskega dela v obliki rudarjenja, saj pri iskanju ustrezne zgoščene vrednosti bloka ni mogoče goljufati. Preizkušati je treba različne možnosti, dokler po naključju ne najdemo takšne, ki ustreza vnaprej določenim pogojem.

Poleg vložka računalniškega dela, ki porablja elektriko, je treba imeti še kar veliko sreče. Prav kombinacija vloženega procesorskega dela in visoka stopnja naključja onemogočata prevare pri tvorbi novih členov verige.

Vsakdo, ki ustvari nov blok, dobi za nagrado tudi nekaj novih bitcoinov, kar ljudi motivira, da sodelujejo pri rudarjenju in vzdržujejo sistem. (Sprva je vsakdo, ki je uspel razrešiti uganko in ustvariti nov blok, dobil 50 bitcoinov, a z leti se količina na novo ustvarjenih kovancev zmanjšuje.)

Logika avtomatskega algoritmičnega ustvarjanja zaupanja, na kateri temelji blockchain, je v samem jedru tako dokaj preprosta: tista veriga blokov, ki je najdaljša, vsebuje tudi največ opravljenega dela, zato ji lahko zaupamo. Če bi nekdo želel spremeniti zapise v knjigovodstvu že izvedenih transakcij, bi moral na novo opraviti tudi vse delo, ki je potrebno za dodajanje vsakega novega bloka. To bi pomenilo, da bi moral opravljati delo hitreje kot vsi ostali člani omrežja skupaj. Da bi takšen napad na integriteto sistema deloval, bi moral imeti napadalec vsaj 51% procesorske moči celotnega omrežja.

Goljufanje je tako teoretično možno šele ob predpostavki, da ima en sam posameznik pod kontrolo več kot polovico vseh računalniških kapacitet, ki sodelujejo v sistemu. Da bi se to zgodilo, je v praksi zelo težko izvedljivo oziroma skorajda nemogoče. Z nadgradnjami protokola pa so v novejših verigah blokov ta problem izvorne ideje tudi že razrešili, tako da ne predstavlja več resne nevarnosti.

Pametne pogodbe in druge aplikacije

Tehnologija veriženja blokov ne bi bila tako pomembna, če bi jo lahko uporabljali le kot metodo, na kateri temelji elektronski denar. Potencial njene uporabe je bistveno večji predvsem zato, ker mnogo ljudi pričakuje, da bo povzročila novo revolucijo v načinu uporabe interneta.

Kot smo že omenili, je problem z digitalnimi vsebinami, ki jih prenašamo preko interneta, v tem, da pri njih ni mogoče ločevati med originalom in kopijo. Digitalna kopija datoteke je povsem enaka originalu, kar seveda povzroča težave. Tehnologija veriženja blokov nam omogoča, da se lahko uporabniki tudi brez opore v neodvisni avtoriteti uskladijo glede tega, kateri dokument je pristen, kdaj je bil ustvarjen, kdo je njegov lastnik in o podobnih vprašanjih. Konsenza glede tega v digitalnem svetu pred tem ni bilo mogoče preprosto vzpostaviti, če nismo uvedli neke osrednje avtoritete, ki smo ji morali vsi zaupati.

Poleg digitalnega denarja nam tehnologija veriženja blokov omogoča tudi, da v digitalni obliki sestavljamo pogodbe, različne listine in potrdila, podatke o sledljivosti hrane, zdravil, rudnin in podobno.

Zelo veliko si vsi obetajo tudi od pametnih pogodb, ki bodo shranjene v verigi blokov in se bodo same izvrševale, ko bodo izpolnjeni v njih vgrajeni pogoji. Takšne pametne pogodbe si lahko predstavljamo, kot da imajo vgrajene nekakšne virtualne robote, ki sami avtomatsko izvršujejo tisto, kar je bilo v pogodbah sklenjeno.

Če se denimo dogovorimo, da nam pripada določen odstotek dohodka od vsakega prodanega izdelka, pri nastajanju katerega smo sodelovali, nam pametna pogodba omogoči, da se dogovor uresničuje kar sproti. Če pride do transakcije, ki ustreza pogojem iz pogodbe, se delež denarja avtomatsko nakaže na naš račun. Izvajanja dogovora pa nihče ne more preprečiti, saj je pogodba zapisana v verigi, ki je shranjena pri vseh uporabnikih sistema.

Navdušenci nad novo tehnologijo veriženja blokov napovedujejo, da bo v naslednjih letih in desetletjih pomembno vplivala tako na delovanje ekonomije kot tudi na naš vsakdan. Velika podjetja, kot je denimo IBM, na konferencah že predstavljajo delujoče praktične aplikacije, ki bodo omogočale razmeroma enostavno sklepanje takšnih pametnih pogodb.

Kdo je Satoši Nakamoto?

Za konec se vrnimo še k skrivnostnemu iznajditelju tehnologije blockchain.

Dvanajstega decembra 2010 se je Satoši Nakamoto zadnjič oglasil s sporočilom, v katerem je naznanil, kaj vse bo popravil v naslednji verziji programa za bitcoin 0.3.19. Do aprila 2011 si je še dopisoval z nekaterimi drugimi programerji, ki so pomagali izpopolnjevati sistem, nato pa se tudi njim ni več oglašal.

Kdo je (oziroma je bil) Satoši Nakamoto, ki je iznašel tehnologijo veriženja blokov (blockchain), javno ni znano. Ima pa Satoši Nakamoto še vedno v lasti približno dvajsetino vseh obstoječih bitcoinov, kar po trenutnem tečaju znaša več sto milijonov evrov.