Bitcoin este o moneda virtuala bazata pe un sistem open source de servere distribuite prin Internet.
Exista mai multe variante de monede virtuale, dar Bitcoin este cea mai serioasa implementare.
Mai multe pe http://bitcoin.ro/ si https://localbitcoins.com/country/RO
Un film introductiv in Engleza: https://www.weusecoins.com/en/
Ghid explicativ pentru minerii de bitcoin: https://www.weusecoins.com/en/mining-guide
Pentru ca este open source si administrat distribuit, adica nu este o autoritate centrala care sa-l gestioneze, este foarte sigur.
Lipsa autoritatii centrale reduce posibilitatea de fraude.
Tranzactia (cu bani virtuali) se valideaza de mai multe servere, nu doar de unul.
Intre servere se face un schimb permanent de mesaje semnate, dar nu criptate (in protocolul bitcoin nu e folosita incriptarea).
Dupa ce se incheie o tranzactie, aproximativ intr-o ora sunt sincronizate suficient de multe servere cu noua stare de conturi.
Bitcoinurile sunt alocate individual si nu pot fi cheltuite decat o singura data.
Poti castiga bani virtuali (bitcoins) daca rulezi un server sau mai multe de bitcoin.
Pentru fiecare bloc procesat cu succes primesti o fractiune infima dintr-un bitcoin.
Procesul de calculare blocuri este costisitor si necesita procesoare puternice.
Blocurile sunt legate unul de altul, un bloc contine referinta la blocul anterior.
Un bloc e valid daca semnatura lui e mai mica decat tinta curenta si asta se face prin cautare si necesita efort de calcul.
Ca o compensare pentru curentul electric consumat de servere si pentru ca puterea de calcul a retelei este extinsa – serverele primesc bitcoinuri.
S-au conceput circuite integrate specializate, ASIC, care inlocuiesc cu succes un server de bitcoin.
Cine ruleaza un ASIC dedicat pentru extinderea retelei distribuite bitcoin castiga mult mai multi bani decat daca ar fi folosit un calculator personal.
Asta inseamna ca este inutil sa-ti faci server de bitcoin.
O discutie interesanta e aici.
Am instalat un miner de test in Java care calculeaza blocuri la viteza de 220-230 khps.
Apoi am testat un miner in Python care calculeaza blocuri la viteza de 160 khps (160 de mii de hash pe secunda).
Programul in Python optimizat cu psyco si-a marit viteza la 230 khps, aproape dublu.
Programul se numeste miner pentru ca lucreaza din greu cu calcularea blocurilor.
Actualizare pe 17 Aprilie:
Un program serios este scris in C si foloseste procesorul calculatorului si chiar si procesoarele placii video.
In imaginea urmatoare este un program rulat in Windows 7 64 biti si imi da eroare intotdeauna (6 MHash/s):
Acelasi program miner rulat in linux pe calculatorul meu cu core quad si fara asistenta din partea placii video (10-11 MHash/s):
Temperaturile in calculator nu sunt prea mari (50-60 de grade in procesor):
Exista o lista de comparatie intre diverse echipamente de calcul.
Sunt echipamente cu valori de la zeci de Mhps la 1,500,000 Mhps.
Echipamentele dedicate folosesc circuite ASIC si au cea mai mare viteza.
In 1-2 ore de teste am castigat 0.00004108 BTC pentru ca am ajutat reteaua distribuita sa calculeze si sa proceseze tranzactii.
Asta inseamna (la cursul 1 BTC = 59.29 EUR) 0.002435633 EUR = 0.01 RON
E inutil sa continui.