Mikä on lohkoketjun konsensusalgoritmi?
Sisällysluettelo
Johdanto
Konsensusalgoritmit ja kryptovaluutat
Konsensusalgoritmien tyyppejä
Muut konsensusalgoritmit
Yhteenveto
Mikä on lohkoketjun konsensusalgoritmi?
Etusivu
Artikkelit
Mikä on lohkoketjun konsensusalgoritmi?

Mikä on lohkoketjun konsensusalgoritmi?

Aloittelija
Julkaistu Dec 13, 2018Päivitetty Oct 4, 2022
7m

Johdanto

Konsensusalgoritmi on mekanismi, jonka avulla käyttäjät tai laitteet voivat koordinoida toimintaansa hajautetussa ympäristössä. Algoritmin on varmistettava, että kaikki järjestelmän edustajat voivat sopia yhdestä totuuden lähteestä, vaikka jotkut osallistujat epäonnistuisivatkin. Toisin sanoen järjestelmän on oltava vikasietoinen (katso myös: Tietoa Bysantin viansietokyvystä).

Keskitetyssä järjestelmässä yksi taho hallitsee koko järjestelmää. Useimmissa tapauksissa se voi tehdä muutoksia haluamallaan tavalla – ei ole olemassa monimutkaista hallintojärjestelmää, jolla saavutettaisiin yksimielisyys monien hallinnoijien kesken. 

Hajautetussa järjestelmässä koko rakenne on kuitenkin aivan erilainen. Oletetaan, että työskentelemme hajautetun tietokannan parissa – miten pääsemme sopimukseen siitä, mitä merkintöjä siihen voidaan lisätä?

Tämän haasteen selättäminen ympäristössä, jossa toisilleen tuntemattomat eivät luota toisiinsa, oli ehkä tärkein kehitys, joka tasoitti tietä lohkoketjuille. Tässä artikkelissa tarkastelemme, kuinka konsensusalgoritmit ovat elintärkeitä kryptojen ja hajautettujen pääkirjojen toiminnalle.


Konsensusalgoritmit ja kryptovaluutat

Kryptovaluutoissa käyttäjien saldot tallennetaan tietokantaan eli lohkoketjuun. On tärkeää, että kaikki (tai tarkemmin sanottuna kaikki solmut) ylläpitävät identtistä kopiota tietokannasta. Muuten päädytään pian ristiriitaisiin tietoihin, jotka heikentävät kryptoverkon koko tarkoitusta.

Julkisen avaimen kryptografia varmistaa, että käyttäjät eivät voi käyttää toistensa kolikoita. Lisäksi on kuitenkin oltava vielä yksi totuuden lähde, johon verkoston osallistujat luottavat, jotta voidaan määrittää, onko varat jo käytetty.

Satoshi Nakamoto, Bitcoinin luoja, ehdotti työntodiste (Proof of Work, PoW) -järjestelmää osallistujien koordinoimiseksi. Siirrymme pian siihen, miten PoW toimii, mutta seuraavaksi kuvailemme joitain lukuisten olemassa olevien konsensusalgoritmien yhteisiä piirteitä.

Ensinnäkin käyttäjien, jotka haluavat lisätä lohkoja (kutsumme heitä vahvistajiksi), on tarjottava panos. Panos on jotain arvokasta, mitä vahvistajan on tarjottava ja mikä estää häntä toimimasta epärehellisesti. Jos vahvistaja huijaa, hän menettää panoksensa. Esimerkkejä ovat laskentateho, kryptot tai jopa maine. 

Miksi vahvistaja vaivautuisi riskeeraamaan omia varojaan? No, tarjolla on myös palkkioita. Nämä koostuvat yleensä protokollan natiivikryptoina maksettavista muiden käyttäjien maksamista maksuista, juuri luoduista kryptoista tai molemmista.

