Hybrydowy konsensus PoW/PoS - wytłumaczenie
Strona Główna
Artykuły
Hybrydowy konsensus PoW/PoS - wytłumaczenie

Hybrydowy konsensus PoW/PoS - wytłumaczenie

Średnio zaawansowany
Opublikowane Mar 25, 2019Zaktualizowane Aug 7, 2023
9m
Autor: Richard Red, Redaktor w Decred.
Algorytm konsensusu sieci blockchain zapewnia zgodność między wszystkimi uczestnikami tej sieci co do aktualnego stanu łańcucha bloków. Algorytm konsensusu określa kto może dodawać do łańcucha nowe bloki zawierające transakcje, a jednym z jego głównych celów jest zapewnienie, że łańcuch nie zostanie nadpisany.


Konsensus Proof of Work

W sieciach blockchain korzystających z algorytmu Proof of Work (jak np. Bitcoin), bloki z transakcjami mogą zostać dodane jedynie przez górników, którzy stale modernizują swój sprzęt, aby coraz efektywniej rozwiązywać zagadki matematyczne zawarte w danym bloku. Za każdym razem, gdy górnik znajdzie rozwiązanie, zyskuje on możliwość wytransmitowania (czyt. dodania) bloku, który zostanie zaakceptowany przez sieć. Chociaż górnicy mogą decydować o kopaniu na konkretnym łańcuchu, sieć ostatecznie i tak zaakceptuje łańcuch w którym znajdować będzie się najwięcej poprawnych bloków (tj. zawierających poprawne hashe). To właśnie dlatego górnicy stale zachęcani są do kopania w ramach najdłuższego łańcucha. Za każdym razem kiedy otrzymają informację o poprawnym wydobyciu nowego bloku, porzucają wykonaną przez nich dotychczas pracę i zaczynają ją od nowa w ramach nowego bloku.

To właśnie wysoka trudność nadpisania informacji zawartych w łańcuchu blockchaina pozwala funkcjonować tej technologii jako bezpiecznej księdze transakcji finansowych. W momencie gdy jeden z bloków zawierających konkretną transakcję uzyska status potwierdzonego, a zaraz po nim potwierdzone zostaną kolejne bloki z transakcjami, mało prawdopodobnym staje się możliwość, iż blok (oraz transakcja) zostaną nadpisane (lub co gorsza wysłane ponownie).

Jednakże, jeżeli w sieci pojawi się węzeł, który posiadać będzie wystarczającą moc obliczeniową, może spróbować wyprzedzić „uczciwy łańcuch”, a tym samym ponownie wysłać konkretne transakcje lub zreorganizować łańcuch bloków poszukując rozwiązań dla bloków występujących po „starym” bloku zamiast na ostatnim obecnym w sieci bloku. Uproszczony opis tego rodzaju ataku - nazywanego powszechnie atakiem 51% - wygląda następująco:
Atakujący wysyła pewną ilość kryptowalut w bloku X na giełdę. Zaraz po wysyłce swojej transakcji rozpoczyna kopanie alternatywnego łańcucha, na temat którego nie informuje sieci. Gdy pierwotna transakcja atakującego osiągnie wymaganą przez giełdę liczbę potwierdzeń, atakujący wymienia wysłane przez siebie środki na coś innego, a następnie wypłaca je z giełdy. Kiedy jego wypłata zostanie potwierdzona, uwalnia on wykopany przez siebie równoległy łańcuch (ang. Parallel chain), a jeśli jego łańcuch bloków powstał przez wykonanie większej ilości prawidłowej pracy (PoW; inaczej zawiera więcej poprawnych bloków) niż oryginalny łańcuch, sieć zaakceptuje ten łańcuch jako prawidłowy. Tym samym informacje na temat transakcji zawartych w oryginalnym łańcuchu tracą na znaczeniu (a w tym informacje na temat pierwotnego depozytu atakującego). Dzięki temu atakujący może następnie ponownie wydać te same środki.
Ponieważ bloki do sieci transmitować i dodawać mogą jedynie górnicy, zyskują oni silną pozycję w zarządzaniu daną siecią. Aby jakakolwiek zmiana zasad konsensusu w sieci została przyjęta, musi uzyskać poparcie większości obecnej w sieci mocy obliczeniowej. Istnieją dwa główne rodzaje zmian, jakie mogą zostać wprowadzone w zasadach algorytmu konsensusu. „Soft Forki” są lekkimi aktualizacjami, które są kompatybilne wstecz. Dzięki temu użytkownicy sieci nie muszą obawiać się czy ich transakcje dalej po forku będą prawidłowe.  „Hard Forki” z kolei powodują rozdzielenie się sieci na dwie części (a właściwie kopie). W najlepszym scenariuszu zgodnie z powszechnie przyjętą zasadą „łańcuch zawierający więcej poprawnych bloków wygrywa”, górnicy po pewnym czasie wybierają dominujący łańcuch i porzucają krótszy. Nie zawsze jednak tak to wygląda.


