Težave pri rudarjenju bitcoinov
Pri rudarjenju novih bitcoinov, ki je ključno za potrjevanje transakcij, se je v soboto pojavilo nekaj težav. Zaradi spremembe standarda, ki je večina starejše programske opreme ni pričakovala oziroma podpirala, je bilo narudarjenih veliko nelegalnih blokov, kar je sodelujočim povzročilo oportunitetno izgubo, podaljšalo pa se je tudi potrjevanje transakcij, kar je v principu pomenilo nevarnost dvojnega zapravljanja istih bitcoinov. Težava je enostavno rešljiva z nadgradnjo programske opreme.
Potrjevanje transakcij poteka pri bitcoinu v načelu zelo enostavno. Transakcije zadnjih približno 20 minut se zapišejo v blok, ki se mu dodajo podatki o zadnjem predhodno potrjenem bloku, dodatne kontrolne informacije ter nekaj naključnih števil. Potem je treba izračunati zgoščeno vrednost po algoritmu SHA256 in če ta ustreza predpisanim pogojem, je blok veljaven in javno objavljen, transakcije v njem pa potrjene. Ustrezna naključna števila je treba uganiti, ker iz zgoščenih vrednosti ni mogoče ugotoviti, kaj so bili vhodni podatki (preslikava ni injektivna). Zaradi tega je rudarjenje računsko zelo zahteven proces, ki se opravlja na za računanje SHA256 specializirani strojni opremi na območjih, kjer je elektrike veliko in je poceni.
Podpisi v blokih morajo od 4. julija letos upoštevati strožji format DER, medtem ko se predhodno dovoljevali manjša odstopanja. To je posledica dogovora, da bo DER obvezen, ko bo 950 izmed zadnjih 1000 blokov že tretje verzije (v3). Sedaj se je to zgodilo.
Problem je, da starejša programska oprema ne preverja, ali je blok v skladu z vsemi pravili, temveč to kar privzame (temu se reče SPV mining). Ko je postal DER obvezen, se je seveda na internetu hitro znašel neveljaven blok, kar je bilo pričakovati. Potem so ta blok nekateri odjemalce vzeli kot veljaven in nadaljevali rudarjenje njegovih naslednikov.
Omrežje je te bloke seveda izločilo, zato so neposredna škoda le zapravljeni procesorski cikli. Rudarjenje prinaša nagrado za vsak uspešno narudarjen veljaven blok.
Drugi večji problem je možnost dvojnega zapravljanja bitcoinov. Če uporabnikova denarnica ne podpira naprednega preverjanja veljavnosti blokov, lahko začasno privzame veljavnost transakcij v neveljavnem bloku in uporabniku na primer prikaže, da je prejel bitcoine. Ko se v omrežju vzpostavi druga veriga blokov, ki so veljavni, te "neveljavne transakcije" seveda izginejo.
Priporočljiva je uporaba Bitcoin Core 0.9.5 ali novejšega, ki podpira uvedene novosti. Pri rudarjenju v skupinah (pool mining) sodelujoči nimajo možnosti vpliva na to, zato je ključno izbrati tisto skupino, ki je že posodobila svojo programsko opremo. Pri uporabi starejših denarnic ali spletnih denarnic pa velja počakati vsaj 30 dodatnih potrditev bloka, preden smo prepričani, da so bitcoini res nepovratno na našem računu. (Vedno je treba nekoliko počakati, sedaj je zgolj ta številka višja.)