Lohkoketjuteknologian skaalautuvuus : Haasteet ja ratkaisut
Skogberg, Kristian (2022)
Skogberg, Kristian
2022
Tieto- ja sähkötekniikan kandidaattiohjelma - Bachelor's Programme in Computing and Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-06-15
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202206145663
https://urn.fi/URN:NBN:fi:tuni-202206145663
Tiivistelmä
Lohkoketjuteknologia on ajankohtainen aihe varsinkin tekniikan alalla. Monet alan asiantuntijat pitävät sitä mullistavana teknologiana ja uskovat lohkoketjuteknologian tulevan osaksi jokapäiväistä elämäämme tulevaisuudessa. Tässä työssä käsitellään lohkoketjuteknologian toimintaperiaatteita ja skaalautuvuutta. Työn tavoite on selvittää lohkoketjun skaalautuvuusongelmia ja minkälaisia ratkaisuja niihin on kehitetty.
Työ on jaettu kahteen osaan. Aluksi käsitellään lohkoketjun toimintaperiaatteita ja yleisimpiä konsensusmekanismeja. Sen jälkeen esitetään lohkoketjun skaalautuvuuteen liittyviä ongelmia ja niihin kehitettyjä ratkaisuja. Työ on toteutettu kirjallisuuskatsauksena ja lähteiksi on valittu tieteellisiä julkaisuja aikaväliltä 2017–2022.
Lohkoketju on hajautettu järjestelmä, joka mahdollistaa esimerkiksi vaihtokauppojen tekemisen turvallisesti ilman kolmatta osapuolta. Nimensä mukaisesti lohkoketju koostuu peräkkäisistä lohkoista ja jokainen lohko voi sisältää dataa. Lohkoketjut ovat lähtökohtaisesti täysin avoimia, eli kuka tahansa voi tarkastella ketjun sisältämää dataa ja tapahtumia. Lukuisat eri palvelinkoneet vahvistavat lohkoketjun tapahtumat erilaisilla konsensusmekanismeilla, joista yleisimpiä ovat Proof of Work ja Proof of Stake. Kun uusi tapahtuma on vahvistettu, se kootaan uuteen lohkoon ja tämä lohko lisätään lohkoketjun loppuun.
Työssä havaittiin, että lohkoketjuteknologian skaalautuvuuden suurimmat haasteet liittyvät tapahtumien nopeuteen ja lohkojen tilaan. Jokainen lohkoketju pystyy käsittelemään tietyn verran tapahtumia sekunnissa. Tapahtumien käsitteleminen voi kestää pitkään, mikäli lohkoketjussa on ruuhkaa. Lohkojen tila on myös hyvin rajallinen ja lohkoketjun koko kasvaa aina, kun sinne lisätään uusia lohkoja.
Lohkoketjun skaalautuvuuden haasteita voidaan ratkaista joko lohkoketjun sisällä tai sen ulkopuolella. Lohkoketjun sisällä voidaan suurentaa lohkoja, jolloin lohkoihin mahtuisi enemmän dataa. Tapahtumien datasta on myös mahdollista siirtää tietty osuus lohkon ulkopuolelle, jotta lohkoon mahtuisi enemmän dataa. Useita tapahtumia on myös mahdollista suorittaa samanaikaisesti hyödyntämällä sirpalointia. Tapahtumien käsitteleminen voidaan myös ulkoistaa lohkoketjun ulkopuolelle maksukanaville ja sivuketjuille.
Työ on jaettu kahteen osaan. Aluksi käsitellään lohkoketjun toimintaperiaatteita ja yleisimpiä konsensusmekanismeja. Sen jälkeen esitetään lohkoketjun skaalautuvuuteen liittyviä ongelmia ja niihin kehitettyjä ratkaisuja. Työ on toteutettu kirjallisuuskatsauksena ja lähteiksi on valittu tieteellisiä julkaisuja aikaväliltä 2017–2022.
Lohkoketju on hajautettu järjestelmä, joka mahdollistaa esimerkiksi vaihtokauppojen tekemisen turvallisesti ilman kolmatta osapuolta. Nimensä mukaisesti lohkoketju koostuu peräkkäisistä lohkoista ja jokainen lohko voi sisältää dataa. Lohkoketjut ovat lähtökohtaisesti täysin avoimia, eli kuka tahansa voi tarkastella ketjun sisältämää dataa ja tapahtumia. Lukuisat eri palvelinkoneet vahvistavat lohkoketjun tapahtumat erilaisilla konsensusmekanismeilla, joista yleisimpiä ovat Proof of Work ja Proof of Stake. Kun uusi tapahtuma on vahvistettu, se kootaan uuteen lohkoon ja tämä lohko lisätään lohkoketjun loppuun.
Työssä havaittiin, että lohkoketjuteknologian skaalautuvuuden suurimmat haasteet liittyvät tapahtumien nopeuteen ja lohkojen tilaan. Jokainen lohkoketju pystyy käsittelemään tietyn verran tapahtumia sekunnissa. Tapahtumien käsitteleminen voi kestää pitkään, mikäli lohkoketjussa on ruuhkaa. Lohkojen tila on myös hyvin rajallinen ja lohkoketjun koko kasvaa aina, kun sinne lisätään uusia lohkoja.
Lohkoketjun skaalautuvuuden haasteita voidaan ratkaista joko lohkoketjun sisällä tai sen ulkopuolella. Lohkoketjun sisällä voidaan suurentaa lohkoja, jolloin lohkoihin mahtuisi enemmän dataa. Tapahtumien datasta on myös mahdollista siirtää tietty osuus lohkon ulkopuolelle, jotta lohkoon mahtuisi enemmän dataa. Useita tapahtumia on myös mahdollista suorittaa samanaikaisesti hyödyntämällä sirpalointia. Tapahtumien käsitteleminen voidaan myös ulkoistaa lohkoketjun ulkopuolelle maksukanaville ja sivuketjuille.
Kokoelmat
- Kandidaatintutkielmat [8709]