Skip to content Skip to footer
algorytmy konsensusu blockchain

Algorytmy Konsensusu Blockchain | Część I

Technologia blockchain zrewolucjonizowała sposób przechowywania informacji oraz wartości i umożliwiła bardziej bezpieczny transfer danych. Nie działałaby jednak sprawnie gdyby nie stosowane w niej algorytmy konsensusu, które odgrywają kluczową rolę w utrzymaniu integralności sieci. W tym artykule przeanalizujemy najczęściej stosowane algorytmy konsensusu łańcucha bloków, ich znaczenie, zastosowania, zalety i wady.

Czym są algorytmy konsensusu blockchain?

Algorytmy konsensusu to zestaw zasad i protokołów, które umożliwiają węzłom blockchain osiągnięcie porozumienia w sprawie wspólnego, ogólnego stanu sieci. Służą one zapewnieniu, że wszystkie składniki cyfrowego ekosystemu osiągną konsensus w kwestii ważności transakcji i kolejności ich dodawania do łańcucha bloków.

Algorytm tego rodzaju jest odpowiedzialny za utrzymanie integralności blockchaina i zapewnienie, że żaden pojedynczy węzeł ani grupa nie będzie w stanie manipulować siecią dla osiągnięcia własnych, indywidualnych korzyści.

Konsensus w sieci jest niezwykle istotny z kilku powodów:

  1. Zapewnia bezpieczeństwo, uniemożliwiając nieetyczne działania i gwarantuje odpowiedni poziom kontroli nad siecią, zapewniając ważność transakcji i płynne działanie sieci.
  2. Pomaga osiągnąć decentralizację, zapewniając, że wszystkie węzły osiągną konsensus w kwestii ważności transakcji, co przeciwdziała centralizacji.
  3. Zapewnia transparentność sieci, umożliwiając śledzenie wszystkich transakcji na blockchainie i zapobieganie próbom oszustwa.
  4. Poprawia efektywność sieci, umożliwiając węzłom szybkie osiąganie konsensusu w kwestii ważności transakcji i dodawanie nowych bloków do blockchaina w odpowiednim czasie.

Rodzaje algorytmów konsensusu blockchain

Przyjrzyjmy się teraz przekrojowo 8 najczęściej stosowanym metodologiom konsensusu w sieciach typu blockchain. W niniejszej, pierwszej części opracowania, na warsztat bierzemy:

W kolejnej, 2 części naszego kompendium, omówione zostaną: Directed Acyclic Graph (DAG), Proof of Capacity (PoC), Proof of Burn (PoB), Proof of Identity (PoI), Proof of Activity (PoA), Proof of Elapsed Time (PoET) oraz Proof of Importance (PoI). Opublikujemy go już niebawem.

Proof of Work (PoW)

Wprowadzony po raz pierwszy do praktycznego użycia przez Satoshiego Nakamoto (twórcę Bitcoina) PoW służy jako środek do zabezpieczenia sieci i zapobiegania podwójnemu wydatkowaniu (double spending).

PoW wymaga od górników rozwiązywania skomplikowanych problemów matematycznych, zwanych skrótami (hash), w celu sprawdzania poprawności transakcji i dodawania kolejnych bloków do łańcucha. Funkcja skrótu zastosowana w algorytmach PoW została zaprojektowana w taki sposób, aby jej rozwiązanie było bardzo trudne i wymagało wykorzystania znacznej mocy obliczeniowej. Górnicy rywalizują ze sobą, aby rozwiązać problem, a pierwszy z nich, który odniesie sukces, zostaje nagrodzony nowo wybitymi kryptowalutami.

Solidność i bezpieczeństwo tego modelu wynika z trudności związanych z rozwiązaniem problemu skrótu. Sprawia to, że przejęcie kontroli nad siecią jest ekonomicznie nieopłacalne dla atakujących. Aby przeprowadzić atak, osoba atakująca musiałaby przejąć znaczną część mocy obliczeniowej sieci, określanej jako szybkość mieszania (hash rate). Ten typ ataku, znany jako atak 51%, jest trudny do przeprowadzenia ze względu na ogromne zasoby, których wymaga.

