• Ei tuloksia

BITCOININ SKAALAUTUVUUDEN RATKAISUT

Edellisessä luvussa esiteltiin Bitcoinin skaalautuvuuden ongelmia ja niiden perusteella voi ymmärtää, miksi yksiselitteisiä ratkaisuja on vaikea keksiä. Tämän luvun tarkoitus on selittää ehdotettuja ratkaisuja Bitcoinin skaalautuvuusongelmaan ja pohtia, miten joiden-kin ratkaisujen toteuttaminen saattaa vaikuttaa toisiin tekijöihin. Ensimmäisessä ala-luvussa 5.1 esitellään tässä kandidaatintyössä tarkasteltavat ratkaisuehdotukset ja ni-iden tyypit. Seuraavassa alaluvussa 5.2 tarkastellaan on-chain ratkaisuista tarkemmin sivuketjuja ja sirpalointia. Alaluvussa 5.3 tarkastellaan off-chain ratkaisuista tarkemmin salamaverkkoa.

5.1 Ratkaisuista yleisesti

Bitcoinin skaalautuvuuteen on ehdotettu monia erilaisia ratkaisuja ja niitä voidaan jakaa kategorioihin niiden luonteen perusteella. Tässä kandidaatintyössä keskitytään kuitenkin kahteen tunnetuimpaan kategoriaan ja niiden ratkaisuihin eli on- ja off-chain ratkaisuihin (Zhou et al., 2016; Kim ja Kim, 2021). Tämän alaluvun tarkoitus on esitellä kategoriat lukijalle taulukon avulla, jotta ne on helpompi ymmärtää ja luokitella niiden ominaisuuksien mukaan. Seuraavien alalukujen tarkoitus on sitten yksityiskohtaisemmin selittää tiettyä ehdotettua ratkaisua skaalautuvuusongelmaan.

Taulukko 3. Skaalautuvuusongelman ratkaisuehdotukset Kimin ja Kimin (2021) artikke-lia mukaillen.

Ratkaisuehdotus On-chain Off-chain

Suurempi lohkokoko Pirstalointi Salamaverkko

Ratkaisu Lohkojen koon

Yllä olevassa taulukossa 3 on esitelty yleisesti skaalautuvuusongelman ratkaisuja ja myös ratkaisuun liittyviä ongelmia. On olemassa muitakin kategorioita ratkaisuille kuten child-chain ja inter-chain menetelmät (Kim ja Kim, 2021), mutta ne menevät työn rajauk-sien ulkopuolelle.

5.2 On-chain ratkaisuehdotukset

On-chain ratkaisut keskittyvät pääketjun lohkojen rakenteen suunnitteluun, konsensusal-goritmiin ja pääketjun rakenteeseen. (Zhou et al., 2020) Tässä alaluvussa tarkastellaan kahta on-chain ratkaisuehdotusta, joita ovat sivuketjut ja sirpalointi.

Sivuketju on hajautettu vertaisverkosto arvon siirtämiselle, joka ei tarvitse kolmatta osa-puolta valvomaan transaktioita (Hueber, 2018). Sivuketjun tarkoitus on yhdistää useita lohkoketjuja keskenään ja se on oma lohkoketju, joka on niin sanotusti sidottu päälohko-ketjuun kiinni. Sivuketju mahdollistaa keskeisen tiedon siirtämisen pääketjusta toiseen.

(Bouoiyour et al., 2019) Tämä vähentäisi Bitcoinin pääketjun taakkaa, koska osa transaktioista tapahtuisi pääketjun ulkopuolella. De Kruijffin ja Weigandin (2017) mukaan sivuketjujen lisäarvo syntyy siitä, kun sivuketjuihin pystyy tallettamaan dataa, jota ei ha-luta tallettaa pääketjuun. Heidän mukaansa tämä saattaa johtaa nopeampaan transaktionopeuteen, kun käytetään pääketjun ennalta louhittuja osoitteita.

Yhtenä etuna sivuketjuissa Bouoiyour et al. (2019) mainitsevat sen mahdollisuutena no-peuttaa rahan kiertoa lyhentämällä lohkojen verifioimiseen kuluvaa aikaa. Heidän muk-aansa sivuketjun avulla mikä tahansa transaktio voidaan suorittaa jopa muutamissa min-uuteissa. Croman et al. (2016) kuitenkin toteavat, että transaktiot, joissa on osallisena enemmän kuin yksi hajautettu sivuketju, voivat johtaa korkeaan latenssiin. Bouoiyour et al. (2019) myöhemmin huomauttavat sivuketjujen olevan ratkaisu transaktioiden toteu-tumiseen nopeammin, mutta että se ei auta lohkojen verifioimisen kuluvaa aikaa. Tämä on yksi sivuketjujen isoimmista haasteista.

