Najpierw powstaje blok kandydujący
Oprogramowanie wydobywcze wybiera poprawne transakcje, tworzy transakcję coinbase i oblicza korzeń Merkle'a z identyfikatorów transakcji. Wraz z hashem poprzedniego bloku, czasem, celem i nonce dane te tworzą nagłówek. Urządzenia ASIC szybko testują jego warianty, licząc podwójne hashe SHA-256.
Górnik może zmieniać wybór i kolejność transakcji, dane coinbase oraz nonce, uzyskując kolejne możliwe nagłówki. Po znalezieniu hasha poniżej celu sieci wysyła cały blok do węzłów. Te nie liczą nieudanych prób; sprawdzają poprawny nagłówek, transakcje i pozostałe reguły bloku.
Dziesięć minut to średnia statystyczna
Każda próba hashowania ma bardzo małe prawdopodobieństwo sukcesu. Nawet duża moc nie pozwala wskazać, która konkretna próba się powiedzie. Dwa bloki mogą więc pojawić się krótko po sobie, a innym razem sieć czeka znacznie dłużej. Zegar protokołu nie nakazuje górnikom opublikować bloku w dziesiątej minucie.
Większy udział w całkowitym hashracie daje górnikowi większą szansę znalezienia następnego bloku, ale nie pewność. W długim okresie wyniki zbliżają się do udziału mocy, lecz krótkie serie mogą silnie się wahać. Dlatego pojedynczy górnicy łączą się w poole i zamieniają rzadkie duże wypłaty na częstsze mniejsze udziały.
- dokładnego czasu następnego bloku nie da się zaplanować
- dziesięć minut to cel średniej częstotliwości na mainnecie
- pool wydobywczy zmniejsza zmienność wypłat, ale może skupiać wybór szablonów bloków
Trudność reaguje po 2 016 blokach
Gdy przybywa mocy obliczeniowej, przy niezmienionym celu bloki powstawałyby szybciej; gdy moc odpływa — wolniej. Dlatego po każdym okresie 2 016 bloków na mainnecie Bitcoin Core porównuje rzeczywisty czas okresu z docelowym czasem około dwóch tygodni i zmienia cel na następny okres.
Szybszy okres prowadzi do niższego celu, czyli wyższej trudności; wolniejszy do wyższego celu. Jedna korekta jest ograniczona do najwyżej czterokrotnej zmiany celu. Mechanizm nie reaguje na cenę ani liczbę transakcji, a mainnet nie koryguje trudności po każdym pojedynczym bloku.
Stabilne tempo nie oznacza pełnej stabilności
Po gwałtownym spadku hashratu bloki mogą pozostać wolniejsze aż do następnej korekty; po gwałtownym wzroście — szybsze. Korekta nie zmienia wstecz już powstałych odstępów, a losowość nie znika po niej. Zapewnia jedynie długookresową pętlę sprzężenia między mocą a wymaganą trudnością.
Trudność nie jest też bezpośrednią miarą liczby górników ani ich właścicieli. Ten sam hashrate może być podzielony między wiele urządzeń lub koordynowany przez kilka pooli. Oceniając decentralizację, należy rozróżniać właścicieli sprzętu, poole budujące bloki, operatorów węzłów i producentów urządzeń.