Proof of Work w Bitcoinie wykazuje, że podwójny hash SHA-256 nagłówka bloku spełnia warunek celu. Trudność opisuje oczekiwaną liczbę prób, a nie dokładne zużycie prądu ani poprawność transakcji.
Proof of Work nie jest rachunkiem za prąd ani dowodem poprawności bloku. Węzeł sprawdza, czy liczbowy hash nagłówka nie przekracza celu zapisanego w nBits. Sprawdzenie jest tanie, lecz poszukiwanie losowe: mniejszy cel wymaga średnio większej liczby prób. [Bitcoin whitepaper] [Bitcoin Core v29.0: Proof of Work]
ASIC może wyczerpać czterobajtowe nonce nagłówka bez sukcesu. Oprogramowanie zmienia wtedy na przykład extra nonce w transakcji coinbase, co zmienia Merkle Root i nagłówek do dalszych prób. Wydobywanie nie polega więc na nieograniczonym zwiększaniu jednej liczby. [Bitcoin Developer Guide: Mining]
nBits to zwarty zapis celu. Mniejszy cel dopuszcza mniej hashy i oznacza większą trudność; nie jest udziałem mocy, liczbą zer ani liczbą dżuli. Próby są niezależne, więc nawet wysoki hashrate nie gwarantuje znalezienia kolejnego bloku. [Bitcoin Core v29.0: Proof of Work] [Bitcoin whitepaper]
Oprócz pracy węzeł sprawdza strukturę, podpisy, niewydane wejścia i reguły coinbase. Kolejność implementacji nie oznacza, że wszystko następuje przed sprawdzeniem hasha. Hash poniżej celu nie naprawia błędnego podpisu ani podwójnego wydania; poprawny kandydat bez dostatecznej pracy również nie wchodzi do aktywnego łańcucha. [Bitcoin whitepaper] [Bitcoin Core v29.0: block validation]
Wśród konkurencyjnych poprawnych gałęzi węzeł porównuje pracę wynikającą z celów bloków, nie samą długość. Zmiana potwierdzonej historii wymaga alternatywnych poprawnych bloków oraz dogonienia i przekroczenia stale rosnącej pracy uczciwej gałęzi. To bariera ekonomiczna i probabilistyczna, nie natychmiastowa nieodwracalność. [Bitcoin whitepaper] [Bitcoin Core v29.0: chainwork]
Na mainnecie Bitcoin Core zmienia cel na granicy okresów trudności. Porównuje czas zaobserwowany z docelowym, ogranicza go do jednej czwartej–czterokrotności czasu docelowego i ogranicza nowy cel limitem mainnetu. Cena BTC, liczba węzłów i głosowanie górników nie wyznaczają tego obliczenia. [Bitcoin Core v29.0: Proof of Work]
Pula może używać łatwiejszego wewnętrznego celu share, aby szacować wkład uczestników. Większość shares nie spełnia celu sieci i nie trafia do blockchainu. Trafienie celu sieci jest innym zdarzeniem: pula rozsyła cały blok kandydujący, a niezależne węzły decydują o przyjęciu. [Bitcoin Developer Guide: Mining]
Własny węzeł lub publiczne dane pozwalają porównać hash nagłówka, bits, cel, wysokość i chainwork. Zwycięski hash nie ujawnia dokładnej energii, tożsamości fizycznego górnika ani miejsca. Twierdzenia o bezpieczeństwie wymagają wartości płatności, liczby potwierdzeń i założenia przewagi uczciwej pracy. [Bitcoin Core v29.0: Proof of Work] [Bitcoin whitepaper]
Kandydat musi również spełnić Proof of Work
Górnik przygotowuje blok kandydacki i zmienia nonce oraz inne dane wpływające na nagłówek. Szuka podwójnego skrótu SHA-256 nagłówka, którego wartość liczbowa jest mniejsza lub równa aktualnemu prawidłowemu target. Wyższy hashrate daje więcej prób, a nie prawo łamania pozostałych reguł konsensusu; sam pasujący skrót nie dowodzi poprawności całego bloku.
Pełniejszy obraz uzyskasz, czytając to hasło razem z Górnictwo Bitcoin, Korekta trudności, Timechain / Blockchain, Full Node, Nagroda emisyjna za blok. Do tego hasła prowadzą również odsyłacze z Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Timechain / Blockchain.
01Dlaczego Bitcoin potrzebuje Proof of Work?+
Proof of Work daje niezależnym węzłom obiektywny sposób porównywania konkurencyjnych prawidłowych historii. Zastąpienie historii wymaga ponownego wykonania jej pracy i dogonienia konkurencyjnej gałęzi. Wybór według skumulowanej pracy nie potrzebuje centralnego zegara ani rejestru głosujących.
02Czy górnicy mogą zmienić podaż Bitcoina samym hashrate?+
Nie. Hashrate wpływa na wybór między prawidłowymi historiami, a nie na reguły egzekwowane przez węzeł. Full Node odrzuci blok tworzący więcej bitcoinów, niż dopuszcza konsensus, lub wydający monety bez prawidłowego upoważnienia.