Sami Suo-Heikki, ohjelmistokehittäjä ja yksi Idention perustajista, esittelee blogisarjassaan lohkoketjuja, niiden toimintaa sekä kryptovaluuttoja. Sarjan muut kirjoitukset löydät tämän tekstin lopusta.
Proof of Work
Proof of Work, lyhennettynä PoW, on esimerkiksi Bitcoinin käyttämä konsensus algoritmi. Bitcoinissa sitä käytetään varmistamaan, että kaikki noodit pääsevät yhteisymmärrykseen transaktioiden historiasta. PoW-algoritmi kehitettiin jo 90-luvun alussa vähentämään roskasähköpostien lähettämistä. Algoritmi vaati sähköpostia lähettävää tietokonetta käyttämään pienen määrän laskentatehoaan algoritmin läpäisemiseen ennen kuin tietokone pystyi lähettämään sähköpostia. Tämä vähensi roskapostien kuormaa sähköpostipalvelimella.
Bitcoinissa POW-algoritmia käytetään tilanteissa, kun noodi haluaa lisätä uuden lohkon lohkoketjuun. Jos POW-algoritmia ei käytettäisi, vaan ajattelisimme tilanteen, että kaikki noodit voivat lisätä uusia lohkoja lohkoketjuun, niin verkko tulvisi yrityksiä lisätä uusia lohkoja, eivätkä muut noodit ehtisi varmistamaan mitkä lohkot tulee lisätä lohkoketjuun. Lohkoketjuun voi ainoastaan lisätä uusia lohkoja, eikä aiempia, jo lisättyjä lohkoja voi muokata enää myöhemmin.
Kun noodi lisää uuden lohkon lohkoketjuun, vaaditaan siltä huomattavan kovaa laskentatehoa Bitcoinin POW-algoritmin ratkaisemiseen. Bitcoinissa algoritmin ratkaisemiseen menee keskimäärin 10 minuuttia, kunnes noodi ratkaisee algoritmin, levittää ratkaisun muille noodeille, jotka varmistavat ratkaisun ja lopuksi uusi lohko lisätään lohkoketjuun. Bitcoinissa noodit kilpailevat keskenään algoritmin ratkaisemisesta ja tätä vaihetta usein kutsutaan myös louhimiseksi. Kun yli 50% noodeista on lisännyt uuden lohkon omaan lohkoketjuunsa, voidaan todeta, että noodit ovat päässeet konsensukseen uudesta lohkosta. Myöhemmin uusien noodien liittyessä lohkoketjuun, tulee myös heidän olla yhteisymmärryksessä transaktioiden historiasta.
Proof of Elapsed Time
Proof of Elapsed Time, lyhennettynä POET, on konsensus algoritmi, jonka tarkoituksena on säästää louhimisen energiakustannuksia sekä antaa mahdollisimman monelle noodille mahdollisuus voittaa uusi lohko. POET-algoritmissa jokaisen noodin tulee olla lepotilassa satunnainen aika, jonka jälkeen ne siirtyvät pois lepotilasta ja kisaavat hetken ajan uuden lohkon saamiseksi. Kun POET-algoritmin verkossa uusi lohko on lisätty ketjuun, prosessorit siirtyvät uudelleen lepotilaan satunnaiseksi ajaksi, kunnes kisa käynnistyy uuden lohkon voittamisesta. Algoritmi muistuttaa Bitcoinissa olevaa PoW-algoritmia, mutta noodien prosessorit ovat tehokkaammin käytössä, kun niiden ei tarvitse olla jatkuvasti louhimassa. POET-algoritmi lisää koko prosessin läpinäkyvyyttä, kun verkon muilla entiteeteillä on mahdollisuus vahvistaa tulos.
Lohkoketju-blogisarjan muut osat:
Osa 1: Bysanttilaisen kenraalin ongelma
Osa 2: Miksi konsensus on tärkeää?
Osa 3: Tapoja muodostaa konsensus 1/2
Osa 4: Tapoja muodostaa konsensus 2/2
Osa 5: Kryptovaluuttojen historia