Skip to content Skip to footer
konsensus blockchain

Algorytmy Konsensusu Blockchain | Część II

Zapraszamy do lektury drugiej części przekrojowego opracowania na temat najbardziej znanych i najczęściej stosowanych algorytmów konsensusu w sieciach blockchain.

Jeśli nie czytałeś jeszcze części pierwszej, znajdziesz ją pod tym linkiem. Tymczasem na warsztat bierzemy:

Directed Acyclic Graph (DAG)

W przeciwieństwie do tradycyjnych architektur blockchain, które organizują dane w liniową, chronologiczną sekwencję bloków, DAG umożliwiają bardziej elastyczny i wydajny sposób przechowywania i sprawdzania danych.

DAG to struktury reprezentujące transakcje i relacje, które zachodzą między nimi. Jedną z zalet systemów opartych na DAG jest to, że mogą one osiągnąć wysoką skalowalność i przepustowość a transakcje mogą być realizowane symultanicznie, o ile nie zachodzą między nimi żadne konflikty.

Kolejną zaletą DAG-ów jest ich zdolność do obsługi forków w sieci. W tradycyjnym blockchainie, gdy jednocześnie tworzone są dwa bloki, tylko jeden z nich może zostać dodany do łańcucha. Może to doprowadzić do sytuacji, w której blok, który wcześniej był uznawany za ważny, zostaje nagle odrzucony (fork).

W systemie opartym na DAG forki są rozwiązywane automatycznie, ponieważ transakcje są sprawdzane na podstawie ich związku z innymi transakcjami w strukturze.

Jednym z przykładów systemu opartego na DAG jest IOTA, technologia łańcucha bloków zaprojektowana na potrzeby Internetu Rzeczy (Internet of Things). W IOTA transakcje są reprezentowane jako węzły w DAG, a każda transakcja – aby została zatwierdzona – musi potwierdzać dwie poprzednie.

Systemy oparte na DAG mają oczywiście pewne ograniczenia. Jednym z wyzwań związanych ze stosowaniem DAG jest potrzeba złożonego mechanizmu konsensusu, który pomoże określić kolejność procesowania transakcji. Ponadto DAG mogą nie być odpowiednie dla wszystkich typów aplikacji typu blockchain, ponieważ mogą wymagać bardziej złożonej architektury niż tradycyjne systemy sieci cyfrowych.

Proof of Capacity (PoC)

Proof of Capacity jest podobny do Proof of Work (PoW) – wymaga od węzłów walidujących rozwiązania złożonego problemu obliczeniowego w celu dodania nowych bloków do łańcucha, ale różni się sposobem wykorzystania pamięci komputera, a nie mocy obliczeniowej.

W systemie PoC uczestnicy przydzielają część miejsca na dysku twardym swojego komputera, aby służyć jako cyfrowa parcela, która stanowi zasadniczo wstępnie obliczony segment danych, który można wykorzystać do rozwiązania postawionego problemu. Kiedy do blockchaina trzeba dodać nowy blok, przeszukuje się zestaw danych użytkownika. Pierwszy walidator, który znajdzie prawidłowe rozwiązanie, może dodać nowy blok do blockchaina i otrzymać nagrodę w postaci nowo uwolnionych cyfrowych monet.

Wykorzystanie przestrzeni dyskowej zamiast mocy obliczeniowej sprawia, że PoC jest bardziej energooszczędnym mechanizmem konsensusu w porównaniu z PoW. Jako, że uczestnicy nie muszą stale wykonywać skomplikowanych obliczeń, PoC wymaga mniej energii elektrycznej i ma mniejszy wpływ na środowisko.

Wadą PoC jest jednak to, że może być podatny na niektóre rodzaje ataków. Przykładowo, taki atak może zostać oparty na wcześniejszych obliczeniach (precomputation), które zostaną następnie wykorzystane do szybkiego rozwiązania zagadki obliczeniowej i dodania nowych bloków do łańcucha bloków, dając atakującemu nieuczciwą przewagę nad innymi uczestnikami sieci.

Proof of Burn (PoB)

Zamiast wykorzystywać moc obliczeniową lub przestrzeń dyskową, PoB wymaga od uczestników spalenia lub zniszczenia tokenów kryptowaluty. W taki sposób walidator dowodzi swojego zaangażowania w sieć.

Aby wziąć udział w systemie PoB, użytkownik musi wysłać określoną ilość kryptowaluty na adres spalania (burn address), skąd nikt nie będzie mógł już jej odzyskać. Takie działanie nazywamy spalaniem kryptowaluty. Po spaleniu monety cyfrowej, użytkownik otrzymuje prawo do dodawania nowych bloków do blockchaina i otrzymuje za to nagrodę w postaci nowych monet.

