06 / 736PoW

Proof of Work

dowód pracy obliczeniowej

Mechanizm, w którym Bitcoin zamienia energię i moc obliczeniową w łatwy do sprawdzenia dowód, a następnie porządkuje prawidłową historię bloków według skumulowanej pracy.

Dzięki Proof of Work tworzenie bloków w Bitcoinie jest kosztowne, a ich sprawdzanie łatwe. Górnicy rywalizują, wykonując obliczenia, których wyników nie potrafią przewidzieć. Szukają hasha, cyfrowego odcisku nagłówka bloku, którego wartość liczbowa nie przekracza granicy nazywanej targetem. Inni mogą szybko sprawdzić udany wynik. Full Node, czyli komputer samodzielnie sprawdzający reguły Bitcoinaa, osobno weryfikuje też transakcje: sam dowód pracy nie sprawia, że blok jest prawidłowy.

Wyobraź sobie loterię, w której nie da się sprytnie obliczyć zwycięskiego losu z wyprzedzeniem. Górnicy wielokrotnie zmieniają dane bloku kandydującego i liczą hash. Prawie każdy wynik odpada. Tylko hash o wartości liczbowej mniejszej lub równej bieżącemu targetowi może być Proof of Work bloku. Znalezienie go jest trudne, ale każdy może go szybko sprawdzić. Bitcoin nie dowodzi użytecznego obliczenia w zwykłym znaczeniu; publicznie wykazuje, że ktoś przeprowadził kosztowne poszukiwanie dla konkretnego Block Header. [1] [2]

Block Header zawiera podstawowe dane bloku, a Merkle Root to wspólny cyfrowy odcisk jego transakcji. Nonce jest liczbą, którą górnicy mogą zmieniać podczas poszukiwania. ASIC to układ przeznaczony do określonego zadania obliczeniowego; tutaj wielokrotnie stosuje funkcję haszującą SHA-256. Najpierw górnik buduje blok kandydujący: wybiera transakcje, tworzy Coinbase Transaction z nagrodą i oblicza Merkle Root. Te wartości wraz z odwołaniem do poprzedniego bloku, czasem, targetem i nonce tworzą Block Header. Specjalizowany ASIC liczy podwójne SHA-256 wielu wariantów. Nie rozwiązuje zagadki krok po kroku ani nie zbliża się do odpowiedzi. Każda próba daje nowy losowo wyglądający wynik, a wcześniejsza porażka nie mówi nic o następnej. [3] [1]

Hash można odczytać jako bardzo dużą liczbę. Target sieci to najwyższa wartość nadal dozwolona przez reguły. Im jest niższy, tym mniejsza część możliwych hashy przechodzi i tym więcej prób potrzeba średnio. nBits zapisuje target kompaktowo w nagłówku. Difficulty jest tylko względnym opisem wymagań celu. Nie jest liczbą zer, ilością dżuli ani udziałem mocy górnika. Blok może pojawić się od razu albo po długim czasie: reguły określają wynik, a nie rzeczywistą liczbę prób. [2] [1]

Nonce w Block Header ma tylko cztery bajty, więc szybki ASIC może wyczerpać cały zakres bez trafienia. Mining nie polega na nieskończonym zwiększaniu jednej liczby. Program może zmienić extra nonce w Coinbase Transaction, dobór lub kolejność transakcji i inne dozwolone dane. To zmienia Coinbase Transaction, Merkle Root i cały nagłówek, tworząc nowe warianty. Pool rozdziela też różne prace między wiele urządzeń, aby nie testowały tych samych wariantów. [3]

Hash nieprzekraczający targetu spełnia jeden ważny warunek, nie wszystkie reguły Bitcoina. Full Node sprawdza także rozmiar i strukturę, pochodzenie, Coinbase Transaction, dozwoloną nagrodę, podpisy, skrypty oraz to, czy wejścia wskazują istniejące, jeszcze niewydane środki. Kosztowne obliczenie nie może zmusić innych do przyjęcia nadmiarowych bitcoinów ani podwójnego wydania. Nieprawidłowy blok pozostaje nieprawidłowy bez względu na energię. Odwrotnie, kandydat z prawidłowymi transakcjami bez dostatecznego Proof of Work także nie rozszerzy aktywnego łańcucha. [4] [1]