Algorytm Konsensusu Proof of Stake

Proof of Stake jest alternatywną metodą decydowania o tym, kto może dodawać nowe bloki i weryfikować aktualny stan łańcucha bloków. W PoS, górnicy (ang. miners) zastępowani są walidatorami, delegatami lub forgerami. Zamiast konkurować ze sobą o to, kto ma więcej mocy obliczeniowej aby szybciej znaleźć rozwiązanie dla danego bloku, w PoS o tym, kto może stworzyć nowy blok decyduje posiadana przez niego ilość jednostek danej kryptowaluty (którą dodatkowo zamroził na pewien czas). Dzięki temu za podejmowanie decyzji w sieci odpowiedzialni są bezpośrednio posiadacze jej cyfrowego aktywa.
Algorytm konsensusu Proof of Stake eliminuje potrzebę podejmowania się energochłonnego procesu kopania, ale z drugiej strony brak znacznych wydatków na energię stwarza kolejny problem: “nic w stawce””. W przypadku wystąpienia forku skutkującego w powstaniu dwóch równoległych do siebie łańcuchów, węzły w sieci są zachęcane do forgowania (nie kopania) jednocześnie na obu łańcuchach, ponieważ ich praca jednocześnie na obu łańcuchach nie generuje dla nich praktycznie żadnych kosztów, dzięki czemu mogą podwójnie zyskać. To jest właśnie tło całego problemu, ponieważ aby sieć funkcjonowała poprawnie i nie było w niej chaosu powinien istnieć tylko jeden łańcuch, a uzgodnienie przez sieć właściwego łańcucha jest głównym celem mechanizmu konsensusu.

Algorytm Dowodu Stawki posiada jeszcze jeden dodatkowy problem w odniesieniu do dystrybucji tokenów. Górnicy w ramach algorytmu PoW ponoszą znaczne koszty (sprzęt, energia elektryczna) i aby móc funkcjonować na bieżąco sprzedają znaczną część wydobytych przez siebie kryptowalut, aby móc pokryć te koszty. W rezultacie wiele świeżo wydobytych kryptowalut trafia niemalże od razu na rynek, a nie są gromadzone przez górników. Forgerzy w PoS posiadają bardzo niskie koszty operacyjne, więc nie mają takiej samej presji na sprzedaż kryptowalut, które otrzymują za utrzymanie sieci. Posiadacze zasobnych portfeli danej kryptowaluty, którzy biorą udział w procesie PoS, mają tendencję do zwiększania swojego udziału w posiadanych przez siebie aktywach, ponieważ stale zbierają oni nagrody za transmisję poprawnych bloków oraz opłaty transakcyjne od użytkowników sieci. Jest to sytuacja analogiczna do feudalizmu - sieć jest skutecznie utrzymywana i obsługiwana przez posiadaczy dużej ilości danej kryptowaluty, a za możliwość korzystania z niej płacą im bezpośrednio jej użytkownicy. Uczestnictwo w procesie generowania bloków w wielu sieciach PoS możliwe jest dopiero od uzyskania określonego pułapu zasobności portfela.


