Kandidátsky blok
Stručne povedané, kandidátsky blok je blok, ktorý sa ťažobný
uzol (ťažiar) pokúša vyťažiť, aby získal odmenu za blok. Kandidátsky blok je preto možné opísať ako dočasný blok, ktorý bude sieťou buď overený alebo vyradený. Ťažiari medzi sebou súťažia o overenie ďalšieho bloku a jeho pridanie do blockchainu, najskôr však musia vytvoriť kandidátsky blok, aby sa mohli zúčastniť súťaže s názvom
ťažba.
Kandidátske bloky vytvárajú ťažiari zhromažďovaním a organizovaním viacerých nepotvrdených transakcií z pamäťového poolu. Transakcie sa potom hašujú, aby sa vytvorila štruktúra
strom Merkle, ktorá nakoniec vytvorí koreň Merkle (alebo koreňový haš). Koreň Merkle je jediný haš, ktorý predstavuje všetky predchádzajúce haše tohto stromu, a teda všetky transakcie, ktoré boli zahrnuté v tomto konkrétnom bloku.
Koreňový haš (spolu s hašom predchádzajúceho bloku a náhodným číslom nazývaným
nonce) sa potom vloží do hlavičky bloku. Hlavička bloku sa potom hašuje ťažiarom, čím sa generuje výstup na základe týchto komponentov (koreňový haš, haš predchádzajúceho bloku a nonce) plus niekoľko ďalších prvkov. Výsledným výstupom je haš bloku. Bude slúžiť ako jedinečný identifikátor novo vygenerovaného (kandidátskeho) bloku.
Aby bol výstup (blokový haš) považovaný za platný, musí začínať určitým počtom núl (menej ako cieľová hodnota definovaná protokolom). To znamená, že proces ťažby je založený na viacerých pokusoch (pokus a omyl), pretože ťažobné uzly musia vykonávať nespočetné množstvo hašovacích funkcií s rôznymi hodnotami nonce, kým sa nakoniec nevytvorí platný haš bloku. Vytvorený blokový haš je to, čo dokazuje, že ťažiar vykonal svoju prácu (preto názov dôkaz o práci,
Proof of Work).
Keď ťažiar nájde platný blokový haš, jeho kandidátsky blok bude vyslaný do ostatných uzlov siete, ktoré overia pravosť hašu. Ak je všetko v poriadku, kandidátsky blok sa zaznamená do
blockchainu. V tomto bode každý validačný uzol aktualizuje svoju kópiu údajov blockchainu, aby odrážala nový vyťažený blok a ťažiar dostane odmenu za blok.