Algorytm konsensusu w sieci blockchain - czym jest?

Udostępnij
Algorytm konsensusu w sieci blockchain - czym jest?
Posłuchaj tego artykułu
00:00 / 00:00

W kontekście kryptowalut, algorytmy konsensusu stanowią kluczowy element każdej z sieci blockchain oraz są odpowiedzialne za zachowanie przez nie należytej integralności, bezpieczeństwa oraz kierowanie ich działaniem. Pierwszym konsensusem zaprojektowanym na potrzeby świata kryptowalut był algorytm Dowodu Pracy (ang. Proof of Work). PoW stworzony został przez osobę lub grupę osób kryjących się pod pseudonimem Satoshi Nakamoto i został wdrożony do kryptowaluty Bitcoin, jako remedium na tzw. Problem Bizantyjskich Generałów. 


Algorytm Konsensusu

Algorytm Konsensusu najprościej zdefiniować jako mechanizm za pośrednictwem którego sieć blockchain, a zatem i obecne w nim węzły, osiąga konsensus - czyli zgadza się bez żadnych wątpliwości w określonej kwestii. Publiczne (zdecentralizowane) sieci blockchain zaprojektowane są jako systemy rozproszone, co z jednej strony niesie za sobą pewne plusy - ponieważ nie “rządzi” nimi jedna organizacja lub osoba - ale również i pewne minusy, ponieważ rozproszona sieć węzłów uczestniczących w sieci musi stale uzgodniać ze sobą ważność i poprawność transakcji. To tutaj zaczynają działać algorytmy konsensusu. Zapewniają one przestrzeganie zasad protokołu i gwarantują, że wszystkie transakcje dokonywane są w prawidłowy sposób, a co za tym idzie środki używane w ramach sieci nie zostaną wydane więcej niż raz w jednym momencie.

Zanim przejdziemy do opisów różnych typów algorytmów konsensusu, ważne jest aby zrozumieć różnice między algorytmem a protokołem.


Algorytm Konsensusu, a Protokół

Terminny algorytm i protokół są często używane zamiennie, ale nie są one tym samym. Protokół najprościej zdefiniować jako zestaw reguł obowiązujących w sieci blockchain, a algorytm jako mechanizm, za pomocą którego te zasady będą przestrzegane.

Technologia blockchain oprócz swojego naturalnego przeznaczenia w różnorakich systemach finansowych może być również zastosowana w wielu różnych dziedzinach gospodarki i nadaje się do różnych zastosowań. Niezależnie jednak od kontekstu, sieć blockchain zawsze zbudowana jest (będzie) na bazie protokołu, którego zadaniem jest określenie jak dokładniej ma działać sieć. Każdy element systemu - w tym również i węzły sieciowe - aby móc uczestniczyć w sieci muszą dostosować się do tych zasad.

Chociaż protokół określa, jakie reguły obowiązują w danej sieci, algorytm z kolei informuje system, jakie kroki należy podjąć, aby zachować zgodność z tymi regułami i uzyskać pożądane wyniki. Przykładowymi informacjami, za które odpowiada i których dostarcza algorytm jest poprawność (ważność) danej transakcji i/lub bloku. Bitcoin oraz Ethereum są protokołami, podczas gdy Proof of Work oraz Proof of Stake są ich algorytmami konsensusu.

W celu bardziej szczegółowego zilustrowania działania algorytmu i protokołu, wyobraź sobie, że protokół Bitcoin definiuje, w jaki sposób węzły powinny wchodzić w interakcje, w jaki sposób powinny być pomiędzy nimi przesyłane dane oraz jakie stoją przed nimi wymagania dotyczące pomyślnej weryfikacji bloków. Z drugiej strony, algorytm konsensusu jest odpowiedzialny za weryfikację sald i tzw. sygnatur, potwierdzanie transakcji oraz za faktyczne wykonywanie procesu walidacji bloków.


Rodzaje Algorytmów Konsensusu

Na dzień dzisiejszy istnieje kilka rodzajów algorytmów konsensusu. Najczęściej spotykanymi implementacjami są PoW i PoS. Każdy z nich ma swoje wady i zalety. Każdy z nich również stara się zachować odpowiednią równowagę między bezpieczeństwem sieci, a jej funkcjonalnością i skalowalnością.


