Lohkoketju – digitaalisen korulippaan tuleva arvohely?

Minecraft blockchain eli lohkoketju
Meidän junnulle tuli ensimmäiseksi mieleen Minecraft, kun hän kuuli sanan blockchain.

Olet ehkä kuullut ohimennen puhuttavan lohkoketjusta eli blockchainista, joka on ilmeisesti jotain mullistavaa, mutta et ole oikein ymmärtänyt mitä. Yritän tässä kirjoituksessa vastata seuraaviin kysymyksiin:

  • Minkä ongelman lohkoketju yrittää ratkaista?
  • Millä tavoin?
  • Mitä sovelluksia sillä on ja voisi olla?

Perinteiset tietokannat vs. lohkoketju

Wikipedian mukaan ”Tietokanta on tietokoneen muistissa oleva tietojen kooste.” Se on siis kuin arkistokaappi, josta sihteeri voi hakea tietoa, lisätä sinne uutta tietoa, muokata ja poistaa olemassa olevia tietoja.

Perinteiset tietokannat ovat vakiintuneita, ne toimivat hyvin ja nopeasti, mutta niillä on joitakin heikkouksia. Tiedot varastoidaan keskusjohtoisesti. Kun siirrät rahaa toiselle henkilölle, esimerkiksi maksat laskun, se menee aina pankin keskustietokoneen kautta. Tämä voi hidastaa tiedonkulkua. Olet varmaan huomannut, että rahan siirtyminen voi kestää useita pankkipäiviä. Välikäsi tarvitsee isoja palvelinkoneita ja tietovarastoja ja ottaa omat maksunsa välistä. Tietoja on mahdollista muuttaa, ja sen voi tehdä pahimmassa tapauksessa jopa kenenkään huomaamatta mitään.

Lohkoketjukin on tietokanta, mutta se ei ole jemmassa missään yhdessä paikassa. Kaikilla järjestelmän käyttäjillä on siitä kopioita, ja siinä olevat tiedot ovat kaikkien käyttäjien nähtävissä. Lohkoketjun toimintaperiaate takaa sen, että tietokannassa olevia tietoja ei kukaan yksittäinen ihminen pysty muuttamaan.

Lohkot ketjuttuvat toisiinsa niin, että seuraavassa lohkossa on aina viittaus edelliseen lohkoon, tiiviste. Se perustuu lohkon sisältämään tietoon, sitä voisi sanoa vähän kuin lohkon sormenjäljeksi. Edellinen lohko painaa aina seuraavaan sormenjälkensä.

Blockchain

Tiiviste on helppo tarkistaa, mutta tosi työläs luoda

Ketju pitenee, kun tiedot uusista tapahtumista, vaikkapa tilisiirroista, tallennetaan uuteen lohkoon, joka liitetään ketjun päähän. Mistä luottamus ja yksimielisyys ketjun sisällöstä syntyy, kun kukaan käyttäjä ei tunne toistaan? Ratkaisu: tehdään uuden lohkon lisäämisestä todella työlästä eli paljon tietokoneen laskentatehoa vievää. Silloin kenelläkään yksittäisellä käyttäjällä – tai verkoston vähemmistölläkään – ei ole käytännön mahdollista väärentää ketjua, koska väärennettyä lohkoa seuraavatkin lohkot pitäisi luoda uudelleen, jotta ketju pysyisi ehjänä.

Työläys syntyy surkeasta arpaonnesta

(Vähän teknisempää asiaa, muttei vaikeaa.) Uusia lohkoja on helppo luoda. Otetaan tallentamattomat tapahtumat, luodaan tiiviste aiemmasta lohkosta, pakataan se uudeksi lohkoksi, voila. Kaikki verkoston käyttäjät tuottavat lohkoja, mutta vain yksi monista hyväksytään uudeksi viralliseksi lohkoksi. Mikä niistä?

Muistathan, että lohkoon tarvitaan tiiviste edellisestä lohkosta? Tiivisteen laskennassa on mukana satunnainen osa. Tietokone tekee laskutoimituksen, jonka tuloksena on satunnainen luku. Vähän kuin heittäisi noppaa, mutta tässä nopassa on miljardeittain eri silmälukuja. Vitsi on tässä: Vain tiettyä järjestelmän asettamaa rajaa pienempi luku voittaa.

