Työntodisteen anatomia

Hugo Nguyenin essee Bitcoinin perusteista

--

Työntodiste (engl. Proof-of-Work, PoW) keksittiin alun perin keinoksi taistella roskapostia vastaan. Vasta myöhemmin se otettiin käyttöön digitaalisessa käteisessä [1].

Mitä PoW-louhinta oikeastaan tekee konepellin alla, on, että se muuntaa liike-energiaa (sähköä) tilikirjan lohkoiksi. Louhintakone suorittaa toistuvia tarkistetoimenpiteitä kunnes se ratkaisee kryptografisen arvoituksen. Kaikki hashit eli tarkisteet (tai tiivisteet) hylätään lukuun ottamatta sitä tarkistetta, joka ratkaisee edellä mainitun arvoituksen.

Tämä yksi pieni tarkiste, jonka laskenta itsesään vie hyvin vähän energiaa, edustaa itsessään suurta (mutta kuitenkin rajallista) määrää energiaa, joka oli tarpeen sen tuottamiseksi. “Todiste” siitä, että lohko luotiin. Lohkon uudelleenkirjoittamiseksi hyökkääjän on myöhemmin käytettävä suunnilleen sama määrä tarkistetoimia kuin mitä alkuperäisen tiivisteen luomiseen tarvittiin.

Sanotaan asia jälleen kerran: palauttaminen vaatii vastaavan määrän tiivistetoimintoja, ei vastaavaa määrää energiaa. Tämä johtuu siitä, että hajautusarvo vain edustaa käytettyä energiaa, ei itse energiaa.

Ajan mittaa tästä energian representaatiosta tulee aina vain vähemmän tarkkaa laitteistojen energiatehokkuuden parantuessa. Energia itsessään ei muutu, mutta sen vanhat representaatiot “vuotavat”.

Toinen tapa havainnollistaa tätä prosessia on ajatella PoW-louhintaa liittämällä aineellisia painoja virtuaalisiin lohkoihin. Ajan myötä vanhemmat lohkot vaurioituvat ja muuttuvat kevyemmiksi. Tämä alentaa ketjun kokonaispainoa muiden asioiden pysyessä yhtäläisinä.

Bitcoin torjuu tätä hankausprosessia luomalla jatkuvasti uusia lohkoja, joissa on tuoreita painoja. Tämä varmistaa sen, että ketjun kärki on aina raskas nykymuodossaan, mikä suojaa koko ketjun eheyttä. Raskas ketju == turvallinen ketju.

(Jotkut ovat ehdottaneet, että “raskain ketju” on parempaa terminologiaa kuin Satoshin “pisin ketju”. Pisin ketju voi olla hyvin harhaanjohtava, kun emme oikeastaan tarkoita kirjaimellisesti pituutta.)

SHA256 on tarkistefunktio, joka turvaa Bitcoinin PoW-louhinnan. SHA256 suojaa tilikirjaa uudelleenkirjoittamiselta. Yksi tarkiste sisään (louhiaksesi), yksi tarkiste ulos (palataksesi). Tämä antaa Bitcoinille sen peruuttamattomuuden ja muuttumattomuuden [2].

Tämä on hämmästyttävää, kun ajattelet asiaa. Tarkistetoimintojen koko olemassaolon tarkoituksena on turvata tilikirja! Harvoin reaalimaailmassa on vastaavanlaista täydellistä omistautumista ja tehokkuutta. (esim. bensiinin ja polttomoottorin välinen kontrasti).

Todellisuudessa kyseessä ei ole täydellinen omistautuminen (100 %), mutta jotain hyvin lähellä tätä. Koska peruuttamattomuus ja muuttumattomuus perustuu siihen, että tarkastetut tulokset ovat yhdenmukaisesti satunnaisia (aivan kuten painottamattoman nopan tapauksessa) ja algoritmit eivät todellakaan kykene simuloimaan reaalimaailman satunnaisuutta.

