POGLAVJA

Blockchain - The Backbone of Digital Currencies​

Kaj je Blockchain?

Blockchain je dobesedno le veriga zaporednih blokov, vendar nima tradicionalnega pomena teh besed. Ko v našem kontekstu izrečemo besedi "block" (t.i. blok) in "chain" (t.i. veriga), pravzaprav govorimo o digitalnih informacijah, ki se nahajajo v t.i. bloku, shranjene v javni bazi podatkov t.i. verigi.

"Bloki" na blockchainu so sestavljeni iz različnih koščkov digitalnih informacij. Konkretno imajo tri dele:

  1. Bloki shranjujejo informacije o vaših preteklih nakupih, prenosu sredstev in transakcijah. Med drugimi pa vsebujejo informacije o datumu, času poteka in zneska v dolarjih.
  2. Bloki shranjujejo informacije o tem, kdo sodeluje v transakcijah. Blok bi pri nakupu zabeležil vaše ime, skupaj s tem, komu ste ga poslali. Namesto dejanskega imena se vaš nakup beleži brez identifikacijskih podatkov z t.i. edinstvenim "digitalnim podpisom", nekako tako kot uporabniško ime.
  3. Bloki shranjujejo informacije, vendar se med tem še vedno razlikujejo od drugih blokov. Tako kot se ti in jaz ločiva med seboj po imenu, se vsak blok razlikuje drug od drugega po edinstveni kodi, imenovani "hash". Omogoča pa nam razlikovanje med bloki. Recimo, da prijatelju pošlješ 100 evrov, uro kasneje pa mu pošlješ še 100 evrov. Čeprav bodo podrobnosti o tvoji novi transakciji videti skoraj enaki kot pri prejšnjem nakupu, lahko vseeno razlikujemo med bloki po njihovi edinstveni kodi.

Medtem ko se blok v zgornjem primeru uporablja za shranjevanje enega samega prenosa, je realnost nekoliko drugačna. Posamezen blok v blockchainu lahko dejansko shrani do 1 MB podatkov. Glede na velikost transakcij to pomeni, da lahko en blok pod eno streho shrani nekaj tisoč transakcij.

Kako Deluje Blockchain?

Ko blok shrani nove podatke, se le te dodajo v blockchain. Blockchain, kot nam pove že samo ime, je sestavljen iz večih blokov, nanizanih skupaj. Da bi bil blok lahko dodan v blockchain, pa se morajo zgoditi štiri stvari:

  1. Transakcija mora poteči. Nadaljujmo s primerom pošiljanja denarja prijatelju. Ko pošljete nekaj denarja, se naknadno odločite, da ga boste poslali še več.
  2. To transakcijo je treba potrditi. Po opravljenem nakupu mora biti vaša transakcija potrjena. Če le to primerjami z drugimi javnimi zapisi informacij, kot so Finančna Uprava Republike Slovenije, Wikipedija ali vaša lokalna knjižnica, je nekdo zadolžen za preverjanje novih vnosov podatkov. Toda pri blockchainu je to delo prepuščeno mreži računalnikov. Ta omrežja so pogosto sestavljena iz tisoč (ali v primeru Bitcoina, več milijonov) računalnikov, razširjenih po vsem svetu. Ko pošljete svojo transakcijo, omrežje računalnikov kar se da hitro, preveri, ali se je vaša transakcija zgodila tako, kot ste rekli. To pomeni, da potrjujejo podrobnosti transakcije, vključno s časom transakcije, zneskom v dolarjih in in njenih udeležencih.
  3. Ta transakcija mora biti shranjena v bloku. Ko je vaša transakcija preverjena kot potrjena, dobi zeleno luč. Znesek transakcije, vaš digitalni podpis in prijateljev digitalni podpis so vsi shranjeni v bloku. Tam se bo transakciji verjetno pridružilo na stotine ali tisoče drugih transakcij.
  4. Ta blok mora dobiti svoj »hash«. Za razliko od tega, kot si mora angel prislužiti svoja krila, se mora vse transakcije v določenem bloku ovrednotiti in potrditi. Vsak blok dobi svojo edinstveno identifikacijsko kodo. Vsakemu bloku je dodeljena tudi identifikacijska številka prejšnjega bloka, ki je bil dodan v blockchain. Šele potem, ko je blok »hashed«, se ga lahko doda v blockchain.

Ko je nov blok dodan v verigo blokov, postane javno dostopen vsem, tudi vam. Če si ogledamo Bitcoinov blockchain, bomo videli, da imamo dostop do podatkov o vseh transakcijah, skupaj s podatki o tem, kdaj ("Time"), kje ("Height") in kdo ("Relayed By") je blok dodal v blockchain.

Ali je Blockchain Varen?

Blockchain tehnologija obravnava vprašanja o varnosti in zaupanju na več načinov. Prvič, novi bloki so vedno shranjeni linearno in kronološko. Se pravi, da so vedno dodani na "konec" blockchaina. Če si pogledamo Bitcoinov blockchain, bomo videli, da ima vsak blok svojo pozicijo v verigi, imenovano "height". Na dan 31. avgusta 2019 je višina bloka presegla 592.517.

