Najprv vznikne kandidátsky blok
Ťažobný softvér vyberie platné transakcie, zostaví coinbase transakciu a z transakčných identifikátorov vypočíta Merkle root. Spolu s hashom predchádzajúceho bloku, časom, cieľom a nonce vytvorí hlavičku. ASIC zariadenia potom veľmi rýchlo skúšajú jej varianty a počítajú dvojité SHA-256 hashe.
Baník môže meniť výber a poradie transakcií, údaje v coinbase a nonce, čím získava ďalší priestor možných hlavičiek. Keď nájde hash pod sieťovým cieľom, pošle celý blok uzlom. Tie nekontrolujú počet neúspešných pokusov; overia úspešnú hlavičku, transakcie a ostatné pravidlá bloku.
Desať minút je štatistický priemer
Každý hashovací pokus má veľmi malú pravdepodobnosť úspechu. Ani veľký výkon nevie povedať, ktorý konkrétny pokus uspeje. Preto môžu dva bloky prísť krátko po sebe a inokedy sieť čaká podstatne dlhšie. Hodiny v protokole neprikazujú baníkom vydať blok na desiatu minútu.
Vyšší podiel celkového hashratu dáva baníkovi vyššiu pravdepodobnosť, že nájde nasledujúci blok, nie istotu. Z dlhšieho obdobia sa výsledky približujú podielu výkonu, no krátke série môžu výrazne kolísať. Práve preto sa jednotliví baníci spájajú do poolov a vymieňajú zriedkavé veľké výplaty za častejšie menšie podiely.
- čas ďalšieho bloku sa nedá presne naplánovať
- desať minút je cieľ priemernej frekvencie na mainnete
- ťažobný pool znižuje kolísanie výplat, ale môže sústrediť výber šablón blokov
Obtiažnosť reaguje po 2 016 blokoch
Ak pribudne výpočtový výkon, bloky by pri nezmenenom cieli vznikali rýchlejšie. Ak výkon odíde, pomalšie. Bitcoin Core preto na mainnete po každom období 2 016 blokov porovná skutočný čas obdobia s cieľovým časom približne dvoch týždňov a podľa výsledku zmení cieľ pre ďalšie obdobie.
Rýchlejšie obdobie vedie k nižšiemu cieľu, teda vyššej obtiažnosti; pomalšie obdobie k vyššiemu cieľu. Jedna úprava je obmedzená najviac na štvornásobnú zmenu cieľa. Mechanizmus nereaguje na cenu ani na počet transakcií a na mainnete neupravuje obtiažnosť po každom jednotlivom bloku.
Stabilné tempo nie je úplná stabilita
Po prudkom odchode hashratu môže sieť až do ďalšej úpravy produkovať bloky pomalšie; pri prudkom náraste rýchlejšie. Úprava spätne nezmení už vzniknuté intervaly a ani po nej nezmizne náhodnosť. Udržiava iba dlhodobú spätnú väzbu medzi výkonom a požadovanou náročnosťou.
Obtiažnosť tiež nie je priamy merač počtu baníkov ani ich vlastníkov. Rovnaký hashrate môže byť rozdelený medzi veľa zariadení alebo koordinovaný niekoľkými poolmi. Pri hodnotení decentralizácie treba odlíšiť vlastníkov hardvéru, pooly zostavujúce bloky, prevádzkovateľov uzlov a výrobcov zariadení.