฿itcoin & Lohkoketju

Bitcoinin yhteydessä törmätään usein termiin Lohkoketju (engl. BLOCKCHAIN). Esim. arikkelissamme Kuinka Bitcoinia käytetään? viittaamme lohkoketjuun eräänlaisena tietokantana. Mikä sitten on lohkoketju ja miten se toimii?

Bitcoinin luoja Satoshi Nakamoto käytti tästä toiminnallisuudesta itse asiassa ensin termiä Timechain, eli aikaketju. Timechain terminä kuvaakin tämän käsitteen käyttötarkoitusta paremmin. Aikaketjun tarkoitus on nimittäin pitää huolta tietokannan päivitysten kronologisesta järjestyksestä. Ajan kuluessa termi lohkoketju kuitenkin kasvatti suosiota ja korvasi käsitteen aikaketju lähes kokonaan.

Lohkoketju-blockchain-timechain-aikaketju-kryptovaluutta

Mihin lohkoketjua tarvitaan?

Jotta ymmärtäisimme tarvetta lohkoketjuun paremmin, meidän pitää ymmärtää miten Bitcoinin transaktiot (ts. siirrot) toimivat. Louhijat siis luovat tällä hetkellä jatkuvasti uusia Bitcoineja, jotka heillä on oikeus merkitä itselleen ns. Coinbase transaktion kautta aina kun heidän onnistuu ratkaista kryptograafinen laskelma, jota käsittelimme artikkelissä Miksi Bitcoin on arvokas?

Suunnitelman mukaan, uusien luotujen Bitcoinien määrä kuitenkin pienenee ajan myötä ja ns. tavallisten siirtojen välityspalkkioiden odotetaan täyttävän tästä pienenemisestä johtuvan aukon louhijoiden palkkiossa. Coinbase palkkio puolittuu noin 4 vuoden välein ja on kesästä 2020 alkaen 6,25 Bitcoinia. Määrä oli siten alussa 50, sitten 25 ja sitten 12,5 Bitcoinia jne.

Puolittumisen (engl. HALVING) tarkoitus on, että Bitcoinin inflaatio eli rahan lisääminen järjestelmään loppuu aikanaan kokonaan. Joidenkin teorioiden mukaan tämä juontaa juurensa ns. Itävaltalaisen taloustieteen käsitykseen, että talous ei tarvitse inflaatiota kehittyäkseen, kunhan käytettävä raha on jaettavissa tarpeeksi pieniksi yksiköiksi. Bitcoinin pienin yksikkö on 1 Satoshi ja 1 Bitcoin vastaa puolestaan 100 000 000 Satoshia. Tilaa pienempään päin on siis reilusti ja sitä on teoriassa kehitettävissä lisää myös ns. toisen tason teknologioiden kuten Lightning Network myötä.

Bitcoinin välityspalkkiot 

Järjestelmä on edellä mainittujen syiden takia rakennettu niin, että transaktioita ei lisättäisi tietokantaan perinteisessä aikajärjestyksessä, vaan maksettujen välityspalkkioiden määrän mukaan. Tämä siis mahdollistaa turvatun siirtymisen aikaan, jolloin louhijat eivät saa enää Coinbase palkkiota ollenkaan. Sillä pitäähän Bitcoinin tietokannan päivittyä myös inflaatiovaiheen loppumisen jälkeen. Me tarvitsemme siis aikaketjun, joka ei ole riippuvainen transaktion aikaleimasta vaan Bitcoinin sisään rakennetusta omasta aikakäsitteestä. Jotkut viittaavat tähän aikakäsitteeseen termillä lohkoaika (engl. BLOCKTIME).

Välityspalkkioilla on myös suuri rooli sensuurin hallinnassa, sillä louhijat ovat sääntönä vain ohjelmoitu valitsemaan suurimman välityspalkkion omaavat siirrot, eikä heillä ole poliittisia intressejä siitä kuka siirtää mitä ja kenelle. Eli vaikka joku louhija esim. yrittäisi tietoisesti välttää tiettyyn osoitteeseen lähetettäviä rahansiirtoja, muut louhijat todennäköisesti päätyisivät silti hyväksymään siirrot jos välityspalkkio on riittävän suuri. Yksi kuuluisimpia Bitcoinin sensuuriin liittyvä tapauksia oli Wikileaksille lähetetyt lahjoitukset, jotka menivät läpi poliittisesta painostuksesta huolimatta.

“Bysantin kenraalin ongelma” eli varojen tuplakäytön haaste

Bitcoinin järjestelmän tarkoitus on siis luoda uusia Bitcoineja tietyn ajan välein. Mutta miten hajautettu järjestelmä pystyy valvomaan tätä aikarajoitusta? Mikä estää louhijoita luomaan yksiköitä useammin kuin sovittu ja pyrkimään ansaitsemaan enemmän rahaa. Entäs miten pystymme varmistamaan, että sama taho ei yritä käyttää rahaansa kahteen kertaan ennen transaktion merkintää tietokantaan? Hajautetussa järjestelmässä nimittäin siirrot saattavat pyöriä eri käyttäjien koneilla varsin sattumanvaraisessa järjestyksessä. Kuka siis määrää siirtojen “oikean” aikajärjestyksen?   

Esim. käytettäessä PayPalin palveluja, kyseisen yrityksen keskitetyt tietokoneet valvovat ajan kulkua, päivittävät tietokantoja ja merkitsevät uuden balanssin käyttäjien tilille lähes välittömästi. Tämä tekee varojen tuplakäytön lähes mahdottomaksi, ellei palveluntarjoaja tietenkin tätä jostain syystä salli.  

