Miten lohkoketju toimii?
Miten lohkoketju toimii?
HomeArticles
Miten lohkoketju toimii?

Miten lohkoketju toimii?

Keskitaso
Published Dec 9, 2018Updated Jun 29, 2022
5m

Mikä on lohkoketju?

Lyhyesti sanottuna lohkoketju on lista tietueista, joka toimii hajautettuna digitaalisena pääkirjana. Tiedot on järjestetty lohkoihin, jotka puolestaan on järjestetty kronologisesti ja suojattu kryptografialla
Varhaisin lohkoketjun malli luotiin 1990-luvun alussa, kun tietojenkäsittelytieteilijä Stuart Haber ja fyysikko W. Scott Stornetta käyttivät kryptografisia tekniikoita lohkojen ketjussa suojatakseen digitaalisia asiakirjoja tietojen väärentämiseltä. 
Haberin ja Stornettan tekemä työ toimi inspiraationa monien muiden tietojenkäsittelytieteilijöiden ja kryptografian harrastajien työlle – mikä lopulta johti bitcoinin luomiseen ensimmäisenä hajautettuna elektronisena rahajärjestelmänä (tai yksinkertaisesti ensimmäisenä kryptovaluuttana).

Vaikka lohkoketjuteknologia on vanhempi kuin kryptovaluutat, vasta bitcoinin luomisen jälkeen vuonna 2008 alettiin tunnistaa sen potentiaali. Siitä lähtien kiinnostus lohkoketjuteknologiaa kohtaan on kasvanut asteittain ja kryptovaluutat ovat nyt tunnustettuja laajemmassa mittakaavassa.

Lohkoketjuteknologiaa käytetään enimmäkseen kryptovaluuttatransaktioiden tallentamiseen, mutta se sopii monenlaisen digitaalisen datan tallentamiseen ja sitä voidaan soveltaa monenlaisiin käyttötarkoituksiin. Vanhin, turvallisin ja suurin lohkoketjuverkko on bitcoin-verkko, joka on suunniteltu huolellisesti ja tasapainoisesti kryptografian ja peliteorian yhdistelmällä.


Miten lohkoketju toimii?

Kryptovaluuttojen yhteydessä lohkoketju koostuu vakaasta ketjusta lohkoja, joista jokainen tallentaa listan aiemmin vahvistetuista transaktioista. Koska lohkoketjuverkkoa ylläpitävät lukemattomat ympäri maailmaa sijaitsevat tietokoneet, se toimii hajautettuna tietokantana (tai pääkirjana). Tämä tarkoittaa, että jokainen osallistuja (eli solmu) ylläpitää kopiota lohkoketjun tiedoista ja kommunikoi keskenään varmistaakseen, että ne ovat kaikki samassa kohdassa (tai lohkossa).
Siksi lohkoketjutransaktiot tapahtuvat maailmanlaajuisessa vertaisverkossa, ja tämä tekee bitcoinista hajautetun digitaalisen valuutan, joka on rajaton ja sensuurinkestävä. Lisäksi useimpien lohkoketjujärjestelmien katsotaan toimivan ilman ulkopuolista luottamusta, koska ne eivät vaadi minkäänlaista luottamusta. Bitcoinia ei hallitse yksi ainoa hallinnoija.
Lähes jokaisen lohkoketjun keskeinen osa on louhinta, joka perustuu hajautusalgoritmeihin. Bitcoin käyttää SHA-256-algoritmia (Secure Hash Algorithm 256 bits). Se ottaa minkä tahansa pituisen syötteen ja tuottaa tuloksen, joka on aina samanpituinen. Tuotettua tulosta kutsutaan tiivisteeksi, ja tässä tapauksessa se koostuu aina 64 merkistä (256 bitistä).

Sama syöte johtaa siis samaan tulokseen riippumatta siitä, kuinka monta kertaa prosessi toistetaan. Mutta jos syötteeseen tehdään pieni muutos, tulos muuttuu kokonaan. Sellaisenaan hajautusfunktiot ovat deterministisiä, ja kryptovaluuttamaailmassa useimmat niistä on suunniteltu yksisuuntaisiksi hajautusfunktioiksi.