Hybrydowy PoW/PoS

Celem nadrzędnym hybrydowych systemów łączących zalety Proof of Work i Proof of Stake jest wykorzystanie korzyści wynikających z poszczególnych podejść i wykorzystanie ich do zrównoważenia słabości drugiego. Decred jest jedną z niewielu kryptowalut, która wykorzystuje zarówno algorytm PoW, jak i PoS, tworząc wieloczynnikowy (ang. multi-factor) lub inaczej hybrydowy mechanizm konsensusu.
„Kryptowaluty typu Masternode” w pewnym sensie również można nazwać hybrydami, ponieważ korzystają z elementów Proof of Work, które pełnią podobną rolę jak np. w Bitcoinie, a przy okazji przydzielają dodatkowe uprawnienia wybranym węzłom (tzw. Special nodes). Aby móc stać się Special node, zazwyczaj konieczne jest posiadanie określonej ilości jednostek danej kryptowaluty jako zabezpieczenia. Dzięki temu węzły te wykazują, że można im zaufać i, że będą podejmować działania w najlepszym interesie sieci - podobnie do mechanizmu z algorytmu Dowodu Stawki. Dash, to jedna z największych kryptowalut opartych o mechanizm Masternode - a jej algorytm konsensusu określany jest Proof of Service. Ten artykuł skupia się na opisie algorytmów hybrydowych wykorzystujących Proof of Stake i nie bierze pod uwagę szeregu kryptowalut wykorzystujących mechanizm masternodów lub algorytm Proof of Service.
Komponent PoW w kryptowalucie Decred działa podobnie do innych projektów opartych na tym algorytmie i wykorzystuję funkcję skrótu o nazwie Blake-256. Komponent PoS z kolei i sposób w jaki jest on dosłownie wpleciony w łańcuch bloków, jest dość wyjątkowy i zasługuje na dalsze wyjaśnienia.

Aby móc aktywnie stake’ować w ramach komponentu PoS Decred, posiadacze kryptowaluty DCR muszą na pewien czas zamrozić swoje aktywa, aby kupić tzw. „bilety”. Cena za pojedynczy bilet jest ustalana przez mechanizm oparty na podstawowych prawach rynkowych. System stale dąży do przydzielenia określonej liczby biletów (dokładnie 40 960). Jeśli ich ilość chętnych na zakup biletów będzie większa niż wartość docelowa, to cena pojedynczego biletu rośnie, a jeśli mniej, spada. Kiedy ktoś zdecyduje się na zakup biletu, posiadane przez niego DCR są blokowane (tzn. od tego momentu ich posiadacz fizycznie ich nie wyda go wydać). Odblokowanie dostępu do środków następuje w momencie wylosowania biletu przez algorytm PoS lub jego wygaśnięcia po około 142 dniach. Taka konstrukcja sprawia, że aktywny udział w systemie PoS generuje koszt alternatywny każdemu uczestnikowi sieci, dzięki czemu szansa, że każdy z nich będzie działał jedynie na korzyść całej sieci rośnie.

Pozostali uczestnicy komponentu PoS (określani również jako wyborcy [ang. voters] lub interesariusze [ang. stakeholder]) mają do odegrania trzy różne role: głosowanie na bloki, głosowanie nad zmianami w zasadach konsensusu i głosowanie w sprawach decydujących o przyszłości projektu. Wszystkie głosowania odbywają się za pomocą Systemu Propozycji Politeia (ang. Politeia Proposal System). Pierwsza z ról, a więc „głosowanie na bloki”, sprawia, że wyborcy mają szansę na większe zaangażowanie w utrzymanie generalnego konsensusu w sieci.


Głosowanie na bloki (ang. Voting on Blocks)