Bitcoinin kohdalla käyttäjillä on kuitenkin mahdollisuus yrittää käyttää samaa “kolikkoa” useaan kertaan, sillä ennen tietokannan päivitystä emme voi olla täysin varmoja siitä mitä siirtoja louhijat tulevat tallentamaan tietokantaan. Hehän ovat voineet vastaanottaa siirrot eri järjestyksessä riippuen maantieteellisestä sijainnistaan. Joissakin tapauksessa tästä haasteesta käytetään tietojenkäsittelyn maailmasta tuttua teoreettista pulmaa “Bysantin kenraalin ongelma.” 

vertaisverkko-peliteoria-vangin-dilemma-bysantin-kenraalin-ongelma

Proof Of Work + Peliteoria = Toimiva aikaketju

Satoshi Nakamoto päätti ratkaista “Bysantin kenraalin ongelman” käyttämällä Proof Of Work teknologiaa ja eräänlaista peliteoriallista laskentaa. Peliteoriasta käsitteenä saa lisätietoa esim. tutustumalla perinteiseen Vangin Dilemma haasteeseen. 

Nakamoto päätti, että tietokantapäivitykset tehtäisiin 10 minuutin välein lisättävinä tauluina, jotka olisivat keskenään yhteydessä ja muodostaisivat siten yhden ison tietokannan. Meillä ei siis olisi tallennettuna yhtä pitkää transaktioiden sarjaa, vaan toisiinsa linkitettyjä pienempiä tietokannan “lohkoja”. 

Nämä lohkot puolestaan lähetetään juoruprotokollan (engl. GOSSIP PROTOCOL) avulla vertaisverkon käyttäjille (ts. soluille) ympäri maailmaa. Jos enemmistö käyttäjistä hyväksyy lähetetyn taulun sisällön, se varmennetaan osaksi lopullista tietokantaa eli lohkoketjua.  

Vertauskuvallisesti tämä ratkaisu voidaan nähdä vaikkapa aikajärjestyksessä tallennettuina excel-tauluina, jotka säilytetään kaikkien käyttäjien koneilla ja jossa edellisen taulun loppusaldo toimii aina seuraavan taulun lähtösaldona. Näin, jos joku muuttaa yhtäkin tietoa missä tahansa taulussa, lopullinen saldo ei enää täsmää ja koko ketju todetaan epäpäteväksi.

Taloudellinen kannustin yhteistyön takaajana

Koska Bysantin kenraalin ongelmaan ei ole yhtä ainoaa oikeaa ratkaisuamallia, Satoshi Nakamoto päätti ratkaista asian taloudellisesti. Ajatus oli, että jos kaikki Bitcoinin käyttäjät seuraavat omia taloudellisia intressejä, he päätyvät palvelemaan myös koko lohkoketjua. Toimivasta kokonaisuudesta käytetään myös käsitettä NAKAMOTO CONSENSUS.

Mikäli uuden taulun lisääjä eli louhija yrittää sisäistää vääriä tietoja lohkoketjuun, hänen lohko on epävalidi ja hän menettää taloudellisen panostuksena jotka käytettiin tämän lohkon laskentaan. Louhijan siis kannattaa pysyä rehellisenä tienatakseen enemmän. 

Systeemi myös kannustaa suosimaan eniten hyväksyttyjen taulujen ketjua, mikäli tapahtuu ns. haarautuminen (engl. FORK), eli ketjun tilapäinen jakautuminen. Hajautetussa järjestelmässä nimittäin liikkuu toisinaan eri tietoa “oikeasta” tietokannasta, sillä lohkot eivät pysty leviämään toiselle puolella maapalloa tarpeeksi nopeasti. Lohkoketjun kannustinmalli on yksinkertaisesti seurata näissä tilanteissa enemmistöä, jolloin koko järjestelmä päätyy aina “yhteen oikeaan tietokantaan”. 

Mikäli puolestaan yrität muokata tämän “oikean tietokannan” historiaa omaksi eduksesi, siitä tulee ajan kuluessa kalliimpaa ja kalliimpaa, sillä muutetut lohkot joudutaan louhimaan uudestaan. Siksi tulevien validien lohkojen muokkaaminen on taloudellisesti kannattavampaa kuin yrittää muokata menneisyyttä.

Vaikka lohkoketjua vastaan on myös monia teoreettisia hyökkäysmalleja, taloudellisten oletusten hyväksikäyttö on toistaiseksi toiminut mainiosti ja Bitcoinin lohkoketju on päivittynyt 99,9% suunnitelmien mukaisesti jo yli 10 vuoden ajan.  

kryptovaluutta-lohkoketju-vahvitettu-siirto-nakamoto-consensus

Lohkoketjun hypetys  

Bitcoinin noustua suurempaan tietoisuuteen, alettiin tutkimaan myös vaihtoehtoisia keinoja lohkoketju-teknologian käyttöön. Tämä johti siihen, että sana Blockchain ajautui monesti varsin kauas alkuperäisen Timechainin ideologiasta. Monesti lohkoketjua markkinoitiin ratkaisuksi jopa sellaisiin ongelmiin, joilla ei edes ole mitään tarvetta hajautetuille järjestestelmille. 

Vaikkakin lohkoketjun ympärillä pyöriviä projekteja on nykyään tuhansittain ja viimeistään vuoden 2017 ns. ICO kuplassa niiden rahoitukseen virtasi miljardeja, alkuperäinen Bitcoin arvostetaan niistä vieläkin selvästi korkeimmalle ja se houkuttelee edelleen pariinsa mm. maailman lahjakkaimpia ohjelmistosuunnittelijoita ja muita nerokkaita ajattelijoita. 

Suosittelemme lukemaan seuraavaksi: Bitcoin White Paper