Strona główna Kryptografia Konsensus blockchain

⛓️ Konsensus blockchain

Wydobycie proof-of-work i konsensus najdłuższego łańcucha: górnicy ścigają się, by pobić cel trudności, bloki są rozgłaszane, rozwidlenia są rozstrzygane, trudność się przelicza, a symulacja pokazuje prawdopodobieństwo sukcesu ataku 51%.

Kryptografia3DZaawansowany60 FPS
blockchain-consensus ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O mechanizmach konsensusu blockchain

Konsensus blockchain to proces, w którym rozproszona sieć komputerów — z których żaden nie ufa pozostałym — uzgadnia jedną, odporną na manipulację historię transakcji. W Proof-of-Work (PoW), mechanizmie wykorzystywanym przez Bitcoina, każdy górnik wielokrotnie hashuje nagłówek bloku z losową liczbą (nonce), aż wynik spadnie poniżej wartości docelowej — proces wymagający ogromnych obliczeń, ale trywialnie weryfikowalny przez każdego. Zasada „wygrywa najdłuższy łańcuch", znana jako konsensus Nakamoto, gwarantuje, że atakujący musi prześcignąć całą uczciwą sieć, by przepisać historię — jest to gwarancja ekonomiczna, a nie kryptograficzna.

Ta symulacja pozwala kontrolować liczbę uczciwych górników, trudność hashowania, ułamek mocy obliczeniowej posiadany przez atakującego oraz nagrodę za blok. Obserwuj, jak powstają i rozstrzygają się rozwidlenia, gdy górnicy okazjonalnie znajdują bloki jednocześnie, śledź przeliczanie trudności co kilka rund, aby utrzymać czas bloku blisko wartości docelowej, i zwiększ udział atakującego powyżej 50%, by zobaczyć, jak próby podwójnego wydania stają się coraz bardziej prawdopodobne.

Najczęściej zadawane pytania

Jak działa wydobywanie Proof-of-Work?

Górnik bierze blok oczekujących transakcji, dodaje losową liczbę zwaną nonce i hashuje cały nagłówek za pomocą SHA-256. Jeśli wynikowy hash zaczyna się od wystarczającej liczby wiodących zer (czyli jest liczbowo poniżej celu sieci), blok jest ważny i górnik go rozgłasza. Oczekiwana liczba potrzebnych haszy równa się 2^(liczba wiodących bitów zerowych), więc zwiększenie trudności o jeden bit podwaja średnią wymaganą pracę.

Czym jest atak 51% i jak zagraża bezpieczeństwu?

Jeśli pojedynczy podmiot kontroluje ponad połowę całkowitej mocy obliczeniowej sieci, może wydobywać prywatny łańcuch szybciej niż łańcuch publiczny. Gdy jego tajny łańcuch stanie się dłuższy, rozgłasza go, sieć przełącza się na niego zgodnie z zasadą najdłuższego łańcucha, a wszelkie transakcje w porzuconym już łańcuchu publicznym zostają cofnięte — „podwójne wydanie". W praktyce przeprowadzenie ataku 51% na Bitcoina kosztowałoby szacunkowo setki milionów dolarów na godzinę.

Czym jest rozwidlenie blockchain i jak jest rozstrzygane?

Rozwidlenie występuje, gdy dwaj górnicy znajdują ważne bloki niemal w tym samym czasie, tworząc dwa konkurujące końce łańcucha. Każdy rozpowszechnia swój blok, a sieć tymczasowo się dzieli. Remis zostaje rozstrzygnięty, gdy tylko jeden z łańcuchów urośnie o kolejny blok — dłuższy łańcuch wygrywa, a przegrany blok staje się „sierotą" lub „uncle". To naturalne rozstrzygnięcie następuje w Bitcoinie w ciągu sekund, ale zależy od szybkości propagacji bloków w sieci peer-to-peer.

Jak działa dostosowywanie trudności w Bitcoinie?