W momencie gdy górnik w ramach komponentu PoW wykopie poprawny blok, rozgłasza o tym informację w całej sieci, ale aby ten blok został uznany za ważny, musi zawierać co najmniej 3 głosy za uznaniem go za poprawny z puli 5 losowo wybranych biletów. Wyborcy w ramach komponentu PoS pozostają w ciągłej gotowości w kwestii oddania głosu, ponieważ wybierani są losowo. Głosy mogą również być oddawane w imieniu interesariuszy przez tzw. Dostawców Usług Do Głosowania (ang. Voting Service Providers) - odpowiednik mining pooli w PoW. Za oddanie głosu przy pomocy wylosowanego biletu jego posiadacz otrzymuje nagrodę.
Po wylosowaniu biletu (dosł. wywołaniu go), jego posiadacz głosuje za przyjęciem lub odrzuceniem regularnych transakcji zawartych w poprzednim bloku. Węzły uczestniczące w sieci nie uznają żadnego z nowych bloków jako ważny, dopóki nie będzie on zawierał co najmniej 3 głosów “za” jego poprawnością. Jeśli większość posiadaczy biletów wylosowanych do głosowania odrzuci transakcje zawarte w poprzednim bloku, to zostają one cofnięte do tzw. mempool. Regularne transakcje zawierają nagrody dla górników komponentu PoW, ale nie zawierają już nagrody dla wyborców komponentu PoS.

W związku z tym wyborcy z komponentu PoS mają moc usuwania nagród przeznaczonych dla górników bez wpływu na ich własne nagrody. Ogranicza to siłę górników do wetowania zmian w zasadach konsensusu sieci, które są poddawane głosowaniu przez samych interesariuszy. W rzeczywistości wyborcy z komponentu PoS mogą odrzucić (ukarać) górników, których podejrzewają o oszustwo, przyjmując politykę głosowania na „nie”, gdy wykryte zostanie złośliwe lub nieefektywne działanie. To sprawia, że górnicy o nieczystych intencjach nie podejmują się złośliwej aktywności.

Obecność takiej warstwy weryfikacyjnej - komponentu PoS - znacząco zwiększa bezpieczeństwo sieci i jej odporność na tzw. ataki większościowe. Najbardziej powszechna metoda przeprowadzania ataku typu double spend polega zmianie kolejności bloków lub nawet odwrócenia transakcji w łańcuchu blokowów przez kopanie alternatywnego łańcucha w tajemnicy, a następnie zwolnienie go po pewnym okresie czasu i wykorzystanie unieważnionych transakcji w „starym” łańcuchu. Ponieważ każdy z bloków w Decred wymaga konkretnych danych wejściowych przekazywanych przez losowo wybrane biletów, przeprowadzenie skutecznego ataku typu double spend zostaje znacząco ograniczone - chyba, że atakujący wejdzie w posiadanie większości dostępnej puli biletów (więcej na ten temat: tutaj i tutaj).

Hybrydowy algorytm konsensusu PoW/PoS znacząco zwiększa koszty wymagane do przeprowadzenia skutecznego ataku na sieć, ponieważ atakujący musi obejść dwa odrębne systemy. W szczególności komponent PoS jest skonfigurowany w taki sposób, że bilety nabywane są w bardzo powolny sposób. Ograniczoną liczbę biletów można nabyć jedynie blok po bloku (czyli w określonym interwale), a zakup maksymalnej liczby powoduje gwałtowny wzrost ceny jednostkowej. Dodatkowo, po zakupie jakiegokolwiek biletu, środki wykorzystane do jego zakupu zostają zamrożone na pewien czas, pozostawiając atakującego w narażeniu na dewaluację zablokowanych monet, która nastąpiłaby w wyniku przeprowadzonego przez niego ataku.