Sivuketjujen yhtenä haasteena sen, että jos sivuketjut otetaan laajasti käyttöön, niin to-dennäköisyys arvon lähtemisosoitteen ja loppuosoitteen löytymiselle samasta sivuket-justa ovat pienet. Sivuketjujen väliset transaktiot menisivät pääketjun kautta, joka mah-dollisesti vaatisi kaksi erillistä transaktiota. (Croman et al., 2016) Tämä kuormittaisi pääketjua entistä enemmän ja sivuketjuilla olisi siten negatiivinen vaikutus skaalau-tuvuuteen. Haasteena on, että missä määrin sivuketjuja voisi alkaa hyödyntämään Bitcoinissa.

Sirpalointi (engl. Sharding) on yksi mahdollinen ratkaisu skaalautuvuusongelmaan ja tek-niikassa on kyse konsensustehtävien pienentämisestä osiin ja jakamalla ne eri solmu-ryhmien tehtäväksi, tavoitteena parantaa suoritustehoa sekä vähentää yhdelle solmulle kohdistuvaa prosessointia ja varastoinnin vaatimuksia (Croman et al., 2016). Hafid et al.

(2020) näkevät sirpaloinnin olevan kaikista lupaavin ratkaisu lohkoketjujen skaalautu-vuusongelmaan ja heidän mukaansa tämä mahdollistaisi verkoston skaalautuvan sirpa-leiden lukumäärän mukaan, joka johtaisi suoritustehon ja varastoinnin tehostumiseen.

Hafid et al. (2020) mukaan tämä on yksi lupaavimmista skaalautuvuuden ratkaisuista, koska verkoston osajoukot työskentelisivät eri transaktiojoukon kanssa mieluummin kuin että koko vertaisverkosto työskentelisi samojen transaktioiden kanssa.

Sirpaloimiseen liittyy muun muassa ongelma siitä, että jokaisen osajoukon ei voida tietää olevan luotettavia (Cai et al., 2018). Osajoukoissa transaktioiden verifioinnit tapahtuisivat myös enemmistöperiaatteella, ja osajoukoissa olisi ilkivaltaisten helpompi saavuttaa enemmistö. Tämä johtaisi Wang et al. (2019) mukaan tilanteeseen, jossa olisi haastavaa varmistaa transaktioiden toteutuminen koko verkossa vain kerran. Jos tilanne epäonnis-tuttaisiin estämään, mahdollistaisi se tuplakuluttamisen ja Bitcoinin luotettavuuden las-kuun. Koska lohkoketjun tehtäviä on sirpaloinnissa jaettu pienempiin osiin, niin se tekee kokonaisuuden valvomisesta haastavampaa ja aiheuttaa pienen turvallisuusriksin. Hafid et al. (2020) mukaan verkko vaarantuu, jos edes yksi osajoukko on vaarantunut, joten huoli turvallisuusriskistä on aiheellinen.

Isot sirpaleet eivät ole skaalautuvia, koska koko verkosto käyttää samaa konsensusme-netelmää ja pienet sirpaleet eivät ole skaalautuvia, koska siitä seuraisi todella suuri sir-paleiden määrä (Khan et al., 2021). Tilanteessa on löydettävä keskitie ja tehtävä komp-romisseja moneen suuntaan. Sen lisäksi sirpalointi-pohjaiset ratkaisut lohkoketjussa te-kevät kompromisseja suoritustehon skaalautuvuuden, varastoinnin tehokkuuden ja tur-vallisuuden välillä (Lin et al., 2021). Tässä palataan aiemmin esitetyn skaalautuvuuden trilemman kaltaiseen tilanteeseen, jossa on tehtävä kompromisseja pääosin kolmen eri tekijän kanssa.

5.3 Off-chain ratkaisuehdotukset

Off-chain ratkaisut keskittyvät metodien ja lisäjärjestelmien kehittämiseen, jotka helpot-taisivat pääketjun taakkaa. Esimerkkinä on joidenkin transaktioiden suorittaminen pääketjun ulkopuolella tai siirtämällä osa vaativista matemaattisista tehtävistä pääketjun ulkopuoliselle alustalle. (Zhou et al., 2020)

