Plokiahela tehnoloogia iseenesest ei kujuta midagi põhimõtteliselt uut ega teadusele senitundmatut. Plokiahela võrkude toimimise mudeli väärtus seisneb eri instrumentide, tehnoloogiate ja põhimõtete kombineerimises nii, et need kindlal viisil kokku sobitatuna moodustavad loogilise ja kaitstud struktuuri andmete hajussäilitamiseks. Mida siis kujutab endast plokiahel?
Sissejuhatus plokiahela struktuuri. Mis on plokiahel?
«Sisult võiks plokiahelat võrrelda suure pearaamatuga, mille lehekülgedele kantakse poolte vahel tehtud finantstoiminguid. See raamat on aga koostatud nõnda, et ühtegi sinna tehtud kannet pole edaspidi võimalik mingil viisil muuta ega eemaldada – seda takistavad tehnoloogiasse integreeritud tugevad krüptograafilised algorütmid. Andmeid endid ei hoita mingis kindlas kohas, mis oleks juhtimiskeskuse õigustega. Neid kopeeritakse ja sünkroniseeritakse ehk teisisõnu paljundatakse süsteemi kõigi osaliste, võrgu sõlmede vahel,» selgitab Admiral Marketsi kaasasutaja ja raamatu «Plokiahel. Põhimõtted ja alused» autor Alexander Tsikhilov. «Seetõttu, isegi kui keegi tahab tema juures hoitavaid andmeid muuta, ei võta teised süsteemi osalised neid muutusi arvesse, sest need on tehtud süsteemis kehtivaid reegleid eirates.»
Lehekülgi nimetatakse plokkideks
Kuidas on selline «pearaamat» üles ehitatud? Tsikhilovi sõnul selle lehekülgi nimetatakse plokkideks. Samuti kui leheküljed tavalises raamatus, järgnevad plokid üksteisele kindlas nummerdatud järjestuses. Kui aga tavalise lehekülje võib raamatust välja võtta, soovi korral teise kohta panna või üldse välja visata, siis plokkidega see ei õnnestu. Kõik plokid on omavahel jäigalt seotud spetsiaalsete krüptograafiliste «lukkudega», mida on isegi teoreetiliselt erakordselt raske lahti murda. Siit tuleneb õigupoolest ka tehnoloogia nimetus «plokiahel» ehk inglise keeles blockchain. Selleks, et hakata andmete usaldusväärsuseks hoidlaks, peab iga plokiahelal põhinev struktuur vastama järgmistele kriteeriumitele.
- Sellel peab olema detsentraliseeritud tehnoloogiline alus ehk see peab oskama levitada vajalikke andmeid kõigi võrgusõlmede vahel ja toetama nende ajakohastatud olekut paljundamise ja sünkroniseerimisega.
- See peab toetama mittekatkestatavat seost andmeplokkide vahel, moodustades igas uues plokis viited sellele eelnenud plokkidele.
- See peab oskama kodeerida andmemassiivid tõhusalt unikaalseteks standardse suurusega teabeplokkideks ehk andmeid räsida.
- See peab kasutama lahtimurdmiskindlaid krüptograafilisi algoritme, mis on vajalikud plokkidesse kirjutatavate andmete kaitseks.
- See peab kasutama matemaatika erilise valdkonna, mänguteooria elemente selleks, et kõik süsteemi sõlmed järgiksid kehtestatud reegleid ning jõuaksid uute plokkide loomisel ja neisse andmete kirjutamisel ühise konsensuseni.
Kõik need eespool loetletud ülesanded moodustavad viis peamist sammast, millel põhinebki plokiahela tehnoloogia.
Kus on plokiahelas raha?
Tsikhilovi sõnul on krüptorahad ainult üks võimalikest «pealisehitistest» plokiahela struktuuri kohal, täpsemalt üks selle praktilise kasutamise vorme. «Ajalooliselt juhtus nii, et esimene selle põhjal teostatud projekt, Bitcoin, on krüptorahapõhine maksesüsteem. Seejuures on tegu funktsionaalsete võimaluste pooles suhteliselt vaese projektiga, mis on esimese projekti puhul muidugi andestatav. Hoolimata sellest, et terminid bitcoin ja «plokiahel» ilmusid samal ajal, pole need tähenduselt sugugi sünonüümid, sest esimene neist tähistab krüptoraha, teine aga tehnoloogiat ennast, mille alusel on krüptoraha loodud. Tegelikult ilmus termin «krüptoraha» mitu aastat hiljem kui projekt Bitcoin – 2011. aastal ajakirja Forbes artiklis «CryptoCurrency». Bitconi autor Satoshi Nakamoto ise andis sellele nimetuse e-cash ehk «elektrooniline sularaha»,» selgitab Tsikhilov.
Plokid ja nende struktuur
Tsikhilovi sõnul idee säilitada teavet seotud nimekirjadena tekkis juba üsna ammu – palju varem, kui ilmusid arvutitehnoloogiad, nimelt üle 4000 aasta tagasi inkade tsivilisatsioonis ning nende eelkäijate juures umbes III aastatuhandel e.m.a. «Jutt on teabe säilitamisest nõndanimetatud kipude kujul. Need on keerukalt sõlmitud nöörid, mis on kinnitatud ühisele köiest alusele ja omavahel seotud olenevalt säilitatava teabe olemusest. Igal nööril võis olla oma värvikood, aga võisid olla ka spetsiaalsed sõlmed, mille kuju ja arv olid tähtsad tähised, millega määrati hoitava teabe väärtus ja tüübid. Jälgides iga nööri algust ja lõppu, sai määrata kogu andmeahela moodustamise tee alusköiest kuni haru lõpuni. Nööride arv ühes kipus võis ulatuda kahe ja poole tuhandeni. Kipude abil said inkad kui kogu Kesk-Andide indiaanihõimude liidu valitsev klass arvet pidada kõigi vajalike neile kuuluvate ressursside – vägede, toiduvarude, elanikkonna arvukuse ja laekuvate maksude koguse üle,» selgitab ta.
16. sajandi esimesel poolel neisse paigusse ilmunud Hispaania konkistadoorid ei tabanud sugugi kohe nende veidrate nööridest ja sõlmedest koosnevate konstruktsioonide praktilist mõtet, mille abil inkad tegelikult oma impeeriumi valitsesid. «Selleks, et murda senist valitsemiskorda, tuli hispaanlastel vallutatud aladele peale suruda euroopalikud kirjaoskuse ja arvepidamise põhimõtted,» kirjutab Tsikhilov. «Kipud tõrjuti käibelt täiesti välja ja unustati, ning alles 19. sajandi alguses hakkasid teadlased neid süstemaatilisemalt uurima. Neil õnnestus dešifreerida küllalt palju säilinud eksemplarides salvestatud teavet. Mõistnud sellise arvepidamissüsteemi ülesehitusloogika peamiseid põhimõtteid, olid teadlased üpris üllatunud, et seesugune iidne tsivilisatsioon, mis oli edumeelsemast maailmast täielikult isoleeritud, suutis leida sedavõrd tõhusa, seotud teabeplokkide loogikal põhineva meetodi andmete kompaktseks ülesmärkimiseks ja säilitamiseks.»
Vajadus teabe ülesmärkimise järele
20. sajandi teisel poolel, mil infotehnoloogia hakkas aeglaselt, kuid kindlalt vallutama maailma, tekkis vajadus teabe ülesmärkimise ja hoidmise eri meetodite loomise järele. Üheks sellistest vormidest said ahelloendid – spetsiaalsed andmestruktuurid, millest igaüks ei sisaldanud üksnes andmeid endid, vaid ka spetsiaalseid viiteid samasugustele struktuuridele, nii eelmistele kui ka järgmistele. See võimaldas eirata andmete mitmesugustel kandjatel säilitamise loomulikku järjestust ja järgida eranditult seda teabelogistikat, mille põhimõte oli peidetud plokki de vaheliste sisemiste seoste kogumis. Olenevalt püstitatud üles annete lahendamise loogikast võisid andmeloendite vormid enamikul juhtudest olla üheseoselised (ühesuunalised) või kaheseoselised (kahesuunalised). Samuti võis mõlemal loendivormil olla rõngasstruktuur, milles viimane element viitab esimesele või vastupidi.
«Oma klassikalisel kujul ongi plokiahel üheseoseline loend, milles iga järgmine plokk süsteemis viitab eelmisele. Küsimus on selles, mida tähendab sõna «viitab»: mil viisil on see tehniliselt teostatud, ja mis peamine, miks seda üldse tehakse? Vastus on lihtne: andmebaasi tervikluse säilitamiseks,» kirjutab Tsikhilov.
Plokk koosneb kahest peamisest osast: päisest, kus asub tehniline teave, ja süsteemi osaliste vahel tehtud digitaalvarade ülekandetehingute loendist või lihtsalt faktide üleskirjutusest. Kõik see kokku on andmekogum, mida saab jäädvustada standardpikkusega räsi kujul. Selle päise räsi välja arvutanud, fikseerime terve ploki seisundi ja igasugune sekkumine selle terviklusse põhjustab kohe kogu räsi täieliku muutumise. Mis aga siis, kui iga uus plokk sisaldab eelmise ploki andmete räsi ühe oma päiseelemendina? Siis tuleb välja, et ühe päise andmeid räsides liidame sinna automaatselt eelmise ploki päise räsi ja sel moel saadakse plokkide ahel. Me juba teame, et vähimgi muudatus algandmetes muudab nende räsi tundmatuseni. See tähendab, et kui me sekkume ükskõik millisesse andmebitti ükskõik millises plokis ahela keskel, põhjustab see kõigi järgmiste plokkide räside ümberarvutuse. Teisisõnu muutuvad kogu ahela andmed.