Ideą PoB jest to, że spalając kryptowalutę, użytkownik demonstruje swoje zaangażowanie w sieć. Zmniejsza to prawdopodobieństwo, że złośliwe podmioty będą próbowały zaatakować sieć, ponieważ musiałyby w tym celu spalić znaczną ilość kryptowaluty.

Potencjalną korzyścią płynącą z zastosowanie PoB jest to, że może pomóc zmniejszyć inflację w ekosystemie. Ponieważ tokeny są raczej niszczone niż tworzone, ogólna podaż tokenów maleje, co może pomóc ustabilizować cenę zasobu.

Proof of Identity (PoI)

Proof of Identity to kolejny rodzaj mechanizmu konsensusu, którego celem jest promowanie zaufania, bezpieczeństwa i autentyczności w transakcjach typu blockchain.

PoI działa w ten sposób, że wymaga od uczestników przedstawienia tożsamości cyfrowej, która jest powiązana z procesem weryfikacji tożsamości w świecie rzeczywistym.

Można to osiągnąć za pomocą różnych narzędzi, takich jak wydawane przez rząd dokumenty tożsamości, dane biometryczne lub inne formy weryfikowalnych poświadczeń tożsamości. Proces weryfikacji gwarantuje, że każdy uczestnik jest prawdziwą, możliwą do zidentyfikowania osobą, co może pomóc w zapobieganiu oszukańczej lub złośliwej aktywności w sieci.

Po zweryfikowaniu tożsamości uczestnika uzyskuje on prawo do uczestnictwa w sieci i wnoszenia wkładu w konsensus. Niektóre sieci PoI mogą wymagać od uczestników głosowania nad proponowanymi transakcjami, podczas gdy inne mogą umożliwiać uczestnikom samodzielne weryfikowanie transakcji.

Jedną z głównych zalet PoI jest to, że może pomóc w zapobieganiu atakom Sybil, podczas których pojedynczy uczestnik tworzy wiele tożsamości w sieci w celu przejęcia kontroli nad systemem lub manipulowania nim. Wymagając od uczestników przedstawienia możliwych do sprawdzenia danych uwierzytelniających, PoI zapewnia, że każdy uczestnik jest unikalną, możliwą do zidentyfikowania jednostką w sieci.

Wadą PoI jest problem zrównoważenia anonimowości i prywatności z koniecznością weryfikacji tożsamości. Niektórzy uczestnicy mogą nie chcieć ujawniać swojej tożsamości, podczas gdy inni mogą nie mieć dostępu do niezbędnych narzędzi jej weryfikacji.

Co więcej, proces weryfikacji tożsamości może być czasochłonny i kosztowny, co może zniechęcić część uczestników do przyłączenia się do sieci.

Proof of Activity (PoA)

Jest to hybrydowy mechanizm konsensusu, który łączy Proof of Work (PoW) i Proof of Stake (PoS), aby osiągnąć wyższy poziom bezpieczeństwa i wydajności w sieci. PoA został opracowany jako alternatywa dla tradycyjnych mechanizmów PoW i PoS, które bywają krytykowane za wysokie zużycie energii i ryzyko centralizacji.

W PoA sieć blockchain – podobnie jak Bitcoin – wykorzystuje PoW do generowania nowych bloków. Jednak w przeciwieństwie do Bitcoina, PoA nie opiera się wyłącznie na tym modelu. Po wykopaniu nowego bloku, system wybiera losową grupę walidatorów z sieci na podstawie ich zasobów PoS. Ci walidatorzy są następnie zobowiązani do podpisania nowego bloku, zapewniając drugą warstwę weryfikacji konsensusu.

Łącząc PoW i PoS, PoA ma na celu osiągnięcie bezpieczniejszego i wydajniejszego mechanizmu konsensusu. PoW sprawia, że bloki są trudne do utworzenia i pomaga zapobiegać złośliwym atakom, podczas gdy PoS zachęca do długoterminowego uczestnictwa w sieci i zapobiega centralizacji poprzez dystrybucję nagród w oparciu o zasoby cyfrowe zgromadzone i zablokowane przez uczestnika.

Czy PoA ma wady? Oczywiście. Po pierwsze, może być nadal podatny na ataki 51%, w których grupa walidatorów współpracuje w celu manipulowania siecią. Ponadto, wdrożenie PoA może być bardziej złożone niż tradycyjne mechanizmy PoW lub PoS, ponieważ wymaga zastosowania obydwu modeli konsensusu w jednym czasie.

Proof of Elapsed Time (PoET)

Jest to algorytm konsensusu opracowany przez firmę Intel do użytku w sieciach blockchain typu permissioned, stanowiących miks publicznego i prywatnego łańcucha bloków.