Viimeinen asia, jota tarvitsemme, on avoimuus. Meidän on kyettävä havaitsemaan, milloin joku huijaa. Ihannetapauksessa lohkojen tuottamisen pitäisi olla kallista, mutta niiden vahvistamisen tulisi olla halpaa. Tämä varmistaa, että tavalliset käyttäjät pitävät vahvistajat kurissa.


Konsensusalgoritmien tyyppejä

Työntodiste (PoW)

Työntodiste (Proof of Work, PoW) on lohkoketjukonsensusalgoritmien isoisä. Se otettiin ensimmäisen kerran käyttöön Bitcoinissa, mutta varsinainen konsepti on ollut olemassa jo jonkin aikaa. Työntodisteessa vahvistajat (joita kutsutaan louhijoiksi) hajauttavat tiedot, jotka he haluavat lisätä, kunnes he tuottavat tietyn ratkaisun.

Hajautusarvo on näennäisesti satunnainen kirjainten ja numeroiden merkkijono, joka luodaan, kun käsittelet tietoja hajautusfunktiolla. Jos käsittelet samat tiedot sillä uudelleen, päädyt aina samaan tulosteeseen. Jos kuitenkin muutat edes yhtä yksityiskohtaa, hajautusarvo on täysin erilainen.

Tuloksesta et voi mitenkään kertoa, mistä tiedoista se koostuu. Siksi hajautusarvo on hyödyllinen todistaessasi, että tiesit tiedot ennen tiettyä aikaa. Voit antaa jollekulle tämän hajautusarvon, ja kun myöhemmin paljastat tiedot, kyseinen henkilö voi käsitellä ne funktiolla varmistaakseen, että tulos on sama.

Työntodisteessa protokolla asettaa ehdot sille, mikä tekee lohkosta kelvollisen. Se voi esimerkiksi sanoa, että vain lohko, jonka hash alkaa 00:lla, on kelvollinen. Ainoa tapa, jolla louhija voi luoda sellaisen lohkon, joka vastaa tätä yhdistelmää, on raa'an voiman käyttäminen. Hän voi säätää asetusta tiedoissaan ja tuottaa erilaisen tuloksen jokaiselle arvaukselle, kunnes hän saa oikean hajautusarvon. 

Suurissa lohkoketjuissa rima on asetettu uskomattoman korkealle. Jos haluat kilpailla muiden louhijoiden kanssa, tarvitset varaston, joka on täynnä erikoistuneita hajautuslaitteita (ASICeja), jotta sinulla olisi mahdollisuus tuottaa kelvollinen lohko.

Panoksesi louhinnassa on näiden koneiden hinta ja niiden käyttämiseen tarvittava sähkö. ASICit on rakennettu yhteen tarkoitukseen, joten niillä ei ole käyttöä kryptojen louhinnan ulkopuolisissa sovelluksissa. Ainoa tapa saada takaisin alkuinvestointisi on louhia, mikä tuottaa merkittäviä palkkioita, jos onnistut lisäämään uuden lohkon lohkoketjuun.

Verkon on todella helppoa varmistaa, että olet todellakin luonut oikean lohkon. Vaikka olisit kokeillut biljardeja yhdistelmiä saadaksesi oikean hajautusarvon, sen on vain käsiteltävä tietosi funktiossa kerran. Jos tietosi tuottavat kelvollisen hajautusarvon, ne hyväksytään ja saat palkkion. Muuten verkko hylkää lohkon, ja olet tuhlannut aikaa ja sähköä turhaan.


Varantotodiste (PoS)

Varantotodistemallia (Proof of Stake, PoS) ehdotettiin Bitcoinin alkuaikoina vaihtoehdoksi työntodisteelle. PoS-järjestelmään ei liity louhijoita, erikoislaitteita tai huomattavaa energiankulutusta. Tarvitset vain tavallisen tietokoneen.

No, ei nyt aivan. Sinun on lisäksi annettava oma panoksesi. PoS:ssä et tarjoa ulkoisia resursseja (kuten sähköä tai laitteistoa), vaan sisäisiä eli tässä tapauksessa kryptoja. Säännöt vaihtelevat protokollittain, mutta yleensä sinulla on oltava vähimmäismäärä varoja, jotta voit steikata ne.

Sen jälkeen ne lukitaan lompakkoon (niitä ei voi siirtää sinä aikana, kun ne on steikattu). Yleensä sinun tulee sopia muiden vahvistajien kanssa siitä, mitkä transaktiot sisällytetään seuraavaan lohkoon. Tietyssä mielessä lyöt vetoa valittavasta lohkosta, ja protokolla valitsee yhden lohkon.

Jos lohkosi valitaan, saat osan transaktiomaksuista panoksestasi riippuen. Mitä enemmän varoja olet lukinnut, sitä enemmän voit ansaita. Mutta jos yrität huijata ehdottamalla virheellisiä transaktioita, menetät osan panoksestasi (tai koko panoksesi). Siksi tämä malli on samanlainen kuin PoW:n – rehellinen toiminta on kannattavampaa kuin epärehellinen toiminta.

Yleensä vahvistajien palkkioihin ei sisälly juuri luotuja kolikoita. Lohkoketjun natiivivaluutta on siis laskettava liikkeeseen jollakin muulla tavalla. Tämä voidaan tehdä joko alkujakelun (eli ICO:n tai IEO:n) kautta tai käynnistämällä protokolla PoW:llä ennen myöhempää siirtymistä PoS:ään.

Tähän mennessä puhdasta varantotodistemallia on todella käytetty vain pienemmissä kryptoissa. Siksi on epäselvää, voiko se toimia toteuttamiskelpoisena vaihtoehtona PoW:lle. Vaikka malli näyttää teoriassa toimivalta, se tulee olemaan käytännössä hyvin erilainen. 

Kun PoS on otettu käyttöön suuriarvoisessa verkossa, järjestelmästä tulee peliteorian ja taloudellisten kannustimien pelikenttä. Jokainen, jolla on tietotaitoa "hakkeroida" PoS-järjestelmä, tekisi sen todennäköisesti vain, jos he voisivat hyötyä siitä – siksi ainoa tapa selvittää, onko se mahdollista, on kokeilla mallia tosimaailmassa.

Näemme pian PoS:n testaamisen suuressa mittakaavassa – Casper otetaan käyttöön osana Ethereum-verkon päivityssarjaa (joka tunnetaan yhdessä nimellä Ethereum 2.0).


Muut konsensusalgoritmit

Työntodiste ja varantotodiste ovat puhutuimpia konsensusalgoritmeja. On kuitenkin olemassa laaja valikoima myös muita vaihtoehtoja, joilla kaikilla on omat etunsa ja heikkoutensa. Voit saada lisätietoja niistä seuraavista artikkeleista:


Yhteenveto

Yhteisymmärryksen saavuttamiseen tarvittavat mekanismit ovat elintärkeitä hajautettujen järjestelmien toiminnalle. Monet uskovat, että Bitcoinin suurin innovaatio oli työntodisteen käyttö, jonka avulla käyttäjät voivat sopia yhteisistä tosiasioista.

Konsensusalgoritmit tukevat nykyään paitsi digitaalisia rahajärjestelmiä myös lohkoketjuja, joiden avulla kehittäjät voivat suorittaa koodia hajautetussa verkossa. Ne ovat nykyään lohkoketjutekniikan kulmakivi ja kriittisiä olemassa olevien eri verkkojen pitkän aikavälin elinkelpoisuuden kannalta.

Kaikista konsensusalgoritmeista työntodiste on edelleen hallitseva malli. Luotettavampaa ja turvallisempaa vaihtoehtoa ei ole vielä ehdotettu. PoW:n korvaamiseen liittyy kuitenkin valtava määrä tutkimusta ja kehitystyötä, ja näemme todennäköisesti lisää eri ehdotuksia tulevina vuosina.