PoWODPOWIEDŹ OPARTA NA ŹRÓDŁACH

Jak działa Proof of Work w Bitcoinie?

Dlaczego górnicy zużywają prąd, jak inni sprawdzają ich pracę i dlaczego sama moc obliczeniowa nie zmienia zasad Bitcoina.

Proof of Work pomaga sieci uzgodnić kolejność prawidłowych transakcji. Górnicy rywalizują o znalezienie odpowiedniego wyniku obliczeń dla nowego bloku, czyli paczki transakcji. Szukanie kosztuje energię i czas, sprawdzenie jest łatwe. Przepisanie historii wymaga więc powtórzenia pracy i dogonienia łańcucha, który sieć nadal wydłuża.

01

Wydobycie szuka, nie rozwiązuje użytecznego równania

Wyobraź sobie losowanie, w którym każda próba zużywa trochę energii. Górnik bierze nagłówek bloku, zwięzły zestaw danych o nim, i dwukrotnie stosuje SHA-256, otrzymując hash: liczbowy odcisk. Wyniku nie da się wiarygodnie przewidzieć. Zmienia więc Nonce, pomocniczą liczbę w nagłówku, oraz inne dane i próbuje ponownie. Hash musi być mniejszy lub równy wartości docelowej. Inni powtarzają to obliczenie, by sprawdzić wynik.

02

Trudność w przybliżeniu utrzymuje tempo

Gdy przybywa mocy wydobywczej, bloki mogą przez pewien czas powstawać szybciej. Co 2 016 bloków wartość docelowa jest dostosowywana do czasu poprzedniego okresu. Sieć dąży do średnio około dziesięciu minut na blok, nie do sztywnego rozkładu. Konkretny blok może pojawić się dużo wcześniej lub później. Niższy cel oznacza mniej dopuszczalnych wyników i większą trudność.

03

Praca porządkuje prawidłową historię, węzły pilnują poprawności

Czasem powstają konkurencyjne wersje ostatnich bloków. Full Node, program samodzielnie sprawdzający zasady Bitcoina, wybiera prawidłową gałąź o największej skumulowanej pracy. Sama liczba bloków nie wystarcza. Gałąź nieprawidłową odrzuci nawet przy ogromnej mocy obliczeniowej: nie uprawnia ona górnika do tworzenia dodatkowych monet ani wydawania cudzych bitcoinów bez wymaganego podpisu.

80 bajtówdane w nagłówku bloku
SHA-256²haszowanie nagłówka
2 016bloków między korektami
≈ 10 mindocelowy średni odstęp
01

Hash to los bez znanej drogi na skróty

80-bajtowy nagłówek wiąże poprzedni blok, korzeń Merkle’a transakcji, czas, cel i Nonce. Podwójne SHA-256 zamienia każdego kandydata w nieprzewidywalną liczbę 256-bitową. Górnik zmienia Nonce, extra Nonce w coinbase lub kolejność transakcji i próbuje ponownie; praktyczną strategią jest ogromna liczba prób.

02

Cel i trudność opisują tę samą przeszkodę

Blok przechodzi sprawdzenie, gdy wartość liczbowa hasha nagłówka jest mniejsza lub równa bieżącemu celowi. Niższy cel oznacza mniej wygrywających hashy i więcej oczekiwanej pracy. Trudność wyraża tę przeszkodę względem najłatwiejszego celu dozwolonego w Bitcoinie, a Hashrate szacuje liczbę prób na sekundę.

03

Korekta trudności oddziela emisję od liczby maszyn

Co 2 016 bloków węzły przeliczają cel z oznaczeń czasu poprzedniego okresu, przy czym zmiana ma określone granice. Dodanie górników przejściowo przyspiesza bloki, lecz następna korekta zwiększa trudność. Dziesięć minut to cel długoterminowy, nie rozkład dla każdego bloku.

04

Skumulowana praca rozstrzyga konkurencję prawidłowych historii

Węzły mogą przez chwilę widzieć dwa prawidłowe końce łańcucha. Podążają za prawidłowym łańcuchem z największą skumulowaną pracą, a nie po prostu z większą liczbą bloków. Przepisanie starszej historii wymaga powtórzenia jej pracy i wyprzedzenia nadal rosnącej sieci, więc cofnięcie głębszych potwierdzeń staje się coraz droższe.

05

Atak większościowy jest potężny, ale nie wszechmocny

Trwale dominujący Hashrate może reorganizować niedawne bloki, cenzurować transakcje lub podwójnie wydać własną niedawną płatność napastnika. Nie może sfałszować podpisu innego użytkownika, wydać dowolnych UTXO, zwiększyć dozwolonej dotacji emisyjnej bloku ani zmusić węzłów walidujących do przyjęcia nieprawidłowego bloku.

06

Energia jest ceną bezpieczeństwa i rzeczywistym kompromisem

Proof of Work zamienia prąd, sprzęt i czas działania w sygnał kosztowny poza samym systemem. Podnosi to koszt przepisania historii, ale zużycie energii i lokalne skutki są realnymi kosztami. Sensowna ocena rozróżnia całkowite zużycie, źródła energii, wpływ na sieć energetyczną i uzyskane bezpieczeństwo; dzielenie całego zużycia przez liczbę dziennych transakcji zniekształca obraz systemu, który stale zabezpiecza całą historię księgową.

Proof of Work nie dowodzi, że każda transakcja jest uczciwa lub legalna. Potwierdza obliczenia wykonane dla proponowanej historii; dopiero pełna walidacja ustala, czy historia przestrzega protokołu.

01Czy wydobycie rozwiązuje użyteczne problemy naukowe?

Jego bezpośrednim produktem jest łatwy do sprawdzenia dowód związany z konkretnym nagłówkiem bloku. Swobodne ponowne wykorzystanie pracy do innego zadania mogłoby osłabić to powiązanie lub wprowadzić drogi na skróty.

02Czy wyższy Hashrate tworzy więcej bitcoinów?

Bloki mogą przychodzić szybciej tylko przejściowo, między korektami trudności. Przeliczenie trudności przywraca długoterminowe tempo emisji do harmonogramu.

03Czy najdłuższy łańcuch jest zawsze poprawny?

Węzły najpierw wymagają poprawności każdego bloku, a następnie porównują skumulowaną pracę. Odrzucają nieprawidłowy łańcuch niezależnie od deklarowanej długości.

04Czy 51% Hashrate może ukraść wszystkie monety?

Nie. Może atakować kolejność i niedawne rozliczenia, ale nie potrafi utworzyć prawidłowego podpisu dla kluczy, których nie kontroluje.

PoWProof of WorkProtokół HASHWydobywanieSieć 2016Difficulty AdjustmentProtokół HDRBlock HeaderProtokół H/sHashrateSieć NODEFull NodeSieć