Krytycy algorytmu PoW zwracają uwagę jego energochłonność. Wzbudza to obawy dotyczące wpływu sieci blockchain wykorzystujących PoW na środowisko. Zwolennicy tego rozwiązania twierdzą jednak, że zużycie energii jest niezbędnym elementem zabezpieczenia sieci i udaremnienia potencjalnych ataków.

Proof of Stake (PoS)

Proof of Stake (PoS) opiera się na walidatorach, którzy blokują określoną ilość kryptowaluty/ tokena w sieci (staking) i w ten sposób uwierzytelniają transakcje i dołączają nowe bloki do łańcucha.

W sieci PoS walidatorzy wybierani są w oparciu o ilość posiadanej kryptowaluty, powszechnie nazywaną ich „stejkiem” (stake). Im większy stake, tym większe prawdopodobieństwo, że zostaniesz wybrany do dołączenia bloku do łańcucha. Ten proces selekcji zachęca walidatorów do nabycia i przechowywania znacznej liczby cyfrowych monet, ponieważ zwiększa to szanse wyboru na walidatora.

Co więcej, walidatorzy w sieci PoS mają motywację do uczciwego działania, ponieważ – jeśli zatwierdzą fałszywe transakcje lub spróbują zakłócić działanie sieci – ryzykują utratę swoich udziałów. Taki interes własny jest zgodny z ogólnym duchem bezpieczeństwa i stabilności sieci, ponieważ walidatorzy mają bezpośredni udział w utrzymaniu integralności systemu.

Ogólnie rzecz biorąc, algorytm konsensusu Proof of Stake oferuje bardziej energooszczędną i opłacalną alternatywę dla Proof of Work, zapewniając skalowalność i bezpieczeństwo sieci blockchain, promując jednocześnie aktywne uczestnictwo i odpowiedzialne zachowanie walidatorów.

Kolejną zaletą PoS jest to, że promuje decentralizację. W sieci PoW to górnicy z największym hashrate mają większą kontrolę nad siecią, co może prowadzić do centralizacji.

Jedną z potencjalnych wad PoS jest to, że może prowadzić do sytuacji, w której węzły najbardziej zasobne w tokeny będą w stanie bogacić się dalej a węzły z mniejszym stake będą mieć utrudnione zadanie.

Niektóre sieci PoS wdrożyły już jednak mechanizmy rozwiązujące ten problem, takie jak losowy wybór walidatorów lub ograniczenie liczby aktywów cyfrowych, jaką może przechowywać pojedynczy węzeł.

Delegated Proof of Stake (DPoS)

Delegated Proof of Stake (DPoS) jest odmianą Proof of Stake, która opiera się na mniejszej grupie walidatorów, zwanych delegatami (delegates) lub świadkami (witnesses). Ich zadaniem – nie inaczej – jest zatwierdzanie transakcji i dodawanie nowych bloków do łańcucha.

W sieci DPoS posiadacze tokenów głosują na delegatów, którzy będą ich reprezentować w procesie walidacji. Delegaci odgrywają kluczową rolę w zapewnieniu uczciwości sieci, a każde nieuczciwe działanie może skutkować utratą pozycji i szansy na zdobycie nagród w postaci nowo uwolnionych tokenów.

Jedną z zalet DPoS w porównaniu z PoS jest to, że jest on bardziej wydajny. PoS wymaga udziału wszystkich walidatorów, co może prowadzić do nieefektywności, jeśli niektórzy z nich nie są online lub po prostu nie są aktywni w działaniach. W DPoS, w procesie walidacji uczestniczą wyłącznie wybrani delegaci, dzięki czemu jest on szybszy i bardziej efektywny.

Kolejną korzyścią DPoS jest promowanie decentralizacji, przy jednoczesnym zapewnieniu optymalnej prędkości przetwarzania transakcji. Warto pamiętać, że w sieci PoS walidatorzy o największym stake mają większą kontrolę nad siecią, co może prowadzić do centralizacji. Co ważne, w przypadku sieci DPoS posiadacze tokenów mają wpływ na wybór delegata, co przyczynia się do bardziej zdecentralizowanej struktury sieci.