Todennäköisyys sille, että yhden käyttäjän kohdalle sattuu tällainen tarpeeksi pieni luku, on suunnilleen samaa luokkaa kuin yhden tietyn hiekanjyvän löytäminen hiekkarannalta. Yleensä siis yksittäinen käyttäjä ei ”voita”. Täytyy laskea uudelleen, ja uudelleen, ja uudelleen. Koska käyttäjiä on paljon, tietyin väliajoin joku osuu sopivaan lukuun. Voittaja palkitaan jollain tavoin. Järjestelmä säätää ”vaikeustasoa” niin, että uusia lohkoja tulee lisättyä ketjuun aina keskimäärin samaan tahtiin, on osallistujia miten paljon tahansa ja miten tehokkaita heidän koneensa ovatkaan.

Kaikki tämä tietokoneiden pyöritys lohkojen luomiseksi tietysti kuluttaa paljon energiaa. Muita vähemmän laskentatyötä vaativia mutta silti turvallisia yksimielisyyteen tähtääviä menetelmiä on kehitteillä.

Mihin lohkoketjua käytetään ja mihin sitä voisi käyttää?

Lohkoketju oli alunperin teknologia Bitcoin-valuutan digitaalisena tilikirjana. Nyt kasvava määrä yrityksiä ja hankkeita on liittynyt seuraan tutkimaan sen käyttömahdollisuuksia.

Maailma on täynnä rekistereitä, joissa tarvitaan turvallisuutta ja luotettavuutta. Lohkoketjun ei kuitenkaan tarvitse sisältää pelkkiä tilitapahtumia ja kirjauksia. Se voi sisältää myös pieniä ohjelmia, käskyjä, jotka ajetaan, jos tietyt ehdot täyttyvät. Tämä on tapa toteuttaa niin sanottuja älysopimuksia.

Ethereum on Vitalik Buterinin 2013 luoma lohkoketjupohjainen alusta, jonka päällä voi ajaa hajautettuja ohjelmia ja myös älysopimuksia. Hyperledger on Linux Foundationin vuoden 2015 lopussa aloittama yhteistyöprojekti, jossa on mukana isojakin yrityksiä, mm. IBM, Intel ja Fujitsu.

Lohkoketjun avulla voisi lisätä vaikkapa tuotteen alkuperän läpinäkyvyyttä, pitää kirjaa pitkäikäisen, monimutkaisen laitteen huolloista ja käytetyistä varaosista tai antaa vertaislainoja.

Tavaroiden tai tilojen vuokraaminen ja jakaminen saattaa helpottua lohkoketjun avulla. Älysopimuksella voisi ohjata vaikka vuokra-auton tai AirBnB-asunnon lukkoa. Kun vuokra on maksettu, lukko aukeaa.

Kiinnostava käyttökohde on myös digitaalisten tuotteiden julkaiseminen ja myyminen ilman välikäsiä.

Kun esineet liittyvät laajemmin internetiin, niiden välillä voi tapahtua älysopimuksiin perustuvaa automaattista kaupankäyntiä ja tietojenvaihtoa. Sen mahdollisuuksia voi vielä vain kuvitella.

 

Lähteet ja lisää luettavaa:

http://www.chainfrog.com/blockchains/ ja Keir Finlow-Batesin luento TTY:llä 6.10.2016 (luentomateriaali)

https://bitcoin.org/bitcoin.pdf

http://www.mikrobitti.fi/2016/10/mika-ihmeen-blockchain-nain-bitcoinin-taustalla-oleva-lohkoketjutekniikka-toimii/

https://fi.wikipedia.org/wiki/Bitcoin

https://bitnation.co/main/

https://slock.it/

http://www.sitra.fi/blogi/megatrendit/lohkoketju-muuttaa-maailmaa

http://www.coindesk.com/bhp-billiton-blockchain-mining-company-supply-chain/

https://decent.ch/

http://www.coindesk.com/blockchain-smart-cities-china-wanxiang/

Tarvitsetko apua? Ota yhteyttä!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *