Artikkeli
Proof of work ja proof of stake: mistä verkon turva syntyy?
Proof of work ja proof of stake ovat tapoja muodostaa yhteinen käsitys lohkoketjun tapahtumista ilman yhtä keskitettyä kirjanpitäjää. Niiden ero on erityisesti resurssissa, jonka avulla osallistujat kilpailevat tai osallistuvat: proof of work käyttää laskentatyötä, kun taas proof of stake perustuu verkon sääntöjen mukaiseen panokseen. Kumpikaan nimi ei yksin todista, että jokainen sitä käyttävä verkko on turvallinen. 4
Turvallisuutta pitää arvioida kyseisen verkon sääntöjen ja osallistujien perusteella. Seuraava vertailu kuvaa perusidean ja käyttää Ethereumia esimerkkinä proof of stake -toteutuksesta. Se ei ole sijoitussuositus eikä arvio tietyn palvelun staking-tuotteesta.
Miksi verkko tarvitsee yhteisymmärryksen?
Jos käyttäjä lähettää tapahtuman hajautettuun verkkoon, osallistujien on päästävä yhteisymmärrykseen siitä, mitkä tapahtumat hyväksytään ja missä järjestyksessä. Muuten eri osallistujat voisivat nähdä eri historian. Konsensusmekanismi auttaa valitsemaan yhteisen ketjun silloin, kun mahdollisia jatkoja on useita.
Samalla solmut tarkistavat, täyttävätkö lohkot verkon omat kelpoisuussäännöt. On tärkeää erottaa lohkon ehdottaminen ja sen hyväksyminen: pelkkä valta ehdottaa lohkoa ei tarkoita, että muut solmut hyväksyisivät mielivaltaisesti sääntöjen vastaisia tapahtumia. Käytännön yksityiskohdat riippuvat protokollasta. 4
Proof of work: laskentaa ja siihen käytettyjä resursseja
Proof of work -mallissa louhijat tekevät laskentatyötä yrittäessään löytää verkon vaikeusehdon täyttävän ratkaisun. Työ vaatii laitteistoa ja energiaa. Sen tehtävänä on tehdä historian kilpailevan version rakentamisesta kallista suhteessa siihen työhön, jota muu verkko tekee. 4 20
Karkeasti sanottuna hyökkääjä, jolla on merkittävästi laskentatehoa, voi yrittää rakentaa vaihtoehtoista ketjua tai vaikuttaa siihen, mitkä tapahtumat päätyvät lohkoihin. Se ei kuitenkaan ole sama asia kuin oikeus kuluttaa toisen käyttäjän varat ilman vaadittavaa valtuutusta. Hyökkäyksen tarkat mahdollisuudet ja onnistuminen riippuvat verkosta, hyökkäyksen kestosta ja muiden osallistujien toimista.
Louhinnan turvallisuus ei tarkoita, että jokainen uusi tapahtuma olisi välittömästi peruuttamaton. Käytännössä vastaanottaja arvioi vahvistuksia oman riskinsietonsa ja käytettävän verkon perusteella. Yhtä kaikille verkoille sopivaa odotusaikaa ei voi päätellä pelkästä proof of work -nimestä.
Proof of stake: panos ja vahvistajien toiminta
Proof of stake -järjestelmässä osallistujat asettavat panoksen verkon sääntöjen mukaiseen käyttöön ja osallistuvat sen avulla konsensukseen. Ethereumin kuvauksessa validaattorit ehdottavat lohkoja ja antavat niistä vahvistuksia. Tahalliseen tai sääntöjen määrittelemään virheelliseen toimintaan voi liittyä panoksen menettäminen eli slashing. 4 5
Oleellinen ero ei ole se, että proof of stake -verkko toimisi ilman tietokoneita tai sähköä. Ero on siinä, ettei Ethereumin konsensus perustu proof of workin kaltaiseen laskentakilpailuun. Myös validaattorien ohjelmistot ja verkon muu infrastruktuuri tarvitsevat laitteita ja energiaa. Energiankulutus ja ympäristövaikutus eivät myöskään ole sama mittari, koska energian lähteet vaihtelevat. 20
Ethereumin toteutuksessa lopullisuus eli finality kuvaa konsensuksen tilaa, jossa lohkon muuttamiseen liittyy erityisen vahvoja taloudellisia seurauksia. Sitä ei pidä sekoittaa väitteeseen, että mikään poikkeustilanne ei voisi koskaan aiheuttaa ongelmaa. Muiden proof of stake -verkkojen lopullisuusmalli on tarkistettava erikseen. 4 5
Esimerkki: mitä hyökkääjä yrittää muuttaa?
Kuvitellaan kaksi erillistä verkkoa. Ensimmäisessä hyökkääjä hankkii huomattavan osuuden louhinnan laskentatehosta ja yrittää kasvattaa vaihtoehtoista tapahtumahistoriaa. Toisessa hyökkääjä hallitsee huomattavaa osuutta panoksesta ja yrittää vaikuttaa siihen, mitä lohkoja vahvistetaan. Molemmissa tavoitteena voi olla hyötyä historian järjestyksen muuttamisesta, mutta resurssit ja mahdolliset seuraukset ovat erilaisia. 4 5
Esimerkki ei osoita hyökkäyksen onnistumista eikä aseta yleistä prosenttirajaa. Ethereumia koskevassa analyysissa kuvataan myös tarkkaan rajattuja hyökkäystapoja, joissa pienempi panos voi tietyin oletuksin vaikuttaa lyhyisiin uudelleenjärjestelyihin tai lopullisuuden viiveeseen. Siksi yksi tunnettu enemmistöraja ei kuvaa kaikkia mahdollisia hyökkäyksiä. 5
Turva riippuu myös osallistujien jakautumisesta
Mallin lisäksi on kysyttävä, kenelle ratkaiseva valta käytännössä keskittyy. Louhintateho voi keskittyä suuriin ryhmiin; panokseen perustuvassa mallissa vaikutusvalta voi keskittyä suurille toimijoille. Ethereum.org nostaa esiin molempiin liittyviä keskittymisriskejä, mutta yksittäisen verkon tilanne on aina tutkittava erikseen. 4
Myös ohjelmiston toteutus, solmujen yhteydet ja käytössä olevat säännöt vaikuttavat siihen, miten verkko toimii häiriössä. Konsensus ei myöskään automaattisesti suojaa käyttäjää jokaisen verkon päällä toimivan sovelluksen virheiltä. Turvallinen yhteisymmärrys tapahtumista ja yksittäisen sovelluksen luotettavuus ovat eri arvioita.
Konsensusmalli ei myöskään anna vastausta siihen, onko verkon oma valuutta sopiva sijoitus. Valuutan markkinahinta, palveluntarjoajan toiminta ja käyttäjän mahdollisuus käyttää varojaan ovat erillisiä kysymyksiä. Samalla nimellä kuvattuja malleja voidaan toteuttaa eri säännöin, joten lähteen pitää koskea juuri sitä verkkoa ja ajankohtaa, jota arvioit.
Kun vertailet verkkoja, kysy ainakin, mikä resurssi osallistujalta vaaditaan, kuka sitä hallitsee, mitä sääntöjen rikkomisesta seuraa ja miten kyseinen verkko käsittelee kilpailevia lohkoja. Tarkista lisäksi, mitä lopullisuus tarkoittaa juuri siinä verkossa. Selkeä vastaus on hyödyllisempi kuin väite, että jokin konsensusnimike yksin tekee sijoituksesta turvallisen.