Potencjalną wadą DPoS jest możliwość skoncentrowania władzy w rękach niewielkiej grupy delegatów. Jeśli taka grupa kontroluje znaczną liczbę głosów, istnieje potencjalne ryzyko, że mogą zmówić się w celu manipulacji siecią. Niektóre sieci DPoS wprowadziły już mechanizmy mające na celu rozwiązanie tego problemu poprzez, na przykład, ograniczenie liczby delegatów, których może kontrolować tylko jeden podmiot.

Leased Proof of Stake (LPoS)

Leased Proof of Stake to odmiana Proof of Stake (PoS), która umożliwia węzłom mniej zasobnym w tokeny udział w procesie walidacji poprzez dzierżawę swoich cyfrowych monet na rzecz większych walidatorów.

W sieci LPoS posiadacze tokenów dzierżawią zatem swoje tokeny walidatorowi, a ten wykorzystuje je aby zwiększyć swój stake i tym samym zwiększyć swoje szanse na zostanie wybranym do sprawdzania transakcji i dodawania nowych bloków do łańcucha. Co istotne, pierwotny posiadacz tokena zachowuje własność swoich tokenów i otrzymuje część nagród zdobytych przez walidatora proporcjonalnie do liczby dzierżawionych tokenów.

Jedną z głównych korzyści LPoS (Liquid Proof of Stake) jest umożliwienie węzłom z mniejszym stake uczestnictwa w procesie walidacji i zdobywania nagród. Dzięki temu, możliwe staje się uczestnictwo różnorodnych węzłów a decentralizacja sieci zostaje wzmocniona. LPoS otwiera drzwi dla szerszego grona użytkowników, umożliwiając im aktywny udział w procesie walidacji transakcji.

Kolejną istotną zaletą LPoS jest potencjalne zwiększenie bezpieczeństwa sieci. Dzięki umożliwieniu udziału większej liczby posiadaczy tokenów w walidacji, LPoS skutecznie utrudnia jednemu walidatorowi lub grupie walidatorów przejęcie kontroli nad siecią i manipulowanie transakcjami. Taki system zapewnia większą równowagę i sprawiedliwość, co przekłada się na większe zaufanie użytkowników do sieci oraz zwiększoną odporność na potencjalne ataki.

Dzięki LPoS, proces walidacji staje się bardziej dostępny i uczestniczyć w nim może większa liczba jednostek. To innowacyjne podejście do konsensusu pozwala na bardziej demokratyczną strukturę sieci, gdzie każdy posiadacz tokenów ma szansę wnieść swój wkład i korzystać z możliwości, jakie niesie ze sobą technologia blockchain.

LPoS charakteryzuje się potencjalnie większą złożonością w porównaniu do innych algorytmów konsensusu. Wymaga to od posiadaczy tokenów większej świadomości ryzyka i korzyści związanych z udostępnianiem swoich tokenów walidatorowi. Jednocześnie walidatorzy muszą odpowiedzialnie zarządzać otrzymanymi tokenami, dbając o ich bezpieczeństwo i prawidłowe funkcjonowanie w sieci. W rezultacie, choć LPoS może być bardziej wymagający, prawidłowo zarządzany może przynieść znaczne korzyści dla ekosystemu kryptowaluty.

Proof of Authority (PoA)

W przeciwieństwie do innych algorytmów konsensusu, takich jak Proof of Work (PoW) i Proof of Stake (PoS), PoA opiera się na grupie zaufanych walidatorów, a nie na zdecentralizowanej sieci węzłów.

Organem wyznaczonym jako autorytatywny i odpowiedzialny za walidację transakcji oraz dodawanie nowych bloków do łańcucha jest w sieci PoA grupa walidatorów. Walidatorzy są zazwyczaj wybierani na podstawie ich reputacji i dotychczasowego doświadczenia. Jako, że ich reputacja jest stale na cenzurowanym, są zachęcani do uczciwego działania.

Niewątpliwą zaletą PoA jest to, że jest bardziej wydajny niż inne algorytmy. PoW wymaga znacznej mocy obliczeniowej, co może być kosztowne i czasochłonne. PoS wymaga znacznej części udziału w procesie walidacji, co może prowadzić do centralizacji. PoA natomiast opiera się na mniejszej grupie zaufanych walidatorów, co sprawia, że jest szybszy i bardziej efektywny.