Yksisuuntainen funktio tarkoittaa, että tuloksesta on lähes mahdotonta laskea syötettä. Voidaan vain arvata, mikä syöte oli, mutta todennäköisyys arvata se oikein on erittäin pieni. Tämä on yksi syy, miksi bitcoinin lohkoketju on turvallinen.

Nyt kun tiedämme, mitä algoritmi tekee, perehdytään yksinkertaisen transaktioesimerkin avulla siihen, kuinka lohkoketju toimii.

Kuvittele, että Alicella ja Bobilla on molemmilla omat bitcoin-saldonsa. Oletetaan, että Alice on velkaa Bobille 2 bitcoinia.

Jotta Alice voisi lähettää Bobille nämä 2 bitcoinia, Alice lähettää kaikille verkon louhijoille viestin, joka sisältää transaktion, jonka hän haluaa tehdä.
Tässä transaktiossa Alice antaa louhijoille Bobin osoitteen ja bitcoinien määrän, jonka hän haluaa lähettää, sekä digitaalisen allekirjoituksen ja julkisen avaimensa. Allekirjoitus tehdään Alicen yksityisellä avaimella ja louhijat voivat vahvistaa, että Alice on näiden kolikoiden tosiasiallinen omistaja.

Kun louhijat ovat varmoja, että transaktio on kelvollinen, he voivat laittaa sen lohkoon monien muiden transaktioiden ohella ja yrittää louhia lohkon. Tämä tehdään syöttämällä lohko SHA-256-algoritmin läpi. Tuloksen on alettava tietyllä määrällä nollia, jotta se katsotaan kelvolliseksi. Tarvittavien nollien määrä riippuu niin sanotusta "vaikeusasteesta", joka muuttuu sen mukaan, kuinka paljon laskentatehoa verkossa on.

Tuottaakseen tiivisteen, jossa on alussa haluttu määrä nollia, louhijat lisäävät lohkoon kryptografisen kerran käytettävän arvon (niin sanotun nonce-arvon), ennen kuin lohko syötetään algoritmin läpi. Koska pieni muutos syötteeseen muuttaa tuloksen kokonaan, louhijat kokeilevat satunnaisia nonce-arvoja, kunnes kelvollinen tiiviste löytyy.

Kun lohko on louhittu, louhija lähettää äskettäin louhitun lohkon kaikille muille louhijoille. Sitten louhijat tarkistavat, että lohko on kelvollinen, jotta he voivat lisätä sen lohkoketjun kopioonsa, minkä jälkeen transaktio on suoritettu. Mutta louhijoiden on sisällytettävä lohkoon myös edellisen lohkon tiiviste, jotta kaikki lohkot sitoutuisivat yhteen. Tästä johtuu nimi lohkoketju. Tämä on tärkeä osa sen vuoksi, miten luottamus toimii järjestelmässä.

Jokaisella louhijalla on oma kopio lohkoketjusta tietokoneellaan ja jokainen luottaa siihen lohkoketjuun, johon on tehty eniten laskennallista työtä, eli pisimpään lohkoketjuun. Jos louhija muuttaa transaktiota edellisessä lohkossa, kyseisen lohkon tiiviste muuttuu, mikä johtaa siihen, että myös kaikki sen jälkeiset tiivisteet muuttuvat, koska lohkot on yhdistetty toisiinsa tiivisteillä. Louhijan täytyisi tehdä kaikki työ uudelleen, jotta joku hyväksyisi hänen lohkoketjunsa olevan oikea versio. Jos louhija haluaisi huijata, hän tarvitsisi yli 50 % verkon laskentatehosta, mikä on erittäin epätodennäköistä. Tällaisia verkkohyökkäyksiä kutsutaan täten 51 %:n hyökkäyksiksi.
Malli, jossa tietokoneet toimivat lohkojen tuottamiseksi, on nimeltään työntodiste (Proof-of-Work, PoW). On myös olemassa muita malleja, kuten varantotodiste (Proof-of-Stake, PoS), joka ei vaadi yhtä paljon laskentatehoa ja jonka tarkoitus on näin ollen kuluttaa vähemmän sähköä. Samalla tällaiset lohkoketjut skaalautuvat helpommin useammille käyttäjille.