Problem, który rozwiązuje proof of work
Cyfrową księgę łatwo skopiować i łatwo edytować. Gdyby każdy mógł swobodnie dodawać transakcje, mógłby też wydać te same monety dwa razy — to klasyczny problem "podwójnego wydatkowania". W systemie bez centralnego operatora potrzebny jest sposób, aby niezależni uczestnicy uzgodnili, które transakcje miały miejsce i w jakiej kolejności, nawet gdy niektórzy z nich są nieuczciwi lub offline.
Wcześniejsze próby stworzenia cyfrowej gotówki opierały się na zaufanej stronie prowadzącej rachunki. Projekt Bitcoina, opisany w whitepaperze z 2008 roku, zastąpił tę zaufaną stronę publiczną rywalizacją: uczestnicy zużywają realne zasoby, aby dołączać bloki, a sieć podąża za wspólną regułą wyboru zwycięskiego łańcucha. Konsensus wyłania się z kosztu i matematyki, a nie z władzy.
Co górnicy faktycznie obliczają
Każdy kandydujący blok zawiera paczkę transakcji, odniesienie do poprzedniego bloku oraz małą zmienną liczbę zwaną nonce. Górnicy przepuszczają te dane przez funkcję skrótu SHA-256, która zamienia dowolne wejście w wynik o stałej długości, wyglądający na nieprzewidywalny. Celem jest znalezienie wejścia, które da skrót poniżej pewnej wartości docelowej — w praktyce skrót zaczynający się od określonej liczby zer.
Ponieważ wyników skrótu nie da się przewidzieć ani odtworzyć, jedynym sposobem znalezienia kwalifikującego się skrótu jest metoda prób i błędów: zmień nonce, zahaszuj ponownie, powtórz, miliardy razy na sekundę. To wyszukiwanie metodą brute force jest właśnie "pracą". Jest celowo trudne do wykonania, ale trywialne do sprawdzenia dla każdego innego — pojedyncze obliczenie skrótu potwierdza, że odpowiedź jest ważna. Ta asymetria (trudno wytworzyć, łatwo zweryfikować) stanowi sedno proof of work.
Trudność i mniej więcej dziesięciominutowy rytm
Bitcoin dąży do nowego bloku średnio mniej więcej co dziesięć minut. W miarę jak do sieci dołącza więcej mocy obliczeniowej (hash rate), bloki miałyby tendencję do pojawiania się szybciej, dlatego protokół okresowo dostosowuje trudność — jak niski musi być docelowy skrót — aby utrzymać stałe średnie tempo. Mniej więcej co dwa tygodnie (2016 bloków) każdy węzeł ponownie przelicza trudność na podstawie ostatnich czasów bloków.
To samodostosowanie sprawia, że większa moc kopania nie oznacza z czasem szybszej produkcji bloków; oznacza to głównie, że więcej pracy jest zużywane na zabezpieczenie tego samego stałego strumienia bloków. Dokładny moment pojawienia się pojedynczego bloku jest losowy, więc dziesięć minut to średnia długoterminowa, a nie harmonogram.
Od bloków do konsensusu: najdłuższy ważny łańcuch
Znalezienie ważnego bloku to tylko połowa historii. Węzły wciąż muszą uzgodnić jedną historię, gdy dwóch górników znajdzie bloki niemal w tym samym momencie. Reguła jest taka, że węzły podążają za ważnym łańcuchem o największej całkowitej nagromadzonej pracy proof of work — często podsumowywanym jako "najdłuższy łańcuch", choć w istocie jest to łańcuch najcięższy pod względem skumulowanej pracy.
Każdy pełny węzeł niezależnie weryfikuje każdy blok pod kątem reguł Bitcoina: ważnych podpisów, braku podwójnego wydatkowania, poprawnej nagrody za blok oraz skrótu spełniającego cel. Bloki łamiące reguły są po prostu odrzucane, niezależnie od tego, ile pracy w nie włożono. Tymczasowe rozbieżności (forki) rozwiązują się, gdy kolejny blok przedłuża jedną z gałęzi, a uczciwi górnicy zbiegają się na niej, ponieważ to na zaakceptowanym łańcuchu leży nagroda za dalsze budowanie.
Dlaczego to zabezpiecza sieć
Aby przepisać wcześniejszą transakcję, atakujący musiałby ponownie wykonać proof of work dla tego bloku i każdego bloku po nim, a następnie prześcignąć całą uczciwą sieć, aby zbudować dłuższy łańcuch. Im głębiej transakcja jest zakopana, tym więcej pracy trzeba by ponownie wykonać — dlatego sprzedawcy często czekają na kilka potwierdzeń. Koszt skaluje się wraz z całkowitym hash rate sieci.
To właśnie intuicja stojąca za "atakiem 51%": kontrolowanie większości mocy haszującej mogłoby pozwolić komuś na zmianę kolejności lub cenzurowanie ostatnich transakcji. Ale zdobycie i utrzymanie takiego sprzętu jest kosztowne, nie pozwala on na fałszowanie podpisów ani bezpośrednią kradzież monet, a widoczny atak mógłby podważyć wartość samego aktywa, na którego kopanie atakujący zużywa zasoby. Bodźce są tak ułożone, że uczciwe uczestnictwo jest zazwyczaj bardziej opłacalne niż atak. Bezpieczeństwo jest tu ekonomiczne i probabilistyczne, a nie absolutną gwarancją.
Kompromisy i szersza debata
Siła proof of work — realny, zewnętrzny koszt — jest zarazem źródłem jego najczęstszej krytyki: zużycia energii. Szacunki dotyczące zużycia energii elektrycznej przez Bitcoina bardzo się różnią i zmieniają w czasie, a obraz komplikuje rosnący udział energii uwięzionej, nadwyżkowej lub odnawialnej, którą wykorzystują niektórzy górnicy. Rozsądni ludzie różnią się w opiniach, a szczegóły się zmieniają; warto sprawdzać aktualne, wiarygodne źródła zamiast polegać na jednej liczbie.
Alternatywne projekty konsensusu, takie jak proof of stake, zabezpieczają niektóre inne sieci przy znacznie mniejszym zużyciu energii, wykorzystując zabezpieczenie ekonomiczne zamiast obliczeń. Wiążą się z innymi założeniami i kompromisami, a rzetelne ich porównanie to temat sam w sobie. W przypadku samego Bitcoina proof of work pozostaje mechanizmem, a jego bezpieczeństwo i harmonogram emisji są z nim powiązane.