Inną zaletą PoA jest to, że jest bardziej odpowiedni dla prywatnych lub korporacyjnych sieci blockchain. Posiadanie zdecentralizowanej sieci węzłów zatwierdzających transakcje może być w sieciach tego rodzaju nie do końca pożądane. PoA pozwala na bardziej kontrolowane i scentralizowane podejście do walidacji, co – w podanym wyżej kontekście – może stanowić bardziej odpowiednie rozwiązanie.

Wadą PoA jest to, że jest mniej bezpieczny niż inne algorytmy konsensusu. Jako, że opiera się na mniejszej grupie walidatorów, sieć jest bardziej podatna na ataki (jeśli jeden lub więcej walidatorów zostanie zhakowany lub jeśli jego działania podszyte są złymi intencjami).

Byzantine Fault Tolerance (BFT)

Bizantyjska tolerancja błędów to koncepcja stosowana w informatyce, która odnosi się do zdolności systemu do prawidłowego funkcjonowania i osiągania konsensusu, nawet jeśli niektóre jego komponenty zawiodą lub zachowują się złośliwie.

W kontekście technologii blockchain BFT jest algorytmem konsensusu, który umożliwia rozproszonej sieci węzłów osiągnięcie porozumienia co do ważności transakcji i utrzymanie integralności blockchaina nawet w obliczu złośliwych ataków lub awarii systemu.

BFT ma na celu zapobieganie „problemowi bizantyjskich generałów” – teoretycznemu scenariuszowi, w którym grupa generałów musi koordynować atak na miasto, ale niektórzy z nich są zdrajcami i mogą wysyłać innym fałszywe informacje. Problem bizantyjskich generałów może objawiać się w postaci węzłów w sieci, które zachowują się złośliwie lub nie komunikują się prawidłowo.

BFT rozwiązuje ten problem, wymagając od określonego procentu węzłów zgody na ważność transakcji przed ich dodaniem do blockchain. W tradycyjnym algorytmie BFT odsetek ten ustala się na dwie trzecie całkowitej liczby węzłów. Jeśli dwie trzecie węzłów zgodzi się co do ważności transakcji, wówczas zostaje ona dodana do blockchaina. Jeśli zgodzi się ich mniejsza liczba, transakcja zostanie odrzucona.

BFT różni się od innych algorytmów konsensusu, takich jak Proof of Work lub Proof of Stake, tym, że nie wymaga znacznej mocy obliczeniowej ani stakingu. Zamiast tego opiera się na mniejszej grupie węzłów, aby osiągnąć porozumienie co do ważności transakcji, co czyni go bardziej wydajnym i szybszym niż inne algorytmy konsensusu.

Potencjalną wadą BFT jest to, że wymaga wyższego poziomu zaufania do uczestników sieci. Jeśli znaczny procent węzłów zachowuje się złośliwie lub nie komunikuje się poprawnie, sieć może nie być w stanie osiągnąć konsensusu i utrzymać integralności łańcucha bloków. BFT jest jednak często używany w prywatnych lub korporacyjnych sieciach blockchain, których uczestnicy są z reguły znani i zaufani.

Practical Byzantine Fault Tolerance (PBFT)

Praktyczna bizantyjska tolerancja błędów to rozwiązanie, który rozszerza algorytm bizantyjskiej tolerancji błędów (BFT) w celu zapewnienia wysokiego poziomu odporności na błędy w systemach rozproszonych. PBFT jest powszechnie stosowany w korporacyjnych sieciach blockchain i innych systemach, gdzie wymagany jest wysoki poziom bezpieczeństwa.

PBFT działa poprzez rozbicie procesu konsensusu na serię kroków powtarzanych dla każdej transakcji. W każdym kroku uczestniczy inny węzeł sieci i każdy węzeł odpowiada za weryfikację ważności transakcji przed przekazaniem jej do kolejnego węzła.

Algorytm PBFT wymaga, aby pewna liczba węzłów osiągnęła konsensus co do ważności transakcji, zanim będzie można ją dodać do łańcucha bloków. Liczbę tę określa się według wzoru; f = (n-1)/3, gdzie f to maksymalna liczba niezaufanych węzłów, jaką system może tolerować, a n to całkowita liczba węzłów w sieci.