Bitcoinin käyttö on muiden hyvien puolien lisäksi ollut tunnetusti edullista. Louhijat saavat Bitcoinin toimintaperiaatteen mukaisesti louhintapalkkion ja transaktion tehneen asetta-man vapaaehtoisen siirtomaksun. Siirtomaksujen käyttö ovat hyvin yleisiä, koska louhijat pystyvät priorisoimaan transaktioita siirtomaksun suuruuden pohjalta. Tämän avulla on mahdollista nopeuttaa hieman transaktionsa toteutumista. Kun siirrytään kuitenkin pienempi arvoisiin transaktioihin, niin Bitcoinin transaktioiden käytännöllisyys ja tehok-kuus laskevat muun muassa juuri siirtomaksun takia. Poon ja Dryjan (2016) innovaatio salamaverkko (engl. Lightning Network) on yksi ratkaisu helpottamaan skaalautuvuuden

ongelmaa ja keskittyy nimenomaan mikrotransaktioihin. Se on maksukanava, joka on rakennettu Bitcoinin päälle (Zhao et al., 2021) ja se helpottaisi pääketjun taakka, kun mikromaksut siirrettäisiin omaan kanavaansa pois pääketjusta.

Poon ja Dryjan (2016) salamaverkon ideana on se, että kaksi osapuolta voivat järjestää pääketjun ulkopuolisen suhteen, jossa jatkuvasti päivitetään osapuolten saldoja molempiin suuntiin. Käyttäjien turvallisuuden takaamiseksi, tarkempi katteen jakauma osapuolien välillä on luottamuksellista tietoa (Zhao et al., 2021). Salamaverkon ydintar-koitus on välttää jokaisen transaktion suorittamista pääketjun kautta perinteisten Bitcoin-transaktioiden tapaan. Tämä vähentää pääketjuun kohdistuvaa rasitusta huomattavasti ja on yksi mahdollinen ominaisuus, joka voisi auttaa selvittämään Bitcoinin skaalau-tuvuusongelmaa.

Chauhan et al. (2018) mukaan kaikista huolestuttavin ongelma salamaverkon käyttöön-otossa on kuitenkin se, että transaktioita verifioidaan pääketjun ulkopuolella. Menettely rikkoo lohkoketjuteknologian yhtä perustavanlaatuista ominaisuutta, jossa jokainen transaktio verifioidaan ennalta sovittujen sääntöjen mukaan (Chauhan et al., 2018).

Tämä voisi johtaa turvallisuusriskeihin. Kiayiasin ja Litosin (2020) mukaan kuitenkin sal-amaverkkoa voisi soveltaa rinnakkain toisten vastaavanlaisten säännöstöjen kanssa, jol-loin sen turvallisuutta ei tarvitsisi uudestaan parantaa. Tämän mukaan turvallisuushuolen ei pitäisi olla esteenä salamaverkon käyttöönotolle, mutta vaikuttaa sen tehokkuuteen, jos salamaverkon avuksi on rakennettava jokin toinen säännöstö, joka valvoo turval-lisuutta.

Sen lisäksi salamaverkolla on sen käytössä muita haasteellisia ominaisuuksia, kuten yhteyden avaaminen ja sulkeminen kahden osapuolen välillä. Nämä kirjataan Bitcoinin pääketjuun, joka vaatii aikaa ja transaktiokustannuksia. (Chauhan et al., 2018) Tämän myötä salamaverkossa kertaluonteisten transaktioiden latenssista tulee lineaarisia ver-kon todellisen viiveen kanssa (Kiayias ja Litos, 2020). Kun yhteys on lopulta muodostettu kahden osapuolen välillä, niin sen jälkeen maksut toteutuvat käytännössä välittömästi (Hafid et al., 2020). Salamaverkolla on piirteitä, jotka tekevät sen käytöstä jossain määrin epäkäytännöllistä, mutta tässä tapauksessa salamaverkosta saatavat hyödyt riippuvat osapuolten välillä käytävien transaktioiden määrästä. Mitä enemmän transaktioita kahden osapuolen välillä olisi, niin sitä suurempi hyöty salamaverkosta on.

Salamaverkko on kaiken kaikkiaan laajimmin käytössä oleva ratkaisu skaalautuvuu-songelmaan ja se vaikuttaa jo nyt lohkoketjuissa kuten esimerkiksi Bitcoinissa (Tikho-mirov et al., 2020). Salamaverkko ei ole kuitenkaan vielä päivittäisen käytön väline, sillä

muun muassa Malavolta et al. (2018, 2017) ovat löytäneet siitä turvallisuuden, anonyy-misyyden ja skaalautuvuuden rajoituksia.