Enaintridesetega oktobra 2008 ob 14.10 po newyorškem času je Satoši Nakamoto nekaj sto strokovnjakom za računalniško šifriranje prek e-poštne skupine poslal kratko sporočilo, da razvija sistem elektronskega denarja, ki za delovanje ne potrebuje osrednje avtoritete oziroma banke. Sporočilu je priložil devet strani dolg dokument (pdf), v katerem je svoje ideje natančneje pojasnil.
Naslovniki, med katerimi so bili navdušenci za nove tehnologije, programerji in strokovnjaki za tajnost elektronskih komunikacij, nad idejo sprva niso bili navdušeni. A Nakamota hladen sprejem ni omajal v nameri, da svoje ideje preizkusi tudi v praksi. Vzpostavil je spletno stran bitcoin.org in 3. januarja 2009 na svojem računalniku prvič zagnal program za izmenjavo bitnih kovancev. Po šestih dneh preizkušanja je člane e-poštne skupine obvestil, da sistem elektronskega denarja deluje, zato ga lahko preizkusijo.
Desetega januarja mu je končno uspelo pridobiti prvega uporabnika. Hal Finney je že vrsto let tudi sam poskušal razviti elektronski denar, zato ga je ideja zanimala. Z Nakamotom sta si izmenjala nekaj e-pisem in Finney si je na svoj računalnik namestil 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 nestabilne, čeprav se je Nakamoto trudil odpravljati hrošče. Po kakem tednu je bil Finney kot drugi aktivni uporabnik bitcoina za pomoč pri vzdrževanju sistema, kot veleva protokol, nagrajen že s približno tisoč e-kovanci. Nato ga je navdušenje minilo in se z novo valuto ni več ukvarjal. Seveda pa se takrat ni zavedal, da bo dobrih tisoč bitnih kovancev, ki jih je pridobil kot pionirski uporabnik nove tehnologije, po današnjem menjalniškem tečaju vrednih več kot pol milijona evrov.
Tehnologija veriženja blokov in rudarjenja
Ključen problem vseh elektronskih valut, ki so ga poskušali že dlje časa razrešiti, je bil, 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? Ideja, ki jo je predlagal Nakamoto, je bila povezana z načinom izgradnje verige medsebojno povezanih blokov (blockchain), v katerih so shranjeni zapisi vseh veljavnih transakcij.
Predlagal je, da se vse pretekle transakcije hranijo pri vseh uporabnikih. Nove transakcije se takoj po izvedbi, ki temelji na elektronsko podpisanem sporočilu, da nekdo prenaša določeno količino e-kovancev na drugega uporabnika, tudi takoj razpošljejo vsem. Nova sporočila vsakdo shranjuje in iz njih tvori nov blok, kot se imenuje seznam novih transakcij, ki še niso potrjene.
Ključen element elektronskega preverjanja istovetnosti podatkov je digitalni prstni odtis, ki mu pravijo zgoščena vrednost (hash). Pridobi se z matematično operacijo, ki kateremukoli poljubno dolgemu zaporedju znakov priredi natančno določeno zaporedje 64 znakov.
Bistveno pri operaciji ustvarjanja prstnega odtisa podatkov je, da za vsak vhodni podatek ustvari kodo, ki je značilna prav za ta vnos. Vsakdo lahko s pomočjo zgoščene vrednosti zato zlahka preveri, ali ima pred seboj nespremenjeno datoteko. Če je bila spremenjena zgolj ena vejica v dolgem dokumentu, 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 in od večine potrjenega bloka vseh novih podatkov o transakcijah in še nekaj naključnih dodanih znakov izračunavajo novo zgoščeno vrednost vseh teh podatkov skupaj. Postopek, ko uporabniki z naključnim dodajanjem znakov na konec bloka ustvarjajo vedno nove zgoščene vrednosti bloka, 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 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 potrditev. Ti blok potrdijo, če ne najdejo primerov, ko bi kdo ista sredstva porabil večkrat, oziroma če ni kake druge napake. Uporabniki sistema glasujejo za veljavnost novega bloka preprosto tako, da ga dodajo v verigo prejšnjih in začnejo graditi novega.
Ključna ideja, ki naj bi preprečila prevare in zlorabe, je zahteva, da se je treba za tvorbo novega bloka, ki postane kandidat za sprejetje v skupnosti, zelo potruditi. Vložiti je treba veliko računalniškega procesorskega dela v obliki rudarjenja, saj pri iskanju zgoščene vrednosti bloka, ki ustreza natančnim zahtevam, ni mogoče goljufati. Preizkušati je treba različne možnosti, dokler po naključju ne najdemo takšne, ki ustreza 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ča prevare pri tvorbi novih členov verige. Vsakdo, ki ustvari nov blok, dobi za nagrado tudi nekaj novih bitcoinov (sprva jih je dobil 50, a z leti se količina na novo ustvarjenih kovancev zmanjšuje), kar ljudi motivira, da sodelujejo pri rudarjenju in vzdržujejo sistem.
Novi načini uporabe razpršene verige blokov
Problem z digitalnimi vsebinami je v tem, da ni mogoče ločevati med originalom in kopijo. Digitalna kopija datoteke je povsem enaka originalu, kar lahko povzroča težave. Tehnologija veriženja blokov (blockchain) 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, glede katerih v digitalnem svetu ni preprosto vzpostaviti konsenza.
Poleg digitalnega denarja nam tehnologija veriženja blokov, ki jo je predlagal Satoši Nakamoto, omogoča tudi, da v digitalni obliki sestavljamo pogodbe, različne listine in potrdila, podatke o sledljivosti hrane, zdravil, rudnin in podobno. Primer razpršene verige blokov, ki poganja sistem aplikacij in pametnih pogodb, je projekt Ethereum. Ključno pri njem je, da programi in pogodbe niso shranjeni na osrednjem strežniku, ampak so aplikacije razpršene po vsem omrežju.
V takšno verigo blokov lahko vgradimo tudi virtualne robote, ki delujejo kot izvrševalci pogodb. Č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 nihče ne more preprečiti, saj se pogodba zapiše v verigo, 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.
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 (bil) Nakamoto, ki je iznašel tehnologijo veriženja blokov (blockchain), ki poganja bitcoin in bo naslednja leta po mnenju mnogih postala ključna tehnologija za vzpostavljanje zaupanja na internetu, 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.
A to pomeni, da če želim kupiti bitcoine ali z njimi plačati kavo, mora najprej moj računalnik zrudariti nove znake? Ni to nekoliko zamudno za delanje posla?
Ne. Če jih kupiš, ni treba rudariti.