Każda kryptowaluta, aby funkcjonować w sposób bezpieczny i zdecentralizowany, musi opierać się na mechanizmach konsensusu. Proof of Work (PoW) i Proof of Stake (PoS) to dwa najpopularniejsze sposoby osiągania zgody co do poprawności danych zawartych w sieciach blockchain, które różnią się zarówno pod względem działania, jak i efektywności.
Oba mechanizmy mają swoje zalety i wady – PoW zapewnia najwyższy poziom bezpieczeństwa, ale jest energochłonny, natomiast PoS jest bardziej ekologiczny i skalowalny, ale jego decentralizacja budzi pewne wątpliwości. W tym artykule przyjrzymy się szczegółowo, jak działają oba te algorytmy.
Czym jest blockchcian?
Blockchain to rozproszona i zdecentralizowana baza danych, w której informacje są przechowywane w postaci bloków połączonych w chronologiczny łańcuch. Każdy blok zawiera zestaw transakcji oraz odniesienie do poprzedniego bloku, co sprawia, iż cała struktura jest odporna na manipulacje i trudna do sfałszowania. Proces działania blockchaina rozpoczyna się od zapisu danych – gdy użytkownicy dokonują transakcji z użyciem kryptowaluty, są one grupowane w bloki. Następnie poprawność tych transakcji musi zostać zweryfikowana. Po ich weryfikacji i zatwierdzeniu blok zostaje dołączony do łańcucha i staje się trwałą częścią historii transakcji. Dzięki temu, iż każdy blok zawiera unikalny „odcisk palca” poprzedniego bloku, czyli tak zwany “hash”, zmiana jednej informacji wstecz jest niemożliwa bez modyfikacji całego łańcucha.
Kluczowe cechy blockchaina to decentralizacja, która eliminuje potrzebę zaufania do pośredników, ponieważ nie istnieje jeden centralny serwer kontrolujący dane, oraz bezpieczeństwo, wynikające z kryptografii i struktury łańcucha, które utrudniają manipulację danymi. Istotnym elementem jest również przejrzystość, ponieważ w publicznych blockchainach, takich jak blockchian Bitcoina, każdy może prześledzić historię transakcji, a także nieodwracalność, gwarantująca, iż raz zapisanych bloków nie można zmienić ani usunąć.
Czym jest algorytm konsensusu?
Algorytm konsensusu to mechanizm umożliwiający uczestnikom rozproszonej sieci, takiej jak chociażby blockchain Bitcoina, uzgodnienie wspólnego stanu danych w nim zawartych bez potrzeby korzystania z centralnego, zaufanego organu. Jego głównym celem jest zapewnienie, iż wszystkie węzły (w uproszczeniu komputery przechowujące historię transakcji z użyciem kryptowaluty) w sieci dochodzą do porozumienia w kwestii poprawności transakcji i kolejności dodawania bloków, choćby jeżeli część z nich działa nieuczciwie (to znaczy próbuje zmanipulować sieć na przykład wydając środki, których nie posiadają poprzez próbę zapisania transakcji, która nigdy nie miała miejsca) lub ulega awarii.
W publicznym blockchainie algorytm konsensusu pełni kluczową rolę, ponieważ sieć składa się z wielu niezależnych uczestników, którzy muszą współpracować i się ze sobą zgadzać w kwestii poprawnej zawartości blockchaina, aby uniknąć problemu podwójnego wydawania (double spending) i zapewnić integralność zapisanych danych. W zależności od modelu konsensusu, sieć może wykorzystywać różne metody zatwierdzania transakcji.
Partner edukacyjny
Partnerem wspierającym w edukacji crypto traderów jest BingX – singapurska giełda kryptowalut.
Załóż rachunek z Forex Club i odbierz -20% rabatu prowizji na stałe!
Czym jest Proof-of-Work?
Proof-of-Work to algorytm konsensusu, stosowany na przykład na sieci Bitcoina, który polega na znalezieniu adekwatnego hasha dla nowego bloku transakcji. Brzmi to zawile, dlatego dobrze jest zrozumieć ten proces na przykładzie.
Każdy blok zawiera dane, takie jak lista transakcji z użyciem kryptowaluty, hash poprzedniego bloku oraz wartość nonce, czyli liczbę, którą górnicy zmieniają w celu znalezienia poprawnego rozwiązania. Te dane są następnie przepuszczane przez funkcję kryptograficzną, taką jak SHA-256 w Bitcoinie, która zamienia wszystkie te dane w unikalny, alfanumeryczny kod, tak jak poniżej:

