Teadus ja tulevik

Pikk intervjuu: TTÜ professor selgitab, kuidas krüptorahad täpselt töötavad

Professor Kuldar Taveter. Foto: Erakogu

Rubriiki toetab

Krüptovaluutad, eesotsas Bitcoiniga, on üha rohkemate inimeste seas huvi tekitamas. Peamiselt on krüptovaluutasid hakatud võtma reaalse investeerimisvõimalusena. Täpselt nii nagu ka aktsiaturul, peaks ka krüptoraha puhul enne investeeringute tegemist teadma, millesse see tehakse. Geeniuse palvel seletas Bitcoini ja teiste krüptovaluutade ülesehituse lahti Tallinna Tehnikaülikooli (TTÜ) tarkvarateaduse instituudi professor Kuldar Taveter, kes avaldab täiendava arvamuse eest tänu TTÜ tarkvarateaduse instituudi nooremteadurile Jaan Priisalule.

Kuidas te kirjeldaksite tädi Maalile krüptorahade ülesehitust?

Raha põhineb mingisugusel väärtusel, mida on vähe ja on raske kätte saada. See on raha põhiomadus. Kunagi oli meil kullastandard. Kuld on selline maavara, mida on vähe ja on raske kätte saada, seda peab kaevandama. Peale teist maailmasõda on kullastandardi asendanud riikide keskpangad ja hiljem ka Euroopa Keskpank, mis tagavad raha vähesuse ja raske kättesaadavuse. Sellest tulenevalt ei ole kullastandardi järgi vajadust, kuld on nagu muugi kaup.

Krüptoraha puhul on kunstlikult loodud vähesus ja raske kättesaadavus. See tähendab, et uue krüptoraha emissiooniks, kuigi krüptorahade maailmas sellist terminit ei kasutata, pannakse arvutid lahendama keerulisi matemaatilisi probleeme. See on väga ajamahukas ja keeruline. Bitcoini puhul tähendabki matemaatilise probleemi lahendamine kaevandamist. Kaevandamise kõrvalefektina tulevad käibele uued Bitcoinid. See on asja üks pool.

Teiselt poolt tuleb vaadata tehnoloogiat, millel Bitcoin põhineb.

Kui riigid määravad ise oma valuutad või teeb seda näiteks meie puhul Euroopa Keskpank, siis nemad otsustavad, kui palju raha käibele lastakse ja mis on selle väärtus. Krüptovaluutade puhul ei ole niisugust keskset organisatsiooni. Kõik toimub P2P ehk partnervõrgus. Partnervõrk on niisugune võrk, kus kõik võrgu sõlmed suhtlevad kõigi võrgu sõlmedega ning kus ei ole ära jagatud, et üks on server ja üks on klient, vaid kõik on võrdsed.

Partnervõrgus saab panna tööle erinevaid algoritme, mis töötavad hajutatult. Seega kõikide võrgu sõlmede peal töötab põhimõtteliselt üks ja seesama algoritm.

Ka krüptovaluutade puhul on kõigil võrgu partneritel koopiad samadest algoritmidest, mis töötavad hajutatult. Algoritmide töö tulemusena luuakse plokiahel. Plokiahelat võime kujutada ette arveraamatuna, kuhu saab lisada uusi lehti aga vanu lehti ei saa võltsida, sest need on krüpteeritud ja nendest on palju koopiaid partnervõrgu erinevates arvutites. Igal lehel on väga lihtsustatult viide eelmisele lehele ja andmeosa, kus on kirjas tehingud. Need arveraamatu lehed ongi plokiahela plokid.

Näiteks on kirja pandud, et Jüri andis Marile 0,2 Bitcoini. Seega tuleb arveraamatusse ehk plokiahelasse kirja panna, et enne olid need 0,2 Bitcoini Jüri Bitcoini arvel ja nüüd on Mari Bitcoini arvel. Arvet kui niisugust plokiahelas tegelikult ei ole, sest info on erinevate plokkide peale hajutatud ning iga osaleja Bitcoinide saldo arvestatakse tema erinevatesse plokkidesse salvestatud tehingute peale kokku.

