Yleistä lohkoketjuista

Teemu Hyytiäinen
Lohkoketju Laboratorio
3 min readOct 1, 2018
Image: Pixabay

Aikaisemmassa tekstissä kerrottiin Merkle-puusta, joka on yksi lohkoketjujen perusperiaatteista. Tässä jatketaan lohkoketjujen perusteita. Ensiksi käydään läpi haarautumista eli mitä tapahtuu, jos kaksi louhijaa löytää uuden lohkon samanaikaisesti ja lopuksi digitaalisia allekirjoituksia.

Haarautuminen voi tapahtua vahingossa tai pahantahtoisen toiminnan seurauksena. Vahingossa haarautuminen syntyy, jos kaksi eri louhijaa löytävät lohkon samanaikaisesti. Haarautumisen tapahtuessa louhijat voivat louhia kumpaa tahansa haaran päätä. Perinteisesti lohkoketjussa pisintä ketjua pidetään oikeana ketjuja. Tästä johtuen se haara, joka saa nopeammin lisää lohkoja, on oikea lohko. Alla olevasta kuvasta näkee, kuinka kahden samanaikaisesti löytyneen lohkon takia syntyy haara. Kun ylemmästä haarasta tulee pidempi kuin alemmasta, tulee siitä oikea haara ja alempi haara katoaa.

Jos kaikki lohkoketjun haarat jäisivät, voisi käyttäjällä olla yhdessä lohkoketjun haarassa 10 rahaketta, toisessa 20 ja kolmannessa 40. Tämä murentaisi luottamusta lohkoketjuihin.

Haarautuminen. Ylempi lohkoketju todetaan oikeaksi

On myös mahdollista, että osa solmuista haluaa tehdä lohkoketjuun muutoksia ja osa ei halua. Tällöin syntyy kaksi lohkoa, joilla on hieman eri ominaisuudet. Osa solmuista jatkaa alkuperäisen lohkoketjun louhimista ja osa alkaa louhia haarautunutta lohkoketjua. Seurauksena lohkoketjulle on tapahtunut haarautuminen eli fork. Haarautumisen jälkeen molempia haaroja pidetään oikeina, mutta ne ovat kaksi eri lohkoketjua. Tämä on tapahtunut muun muassa Ethereumille ja Bitcoinille. Vuonna 2016 Ethereum jakautui Ethereumiksi ja Ethereum Classiciksi ja vuonna 2017 Bitcoin jakautui Bitcoiniksi ja Bitcoin Cashiksi. Kaikki neljä lohkoketjua ovat yhtä oikeita ja niillä on hieman erilaisia ominaisuuksia.

Digitaalinen allekirjoitus on verrattavissa perinteiseen allekirjoitukseen. Sen tarkoituksena on todistaa allekirjoittaneen olevan, kuka sanoo olevansa ja että hänellä on oikeus tehdä haluttuja toimia. Nykyisin digitaalista allekirjoitusta käytetään muun muassa sähköposteissa ja lukemattomilla WWW-sivuilla.

Toimiakseen digitaalinen allekirjoitus tarvitsee avainparin. Tämä voidaan generoida käyttämällä eräänlaista algoritmia. Algoritmi antaa avainparin, jossa on julkinen ja yksityinen avain. Nimensä mukaisesti toinen avain on julkinen eli kaikkien saatavilla ja toinen on avainten luojan omistuksessa. Lyhykäisyydessään allekirjoittaja allekirjoittaa yksityisellä avaimellaan ja muut voivat varmistua allekirjoittaneen olevan oikea henkilö julkisen avaimen avulla.

Käytännön esimerkissä Alice haluaa lähettää Bobille sähköpostia, kuten alla olevasta kuvasta nähdään.

  1. Alice kirjoittaa sähköpostin ja klikkaa “allekirjoita”. Sovellus aloittaa digitaalisen allekirjoituksen tekemisen. Ensiksi Alicen sähköpostista lasketaan tiiviste
  2. Tiiviste salataan käyttämällä Alicen yksityistä avainta
  3. Sähköposti ja salattu tiiviste lähetetään Bobille.
  4. Bobin saatua sähköpostin hänen sähköpostisovellus automaattisesti aloittaa allekirjoituksen tarkistamisen. Ensiksi tiivisteen salaus puretaan käyttämällä Alicen julkista avain.
  5. Seuraavaksi Bob luo tiivisteen saamastaan sähköpostista ja vertaa saamansa tiivistettä Alicen tiivisteeseen. Jos tiivisteet ovat sama, on sähköposti tullut varmasti Alicelta. Jos tiivisteissä on eroja, yrittää joku esiintyä Alicena.
Digitaalinen allekirjoitus ja sen tarkistaminen

Lohkoketjuissa digitaalista allekirjoitusta käytetään varmentamaan, että käyttäjät lähettävät vain omia rahakkeitaan ja tekevät vain siirtoja joihin heillä on oikeus.

Kootusti voidaan sanoa, että teknologiset ja peliteorian ratkaisut, jotka mahdollistavat lohkoketjut ovat olleet olemassa jo vuosia. Nyt näitä ratkaisuja on kuitenkin koottu yhteen ja sovellettu uudella tavalla ja seurauksena lohkoketjut ovat syntyneet.

--

--