Kryptomeny, a špeciálne bitcoiny, sú momentálne jedna z top tém, ktoré hýbu svetom. Zasiahli už aj svet Chucka Norrisa – ten ich, vraj, ťaží pomocou kalkulačky alebo s použitím papiera a ceruzky :). Offline ťažbu bitcoinov si v praxi vyskúšal aj blogger Ken Shirriff a tu sú jeho zistenia.
Možno ste ani netušili, ale algoritmus SHA-256, ktorý sa používa na ťažbu bitcoinov, je pomerne jednoduchý. Je možné ho realizovať ručne. Samozrejme, proces je v porovnaní s ťažbou pomocou hardvéru extrémne pomalý a nepraktický. Simulácia algoritmu ručne je však dobrý spôsob, ako pochopiť celé fungovanie ťažby bitcoinov.
Proces ťažby
Bitcoinová ťažba je kľúčovou súčasťou celého systému. Myšlienka je, že Bitcoin baníci zoskupia Bitcoin transakcie do bloku, potom opakovane milióny krát vykonávajú kryptografické operácie s názvom hašovanie, až kým niekto nenájde špeciálne extrémne vzácnu haš hodnotu.
V tomto okamihu je blok vyťažený a stáva sa súčasťou reťazca Bitcoin. Hašovacia operácia sama osebe nereprezentuje nič vzácne či užitočné, ale keďže nájdenie úspešného bloku je také náročné, žiaden jednotlivec nemá dostatok prostriedkov na ovládnutie celého systému Bitcoin. Viac podrobností nájdeš v pôvodnom článku.
SHA-256 haš algoritmus, ktorý používa Bitcoin
Algoritmus SHA-256 má vstupné bloky veľkosti 512 bitov (t. j. 64 bajtov), kombinuje dáta šifrovane a generuje výstup 256 bitov (32 bajtov). Skladá sa z relatívne jednoduchého cyklu, opakujúceho sa 64-krát. Nižšie uvedený diagram znázorňuje jeden cyklus, ktorý má osem vstupov s veľkosťou 4 bajty, A až H, vykonáva niekoľko operácií a generuje nové hodnoty A až H.
Ručné ťaženie bitcoinov
Nasledujúce video zobrazuje, ako je možné vyššie opísané hašovacie kroky SHA-256 vykonať pomocou obyčajnej ceruzky a papiera. Uvidíte prvý cyklus hašovania pre vyťaženie bloku. Dokončenie tohto kola trvá 16 minút, 45 sekúnd.
Podrobný popis jednotlivých krokov nájdeš v pôvodnom článku.
Aký význam to má pre hardvér potrebný na ťaženie bitcoinov?
Každý krok SHA-256 je veľmi ľahko implementovateľný v digitálnej logike – jednoduché Boolean operácie a 32-bitové pridávanie (ak ste študovali elektroniku, tak si to viete predstaviť). Z tohto dôvodu môžu čipy ASIC implementovať algoritmus SHA-256 v hardvéri veľmi efektívne. Obrázok nižšie znázorňuje ťažobný čip, ktorý spracováva 2 až 3 miliardy hašov za sekundu.
Záver
Algoritmus SHA-256 je prekvapivo jednoduchý a dá sa ľahko ručne simulovať. (Napr. algoritmus eliptickej krivky na podpis Bitcoinových transakcií by bol na simulovanie omnoho náročnejší, pretože obsahuje veľa násobenia 32-bajtových celých čísel.) Uskutočniť jeden cyklus SHA-256 ručne trvalo 16 minút a 45 sekúnd. Pri tejto rýchlosti by vytvorenie úplného Bitcoinového bloku (128 cyklov) trvalo 1,49 dní pri hašovacej rýchlosti 0,67 hašov za deň (aj keď praxou by sa celý proces skrátil).
V porovnaní s aktuálnym ťažobným hardvérom Bitcoinu, ktorý robí niekoľko terahašov za sekundu, je manuálne hašovanie niekoľko desiatok krát pomalšie. Netreba dodávať, že ručná ťažba Bitcoinu vôbec nie je praktická.
Ďalším problémom s manuálnym ťažením je ten, že nové bloky sa hardvérovo vyťažia asi každých 10 minút. Takže, aj keby sa mne podarilo vyťažiť blok, kým by som ho dokončil, už by mi ho niekto ukradol.
Skúsim ešte zhodnotiť moju spotrebu energie. Ručná ťažba nie je fyzicky namáhavá. Takže za predpokladu, že spotreba energie u človeka v pokoji je 1500 kcal / deň, manuálne hašovanie zhltne takmer 10 megajoulov za haš. Typická spotreba energie pre ťažiaci hardware je 1 000 megahašov / joule. Čiže som v porovnaní s HW energeticky menej efektívny 10 ^ 16 krát.
Ďalšou otázkou sú tiež náklady na energiu. Lacným zdrojom energie je pečená šiška za 0,23 USD za 200 kcal. Elektrina tu stojí asi 0,15 USD / kilowatt-hodina, čo je 6,7 násobne lacnejšie. Takže cena mojej energetie potrebnej na jeden haš je približne 67 kvadrilión násobok energie ťažobného HW. Je jasné, že ručnou ťažbou Bitcoinu zo mňa milionár nebude, a to som ani nezapočítal náklady na všetky papiere a ceruzky, ktoré budem potrebovať.
Zdroj: http://www.righto.com/2014/09/mining-bitcoin-with-pencil-and-paper.html#ref1