Dwóch górników może niemal równocześnie opublikować różne prawidłowe bloki na tej samej wysokości, tworząc chwilowo dwie gałęzie. Wśród prawidłowych kandydatów węzły śledzą gałąź o największej skumulowanej pracy, wyrażonej jako chainwork. Nie zawsze jest to proste liczenie bloków, bo mogły powstać przy różnych targetach. Przepisanie potwierdzonej płatności wymaga alternatywnej prawidłowej historii oraz dogonienia i przekroczenia pracy zwykłej gałęzi. Kolejne potwierdzenia zwykle zwiększają koszt ataku, ale nie tworzą natychmiastowej matematycznej nieodwracalności. [5] [1]

Hashrate określa liczbę prób haszowania wykonywanych w ciągu sekundy. Gdyby target się nie zmieniał, wzrost Hashrate przyspieszałby bloki, a spadek mocy je spowalniał. Mainnet Bitcoin przelicza więc target po odstępach 2 016 bloków, aby długoterminowa średnia wracała w pobliże dziesięciu minut. Obliczenie porównuje rzeczywisty czas z planowanymi dwoma tygodniami i ogranicza zmianę granicami protokołu. Retarget nie reaguje bezpośrednio na cenę BTC, liczbę użytkowników ani głosowanie górników nad regułami. Dziesięć minut to docelowa średnia, nie rozkład następnego bloku. [2]

Samotny górnik może bardzo długo czekać na prawidłowy blok, dlatego wiele urządzeń pracuje przez mining pool. Pool ustawia łatwiejszy wewnętrzny share target i na podstawie shares szacuje wkład uczestników. Większość nie spełnia surowszego targetu sieci i nigdy nie trafia do Blockchain. Gdy wynik spełni także target sieci, pool rozgłasza pełny blok kandydujący. O przyjęciu nie decyduje pool ani rozmiar jego Hashrate, lecz niezależna walidacja poszczególnych węzłów. [3]

Fizyczne urządzenia zużywają energię i oddają ciepło podczas szukania. Bitcoin nie zapisuje rachunku za energię w bloku. Zwycięski hash nie ujawnia dokładnej liczby prób, kilowatogodzin, źródła prądu ani miejsca. Proof of Work broni historii ekonomicznie, ponieważ nowe próby mają realny koszt, ale większe zużycie samo nie oznacza doskonałego bezpieczeństwa ani czystszej pracy. Ocena bezpieczeństwa musi też uwzględniać walidację, rozkład Hashrate i konkretną groźbę; ocena energii wymaga danych o źródle, czasie, sprawności i alternatywnym użyciu. [1] [2]

Full Node sam kontroluje poprzedni hash, nBits, wyprowadzony target i hash nagłówka każdego bloku. Dane pozwalają porównać height, difficulty i chainwork, ale zwycięski hash nie ujawnia tożsamości ani dokładnej energii. Stwierdzenie „bezpieczne po sześciu potwierdzeniach” wymaga kontekstu: wartości płatności, możliwości przeciwnika, rozkładu pracy i czasu oczekiwania. Proof of Work nie jest etykietą marketingową ani głosem górników nad regułami, lecz ściśle określonym, łatwo sprawdzalnym wejściem do wyboru prawidłowej historii. [2] [3] [5]

Pełniejszy obraz uzyskasz, czytając to hasło razem z Wydobywanie, Difficulty Adjustment, Timechain / Blockchain, Full Node, Block Subsidy. Do tego hasła prowadzą również odsyłacze z Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Timechain / Blockchain.

DOC · 001Bitcoin whitepaperŹródło pierwotne DOC · 002Bitcoin Core v29.0: Proof of WorkŹródło pierwotne DOC · 003Bitcoin Developer Guide: MiningDokumentacja DOC · 004Bitcoin Core v29.0: block validationŹródło pierwotne DOC · 005Bitcoin Core v29.0: chainworkŹródło pierwotne
Zaktualizowano: Najpierw źródła · To nie jest porada inwestycyjna