Kui nüüd uus tehing toimub, siis see registreeritakse järgmises plokiahelasse lisatavas plokis. Aga järgmise ploki lisamiseks peavad partnervõrku ühendatud arvutid lahendama matemaatilise ülesande, et saada kätte õige viide eelmisele plokile. Uues plokis on lisaks Jüri ja Mari vahel toimunud tehingule kirjas ka kõik muud peale eelmise ploki lisamist toimunud tehingud. Niisuguse matemaatilise ülesande lahendamine ongi kaevandamine, millest oli juttu juba varem.

Kuidas käib krüptorahade kaevandamine?

Kaevandamine on matemaatilise ülesande lahendamine uute plokkide lisamiseks plokiahelasse ja selles ei pruugi osaleda kõik partnervõrgu arvutid. Osaleda võivad vaid need arvutid, mis soovivad ülesande lahendamises osaleda. Bitcoinide kaevandamine võtab ühes aastas rohkem elektrienergiat kui terve Iirimaa suudab toota ühe aastaga. Bitcoinide kaevandamiseks on loodud suured arvutipargid.

Kuna me räägime partnervõrgust, siis igaühel on võimalik kaevandamises osaleda. Selleks peab alla laadima tarkvara. Ülesande lahendamiseks võib anda ka vaid osa oma arvuti arvutusvõimsusest. Kui suurem organisatsiooniline üksus, millega arvuti on liitunud, saab ülesande lahendamise eest Bitcoine, siis proportsionaalselt arvutatakse oma osa ka väikestele partnervõrgu liikmetele. Niimoodi tulevad käibele uued Bitcoinid. Kaevandamise peamiseks ülesandeks on aga uute plokkide lisamine, mis on väga töömahukas selleks, et tagada plokiahela võltsimiskindlus.
Üha rohkem räägitakse ka kaevandamisvabadest krüptovaluutadest, mis need on?
Tegelikult põhineb kõik ikka plokiahelal. Plokiahel tähendab, et uue ploki lisamiseks on vaja võrgu kõigi sõlmede konsensust. Seda saab tagada väga mitmel moel. Bitcoini puhul on see väga keeruliseks tehtud ja seetõttu on ka Bitcoini väärtus väga kõrge, kuigi Bitcoini hind on viimasel ajal vähenemas.

Teiste krüptovaluutade puhul on kaevandamine lihtsam. Alati on vaja partnervõrgu sõlmede peal töötavat algoritmi, mis tähendab, et kõik liikmed on nõus sellega, et uus plokk lisatakse, aga ei ole keeruliste matemaatiliste ülesannete lahendamist.
Samuti räägitakse ka plokiahelavabadest krüptovaluutadest, mis need on?
Tegelikult on need ikkagi plokiahela krüptovaluutad, aga nende jaoks kasutatavad plokiahelad on lihtsalt teistmoodi üles ehitatud. Kasutusel on puu struktuur. Miks see on hea? Ta teeb tehingud kiiremaks. Kui Bitcoini puhul kestab uue ploki lisamine 10 minutit, siis tänu puukujulisele plokiahelale saab seda teha palju kiiremini. Kiirus saavutatakse sellega, et lisatakse üksikuid tehinguid sisaldavaid plokke selle asemel, et teatud aja tagant lisada kõiki selleks ajaks toimunud tehinguid sisaldavaid plokke.

Ka kõigi teiste krüptovaluutade puhul kehtib see, et partnervõrkudes olevad arvutid peavad leidma konsensuse. Ainult plokiahel on erinevat moodi üles ehitatud ja sellel töötavad erinevad algoritmid.

Bitcoini miinuseks peetakse selle aeglust, miks ta siis ikkagi nii aeglane on?

