Kuka käyttää ja mihin louhinnan prosessointitehoja

Louhinnassa käyttäjät tarjoavat laitteensa näyttöajurien laskentatehoja käyttöön. Idea on hyvä mutta missään en ole nähnyt selkeää tietoa mihin tarkoitukseen laskentaa käytetään?

Se että onko kaikki käyttö laillista ei selviä ilman tietoa, laskentatehoja kun voidaan käyttää vapaasti salasanojen, tietoliikenne- tiedostosuojauksien murtamiseen tai jopa vakoiluun. Olen aikaisemmin jakanut GPU-laskentatehoja tieteelliseen laskentaan BOINC-palvelussa jossa kohde on selvästi nähtävissä, siinä vain ei ollut ansaintamahdollisuutta ja kustannukset jäivät käyttäjälle.

Se että me koneiden omistajat tarjoamme käyttämättömänä olevaa laskentatehoa korvausta vastaan on ok, mutta haluan ehdottomasti pystyä kohdistamaan laskennan johonkin selkeästi hyväksyttävään toimintaan kuten esim. BOINC!

Louhinnassa sitä laskentaa ei voi käyttää mihinkään muuhun, vaan se menee ainoastaan bitcoin-verkon (ja mahdollisesti parin altcoinin) turvaamiseen. Eli et voi sillä mitään (muuta) hyödyllistä tehdä, mutta ei se myöskään mihinkään kyseenalaiseen mene.

Bitcoinin lähdekoodi on avoin, useimpien louhintaojelmien lähdekoodi on avoin. Molemmat on lukenut useat tuhannet silmäparit.

/thread

Se Bitcoiniin käytetty laskentateho tekee käytännössä hyvin vaikeaksi väärentää Bitcoinin hajautettua kirjanpitoa, eli sitä kirjanpitoa jossa kaikki Bitcoin-siirrot liikkuvat. Se on turvatoimi, sillä estetään rahojen tuplakäyttö ja väärentäminen. Mitään muuta se laskentateho ei tee. Käytännössä ne koneet laskevat täysin mielivaltaisia ja satunnaisia lukuja, tavallaan arpovat lottonumeroita.

Niillä ei tee mitään. Pointti siinä on se, että se on vaikeaa, joten muiden on hankala tulla tekemään väärennettyjä kirjanpitomerkintöjään Bitcoinin kirjanpitoon.

Bitcoin louhinta on tarkalleen määriteltyä toimintaa. Se ei voi olla mitä tahansa. Selitän tässä lyhyesti mitä siinä tehdään.

Reilusti yli 99.99% tästä toiminnasta menee tiivistefunktion nimeltä SHA-256 laskemiseen. SHA-256 tiivisteen ominaisuuksia on muun muassa se, että sitä on äärimmäisen vaikea tehdä takaperin. Tämän takia se onkin monen kryptograafisen operaation pohjana. Myös Bitcoinissa itsessään.

Bitcoinissa sitä käytetään Todisteena tehdystä työstä (engl. Proof of Work). Bitcoin on hajautettu järjestelmä, jonka tarkoitus on ylläpitää julkista kirjanpitoa Bitcoin-siirroista. Onnistuakseen tässä, Bitcoin tarvitsee tavan päästä yksimielisyyteen siitä missä järjestyksessä siirrot on tehty. Louhinta on mekanismi jolla tämä onnistuu.

Bitcoin tekee tämän siten, että vaikka kuka tahansa voi lisätä kirjanpitoon palasia, niin jokaisen lisätyn palasen (joita kutsutaan lohkoiksi) täytyy olla todistettavasti vaikea luoda (sen lisäksi, että se on muiden sääntöjen mukainen). Bitcoin-verkon siirtojen peruuttamattomuus perustuu näiden palasten luomisen raskauteen. Louhinta on näiden lohkojen luomista.

Se mitä louhinnassa käytännössä tapahtuu on, että louhija luo uuden lohkon kirjanpitoa ja laskee siitä tiivisteen. Ollakseen hyväksyttävä uudeksi lohkoksi, tämän tiivisteen arvon, numerona tulkittuna, täytyy olla tiettyä rajaa pienempi. Tällä hetkellä tämä raja on niin pieni, että yhdellä perinteisellä prosessorilla menisi keskimäärin 80 vuotta luoda uusi lohko. Tämä raja säätyy automaattisesti sellaiseksi, että Bitcoin-verkko kokonaisuutena löytää lohkon keskimäärin 10 minuutin välein.

Louhinta on siis tällaisten lohkojen etsimistä. Puhtaasti Bitcoinin julkisen kirjanpidon luomista. Sitä ei ole mitään mahdollisuuksia käyttää mihinkään muuhun. Bitcoinin tiukat vaatimukset lohkojen sisällöstä tekevät tästä mahdotonta.