ASIC Miner to urządzenie z chipami zaprojektowanymi do wydobywania bitcoina. Wielokrotnie oblicza liczbowy odcisk nagłówka proponowanego bloku, czyli krótkiego zapisu jego najważniejszych danych, szukając wyniku spełniającego reguły wydobycia. Większa wydajność oznacza więcej prób na sekundę, a nie pewną nagrodę. Potrzebne są też zasilanie, chłodzenie, oprogramowanie sterujące i źródło zadań.
Anna widzi obok komputera niewielką koparkę i zastanawia się, czy jej laptop nie zrobiłby tego samego. Zwykły komputer potrafi wykonać potrzebne obliczenia. ASIC jest jednak stworzony właśnie do nich, dlatego przy tej samej energii zwykle wykonuje znacznie więcej prób. Skrót oznacza Application-Specific Integrated Circuit, czyli układ scalony do określonego zastosowania. Potocznie ASIC nazywamy także całą koparkę z takimi chipami. Koparka używa SHA-256 do szukania odpowiedniego liczbowego odcisku, czyli hasha. Nie zna z góry poprawnej odpowiedzi: zmienia dane wejściowe i próbuje ponownie. Ta specjalizacja stopniowo wyparła z konkurencyjnego wydobycia zwykłe procesory CPU, procesory graficzne GPU i programowalne układy FPGA. Chipa do wydobywania SHA-256 nie da się jednak po prostu zamienić w komputer ogólnego przeznaczenia. [6] [8]
Wyobraźmy sobie koparkę o wydajności 100 TH/s i poborze mocy 3 000 W. To przykład, a nie parametry konkretnego produktu. TH/s oznacza biliony hashy na sekundę: urządzenie wykonuje sto bilionów prób w każdej sekundzie. Tę wydajność nazywamy Hashrate. Licznik prądu mierzy energię: przy stałym poborze 3 kW urządzenie zużyje 72 kWh przez 24 godziny. Tę ilość mnożymy przez cenę jednej kWh. Do porównań służy też J/TH, czyli energia w dżulach na bilion prób. W przykładzie 3 000 / 100 = 30 J/TH. Niższa wartość oznacza mniej energii na tę samą pracę. Trzeba jednak porównywać podobne metody pomiaru i ustawienia. Parametru samego chipa nie można bezpośrednio zestawiać z poborem całej maszyny z gniazdka. [7] [8]
Niemal cała energia pobrana przez koparkę ostatecznie zamienia się w ciepło. Anna musi więc zadbać o jego odprowadzanie, a zależnie od konstrukcji także uwzględnić hałas wentylatorów. Mała domowa koparka i maszyna przemysłowa mogą mieć zupełnie inne wymagania. Samo słowo ASIC nie określa wielkości ani poboru mocy. Poza chipami w środku pracują zasilacz, regulatory napięcia, sterownik i płyty z chipami wydobywczymi, zwane hashboards. Ciepło odbierają wentylatory albo chłodzenie cieczą. Kurz, uszkodzony wentylator, niewłaściwe zasilanie lub zbyt wysokie ustawienia mogą powodować błędy i przestoje. Dlatego warto patrzeć na cały sposób pracy, nie tylko największą liczbę w reklamie producenta. [7] [8]
Po podłączeniu do Mining Pool koparka Anny otrzymuje zadania od usługi koordynującej górników. Pool to osobne oprogramowanie i operator, a nie część chipa. Przy samodzielnym wydobyciu Anna musi zapewnić odpowiednią infrastrukturę. Firmware, czyli oprogramowanie sterujące urządzeniem, przekazuje zadania chipom i odsyła wyniki. Najpierw ktoś musi przygotować propozycję bloku z transakcjami, nazywaną Block Template. Dostarcza ją Full Node lub inny dostawca szablonów. Full Node to program, który samodzielnie sprawdza bloki i transakcje zgodnie z zasadami Bitcoina. BIP22 opisuje interfejs getblocktemplate, a BIP23 jego rozszerzenia dla pooli. Stratum V2 rozdziela Mining Protocol do zadań, Job Declaration do proponowania własnej pracy i Template Distribution do dostarczania szablonów. Możliwość wyboru transakcji zależy od konfiguracji i obsługi tych części. Sam chip ich nie wybiera. [1] [2] [4] [5] [9]
Anna widzi zaakceptowane shares w panelu poola, mimo że jej koparka nie znalazła bloku Bitcoina. Share to wynik spełniający łatwiejszy warunek poola, który statystycznie potwierdza wykonaną pracę. Pool uwzględnia ją przy naliczaniu wypłat według swoich zasad. Share nie jest dodatkową monetą ani automatycznie kawałkiem bloku. Dopiero znacznie rzadszy wynik spełnia również trudniejszy warunek sieci Bitcoin. Pozwala on przedstawić blok, który musi jeszcze przejść wszystkie pozostałe kontrole. Zmiana trudności shares wpływa na częstotliwość ich wysyłania. Sama nie zwiększa rzeczywistej wydajności urządzenia ani nie zmienia trudności wydobycia w sieci. [4] [6]
Znaleziony wynik jest propozycją dla sieci, nie rozkazem dla innych. Full Node sam sprawdza reguły Bitcoina i odrzuca nieprawidłowy blok nawet od bardzo silnego górnika. ASIC nie pozwala stworzyć nagrody ponad limit, wydać cudzych monet bez uprawnienia ani zmusić węzłów do przyjęcia innych zasad. Operator podejmuje jednak ważne decyzje: wybiera firmware, pool i, tam gdzie jest to możliwe, transakcje do umieszczenia w bloku. Warto porównywać wskazania urządzenia z szacunkiem poola z dłuższego okresu oraz obserwować odrzucone shares, temperaturę i rzeczywisty pobór mocy. Krótkie wahania szacunku poola same w sobie nie oznaczają awarii. [5] [10]
Dwie identyczne koparki mogą osiągać zupełnie inne wyniki finansowe. Jedna ma dobre chłodzenie i tańszy prąd; druga często przestaje pracować i płaci więcej za energię. Liczą się też zakup i utrata wartości sprzętu, opłaty poola, cena bitcoina, trudność sieci oraz opłaty transakcyjne w wydobytych blokach. Sprawność techniczna nie jest więc obietnicą zwrotu kosztów. Specjalizacja zwiększyła także wymagania związane z produkcją chipów i obsługą dużych zakładów. Mówiąc o koncentracji, trzeba rozróżniać producentów, właścicieli maszyn, fizyczne lokalizacje i poole. Duży udział poola nie dowodzi, że wszystkie podłączone urządzenia należą do jednej firmy. [6] [8]
Częstotliwość wyznacza tempo pracy chipa, a napięcie pomaga utrzymać niezawodność obliczeń. Nawet chipy tego samego typu mogą wymagać innych ustawień, bo produkcja wprowadza drobne różnice elektryczne. Firmware może dobierać ustawienia dla każdego chipa lub płyty. To Autotuning. Obniżenie częstotliwości z odpowiednio dobranym napięciem może poprawić J/TH, choć całkowity Hashrate spadnie. Podkręcanie może natomiast zwiększyć wydajność kosztem nieproporcjonalnego wzrostu zużycia prądu i ilości ciepła. Efekt zależy od sprzętu, chłodzenia i ustawień. Największa osiągalna wydajność nie musi być najlepszym trybem pracy na dłużej. [7]
Punktem wyjścia jest 80-bajtowy nagłówek bloku, czyli krótki zapis jego podstawowych danych. Zawiera wersję, hash poprzedniego bloku, Merkle Root podsumowujący transakcje, znacznik czasu, zakodowany cel trudności nBits i 32-bitowe pole Nonce. SHA-256(SHA-256(header)) oznacza dwukrotne zastosowanie SHA-256; header to właśnie nagłówek. Wynikowy hash odczytuje się jako liczbę. Aby spełniał wymagany dowód pracy, nie może przekroczyć celu: hash ≤ target. Chip może przyspieszać obliczenia, ponownie wykorzystując wyniki pośrednie dla niezmienionych części wejścia. Węzły sprawdzają wynik i właściwy cel, nie układ obwodów producenta. Pozostałe zasady poprawności bloku nadal obowiązują. [6] [10]
Nonce oferuje 2^32 wartości. Szybka koparka sprawdza je bardzo szybko, więc system musi zmieniać też inne dane. Extranonce jest pomocniczą wartością w Coinbase Transaction, szczególnej pierwszej transakcji zawierającej nagrodę za blok. Jego zmiana modyfikuje transakcję, wynikowy Merkle Root i dane do kolejnej serii obliczeń. Można również zmieniać pole czasu nTime w dozwolonych granicach lub używać odpowiednich bitów wersji. Propozycja BIP320 opisuje zarezerwowanie niektórych bitów do ogólnych zastosowań; nie zezwala na ignorowanie zasad sieci. Stratum V2 wymaga podziału pracy, aby urządzenia nie marnowały energii na identycznych kandydatów. Celem jest dostarczanie chipom nowych możliwości, nie zwiększanie nagrody za pojedynczy blok. Nowsza propozycja BIP323 ma zastąpić BIP320 i zarezerwować do tego celu 24 bity wersji. Obecna specyfikacja Stratum V2 odwołuje się już do BIP323. Nadal ma on status Draft, czyli projektu: samo opublikowanie propozycji nie zmienia zasad Bitcoina. [3] [4] [11]
Pełniejszy obraz uzyskasz, czytając to hasło razem z Wydobywanie, Hashrate, SHA-256, Block Header, Nonce, Extranonce. Do tego hasła prowadzą również odsyłacze z Mining Pool, Hashrate, Nonce, Braiins.