Bitcoin przelicza swój cel proof-of-work co 2016 bloków (około dwa tygodnie). Jeśli te bloki zostały znalezione szybciej niż 10-minutowy cel, cel jest obniżany (trudność rośnie); jeśli wolniej, jest podwyższany. Maksymalna dozwolona zmiana przy jednym przeliczeniu to czterokrotność, co zapobiega nagłym ekstremalnym wahaniom. Ten mechanizm sprzężenia zwrotnego utrzymuje średni czas bloku blisko 10 minut niezależnie od tego, ile mocy obliczeniowej dołącza lub opuszcza sieć.

Czym jest Proof-of-Stake i czym różni się od Proof-of-Work?

W Proof-of-Stake (PoS) walidatorzy są wybierani do proponowania bloków proporcjonalnie do ilości kryptowaluty, którą blokują jako zabezpieczenie („stake"), a nie na podstawie wykonywanych obliczeń. Ethereum przeszło z PoW na PoS podczas „The Merge" we wrześniu 2022 roku, zmniejszając zużycie energii o około 99,95%. Atak na łańcuch PoS wymaga kontrolowania większości zablokowanych monet, a protokół może obciąć (skonfiskować) stawkę wykrytych atakujących.

Dlaczego transakcje potrzebują wielu potwierdzeń, zanim zostaną uznane za ostateczne?

Każdy kolejny blok dodany na szczycie bloku transakcji sprawia, że jej cofnięcie jest wykładniczo trudniejsze. Konwencja Bitcoina, sześć potwierdzeń (~60 minut), odzwierciedla prawdopodobieństwo, że atakujący z 30% mocy obliczeniowej mógłby potajemnie wydobyć dłuższe rozwidlenie od tego punktu: prawdopodobieństwo spada poniżej 0,1% przy szóstym bloku. Przy bardzo dużych transakcjach sprzedawcy mogą wymagać znacznie więcej potwierdzeń.

Czym jest nonce i czy górnik może wyczerpać nonce?

Nonce (liczba użyta raz) to 32-bitowa liczba całkowita w nagłówku bloku, którą górnicy zwiększają, szukając ważnego hasza. Przy 2^32 ≈ 4,3 miliarda możliwości na nonce nowoczesne szybkie koparki mogą wyczerpać przestrzeń nonce w niecałą sekundę. Gdy to się stanie, zmieniają inne pole — zwykle znacznik czasu lub „extraNonce" w transakcji coinbase — aby stworzyć nowy zestaw nonce do przeszukania.

Czym jest atak samolubnego wydobycia (selfish mining)?

W samolubnym wydobyciu górnik z wystarczającą mocą obliczeniową (już od ~33%) wstrzymuje znalezione bloki, budując prywatną przewagę. Publikuje je dopiero, gdy uczciwa sieć zaczyna go doganiać, powodując, że uczciwi górnicy marnują pracę na łańcuch, który zostanie odrzucony. Samolubne wydobycie może dać atakującemu nieproporcjonalny udział w nagrodach za bloki bez pełnych 51% potrzebnych do podwójnego wydania, i jest znaną podatnością konsensusu Nakamoto.

Ile energii zużywa wydobywanie Bitcoina?

Sieć Bitcoina zużywa szacunkowo 120-150 TWh rocznie, co jest z grubsza porównywalne z rocznym zużyciem energii elektrycznej przez kraj taki jak Argentyna. To zużycie energii jest celowe — to właśnie ono sprawia, że przepisanie księgi jest kosztowne. Krytycy twierdzą, że zużycie jest marnotrawne dla systemu płatności, podczas gdy zwolennicy zauważają, że rosnący ułamek pochodzi z nadwyżek energii odnawialnej, a bezpieczeństwo, które kupuje, jest proporcjonalnie wartościowe.

Czy blockchainy mogą być wykorzystywane do czegoś innego niż kryptowaluty?

Tak — inteligentne kontrakty, NFT, zdecentralizowane finanse (DeFi), śledzenie pochodzenia w łańcuchu dostaw i tożsamość cyfrowa to aktywne obszary. Ethereum spopularyzowało programowalne blockchainy, w których dowolny kod działa w maszynie wirtualnej na każdym węźle, tworząc aplikacje niewymagające zaufania. Jednak obliczenia on-chain są kosztowne za operację, więc wiele aplikacji przechowuje w łańcuchu tylko kryptograficzne zobowiązania, a dane masowe trzyma poza łańcuchem.

Podobne symulacje