Mitä työn todistus tarkoittaa?
Työn todistus kuvaa järjestelmää, joka vaatii ei-merkityksettömän, mutta toteutettavissa olevan määrän ponnisteluja laskentatehon kevyiden tai haitallisten käytösten estämiseksi, kuten roskapostien lähettäminen tai palvelunestohyökkäysten käynnistäminen. Hal Finney mukautti konseptin rahaan vuonna 2004 ajatuksen "uudelleenkäytettävä todiste työstä" kautta. Vuoden 2009 esittelyn jälkeen bitcoinista tuli Finneyn idean ensimmäinen laajalti käytetty sovellus (Finney oli myös ensimmäisen bitcoin-kaupan vastaanottaja). Työn todistus muodostaa perustan myös monille muille kryptovaluutoille.
Todiste työstä selitetty
Tämä selitys keskittyy työn todistamiseen, koska se toimii bitcoin-verkossa. Bitcoin on digitaalinen valuutta, jota tukee eräänlainen jaettu pääkirja, joka tunnetaan nimellä "blockchain". Tämä pääkirja sisältää tietueen kaikista bitcoin-tapahtumista, jotka on järjestetty peräkkäisiksi "lohkoiksi", niin että kukaan käyttäjä ei saa viettää minkään hallintonsa kahdesti. Peukaloinnin estämiseksi pääkirja on julkinen tai "jaettu"; muut käyttäjät hylkäisivät muutetun version nopeasti.
Tapa, jolla käyttäjät havaitsevat peukaloinnin käytännössä, on hashien, pitkien numerosarjojen kautta, jotka toimivat työn todisteena. Laita tietty tietoryhmä hash-toiminnon kautta (bitcoin käyttää SHA-256), ja se tuottaa vain yhden hash. "Lumivyöryn" vuoksi jopa pieni muutos mihin tahansa alkuperäisen datan osaan johtaa täysin tunnistamattomaan räjähdykseen. Alkuperäisen tietojoukon koosta riippumatta tietyn toiminnon luoma hash on samanpituinen. Hajautus on yksisuuntainen toiminto: sitä ei voida käyttää alkuperäisen tiedon hankkimiseen, vaan vain sen tarkistamiseksi, että tiivisteen luoneet tiedot vastaavat alkuperäisiä tietoja.
Minkä tahansa hash: n luominen bitcoin-tapahtumien joukolle olisi triviaalia nykyaikaiselle tietokoneelle, joten prosessin muuttamiseksi "työksi" bitcoin-verkko asettaa tietyn "vaikeustason". Tätä asetusta säädetään siten, että uusi lohko "louhitaan" - lisätään lohkoketjuun luomalla kelvollinen hajautus - noin joka 10. minuutti. Asettamisvaikeudet saadaan aikaan asettamalla hashille "tavoite": mitä alempi kohde, sitä pienempi kelvollisten hash-joukkojen on, ja sitä vaikeampaa on luoda niitä. Käytännössä tämä tarkoittaa tiivistettä, joka alkaa pitkällä nollajonolla: esimerkiksi lohkon # 429818 tiiviste on 0000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Tämä lohko sisältää 2 022 tapahtumaa, joihin liittyy hieman yli 1000 bitcoinia, sekä edellisen lohkon otsikko. Jos käyttäjä muutti yhtä tapahtumamäärää 0, 0001 bitcoinilla, tuloksena oleva hash olisi tuntematon ja verkko hylkää petoksen.
Koska tietty tietosarja voi tuottaa vain yhden tiivisteen, kuinka kaivostyöntekijät varmistavat, että ne luovat hajasteen tavoitteen alapuolella? Ne muuttavat tuloa lisäämällä kokonaisluvun, nimeltään nonce ("numero kerran käytetty"). Kun kelvollinen hash on löydetty, se lähetetään verkkoon, ja lohko lisätään lohkoketjuun.
Kaivostoiminta on kilpailukykyinen prosessi, mutta se on enemmän arpajaisia kuin kilpailua. Keskimäärin joku tuottaa hyväksyttävän todistuksen työstä kymmenen minuutin välein, mutta kuka se on, on kenen tahansa arvaus. Kaivostyöläiset yhdistyvät yhdessä lisätäkseen mahdollisuuksiaan kaivoslohkoihin, mikä tuottaa transaktiomaksuja ja rajoitetun ajan palkkion vastikään perustetuista bitcoineista.
Työn osoittaminen tekee erittäin vaikeaksi muuttaa ketjun osaa, koska tällainen muutos vaatii kaikkien seuraavien lohkojen uudelleenkaivoksen. Se myös vaikeuttaa käyttäjän tai käyttäjäryhmän verkon laskentatehon monopolistamista, koska hajautustoimintojen suorittamiseen tarvittavat koneet ja teho ovat kalliita.
