blogi
01
heinä
konsensusalgoritmit

Sivusto sisältää affiliate-linkkejä. Bitcoinkeskus voi olla oikeutettu kompensaatioon, jos vierailet yhteistyökumppaneiden sivuilla linkkiemme kautta. Saat lisätietoja mainoksista info-sivulta.

Erilaiset konsensusalgoritmit esittelyssä

Konsensusalgoritmit ovat jokaisen kryptovaluutan ytimessä. Bitcoinin käyttämä Proof of Work on monille se tunnetuin vaihtoehto, mutta nykyisin käytössä on jo monia erilaisia algoritmeja. Tässä artikkelissa esitellään niistä yleisimpiä.

Yleistä konsensusalgoritmeista

Kuten nimikin kertoo, tämä algoritmi määrittää sen, miten verkon konsensus muodostetaan. Kyseessä on niin tärkeä komponentti, koska kryptovaluutat ovat lähtökohdaltaan hajautettuja, eli verkko ei ole yhden keskitetyn toimijan kontrollissa. Tämä johtaa puolestaan siihen, että verkossa voi olla myös vihamielisiä toimijoita.

Lähes jokaisen kryptovaluutan ohjelmisto on vapaasti ladattavissa. Verkot ovat tyypiltään permissionless, eli kuka tahansa voi liittää oman palvelimensa mukaan yhdeksi verkon solmuksi. Tämä solmu voi sitten pyrkiä hyväksymään virheellisiä transaktioita tms.

Yksi konsensusalgoritmien tehtävistä onkin virheiden ja erilaisten hyökkäysten kestokyky (engl. fault tolerance). Tämän lisäksi ne määrittelevät insentiivit ja niiden reilun jaon verkon osallistujille, eli millaisia palkkioita nodet tai louhijat työstään saavat.

Konsensusalgoritmi on siis kokoelma pelisääntöjä, joiden avulla verkon eri toimijat (nodet, louhijat, validaattorit) ylläpitävät kryptovaluutan tietovarastoa eli lohkoketjua.

Käydään seuraavaksi läpi muutamia tunnettuja konsensusalgoritmeja sekä niiden tärkeimpiä ominaisuuksia.

Proof of Work (PoW)

Proof of Work on varmasti tunnetuin konsensusalgoritmi. Tämä johtuu tietysti siitä, että ko. algoritmi on Bitcoinin käytössä.

Bitcoin ei ole ainoa PoW-pohjainen kryptovaluutta. On hieman yllättävää, että puolet top 10 -kryptovaluutoista luottaa Proof of Work -konsensukseen: Bitcoin, Ethereum, Bitcoin Cash, Bitcoin SV sekä Litecoin.

PoW:n suosiota suurimpien kryptovaluuttojen kohdalla selittää historia. Bitcoin, Ethereum ja Litecoin syntyivät aikana, jolloin Proof of Stake ei ollut vielä erityisen suosittu vaihtoehto. Bitcoin Cash ja Bitcoin SV ovat puolestaan Bitcoinin forkkeja.

Käytännössä kryptovaluutat voidaan jakaa kahteen selkeään kategoriaan: Proof of Work sekä Proof of Stake. Merkittävä ero on tietysti louhinnassa eli PoW käyttää fyysisiä louhintalaitteita. PoS-konsensuksesta on monia eri variaatioita, joita käydään läpi myöhemmin.

asic-miner-btc
Kuvassa Bitcoinin louhintaan tarkoitettu ASIC-kone.

Proof of Work -mallissa on kaksi erilaista verkon toimijaa: nodet ja louhijat. Nodet eli solmut verifioivat verkkoon lähetetyt transaktiot ja jäävät tyypillisesti ilman palkkioita. Louhijat tekevät ns. raskaan työn keräämällä nämä transaktiot yhteen ja rakentamalla niistä lohkoketjun lohkon.

Louhijoiden työ on ratkoa matemaattisia yhtälöitä 24/7. Ne kilpailevat jatkuvasti siitä, kuka louhijoista saa kunnian lisätä seuraavan lohkon ja kerätä sen tuomat lohkopalkkiot. Etenkin Bitcoinin louhinta on nykyisin miljardibisnes ja valtavien louhintafarmien kontrolloimaa.

Proof of Work on Bitcoinin kohdalla hyvin turvallinen, koska hyökkäys lohkoketjuun vaatisi mielettömän laskentatehon uhraamista. Saavutettu hyöty olisi tähän verrattuna niin pieni, ettei se oikein kannata.

Pienempien PoW-valuuttojen kohdalla tilanne on toinen, ja ns. 51%-hyökkäyksiä onkin viime vuosina nähty.

PoW-konsensukseen liittyy myös tiivistealgoritmi / louhinta-algoritmi. Bitcoin ja sen forkit käyttävät kuuluisaa SHA-256:tta. Litecoinin louhinta-algoritmi on nimeltään Scrypt ja Ethereumin puolestaan ethash. Tämä algoritmi määrittää sen, vaatiiko louhinta esimerkiksi enemmän prosessoritehoa vai muistia.

Proof of Stake (PoS)

Proof of Work -konsensusalgoritmin ongelmat huomattiin nopeasti jo 2010-luvun alkupuolella. Valtava tehonkulutus tarkoittaa myös valtavaa sähkönkulutusta, minkä lisäksi fyysiset louhintalaitteet tuovat mukaan tiettyjä pullonkauloja.

Proof of Stake -vaihtoehdon esittelivät jo vuonna 2012 Sunny King ja Scott Nadal. Ensimmäinen PoS-valuutta oli Peercoin.