PoET został zaprojektowany jako bardziej energooszczędna i bezpieczna alternatywa dla tradycyjnych algorytmów Proof of Work (PoW) stosowanych w publicznych blockchainach, takich jak Bitcoin.

Każdemu uczestnikowi sieci przydzielany jest losowy czas oczekiwania (działa to podobnie jak na loterii). Uczestnicy rywalizują o to, aby jako pierwsi zaliczyć ten czas, a ten, kto osiągnie to jako pierwszy, otrzymuje prawo do utworzenia kolejnego bloku. Proces ten nazywany jest „wyborem lidera”.

W PoET uczestnicy po prostu czekają, aż upłynie przydzielony im czas. Jest on określany przy użyciu zaufanego środowiska wykonawczego (TEE) zapewnianego przez sprzęt firmy Intel, co gwarantuje, że czas oczekiwania jest losowy i uczestnicy nie mają na niego żadnego wpływu.

PoET zaprojektowano z myślą o wysokim poziomie bezpieczeństwa. Ponieważ każdemu uczestnikowi przypisany jest losowy czas oczekiwania, pojedynczemu uczestnikowi lub grupie uczestników bardzo trudno jest manipulować siecią.

Potencjalną wadą PoET jest jednak to, że wymaga użycia sprzętu Intela, co w niektórych przypadkach może ograniczyć jego zastosowanie. Ponadto, ponieważ PoET jest przeznaczony do użytku w sieciach ograniczonych koniecznością uzyskania dostępu, nie nadaje się do publicznych łańcuchów bloków, w których uczestniczyć może każdy.

Proof of Importance

Jest to algorytm konsensusu stosowany w sieci blockchain NEM. Ma na celu określenie, które węzły powinny mieć prawo do tworzenia nowych bloków i walidacji transakcji na podstawie ogólnego poziomu uczestnictwa i inwestycji ulokowanej w sieci.

Pozycja węzła zależy w tym modelu od dwóch czynników: salda natywnej kryptowaluty (XEM) i jego ogólnego udziału w sieci. Im więcej XEM przechowuje węzeł i im więcej transakcji dokonuje, tym wyższy jest jego wskaźnik ważności. Wynik ten jest następnie wykorzystywany do określenia, które węzły mają prawo do tworzenia nowych bloków i zatwierdzania transakcji.

Jedną z zalet Proof of Importance jest to, że ma on zachęcać do aktywnego uczestnictwa w sieci. Węzły, które przechowują dużą ilość XEM, ale nie biorą udziału w transakcjach, będą miały niższy wynik ważności niż węzły, które aktywnie uczestniczą w sieci. Zachęca to węzły do bycia aktywnymi uczestnikami ekosystemu, co może pomóc poprawić ogólne bezpieczeństwo i niezawodność łańcucha bloków.

Kolejną zaletą PoI jest to, że jest on zaprojektowany tak, aby był bardziej energooszczędny niż chociażby PoW. Ponieważ PoI nie wymaga od węzłów wykonywania skomplikowanych obliczeń, zużywa mniej zasobów obliczeniowych a co za tym idzie – mniej energii.

PoI może jednak nie być tak bezpieczny jak niektóre inne algorytmy konsensusu. Ponieważ znaczenie węzła jest częściowo określane przez jego zasobność w XEM istnieje ryzyko, że duża liczba XEM może zostać skoncentrowana w rękach małej liczby węzłów, dając walidatorowi nieproporcjonalny wpływ na sieć.

Podsumowanie

Podsumowując, wybór odpowiedniego algorytmu konsensusu jest kluczową decyzją przy projektowaniu sieci blockchain. Każdy z modeli ma swoje mocne i słabe strony, a wybór niewłaściwego rozwiązania może mieć poważne konsekwencje dla bezpieczeństwa, decentralizacji i wydajności sieci.

Dlatego przy wyborze algorytmu konsensusu niezbędna jest ocena wymagań aplikacji blockchain i uwzględnienie takich czynników, jak skalowalność, wydajność, bezpieczeństwo i decentralizacja.

Dobrze zaprojektowany algorytm konsensusu może zapewnić szereg korzyści, takich jak zwiększone bezpieczeństwo, zwiększona wydajność, krótszy czas transakcji i zwiększona decentralizacja. Z drugiej strony źle dobrany algorytm konsensusu może skutkować wolniejszymi transakcjami, wyższymi kosztami i zmniejszonym poziomem bezpieczeństwa.

W efekcie, właściwie dobrany algorytm konsensusu może zadecydować o powodzeniu całego projektu opartego o łańcuch bloków. Warto pamiętać, że technologia blockchain stale ewoluuje i cały czas pojawiają się nowe metodologie. Dlatego warto być na bieżąco i śledzić nowinki technologiczne w tym zakresie.

Show CommentsClose Comments

Leave a comment