Dodatkowo, wymóg głosowania nad poprawnością każdego z bloku (a w zasadzie zawartych w nim transakcji) przez losowo wybranych interesariuszy, oznacza, że łańcuch bloków musi być udostępniany wszystkim uczestnikom podczas jego wydobywania, co znacząco zwiększa bezpieczeństwo całej sieci. System Decred został zaprojektowany w taki sposób, aby zapewniać wszystkim zainteresowanym stronom władzę nad górnikami z komponentu PoW.


Głosowanie nad zmianą konsensusu (ang. Consensus change voting)

W projekcie Decred interesariusze w ramach komponentu PoS posiadają dominującą siłą decyzyjną w zarządzaniu całą siecią blockchain. Reguły zapisane w konsensusie Decred można jednak zmienić. Zmiany w działaniu konsensusu sieci mogą zostać wprowadzone jednak dopiero po wcześniejszym przeprowadzeniu odpowiedniego głosowania. Co więcej, aby zmiany weszły w życie muszą zostać zatwierdzone przy przewadze co najmniej 75% wszystkich biletów. Proces zmian rozpoczyna się w momencie gdy zdecydowana większość górników (min. 95%) i wyborców (min. 75%) uaktualni wykorzystywane przez siebie oprogramowanie sieciowe do wersji zawierającej proponowane zmiany. Jeśli dana propozycja zmian uzyska minimum 75% poparcia po 4 tygodniowym okresie głosowania, zostaje ona przyjęta. W przeciwnym razie zostaje odrzucona. Jeśli z kolei nie zagłosuje na nią większość, proces głosowania zaczyna się od nowa. Jeśli propozycja zostanie zaakceptowana, zmiana określonej reguły zostanie aktywowana po miesiącu.


Project management: Politeia

Decred’s block rewards are split between PoW miners (60%), PoS voters (30%), and a (10%) to fund development of open source software that furthers the project’s aims. Ticket holders have sovereignty to vote on how this fund should be spent what features should be added, and to determine policy through the Politeia platform.

Zarządzanie projektem: Politeia

Nagrody dla górników i głosujących zawarte w blokach (ang. block rewards) dzielone są w następujących proporcjach: 60% (górnicy), 30% (głosujący), 10% (fundusz rozwojowy). Środki zgromadzone w funduszu rozwojowym służą finansowaniu rozwoju oprogramowania na zasadach open source, co dodatkowo umacnia wypełnienie celów założonych przez projekt. Posiadacze biletów posiadają pełną suwerenność w kwestii głosowania, tylko i wyłącznie od nich zależy w jaki sposób będą wydawane środki zgromadzone w ramach tego funduszu, jakie w funkcje powinny zostać dodane do projektu w najbliższym czasie.


Zakończenie

Ponieważ wyborcy w ramach komponentu PoS otrzymują 30% wartości nagrody zawartej w danym bloku, to nie są oni w stanie zachować swojego względnego udziału w obiegu jednostek DCR podejmując się jedynie stake’owania. Większość nowo powstałych DCR trafia do górników w ramach komponentu PoW w zamian za ich pracę, jaką wykonują w zabezpieczaniu sieci i niwelowaniu potencjalnych skutków problemu znanego jako „nothing at stake”, który występuje w tradycyjnych systemach PoS. Górnicy aby móc pokryć własne koszty operacyjne podejmują się ciągłej sprzedaży zdecydowanej większości otrzymywanych przez nich nagród, dbając tym samym o to, aby na rynku stale dostępna była wystarczająca ilość DCR.

Blockchain projektu Decred cechuje się unikalną architekturą i jest jednym z najbardziej znanych przykładów hybrydowego systemu PoW / PoS. W taki sam sposób, w jaki projekty z oparte o tradycyjny PoS są mniej lub bardziej zróżnicowane, projekty, które powstaną w przyszłości i które wdrożą hybrydowy algorytm konsensusu PoW / PoS, również na swój sposób będą unikalne i niekoniecznie będą zgodne charakterystyką systemu Decred.

Udostępnij Posty
Zarejestruj konto
Wykorzystaj swoją wiedzę w praktyce, otwierając konto Binance już dziś.