Ko je blok dodan na konec blockchaina, se je zelo težko vrniti nazaj in spremeniti vsebino bloka. To je zato, ker vsak blok vsebuje svoj hash (t.i. identifikacijsko številko), skupaj z hashom bloka pred njim. Hash kode nastajajo s pomočjo matematičnih funkcij, ki digitalne informacije pretvarjajo v niz številk in črk. Če se ti podatki na kakršen koli način spremenijo, se spremeni tudi hash koda.

Tu leži razlog zakaj je to pomembno za varnost. Recimo, da heker poskuša preurediti transakcijo s svojim prijateljem, tako da boste morali vi plačati več. Takoj po preureditvi zneska vaše transakcije, se hash (t.i. identifikacijska številka) bloka spremeni. Naslednji blok v verigi bo še vedno vseboval stari hash, heker pa bi moral posodobiti ta blok, da bi zakril svoje sledi. Vendar bi s tem spremenili hash bloka. In naslednjemu in tako naprej.

Če želite spremeniti en blok, bi moral heker spremeniti vsak blok za njim v blockchainu. Ponovni izračun vseh teh hashov bi potreboval ogromno in neverjetne količine računalniške moči. Z drugimi besedami, ko je blok dodan v blockchain, ga je zelo težko urediti in ga ni mogoče izbrisati.

Za reševanje vprašanja o zaupanju, so blockchain omrežja izvedla preizkuse za računalnike, ki se želijo pridružiti in dodajati bloke v verigo. Testi, imenovani „konsenzusni modeli“, od uporabnikov zahtevajo, da se „dokažejo“, preden lahko sodelujejo v omrežju blockchain. Eden najpogostejših primerov, ki ga uporablja Bitcoin, se imenuje "Proof of Work - PoW" (t.i. dokaz dela).

V sistemu Proof of Work morajo računalniki "dokazati", da so opravili "delo" z reševanjem zapletenih računskih matematičnih problemov. Če računalnik reši enega od problemov, postane upravičen do tega da v verigo doda nov blok. Toda postopek dodajanja blokov v blockchain, ki ga svet kriptovalut imenuje »rudarjenje«, ni enostaven. V resnici so po poročanju spletnega mesta BlockExplorer za odkrivanje ene od teh težav v Bitcoin omrežju približno 1 ma 5,8 trilijone. Za reševanje zapletenih matematičnih problemov pri tej težavnosti bi morali računalniki poganjati programe, ki bi mas stali ogromno električne energije.

Proof of Work ne preprečuje napada hekerjev, vendar jih le te naredi neuporabne. Če bi heker želel uskladiti napad na blockchain, bi moral rešiti zapletene računalniške matematične težave z verjetnostjo 1 na 5,8 trilijona, tako kot vsi drugi. Stroški organiziranja takega napada bi bili gotovo večji od koristi.

Blockchain vs Bitcoin

Cilj blockchaina je omogočiti zapisovanje in distribucijo digitalnih informacij, ne pa njeno urejanje. Ta koncept je težko za razumeti, ne da bi videli tehnologijo v akciji, zato si poglejmo, kako dejansko deluje najzgodnejša tehnologija blockchain tehnologije.

Blockchain tehnologijo sta leta 1991 prvič opisala Stuart Haber in W. Scott Stornetta, dva raziskovalca, ki sta želela ta sistem vpeljati žige dokumentov, v katere ni bilo mogoče posegati. Toda šele dve desetletji pozneje, ko je bil januarja 2009 zagnan Bitcoin, je imel blockchain svojo prvo aplikacijo v resničnem svetu.

Protokol Bitcoin je vgrajen na blockchain. V strokovnem papirju, v katerem je predstavil digitalno valuto, je Bitcoin-ov psevdonimni ustvarjalec Satoshi Nakamoto navedel to kot "nov elektronski denarni sistem, ki je popolnoma »peer-to-peer«, brez potrebnega zaupanja tretji osebi."

Takole deluje:

Imamo vse te ljudi po vsem svetu, ki imajo Bitcoin. Glede na študijo iz leta 2017, ki jo je izvedel center za alternativne finance v Cambridgeu, lahko ta številka znaša kar 5,9 milijona. Recimo, da eden od teh 5,9 milijona ljudi želi porabiti svoj Bitcoin za hrano. Tukaj pa pride na vrsto blockchain.

Ko gre za tiskani denar, uporabo tiskane valute ureja in preverja centralni organ, običajno banka ali vlada - vendar Bitcoina ne nadzoruje nihče. Namesto tega transakcije, opravljene v Bitcoinu, preverja omrežje računalnikov.