Proces hashowania. Źródło: https://emn178.github.io
W naszym przykładzie, dane zawarte w bloku zostały zamienione do postaci d46f9ac75803c559b20de06e47baa839c321fd618f01143145b2c5452a55265f i jest to hash naszego bloku.
Jeśli jednak zmienimy dosłownie jedną informację w nim zawartą, na przykład, iż Antek zamiast 2 BTC przesłał do Kuby 1 BTC, a resztę zostawimy niezmienioną, to hash naszego bloku będzie już kompletnie inny, tak jak poniżej:

Jak zmiana choć jednej informacji wpływa na zmianę całego hasha. Źródło: https://emn178.github.io/
Oznacza to, iż każdy jeden blok w blockchianie Bitcoina posiada swój własny, unikalny hash.
Gdyby zatem ewentualny oszust chciał zmienić jakąkolwiek transakcję w ramach bloku na swoją korzyść, hash tego bloku byłby kompletnie inny. Co za tym idzie, taki oszust musiałby na nowo hashować wszystkie bloki, które powstały od czasu tego bloku, który oszust chciałby zmanipulować.
Aby jednak nie było to możliwe, bloki na sieci bitcoina hashowane są zgodnie z określonymi regułami. Reguły te mogą na przykład określać, iż hash takiego bloku musi rozpoczynać się od czterech zer. I tutaj dochodzimy do wspomnianej już wartości nonce.
Gdyby w bloku nie znajdowała się wartość nonce, to jego hash wyglądałby zawsze tak samo i spełnienie warunku “czterech zer” nie byłoby możliwe w inny sposób, jak tylko poprzez zamianę danych na temat transakcji z użyciem kryptowaluty. Taki system nie miałby sensu, gdyż przeczyłby rzeczywistości – albo ktoś wysłał 4 BTC, albo ich nie wysłał, nie zmienia się takich informacji wedle upodobania. jeżeli natomiast do takiego bloku dopiszemy wartość nonce, to jak już wspomnieliśmy, wartość jego hashu kompletnie się zmienia. Dzięki temu, iż wartością nonce można manipulować, to znaczy zmieniać jej wartość, jesteśmy w stanie zmienić wartość hashu każdego bloku tak długo, dopóki nie spełni on naszego warunku, to znaczy dopóki jego hash nie będzie rozpoczynał się od “ czterech zer”.

Hash bloku bez wartości nonce. Źródło: https://emn178.github.io/

