Zgoda na historię bez sędziego
Najtrudniejszym problemem w blockchainie nie jest kryptografia, lecz konsensus: uzyskanie zgody tysięcy wzajemnie się nieufnych komputerów rozproszonych po całym świecie na pojedynczą, współdzieloną kolejność transakcji, bez możliwości dla jakiejkolwiek centralnej jednostki jedynie ogłoszenia odpowiedzi. Proof-of-Work rozwiązuje to poprzez uczynienie proponowania następnego bloku kosztownym, wymagającym znacznego nakładu obliczeniowych zasobów, oraz przez umożliwienie sieci przestrzegania prostego, mechanicznego prawa – najdłuższa łańcuch (dokładniej łańcuch z największą sumą wykonanej pracy) jest prawidłowy, a nie żadna ankieta ani komitet.
Górnictwo bloku oznacza wielokrotne haszowanie zawartości bloku w połączeniu z zmieniającą się liczbą określaną jako nonce, aż do uzyskania hasza, który spada poniżej określonego celu – liczby z wystarczającą ilością zer na początku, aby sprawić, że będzie ona statystycznie rzadka. Ponieważ funkcja haszująca kryptograficzna jest nieprzewidywalna, nie ma skrótu: znalezienie prawidłowego hashu wymaga średnio próbowania około 2^d różnych nonce dla celu wymagającego d bitów zer na początku, a jedyną strategią jest przeszukiwanie metodą prób i błędów.
find nonce such that: SHA256(SHA256(block_header || nonce)) < target expected tries ≈ 2^difficulty_bits (pure brute force, no shortcut exists)
Trudność retargetingu utrzymuje zegar w stałym rytmie
Wraz ze wzrostem liczby górników dołączających do sieci, rośnie łączna stopa haszowania i bloki są odkrywane szybciej niż interwał docelowy (10 minut dla Bitcoina) wyłącznie z przypadku. Każde ustalone określenie bloków sieć ponownie oblicza cel i dostosowuje trudność w górę lub w dół, aby, biorąc pod uwagę stopę haszowania obserwowaną w ciągu ostatniego okresu retargetingu, oczekiwano, że bloki będą nadal przybywać w tym samym regularnym interwale. Jest to pętla sprzężenia zwrotnego bez zewnętrznego wpływu: dlatego czas blokowy Bitcoina utrzymuje się blisko 10 minut przez ponad dziesięć lat, pomimo wielokrotnego wzrostu całkowitej stopa haszowania sieci.
Łozówki same się rozwiążą, przy wystarczającym czasie
Ponieważ propagacja bloków odbywa się przez globalną sieć w czasie rzeczywistym, dwaj górnicy mogą sporadycznie znaleźć poprawne bloki niemal jednocześnie, rozszerzając ten sam rodzic – tymczasową łozówkę. Różne węzły początkowo będą widzieć różne końce łańcucha, jako aktualnie najlepszy. Zasada, która to rozwiązuje bez głosowania, jest taka, że którykolwiek gałąź gromadzi więcej całkowitej pracy dowodowej najpierw, staje się tym, na którym wszyscy ostatecznie konwergują, a bloki z opuszczonej łozówki są odrzucane (ich transakcje wracają do puli oczekujących, chyba że również zawarte w wygrywającej łańcuchu). Dlatego transakcja nie jest uważana za zakończoną natychmiast po pojawieniu się w bloku – potrzebuje kilku kolejnych bloków (potwierdzeń) ułożonych na górze, zanim szansa na to, że ten blok znajduje się na przegranym łańcuchu, stanie się pomijalnie mała.
Atak 51%: kupowanie możliwości zmieniania historii
Jeśli pojedynczy podmiot kontroluje ponad połowę całkowitej mocy obliczeniowej sieci, może zasadniczo wydobyć prywatną alternatywną gałąź szybciej niż uczciwa sieć rozszerza publiczną, a następnie ją opuścić – i ponieważ reguła brzmi po prostu 'najdłuższy zgromadzony praca wygrywa', sieć przełączy się na łańcuch atakującego, odrzucając transakcje, które wcześniej uważano za potwierdzone. Pozwala to atakującemu podwoić wydane monety, ale krytycznie nie pozwala mu tworzyć transakcji dla innych użytkowników ani tworzyć monet z niczego – podpisy kryptograficzne nadal chronią te portfele. Koszt ataku skaluje się bezpośrednio w proporcji do mocy obliczeniowej uczciwej sieci, co dokładnie wyjaśnia, dlaczego bezpieczeństwo dowodu pracy często podsumywane jest jako 'bezpieczeństwo proporcjonalne do zużytej energii': dla dużej, ugruntowanej łańcucha koszt sprzętu i energii potrzebny do utrzymania 51% globalnej mocy obliczeniowej jest ogromny, podczas gdy mała łańcuch o niewielkiej mocy wydobywczej jest stosunkowo tania w ataku.
Co w rzeczywistości kupuje dowód pracy
Eleganckim aspektem projektu jest to, że identyczny koszt obliczeniowy, który sprawia, że wydobywanie jest drogie, sprawia również, że przepisywanie historii staje się drogą w dokładnie tej samej walucie. Atakujący nie może tanio wygenerować fałszywej łańcucha z większą zgromadzonym pracą niż prawdziwa, ponieważ zgromadzone praca jest, przez konstrukcję, rzeczywistym, niezapisalnym, opartym na fizyce kosztem. Ten handel – energia ze świata rzeczywistego za dowód niepodważalności – to właśnie to, co konsensus dowodu pracy w rzeczywistości sprzedaje, i jest to również jego najbardziej krytykowana cecha, ponieważ ta sama energia jest wydawana, niezależnie od tego, czy atak nigdy nie zostaje podjęty.
Frequently asked questions
Co konkretnie robią górnicy, kiedy 'wydobywają' blok?
Powtarzają hashowanie zawartości proponowanego bloku w połączeniu z zmieniającą się wartością nonce, szukając nonce, który generuje hash poniżej określonego progu. Ze względu na nieprzewidywalność wyników hashowania, wymaga to metody prób i błędów, a znalezienie jednego jest dowodem na poniesiony rzeczywisty wysiłek obliczeniowy.
Dlaczego czas blokowania Bitcoina utrzymuje się blisko 10 minut, nawet gdy rośnie całkowita moc wydobywawcza?
Sieć okresowo przekalkuluje cel trudności w oparciu o tempo, z jakim ostatnie bloki zostały faktycznie znalezione. Jeśli bloki pojawiały się szybciej niż ustalony interwał, trudność wzrasta; jeśli wolniej, spada – to samoregulujący mechanizm sprzężenia zwrotnego, który utrzymuje średni interwał stabilny niezależnie od tego, ile całkowitej mocy haszującej dołącza lub opuszcza.
Co i czego nie może zrobić atakujący z 51% udziału?
Atakujący o większości mocy haszującej może przepisać niedawne historyczne transakcje, aby podwoić wydane monety, poprzez tajne wydobywanie alternatywnej gałęzi. Nie mogą oni fałszować podpisów innych użytkowników, kradnąć monet z portfeli, które nie kontroluje, ani tworzyć nowych monet poza zasadami protokołu – kryptograficzne podpisy nadal chronią te transakcje.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Blockchain Consensus i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację Blockchain Consensus