PBFT zaprojektowano tak, aby był odporny na błędy. Oznacza to, że może nadal działać poprawnie, nawet jeśli niektóre węzły w sieci zawiodą lub zachowają się złośliwie. Jeśli węzeł ulegnie awarii lub zachowa się niezgodnie z oczekiwaną intencją, pozostałe węzły mogą wykryć problem i wykluczyć go z procesu walidacji.

Jedną z głównych zalet algorytmu PBFT jest jego zdolność do osiągania wysokiej przepustowości i minimalizowania opóźnień, nawet w sieciach o dużej liczbie węzłów. Dzięki temu, PBFT jest idealnym rozwiązaniem dla systemów, w których kluczowymi czynnikami są szybkość i niezawodność.

Co więcej, PBFT jest również znane ze swojego wysokiego poziomu bezpieczeństwa. Algorytm ten jest w stanie tolerować wiele wadliwych węzłów. Oznacza to, że nawet w przypadku awarii niektórych elementów, integralność łańcucha bloków pozostaje nienaruszona. Dzięki temu, PBFT zapewnia nie tylko wysoką przepustowość, ale także pewność, że dane przechowywane w łańcuchu bloków są bezpieczne i niezmienne.

PBFT ma jednak pewne ograniczenia. Do osiągnięcia konsensusu wymagana jest pewna liczba węzłów, co oznacza, że rozwiązanie może nie być odpowiednie dla małych sieci. PBFT wymaga również wyższego poziomu mocy obliczeniowej niż niektóre inne algorytmy, co może sprawić, że będzie mniej energooszczędny.

Delegated Byzantine Fault Tolerance (dBFT)

Ten algorytm konsensusu łączy w sobie zalety algorytmów bizantyjskiej tolerancji błędów (BFT) i Delegated Proof of Stake (DPoS). dBFT jest powszechnie stosowany w sieciach typu blockchain, które wymagają wysokiego poziomu konsensusu i przepustowości.

Podobnie jak BFT i PBFT, dBFT jest odporny na błędy, co oznacza, że może nadal działać poprawnie, nawet jeśli niektóre węzły w sieci zawiodą lub zachowają się złośliwie. W dBFT konsensus osiąga się poprzez proces mechanizm głosowania, podczas którego każdy węzeł w sieci może głosować nad poprawnością przeprowadzonych transakcji.

W przeciwieństwie do BFT i PBFT, dBFT wykorzystuje model delegowany, w którym uczestnicy sieci delegują swoje uprawnienia do głosowania mniejszej liczbie zaufanych walidatorów.

dBFT opiera się na systemie, w którym walidatorzy zatwierdzają transakcje na zmianę. Węzły walidujące są wybierane na podstawie ich reputacji i wymiaru zaangażowania w sieci. Walidatorzy są zachęcani do uczciwego zachowania, ponieważ każde złośliwe zachowanie może skutkować utratą reputacji i zgromadzonego stake’u.

Jedną z zalet dBFT jest to, że może on osiągnąć wysoką przepustowość i niskie wskaźnik opóźnień, ponieważ do osiągnięcia konsensusu wymagana jest tylko niewielka liczba walidatorów. dBFT zmniejsza również ryzyko centralizacji, ponieważ walidatorzy są wybierani na podstawie ich reputacji i zasobności stake’u, a nie mocy obliczeniowej.

dBFT ma jednak pewne ograniczenia. Wymaga wysokiego poziomu zaufania do wybranych walidatorów, co może prowadzić do potencjalnych luk w zabezpieczeniach, jeśli duża liczba walidatorów jest kontrolowana przez jeden podmiot. dBFT nie jest również odpowiedni dla wszystkich typów sieci blockchain, ponieważ w niektórych przypadkach uzyskanie tak wysokiego poziomu konsensusu może nie być konieczne.

Podsumowanie

Powyższe algorytmy konsensusu łańcucha bloków to oczywiście tylko część z najbardziej popularnych i najczęściej stosowanych w praktyce. Jeżeli któryś z omówionych systemów zwrócił Twoją uwagę w sposób szczególny, zachęcamy do dalszego poszerzania wiedzy. Już niebawem opublikujemy kolejną część opracowania, w którym przyjrzymy się bliżej innym rozwiązaniom.

Show CommentsClose Comments

Leave a comment