Meidän onneksemme SHA256:n kaltaiset tarkistefunktiot ovat osoittautuneet riittävän satunnaisiksi eli “näennäisen satunnaisiksi” (aka pseudosatunnaisuus). SHA256:sta on arvioitu ja stressitestattu vuosien ajan, jonka lisäksi sen taustalla on monipuolinen tutkimuskirjallisuus. Näin ollen meidän ei tarvitse (vielä) olla kovin huolissamme sen turvallisuudesta.

Pohjimmiltaan uskon, että ajatus “energian kiinnittämisestä” lohkoihin on oikea ja luultavasti ainoa tapa simuloida muuttumattomuutta virtuaalisesti.

Kuluneen energian käyttäminen lohkon tukena antaa meille mahdollisuuden tarkastella muuttumattomuutta objektiivisesti. Ota huomioon, että mikä tahansa muu kuin energiapohjainen menetelmä edellyttää viime kädessä jonkun subjektiivisen tulkinnan muuttumattomuudesta. [3]

Liittämällä energiaa lohkoon, annamme sille “muodon”. Tällöin sillä on todellista painoa ja seurauksia aineellisessa maailmassa. Voimme myös ajatella työntodistetta taikuutena, joka herättää joukon nollia ja ykkösiä elämään.

Toisin sanoen työntodiste on silta digitaalisen ja aineellisen välillä.

Vertaa tätä joihinkin kryptokissoihin (engl. cryptokitties), joita joku luo, muokkaa ja poistaa haluamallaan tavalla. Niiden ainutlaatuisuus ja olemassaolo eivät ole taattuja eikä luotettavaa.

Vaikka nykyinen työntodistuksen muoto epäonnistuisi, olen varma siitä, että on olemassa muita tapoja liittää energiaa lohkoon.

Yhteenvetona voidaan todeta, että työntodistuksen soveltaminen lohkoketjuihin saattaa osoittautua paljon merkittävämmäksi ja laaja-alaisemmaksi kuin mitä varten se alun perin luotiin. Työntodiste antaa meille muuttumattomuuden, joka antaa meille sensuroimattoman rahan, joka voi mahdollisesti muuttaa sen, miten yhteiskunta on järjestelty. (Lue Nick Szabon hieno essee yhteiskunnallisesta skaalautuvuudesta oppiaksesi lisää tästä).

(Alkuperäinen tviittiketju)

Kirjoittajan huomioita

[1] Ajatus käyttää työntodistetta digitaalisessa käteisrahassa on saattanut saada alkunsa Wei Dain b-money ja Nick Szabon bitgold-ehdotuksesta 1990-luvun lopulla. Hal Finney loi ensimmäisen työntodistuksen toteutuksen digitaalisessa käteisessä (RPOW) vuonna 2004.

[2] Muuttumattomuus on suhteellinen käsite. Kun sanomme “muuttumaton”, tarkoitamme yleensä, että se on käytännöllisesti katsoen muuttumaton, ei täysin muuttumaton. Jopa kultaa voidaan syntetisoida, jos tarjolla on tarpeeksi energiaa.

[3] Eräs tällainen menetelmä on varantotodistus (engl. Proof-of-Stake, PoW). Lue artikkelini varantotodistuksesta ymmärtääksesi sen sudenkuopat ja miksi se saattaa olla työntodistusta huonompi vaihtoehto.

Suomennos Hugo Nguyenin (Twitter) kirjoittamasta artikkelista “The Anatomy of Proof-of-Work”. Artikkeli on julkaistu alun perin Bitcoin Tech Talkissa 11.2.2018.

Hugo Nguyen on työskennellyt Litecoinin kehittämisen parissa Litecoin Foundationissa. Hänellä on yli 10 vuotta kokemusta ohjelmistokehitystä. Hän vietti yli seitsemän vuotta vanhempana ohjelmistokehittäjänä. Nykyisin hän työskentelee mobiilikehittäjänä YCombinatorista ponnistaneen Scribdin palveluksessa.

Kirjoituksen on suomentanut Thomas Brand (Twitter).

--

--

Thomas Brand
Brandin kirjasto

Curious observer. Interested in economics, fintech, Bitcoin, philosophy, strategy, innovation & existential risks.