Dowód Pracy (ang. Proof of Work - PoW)

PoW był pierwszym algorytmem konsensusu, który kiedykolwiek powstał. Jest on wykorzystywany m.in przez Bitcoina, ale i wiele innych kryptowalut. Algorytm Proof of Work jest istotną częścią tzw. procesu kopania (ang. mining process).

Proces kopania w sieci korzystającej z algorytmu PoW opiera się na dokonywaniu przez tzw. górników (ang. miners) licznych prób rozwiązania zagadek matematycznych na sekundę. To sprawia, że górnicy o wysokim współczynniku tzw. hash rate (a więc mocy obliczeniowej) posiadają większe szanse na znalezienie prawidłowego rozwiązania zagadki zawartej w danym bloku od innych. Algorytm konsensusu PoW dba o to, aby górnicy zajmowali się weryfikacją nowych bloków i dodawali je do łańcucha bloków, jedynie w przypadku gdy większość rozproszonych węzłów uczestniczący w sieci osiągnie konsensus i zgodzi się, że rozwiązanie (inaczej block hash) dostarczone przez górnika jest poprawne i stanowi dowód wykonanej przez niego pracy.


Dowód Stawki (ang. Proof of Stake - PoS)

Algorytm konsensusu PoS został opracowany w 2011 roku jako alternatywa dla PoW. Chociaż PoS i PoW mają podobne cele, na pierwszy rzut oka widać w nich różnice oraz cechy szczególne. Różnice pomiędzy tymi algorytmami szczególnie uwypuklają się w momencie sprawdzania poprawności (inaczej walidacji) nowych bloków.

W kilku słowach w algorytmie Proof of Stake proces kopania oraz walidacji bloków zastąpiony został przez tzw. mechanizm stawki. Walidator bloku (zwany forgerem lub minterem) wybierany jest na podstawie posiadanej przez niego ilości jednostek danej kryptowaluty, a nie na podstawie mocy obliczeniowej którą posiada. Każdy sieć oparta o PoS może skonfigurować algorytm na różne sposoby, ale rzecz ujmując sieci PoS SĄ zabezpieczonane za pośrednictwem pseudolosowego procesu wyborczego, który uwzględnia “bogactwo” węzła oraz wiek posiadanych przez niego aktywów (np. Tego jak długo są przez niego posiadane lub celowo zablokowane) - w połączeniu z tzw. czynnikiem losowym.  

Sieć blockchain Ethereum jest obecnie oparta na algorytmie PoW, ale protokół Casper, który obecnie znajduje się na etapie testów, wkrótce może zostać wdrożony w celu przełączenia Ethereum z algorytmu PoW na PoS co ma zwiększyć skalowalności sieci.


Dlaczego algorytmy konsensusu mają znaczenie dla kryptowalut

Jak wspomnieliśmy na początku artykułu, algorytmy konsensusu mają kluczowe znaczenie dla zachowania integralności i bezpieczeństwa sieci z których korzystają kryptowaluty. Algorytmy konsensusu dbają o osiąganie przez węzły konsensusu m.in w kwestii aktualnej wersji łańcucha bloków oraz zgodności transakcji i bloków. Stałe osiąganie konsensusu jest niezbędne aby sieć blockchain działała prawidłowo.

Algorytm konsensusu Proof of Work jest uważany za jedno z najlepszych rozwiązań dla tzw. Problemu Bizantyjskich Generałów. Jego implementacja w Bitcoinie pozwoliła tej kryptowalucie na osiągnięcie odporności na BFT. Oznacza to, że blockchain Bitcoina jest wysoce odporny na różnego rodzaju ataki, m.in takie jak atak typu 51% (znany również pod nazwą atak większościowy). Nie tylko dlatego, że sieć jest zdecentralizowana, ale także z powodu obecności  samego algorytmu PoW. Wysokie koszty związane z procesem kopania powodują, że szansa na to, że ktokolwiek zdecyduje się na zainwestowanie pieniędzy i zasobów w celu zakłócenia działalności sieci jest wysoce nieprawdopodobna.

Loading