ASIC oznacza specjalizację sprzętu, a nie władzę nad konsensusem. Układ wielokrotnie oblicza double-SHA-256 dla kandydujących 80-bajtowych nagłówków bloków i zgłasza wyniki spełniające przydzielony target. Kompletny ASIC Miner potrzebuje ponadto kontrolera, zasilania, układu taktowania, chłodzenia, firmware i źródła szablonów bloków lub zadań z poola. Hashrate mierzy liczbę prób na sekundę, a J/TH energię na terahash. Żadna z tych wielkości sama w sobie nie gwarantuje zysku ani prawa do zmiany reguł Bitcoina.
ASIC realizuje wąsko określone zadanie bezpośrednio w krzemie zamiast korzystać z logiki instrukcji ogólnego przeznaczenia. Dlatego wydobycie historycznie przeszło od CPU i GPU przez FPGA do układów ASIC SHA-256: stała ścieżka danych pozwala obliczać znacznie więcej hashy na dżul. Ceną jest brak elastyczności: ASIC do wydobycia SHA-256 nie jest komputerem ogólnego przeznaczenia, który można po prostu przeprogramować po zmianie zadania. [Bitcoin Developer Guide — Mining] [Bitaxe — open-source ASIC miner hardware]
Proof of Work Bitcoina oblicza SHA-256(SHA-256(nagłówek)) z serializowanego nagłówka o długości 80 bajtów. Nagłówek zawiera version, hash poprzedniego bloku, Merkle Root, timestamp, nBits i 32-bitowy Nonce. Układ może wewnętrznie ponownie wykorzystywać wyniki pośrednie dla niezmienionych części nagłówka, lecz sieć ocenia tylko wynikowy hash względem target (hash ≤ target), a nie konkretną optymalizację koparki. [Bitcoin Developer Guide — Mining] [Bitcoin Core v29.0 — CheckProofOfWorkImpl]
Sam 32-bitowy Nonce oferuje tylko 2^32 wartości, które przy współczesnym hashrate zostają bardzo szybko wyczerpane. Koparka zmienia więc inne zmienne: Extranonce w coinbase zmienia transakcję coinbase, a przez to Merkle Root; nTime można zmieniać w granicach konsensusu, a propozycja BIP320 rezerwuje version bits do ogólnego użytku. Stratum V2 dodatkowo przydziela urządzeniom odrębne części przestrzeni poszukiwań, aby nie obliczały tych samych kandydatów. [BIP 320 — nVersion bits for general purpose use] [Stratum V2 — Mining Protocol specification]
ASIC sam nie wybiera transakcji ani nie wymyśla reguł. Full Node lub dostawca szablonów bloków składa blok kandydujący; BIP22 standaryzuje getblocktemplate, a BIP23 jego rozszerzenia do wydobycia w poolu. Pool lub proxy przygotowuje na tej podstawie zadanie z target i zmiennymi dla urządzenia. Stratum V2 rozdziela Mining Protocol, Job Declaration i Template Distribution, dzięki czemu rozdzielanie pracy oraz wybór transakcji mogą stanowić odrębne role. [BIP 22 — getblocktemplate fundamentals] [BIP 23 — getblocktemplate pooled mining] [Stratum V2 — Protocol overview] [Bitcoin Core — getblocktemplate RPC]
Pool zwykle ustawia share target znacznie łatwiejszy do spełnienia niż target sieci Bitcoina. Share spełniający target poola stanowi statystyczne potwierdzenie wykonanej pracy na potrzeby rozliczania nagród; tylko wyjątkowo rzadki hash spełniający target sieci jest kandydatem na poprawny blok. Trudność poola zmienia więc częstotliwość shares, a nie trudność konsensusu ani fizyczny hashrate maszyny. [Bitcoin Developer Guide — Mining]
Hashrate określa liczbę hashy na sekundę. Pobór mocy podaje się w watach, a efektywność zwykle wyraża się jako J/TH = W podzielone przez TH/s. Niższa wartość J/TH oznacza mniej energii elektrycznej na taki sam zakres poszukiwań. Zysk zależy jednak także od trudności sieci, ceny BTC, opłat, czasu pracy, energii elektrycznej, chłodzenia, finansowania i amortyzacji sprzętu. [Braiins OS — Autotuning] [Bitaxe — open-source ASIC miner hardware]
Nawet układy tego samego typu nie są elektrycznie identyczne: różnice produkcyjne zmieniają prądy upływu, parametry czasowe i wymagany zapas napięcia. Firmware może więc dostrajać częstotliwość i napięcie rdzenia. Obniżenie taktowania, czyli underclock, często poprawia J/TH, natomiast podkręcanie, czyli overclock, zwiększa hashrate kosztem nieproporcjonalnie większego zużycia energii i wydzielania ciepła. Autotuning szuka odpowiedniego punktu pracy dla konkretnego układu lub hashboardu. [Braiins OS — Autotuning]
Koparka to nie tylko ASIC. Wynik ograniczają zasilacz, regulacja DC-DC, złącza, hashboardy, wentylatory lub obieg chłodzenia cieczą oraz kontroler. Wysoka temperatura, kurz, uszkodzony wentylator, niestabilne napięcie lub agresywne taktowanie zwiększają liczbę błędów sprzętowych i ryzyko wyłączenia. Efektywność samego układu nie jest więc tym samym co efektywność całego zestawu mierzona przy gniazdku. [Braiins OS — Autotuning] [Bitaxe — open-source ASIC miner hardware]
Układy ASIC podnoszą bariery kapitałowe i techniczne konkurencyjnego wydobycia oraz tworzą korzyści skali w zakupach, energii, naprawach i infrastrukturze. Może to prowadzić do koncentracji producentów lub hashrate, ale nie oznacza automatycznie kontroli nad konsensusem. Trzeba rozróżniać koncentrację produkcji układów, pooli, fizycznych lokalizacji i rzeczywistych właścicieli hashrate. [Bitcoin Developer Guide — Mining]
ASIC może szukać nagłówków i wykonywać konkretne zadanie zgodnie z oprogramowaniem nadrzędnym. Nie może sprawić, że niepoprawny blok stanie się poprawny, zmienić limitu podaży, wydać monet należących do innych właścicieli ani zmusić Full Node do przyjęcia innych reguł. Operator powinien sprawdzać firmware, endpoint poola, hashrate obserwowany po stronie poola, odrzucone shares, pobór mocy z gniazdka, temperatury i własną politykę tworzenia szablonów bloków. [Bitcoin Developer Guide — Mining] [Bitcoin Core — getblocktemplate RPC] [Bitcoin Core v29.0 — CheckProofOfWorkImpl]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Górnictwo Bitcoin, Hashrate, SHA-256, Nagłówek bloku, Nonce, Extranonce. Do tego hasła prowadzą również odsyłacze z Mining Pool, Hashrate, Nonce, Braiins.