PoS-konsensusta käyttämä kryptovaluutta ei sisällä louhintaa sanan varsinaisessa merkityksessä. Louhijoiden sijaan verkossa on validaattoreita, jotka ovat käytännössä korkean statuksen node-palvelimia. Validaattoriksi pääsee steikkaamalla riittävän määrän kyseistä valuuttaa.

Steikkaaminen tarkoittaa käytännössä sitä, että validaattori lukitsee ison määrän ko. kryptovaluuttaa steikkaus-työhön. Näin ollen steikkaajalla on insentiivi hoitaa ylläpitotyö hyvin, koska virheellinen toiminta romahduttaisi hänen oman panoksensa arvon.

Myös 51%-hyökkäys on Proof of Stake -verkkoon todella vaikeaa, koska hyökkääjän täytyisi omistaa 51% kaikista kolikoista ja ostaa ne pois markkinoilta, mikä nostaisi hintaa valtavasti.

Käydään seuraavaksi läpi muutamia PoS-variantteja.

Delegated Proof of Stake (DPoS)

Delegated Proof of Stake on Dan Larimerin kehittämä konsensusalgoritmi. Larimer on yksi kryptoskenen tunnetuimpia nimiä, sillä hän on perustanut projektit BitShares, Steemit ja EOS. Tunnetuista kryptovaluutoista mm. EOS ja Tron käyttävät tätä versiota.

DPoS-järjestelmässä valitaan hyvin pieni määrä delegaatteja, tarkalleen 21 kappaletta, jotka ovat ikään kuin hallituksen jäseniä. Jokainen EOS-tokenin holdaaja voi antaa äänensä haluamalle delegaatille. Nämä hoitavat sitten lohkoketjun ylläpidon.

Koska delegaatteja on niin vähän, ne voivat toimia ajoittain jopa yhdessä kilpailun sijaan. Tämän vuoksi ratkaisu on kiistatta enemmän keskitetty, kuin moni vaihtoehto.

DPoS on erittäin skaalautuva ja nopea ratkaisu – yksi lohko muodostetaan noin puolessa sekunnissa. Se kelpaisi hyvin pohjaksi ratkaisuille, joissa tarvitaan tuhansien transaktioiden kapasiteettia per sekunti. Tällaisia järjestelmiä voisivat olla esim. pörssit, vedonlyöntisivut, Pokerihuone tai muut nettipelit.

Liquid Proof of Stake (LPoS)

Liquid Proof of Stake on tullut monille kryptosijoittajille tutuksi parin viime vuoden aikana. Tämä johtuu Tezos-projektin noususta lähes top kymppiin. Tezos käyttää LPoS-konsensusta, joka eroaa merkittävästi DPoS-ratkaisuta.

Tezosin mallissa kynnys validaattoriksi pääsemiseksi on huomattavasti pienempi. Rajana on tällä hetkellä 8000 kpl XTZ-tokenia eli noin 20 000 dollarin sijoitus. Tämä ei toki onnistu piensijoittajilta.

Tezosin mallissa näitä verkon ylläpitäjiä kutsutaan leipureiksi (engl. baker) ja lohkojen ylläpitoduuni on näin ollen leipomista (engl. baking). Piensijoittaja voi delegoida omat XTZ-tokeninsa jollekin verkon ylläpitäjistä ja saada osuuden louhintapalkkioista.

Practical Byzantine-Fault Tolerance (pBFT) ja sharding

Eräs mielenkiintoisimmista ratkaisuista on Zilliqa-projektin käyttämä pBFT yhdessä sharding-teknologian kanssa. Sharding tarkoittaa käytännössä verkon pilkkomista osiin (engl. shard), jonka avulla ylläpitotyö saadaan hajautettua ja kapasiteetti moninkertaistettua.

Zilliqa oli ensimmäinen projekti, joka implementoi sharding-teknologialla onnistuneesti MainNetin puolelle. Tämä tapahtui tammikuussa 2019. Zilliqa yhdistää shardingin ja Proof of Stake -variantti pBFT:n mielenkiintoiseksi kokonaisuudeksi.

Tässä mallissa on useita erityyppisiä node-palvelimia, joista voit lukea lisää Bitcoinkeskuksen Zilliqa-oppaasta. Tiivistettynä: jokainen verkon sirpale (shard) verifioi sille ohjatut transaktiot ja muodostaa ns. mikroblokkeja. Lopulta eräänlainen node-palvelimista valittu komitea niputtaa nämä mikroblokit yhteen varsinaiseksi lohkoksi.

Practical Byzantine-Fault Tolerancen etuna on moniin muihin PoS-variantteihin transaktioiden lopullisuus (engl. transaction finality), eli transaktiot eivät vaadi yhtään vahvistusta.

Nykyisin lähes kaikki uudet projektit käyttävät Proof of Stake -pohjaista konsensusta. Markkinoilla on useita PoS-variantteja, esim. Cardanolla on oma Ouroboros, XRP Ledgerissä puolestaan Ripple Protocol Consensus Algorithm, NEM-platformissa on Proof of Importance ja niin edelleen.

Fyysisiä louhintalaitteita tarvitsevat lähinnä vanhemman sukupolven kryptovaluutat. Näistä myös Ethereum on siirtymässä Proof of Stake -konsensukseen. Ethereumin PoS-variantti on nimeltään Casper, minkä lisäksi se tulee hyödyntämään edellä mainittua sharding-teknologiaa.

Kuvat: InstagramFOTOGRAFIN / Pixabay, Markus Spiske on Unsplash


Oletko jo tilannut Bitcoinkeskuksen uutiskirjeen? Jos et, niin klikkaa tästä ja liity postituslistalle! Tarjolla on joka viikko teknistä analyysia sekä katsauksia tärkeimpiin tapahtumiin!