Blogi
LohkoKettu
18.12.2018
KURKISTUS KOODIIN

Tämä kirjoitus on alun perin julkaistu 15.9.2018.

Luo(to)ton toiminta

En todellakaan ole teknovelho, mutta lohkoketjun toimintaperiaatteen – ja sitä myöten ideologian – voi ymmärtää ilman taikavoimiakin.

Lohkoketjujen perimmäiset toimintaperiaatteet kietoutuvat tietyn protokollan ympärille. Samoin kuin ihmisten kanssakäymisessä, myös tietokoneiden yhteydessä protokolla merkitsee niitä standardoituja käytäntöjä tai sääntöjä, joiden mukaan koneiden välinen kanssakäyminen tapahtuu. Karkeasti yleistettynä nämä toimintaohjeet annetaan koneelle ohjelmointikielellä eli tuttavallisemmin koodataan. Koodi on siten kaiken A ja O.

Mikä sitten on tuo protokolla, jota lohkoketjut noudattavat? Se on nimetty luottoprotokollaksi(engl. trust protocol), jolla pyritään luottovapaaseen (engl. trustless) järjestelmään. Hetkinen, siis, mitä luotolla nyt oikeastaan tarkoitaan?

Luotto on tässä kontekstissa tiivistetysti sitä, että voidaan luottaa erilaisten transaktioiden, kuten rahalähetysten tai sopimusten, osapuolten toimivan rehellisesti ja läpinäkyvästi, yhteisen hyvän nimissä. Nykyään tällaisiin tapahtumiin tarvitaan välikäsiä, jotka eivät pode huonoa omaatuntoa vetää – enemmänkin kuin – osansa välistä ja kerätä siinä samalla käyttäjien tietoja näiden yksityisyyden kustannuksella, omaa valtaansa pönkittäen. Tällaiset rakenteet ovat aivan omaa syytämme: helppoa ja turvallista elämää etsiessään ihmiset luottavat mieluummin sokeasti kasvottomiin välikäsiin kuin itseensä.

Hajautusta, ei hajoitusta

Lohkoketjujen ratkaisu tähän leväperäisten välikäsien ongelmaan on desentralisaatio eli hajautus. Lohkoketju on jaettu vertaisverkkoon (engl. peer-to-peer network), jonka kaikki noodit (engl. node ‘solmukohta’) sisältävät merkinnän kaikista tapahtuneista transaktioista, ikuisesti. Tämä tilikirja (engl. ledger) on kaikkien ladattavissa ja luettavissa, ja sen väärentäminen on käytännössä mahdotonta. Tiedot on lisäksi kryptattu niin, että transaktioiden osapuolten yksityisyys on edelleen turvattu, vaikka tiedot transaktioista ovatkin julkisia.

Sinullakin voisi olla olohuoneesi nurkassa lohkoketjun palanen, ts. tietokone (puhutaan myös serveristä) noodia ylläpitämässä. Koska kuka tahansa voi osallistua alati muuttuvaan noodien verkostoon, täytyy sen luotettava ja lahjomaton toiminta varmistaa, satavarmasti ja tehokkaasti. Tähän on kehitetty erilaisia algoritmeja, yksityiskohtaisia koodinpätkiä, jotka yksiselitteisesti määrittelevät ne periaatteet, joiden mukaan tilanteessa tai toisessa toimitaan.

Näitä algoritmeja kutsutaan konsensusmekanismeiksi (lat. cōnsēnsus ’yhteisymmärrys, yksimielisyys’), ja jokaisella lohkoketjulla on oma mekanisminsa. Tunnetuin lienee Bitcoinin pohjana toimiva todiste työstä (engl. proof of work, PoW), johon liittyy olennaisesti louhinta eli tuttavallisemmin mainaaminen (engl. mining). Konsensusmekanismeihin ja mainaamiseen täytyy vielä tutustua tarkemmin – sen tehtyäni palaan asiaan tulevissa postauksissa.

Luottovapaus – uhka vai mahdollisuus?

Kuten Konsensuksen toissa maanantaisessa (3.9.) livestriimissä keskusteltiin, desentralisaation mukanaan tuoma vapaus ja vallan paluu yksityishenkilöille tarkoittaa myös vastuuta. Olet palautuneen kontrollin myötä täysin vastuussa itsestäsi ja toimistasi digitaalisessa maailmassa. Mikään keskitetty taho ei ole palauttamassa unohtuneita tai hävinneitä salasanojasi, ja jos esimerkiksi sössit jonkin transaktion, vaikkapa lähettämällä kryptovaluuttaa väärään osoitteeseen, se on rip rahet.

Lohkoketjujen mukanaan tuoma vapaus voi täten tuntua pelottavaltakin askelelta kohti tuntematonta, mutta opettelemalla jälleen pitämään itse huolen omistaan ja siinä sivussa toisistaan, ihmiskunta luo luontaisesti turvattua tulevaisuutta. Kuka ties opimme samalla luottamaan itseemme ja toisiimme sekä tuntemaan aitoa yhteisöllisyyttä – sen sijaan, että turvaverkostomme olisi punottu salamyhkäisten hallitusten varaan.

Vapaus saattaa toki toisaalta saada jotkut ajattelemaan, että he nimenomaan eivät ole vastuussa mistään, koska mikään keskitetty taho tai lait eivät heitä tarkkaile tai määräile. Lohkoketjut saavat varmasti tuta osansa tällaisista epärehellisistä toimijoista. Vertaisverkot on kuitenkin koodattu toimimaan niin, että mädät omenat eivät pääse pilaamaan koko koria, vaan joutuvat ennemmin itse kärsimään menettämällä joko rahaa, maineensa tai tulemalla kokonaan suljetuiksi verkoston ulkopuolelle, jos toimivat yhteistä hyvää – ts. ylläpitämäänsä lohkoketjua – vastaan. Asia erikseen ovat toki erilaiset yksittäisen lohkoketjun ulkopuoliset hyökkäykset esimerkiksi kryptovaluuttapörsseihin. Näihin ja muihinkin uhkakuviin on syytä paneutua syvemmin tulevissa postauksissa.

Kolmansien osapuolten ja päättävien elimien sijaan tapahtumien validointi, mahdollisten sabotoijien eliminointi ja koko järjestelmän ylläpito jätetään herran – tai siis koodin – haltuun. Koodin, joka on valjastettu toimimaan luottoprotokollan ja konsensusmekanismin mukaisesti. Ylempänä mainittu luottovapaus ei siis tarkoita sitä, ettet voi enää luottaa kehenkään, vaan sitä, ettei sinun tarvitse luottaa enää kehenkään.

Luota koodiin.