Bitcoini aegluse peamine põhjus on, et plokiahelasse ühendatud plokid peavad olema järjes ja iga ploki moodustamiseks läheb mingi konkreetne kogus energiat ja aega. Lisaks on partnervõrgus palju plokiahela erinevaid koopiaid, mis kõik tulevad uue ploki lisamisel uuendada. Võrgu läbilaskevõimel on aga oma konkreetne piir. Teisest küljest aga tagab tehingu viivitus Bitcoini usaldusväärsuse.

Bitcoin on kõige vanem krüptovaluuta, seal kasutatavaid algoritme saab küll tuunida, aga sinna on näiteks sisse programmeeritud, kui palju Bitcoine ülesande lahendaja saab. See arv väheneb aastani 2140, mil see jõuab nulli. Bitcoin on suhteliselt vana ja teised krüptovaluutad on efektiivsemad ja kiiremad, aga need ei ole piisavat aega kasutusel olnud. Bitcoin on tükk aega kasutusel olnud ja järele proovitud ning töötab ja seda peetakse usaldusväärseks. Pean silmas seda, et inimesed usaldavad Bitcoini rohkem võrreldes teiste, uuemate, krüptovaluutadega. Ka Bitcoiniga on olnud probleeme aga tehnoloogiliselt on see nüüd stabiilne.

Kas on võimalik luua krüptovaluuta, mis põhineb hetkel ühel plokiahelal, aga mida saaks aja möödudes täiendada või viia üle teisele plokiahelale?

Minu arvates on siin probleem. Kui plokiahel on korra loodud, siis plokiahelal põhinevat hajutatud andmebaasi ei saa enam muuta, sest just üksteisega kindla korra järgi seotud plokid tagavad plokiahela võltsimiskindluse. See tähendab, et ka plokiahela struktuuri ei saa muuta, sest selleks peaks kogu plokiahela ülesehitust algusest peale muutma.
Kas Bitcoini rahakoti puhul saab eeldada, et see on turvaline ja sinna ei pääse keegi võõras ligi?
Rahakotile juurdepääs põhineb vaid kasutajale teadaoleva privaatse võtme ning kasutaja avaliku võtme kokku viimisel. Avalik võti on see, mis identifitseerib plokiahelas tehingud, mis on seotud antud kasutajaga. Kasutaja peab aga teadma ka oma privaatset võtit, mis peab tal olema kuhugi salvestatud. On mitmeid näiteid, kus inimesed on Bitcoini võtmed ära kaotanud ning on sellega kaotanud oma Bitcoinid. Ilma privaatse võtmeta pole võimalik tõestada, et see raha on minu oma.

Praegu ei eksisteeri ka teoreetilist turvariski, et Bitcoini rahakotti saaks sisse muukida. Probleem aga tekib koos kvantarvutite tulekuga. Eestis tegeletakse sellega, et töötada välja kvantarvuti võimsusele vastavaid krüptograafilisi algoritme. See tähendab, et praegused krüptovaluutade algoritmid on loodud arvestades tavaarvutite võimsust. Kvantarvutite tulekuga suurenevad arvutite võimsused ja lahtimuukimine läheb lihtsamaks. Selliseid kvantarvutikindlaid algoritme uurivad TTÜs tarkvarateaduse instituudi doktorandid professor Ahto Buldase juhendamisel. Kvantarvuti abil on võimalik Bitcoini rahakott lahti murda ning seetõttu tuleb juba praegu tegeleda selle ennetamisega.

Bitcoini looja või loojad ei ole teada, nemad ei saa ju algoritme enam muuta?

Põhimõtteliselt saab plokiahelal töötavaid algoritme muuta, aga see vajab kõikide plokiahelat toetava partnervõrgu liikmete konsensust.

Kas Bitcoini looja või loojad ei mõelnud kvantarvutite peale?

Tundub nii.

Selles rubriigis vahendame maailma teadusuudiseid, tulevikuvaateid ning oma kõige põnevamaid tegemisi.

Populaarsed lood mujal Geeniuses

Ära jää ilma päeva põnevamatest lugudest

Telli Geeniuse uudiskiri

Saadame sulle igal argipäeval ülevaate olulisematest Geeniuse teemadest.