Hash bloku ze zmienioną wartością nonce. Źródło: https://emn178.github.io/
Znalezienie hashu dla określonego bloku, który spełniałby określone warunki, polega zatem na zmianie wartości nonce, co w praktyce oznacza podkładanie różnych wartości pod nonce do momentu, w którym wygeneruje się hash, który będzie spełniał warunki określone przez sieć.
Gdyby oszust z naszego przykładu chciał zmienić wszystkie bloki, które zostały zhashowane po bloku, który chce on zmanipulować, to musiałby znaleźć odpowiednią wartość nonce dla wszystkich z nich.
Proces znajdowania odpowiedniej wartości nonce, który potocznie nazywany jest “wydobywaniem” nowego bloku, wykonują komputery podłączone do sieci Bitcoina, zwane potocznie “koparkami”. Im większa jest moc obliczeniowa takiego komputera, tym szybciej może on odgadnąć poprawną wartość nonce, a tym samym poprawnie zabezpieczyć blok. Takie działanie jest jednak kosztowne i kosztuje tym więcej, im starszą transakcję ktoś chciałby zmanipulować.
Kto i po co w ogóle się tym zajmuje? Proces Proof-of-Work opisany powyżej jest najważniejszy dla zachowania integralności sieci blockchcian Bitcoina i przyczynia się do jej bezpieczeństwa. Dbaniem o to bezpieczeństwo zajmują się “górnicy” kryptowalut, czyli osoby lub podmioty, które konfigurują i obsługują “koparki” kryptowalut. Aby jednak poświęcać swój czas, sprzęt, energię elektryczną i know-how muszą oni dostawać coś w zamian. Tym “czymś” jest “nagroda za blok”, na którą składają się BTC z nowej emisji + prowizja za transakcje sieciowe, która jest płacona za każdym razem, gdy użytkownik sieci Bitcoina przesyła transakcję z użyciem tej kryptowaluty.
Gdy “górnicy” otrzymują ową nagrodę, to mogą sprzedać ją na rynku i otrzymać z tego tytułu dolary, za które mogą pokryć swoje koszty operacyjne. Gdy przychody z tego przedsięwzięcia przewyższają jego koszty, “górnicy” osiągają zysk.
To co jednak istotne to fakt, iż “nagrodę za blok” może otrzymać tylko ten “górnik”, który pierwszy znajdzie poprawną wartość nonce. Oznacza to również, iż górnicy ze sobą konkurują, a im większą moc obliczeniową posiadają “koparki” danego “górnika”, tym większe prawdopodobieństwo, iż to właśnie on znajdzie wartość nonce i otrzyma “nagrodę za blok”.
Odbierz -20% rabatu prowizji w BingX
Jeśli na tym etapie zafascynowała Cię tematyka Bitcoina i myślisz nad zakupem tej pierwszej i największej kryptowaluty, możesz to zrobić za pośrednictwem BingX, giełdy kryptowalut, która jest partnerem tego artykułu. Jej pełną recenzję znajdziesz pod tym linkiem.
Czym jest Proof-of-Stake?
Proof of Stake (PoS) to alternatywny algorytm konsensusu stosowany m.in. w sieci Ethereum 2.0.
W systemie PoS, zamiast górników mamy walidatorów, którzy zajmują się przetwarzaniem transakcji i dodawaniem nowych bloków do łańcucha. Aby zostać walidatorem, użytkownik musi wpłacić określoną ilość kryptowaluty jako depozyt, który stanowi jego zabezpieczenie. W Ethereum 2.0 minimalna wymagana stawka wynosi 32 ETH. Po złożeniu depozytu walidatorzy nie konkurują już na zasadzie mocy obliczeniowej, ale sieć losowo wybiera jednego z nich, który zaproponuje nowy blok transakcji. Im więcej ETH użytkownik zdeponował, tym większa jest szansa, iż zostanie wybrany do dodania bloku i otrzyma nagrodę. Po zaproponowaniu bloku inni walidatorzy weryfikują jego poprawność, sprawdzając, czy wszystkie transakcje są zgodne z zasadami sieci. jeżeli większość zatwierdzi blok, zostaje on dodany do blockchaina.
Aby zapobiec oszustwom, PoS wprowadza system nagród i kar. Walidatorzy otrzymują nagrody w postaci ETH za uczciwe działanie, ale jeżeli spróbują manipulować danymi lub zaproponują nieprawidłowy blok, mogą stracić część lub całość swojego stakowanego depozytu w procesie zwanym slashingiem. Dzięki temu atakowanie sieci jest niezwykle kosztowne i nieopłacalne. W ramach PoS, manipulowanie blockchainem wymagałoby przejęcia kontroli nad większością sieci, a więc atakujący musiałby posiadać co najmniej 51% wszystkich stakowanych ETH, co jest bardzo drogie i ryzykowne, a przez to bardzo mało prawdopodobne.
Proof of Stake różni się od Proof of Work przede wszystkim tym, iż eliminuje potrzebę kopania i ogromnego zużycia energii. Walidatorzy nie muszą wykonywać tak wielu obliczeń, a nowe bloki są tworzone losowo. Dzięki temu Ethereum 2.0 zużywa ponad 99% mniej energii niż sieć Bitcoina. O ile w PoW górnicy inwestują w sprzęt i energię, aby zdobywać nagrody, w PoS walidatorzy wykorzystują swoje kryptowaluty jako zabezpieczenie, co motywuje ich do uczciwego działania – jeżeli próbują oszukiwać, mogą stracić swoje zdeponowane środki.
Dzięki eliminacji energochłonnego kopania i wprowadzeniu bardziej efektywnego modelu zatwierdzania transakcji, Proof of Stake stanowi bardziej ekologiczną i skalowalną alternatywę dla Proof of Work. Wykorzystanie kapitału zamiast mocy obliczeniowej sprawia, iż sieć Ethereum jest bardziej zrównoważona, a walidatorzy mają ekonomiczną motywację do uczciwego działania.
Podsumowanie
Proof of Work i Proof of Stake to dwa różne podejścia do zabezpieczania sieci blockchain i osiągania konsensusu między jej uczestnikami. Proof of Work, stosowany w Bitcoinie, opiera się na mocy obliczeniowej “górników”, którzy dbają o integralność i bezpieczeństwo sieci blockchian.
Z kolei Proof of Stake, używany w Ethereum 2.0, eliminuje potrzebę “kopania” poprzez wprowadzenie systemu walidatorów, którzy zatwierdzają transakcje na blockchainie po uprzednim zdeponowaniu do sieci odpowiedniej ilości środków, które służą jej zabezpieczeniu na wypadek, gdyby któryś z walidatorów chciałby oszukać resztę uczestników sieci.
Oba algorytmy mają swoje zastosowania i wybór najlepszego rozwiązania zależy od priorytetów danej sieci blockchain. Bitcoin stawia na najwyższy poziom bezpieczeństwa i decentralizacji kosztem wydajności, natomiast Ethereum dąży do skalowalności kosztem nieco innej struktury konsensusu. Niezależnie od tego, który mechanizm uznamy za lepszy, oba odgrywają kluczową rolę w rozwoju technologii blockchain i rynku kryptowalutowego.