Jak funguje mining Bitcoinu

V běžném měnovém systému vláda nechá v případě potřeby vytisknout více peněz. Bitcoin se však netiskne, ale objevuje! Počítače na světě ho „těží“ soupeřením mezi sebou…

Průběh

Lidé si přeposílají BTC přes bitcoinovou síť, ale pokud by však nikdy neuchoval záznamy o transakcích, nebylo by možné zpětně vysledovat, kdo co zaplatil. Síť tomu předchází shromažďováním transakcí uskutečněných za určité období do seznamu zvaného blok. Mineři tyto transakce ověřují a zapisují do hlavní knihy (general ledger).

Vytváření hashů

Když je vytvořen blok transakcí, mineři vezmou informaci uloženou v bloku, použíjí matematický vzorec a přemění ji v něco odlišného – mnohem kratšího. Tato náhodná sekvence písmen a čísel se nazývá hash. Hash je uložen s blokem na konci block chain. Mineři používají i další údaje kromě transakcí uložených v bloku ke generování hashů. Jedním z nich je hash posledního bloku zaznamenaného v block chain.  Vzhledem k tomu, že je každý hash tvořen pomocí předchozího bloku, stává se tak digitální obdobou pečeti potvrzující, že tento i bloky po něm následující jsou legitimní.  O manipulaci budou informováni všichni na síti.

Pokud byste se pokusili zfalšovat transakci změnou bloku, který již byl uložen do block chain, změnili byste tak i hash bloku.  Kontrolou pravosti by se zjistilo, že se hash liší od dříve uloženého a automaticky bude označen za falešný. Protože každý hash usnadňuje proces vytváření následujících v řetězci, manipulace změní další hash bloky. Následkem by mohlo být poškození samotného block chain.

Zajímavé vlastnosti hashů: velmi snadno se dají vytvořit z velkého množství dat – bloků, ale je téměř nemožné přijít na to, co data reprezentují pouhým pohledem, navíc je každý hash unikátní. Změnou třeba jen jednoho znaku bitcoinového bloku získáme zcela odlišný hash.

Soupeření o mince

Mineři používají speciálně navržený software k „těžbě“ bloků. Pokaždé když někdo úspěšně vytvoří hash, dostane odměnu 25 BTC, block chain je aktualizován a každý v síti je informován. To udržuje transakce v pohybu a motivaci k miningu.

Problém je, že počítače dokáží velmi snadno získat hash z velkého množství dat. Bitcoinová síť to musí ztěžovat, jinak by všichni každou vteřinu hashovali stovky transakčích bloků a všechny bitcoiny by byly „vytěženy“ během několika minut.  Bitcoin protokol činnost záměrně ztěžuje zaváděním „dokladu o práci“ (proof-of-work).  Protokol neakceptuje žádný starý hash, požaduje totiž přesné parametry – přesný počet nul na začátku. Před vytvořením  nelze přesně určit, jak bude hash vypadat. Jakmile zahrnete další data, kompletně se změní.

Mineři by neměli zasahovat do transakčních údajů, ale  musí změnit data, která používají k vytváření hashů. Využívají k tomu odlišnou, náhodnou část dat, tzv. „nonce“. Společně s transakčními daty se využívá k vytváření hashů. Jestliže data neodpovídají požadovanému formátu, celý proces se opakuje. Nalezení funkčního nonce může zabrat i několik pokusů. Přesně o to se všichni mineři na síti snaží ve stejnou dobu. Takovým způsobem se vydělává bitcoin.

Share Button