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膰 鈥瀠czciwy 艂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 鈥瀞tarym鈥 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. 鈥濻oft 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膮 鈥炁俛艅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: 鈥渘ic 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.
鈥濳ryptowaluty 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鈥檕wa膰 w ramach komponentu PoS Decred, posiadacze kryptowaluty DCR musz膮 na pewien czas zamrozi膰 swoje aktywa, aby kupi膰 tzw. 鈥瀊ilety鈥. 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 鈥瀏艂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 鈥渮a鈥 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 鈥瀗ie鈥, 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 鈥瀞tarym鈥 艂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鈥檚 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鈥檚 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鈥檕wania. 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 鈥瀗othing 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艣.