Ko ena oseba plača drugi za blago z Bitcoinom, računalniki na Bitcoin omrežju tekmujejo, da preverijo in potrdijo transakcijo. Da bi to storili, uporabniki poganjajo program na svojih računalnikih in poskušajo rešiti zapletene matematične probleme, imenovane "hash". Ko računalnik težavo reši tako, da hasha blok, bo njegovo algoritmično delo preverilo tudi blok transakcij. Dokončana transakcija je javno zapisana in shranjena v bloku v blockchainu in šele zatem postane nespremenljiva. V primeru Bitcoina in večine drugih blokovskih verig so računalniki, ki uspešno preverjajo bloke, za svoje delo nagrajeni s kriptovalutami. (Za podrobnejšo razlago preglej poglavje: Kaj je rudarjenje Bitcoina?)

Čeprav se transakcije javno beležijo v blockchainu, podatki o uporabnikih niso - ali vsaj ne v celoti dostopni. Za izvajanje transakcij v omrežju Bitcoin morajo udeleženci poganjati program, imenovan »wallet« (t.i. denarnica). Vsaka denarnica je sestavljena iz dveh edinstvenih in ločenih kriptografskih ključev: javni ključ in zasebni ključ. Javni ključ je lokacija, na katero se odlagajo transakcije in iz njih izvzamejo transakcije. To je tudi ključ, ki je v knjigi blokovne verige prikazan kot uporabnikov digitalni podpis.

Tudi če uporabnik prejme plačilo v bitcoinih na svoj javni ključ, ga ne bo mogel umakniti le s pomočjo tega. Uporabnikov javni ključ je skrajšana različica njihovega zasebnega ključa, ustvarjena s pomočjo zapletenega matematičnega algoritma. Toda zaradi zapletenosti te enačbe je postopek skoraj nemogoče obrniti in generirati zasebni ključ iz javnega ključa. Zaradi tega se tehnologija blockchain šteje za zaupanja vredno.

Public & Private Keys

Tu je različica pojasnila kot, če bi to hoteli razložiti otroku. Javni ključ si lahko zamislite kot šolsko omarico, zasebni ključ pa kot kombinacijo omarice. Učitelji, študentje in celo vaša simpatija lahko v vašo omarico vstavljajo pisma in zapiske skozi njeno odprtino. Vendar je edina oseba, ki lahko pridobi dostop do njene vsebine tista, ki ima edinstven ključ. Vendar je treba opozoriti, da čeprav se kombinacije omaric v šolah hranijo v pisarni ravnatelja, ni osrednje baze podatkov, ki bi shranjevala zasebne ključe v omrežju blockchain. Če uporabnik napačno shrani svoj zasebni ključ, izgubi dostop do svoje Bitcoin denarnice.

V omrežju Bitcoin se omrežje blockchain ne vzdržuje samo, vendar ga vzdržuje javna mreža uporabnikov po svetu. Ko se uporabniki pridružijo omrežju, njihov povezani računalnik prejme popolno kopijo blokovne verige, ki se posodobi vsakič, ko je v blochain dodan nov blok transakcij. Kaj pa, če se zaradi človeške napake ali prizadevanj hekerja ena uporabniška kopija manipulativne verige razlikuje od vsake druge kopije blockchaina?

Protokol blockchain odvrača od obstoja več blokovskih verig s postopkom, imenovanim »consensus« (t.i. soglasje). V prisotnosti več različnih kopij blockchaina bo protokol soglasja sprejel najdaljšo razpoložljivo verigo. Več uporabnikov v blockchainu pomeni, da se lahko bloki na konec verige dodajo hitreje. Po tej logiki bo blok zapisa vedno tisti, ki mu večina uporabnikov zaupa. Konsenzusni protokol je ena največjih prednosti tehnologije blockchain, vendar omogoča tudi eno največjih pomanjkljivosti.

Teoretično je mogoče, da heker izkoristi pravilo večine v tistem, kar označujejo kot 51-odstotni napad. Tukaj je predstavljen primer v katerem bi se zgodil 51-odstotni napad in njegov potek. Recimo, da je v Bitcoin omrežju 5 milijonov računalnikov, kar je zagotovo podcenjevanje, vendar dovolj enostavna številka. Za doseg večine v omrežju bi moral heker nadzirati vsaj 2,5 milijona in enega od teh računalnikov. Pri tem lahko napadalec ali skupina napadalcev moti postopek snemanja novih transakcij. Lahko bi poslali transakcijo in jo nato obrnili, tako da je videti, kot da imajo še vedno kovanec, ki so ga pravkar porabili. Ta ranljivost, znana kot dvojna poraba, je digitalni ekvivalent popolnega ponaredka in uporabnikom omogoča, da dvakrat porabijo svoje Bitcoine.

Takšen napad je izjemno težko izvesti na blokovno verigo Bitcoin-ove velikosti, saj bi moral napadalec pridobiti nadzor nad milijoni računalnikov. Ko je bil Bitcoin prvič ustanovljen leta 2009 in so se njegovi uporabniki šteli na desetine, bi napadalec lažje nadzoroval večino računske moči v omrežju. Ta opredeljujoča lastnost blockchaina je bila označena kot slabost za majhne kriptovalute. Uporabnikov strah pred 51% napadom lahko dejansko omeji monopole in njihovo formiranje na blochainu. Tako decentralizirana narava Bitcoina.

Volunteer to Support Privacy
sl_SISlovenščina