Przewodnik po algorytmach konsensusu Blockchain
Opublikowany: 2019-10-21Blockchain to zdecentralizowana sieć rozproszona, która oferuje większą przejrzystość, bezpieczeństwo i niezmienność.
Wszyscy to wiemy !!
Ale czy zastanawiałeś się kiedyś, jak jest w stanie to wszystko osiągnąć?
Kto zarządza tą siecią i weryfikuje każdą transakcję, pod warunkiem, że nie ma scentralizowanego organu?
Brzmi interesująco, prawda!
Cóż, to algorytmy konsensusu Blockchain — podstawowa część świata rozwoju Blockchain, o której będziemy mówić w tym obszernym przewodniku.
SPIS TREŚCI:
- Definicja algorytmu konsensusu Blockchain
- Cele mechanizmu konsensusu
- Popularne na rynku algorytmy konsensusu Blockchain
- Właściwości dobrego mechanizmu konsensusu Blockchain
- Konsekwencje polegania na złym protokole konsensusu
- Często Zadawane Pytania
- Wniosek
Co to jest algorytm konsensusu Blockchain?
Najprostszą odpowiedzią na pytanie, czym jest algorytm konsensusu Blockchain, jest to, że jest to procedura, za pomocą której wszyscy uczestnicy sieci Blockchain wspólnie akceptują lub zgadzają się na temat stanu rozproszonej księgi w czasie rzeczywistym.
Mechanizm konsensusu umożliwia sieci blockchain osiągnięcie niezawodności i budowanie poziomu zaufania między różnymi węzłami, przy jednoczesnym zapewnieniu bezpieczeństwa w środowisku. To jest powód, dla którego jest to jedna z istotnych części każdego przewodnika rozwoju aplikacji Blockchain i każdego projektu dApp w środowisku księgi rozproszonej.
Algorytmy te działają na podstawie różnych celów, z których kilka omówimy w następnej sekcji tego artykułu.
Cele mechanizmu konsensusu Blockchain
1. Ujednolicona umowa
Jednym z głównych celów mechanizmów konsensusu jest osiągnięcie jednolitego porozumienia.
W przeciwieństwie do systemów scentralizowanych, w których konieczne jest zaufanie do władzy , użytkownicy mogą działać nawet bez budowania wzajemnego zaufania w sposób zdecentralizowany. Protokoły wbudowane w rozproszoną sieć blockchain zapewniają, że dane zaangażowane w proces są prawdziwe i dokładne, a stan księgi publicznej jest aktualny.
2. Wyrównaj zachęty ekonomiczne
Jeśli chodzi o budowanie systemu bez zaufania, który sam się reguluje, dostosowanie interesów uczestników sieci jest koniecznością.
W tej sytuacji konsensusowy protokół blockchain oferuje nagrody za dobre zachowanie i karze złych aktorów. W ten sposób zapewnia również regulację bodźców ekonomicznych .
3. Uczciwe i sprawiedliwe
Mechanizmy konsensusu umożliwiają każdemu uczestnictwo w sieci i korzystanie z tych samych podstaw. W ten sposób uzasadnia to własność open source i decentralizację systemu blockchain.
4. Zapobiegaj podwójnym wydatkom
Mechanizmy konsensusu działają w oparciu o pewne algorytmy, które zapewniają, że tylko te transakcje są uwzględniane w jawnej księdze publicznej, które są zweryfikowane i ważne. To rozwiązuje tradycyjny problem podwójnego wydawania, tj. problem dwukrotnego wydawania waluty cyfrowej.
5. Odporność na awarie
Inną cechą metody Consensus jest zapewnienie, że blockchain jest odporny na błędy, spójny i niezawodny. Oznacza to, że rządzony system działałby w nieskończoność nawet w przypadku awarii i zagrożeń.
Obecnie w ekosystemie istnieje mnóstwo algorytmów konsensusu Blockchain, a wiele innych zmierza do wejścia na rynek. To sprawia, że każda firma deweloperska i entuzjastyczny przedsiębiorca Blockchain musi zapoznać się z czynnikami definiującymi dobry protokół konsensusu i możliwym skutkiem wybrania złego.
Mając omówione podstawy metod konsensusu Blockchain, zagłębmy się głębiej w ten temat i przyjrzyjmy się popularnym typom mechanizmów konsensusu.
Popularne na rynku algorytmy konsensusu Blockchain
1. Dowód pracy (PoW)
Opracowany przez Satoshi Nakamoto , Proof of Work jest najstarszym mechanizmem konsensusu używanym w domenie Blockchain. Jest również znany jako wydobycie, w którym uczestniczące węzły nazywane są górnikami.
W tym mechanizmie górnicy muszą rozwiązywać złożone zagadki matematyczne przy użyciu wszechstronnej mocy obliczeniowej. Wykorzystują różne formy metod kopania, takie jak kopanie GPU, kopanie procesora, kopanie ASIC i kopanie FPGA. A ten, który najwcześniej rozwiąże problem, dostaje w nagrodę blok.
Jednak proces nie jest taki łatwy. Zagadkę można rozwiązać tylko metodą prób i błędów. Dodatkowo stopień skomplikowania zagadki wzrasta wraz z szybkością wydobywania bloków. Dlatego obowiązkowe staje się stworzenie nowego bloku w określonym czasie, aby poradzić sobie z poziomem trudności.
Mechanizm Proof of Work jest używany przez wiele kryptowalut, takich jak Bitcoin, Litecoin, ZCash, Primecoin, Monero i Vertcoin, aby wymienić tylko kilka.
Algorytm Bitcoin wyjaśniony w tym mechanizmie wykorzystuje wartość jednorazową jako losową wartość do zmiany wyniku wartości skrótu. W algorytmie konsensusu bitcoin każdy blok ma generować wartość skrótu, a wartość jednorazowa jest parametrem używanym do generowania tej wartości skrótu.
Pod względem wdrożeń, Proof of Work (PoW) wpłynął nie tylko na branżę finansową, ale także na opiekę zdrowotną, zarządzanie, zarządzanie i nie tylko. W rzeczywistości oferuje możliwość płatności wielokanałowych i transakcji z wieloma podpisami za pośrednictwem adresu w celu zwiększenia bezpieczeństwa.
2. Dowód stawki (PoS)
Proof of Stake jest najbardziej podstawową i przyjazną dla środowiska alternatywą protokołu konsensusu PoW.
W tej metodzie blockchain producenci bloków nie są górnikami, ale działają jak walidatory. Dostają możliwość stworzenia blokady nad wszystkimi, co oszczędza energię i skraca czas. Aby jednak stać się walidatorem, powinni zainwestować pewną kwotę lub stawkę.
Ponadto, w przeciwieństwie do PoW, górnicy mają przywilej pobierania opłat transakcyjnych w tym algorytmie, ponieważ w tym modelu konsensusu nie ma systemu nagród.
To, jako całość, zachęciło marki takie jak Ethereum do uaktualnienia swojego modelu z PoW do PoS w aktualizacji Ethereum 2.0 . Pomogło to również w prawidłowym funkcjonowaniu różnych ekosystemów Blockchain, takich jak Dash, Peercoin, Decred, Reddcoin i PivX.
Teraz, podczas gdy PoS rozwiązywał różne problemy związane wcześniej z PoW, na rynku było jeszcze wiele wyzwań. Aby złagodzić te wyzwania i zapewnić ulepszone środowisko blockchain, powstało kilka odmian PoS.
Dwie popularne odmiany Proof of Stake (PoS) to DPoS i LPoS.
- Delegowany dowód udziału (DPoS)
W przypadku Delegated Proof of Stake (DPoS) uczestnicy rzucają monetą i głosują na określoną liczbę delegatów, tak że im więcej inwestują, tym większą wagę otrzymują. Na przykład: jeśli użytkownik A wyda 10 monet na delegata, a użytkownik B zainwestuje 5 monet, głos A zyskuje większą wagę niż głos B.
Delegaci są również nagradzani w postaci opłat transakcyjnych lub określonej ilości monet.
Ze względu na ten mechanizm głosowania ważonego stawką, DPoS jest jednym z najszybszych modeli konsensusu blockchain i jest wysoce preferowany jako demokracja cyfrowa. Niektóre z rzeczywistych przypadków użycia tego mechanizmu konsensusu blockchain to Steem, EOS i BitShares.
- Dzierżawiony dowód stawki (LPoS)
LPoS to ulepszona wersja mechanizmu konsensusu PoS działającego na platformie Waves .
W przeciwieństwie do zwykłej metody Proof-of-Stake, w której każdy węzeł z pewną ilością kryptowaluty jest uprawniony do dodania kolejnego łańcucha bloków, użytkownicy mogą wydzierżawić swoje saldo pełnym węzłom w tym łańcuchu bloków algorytmu konsensusu. A ten, który dzierżawi większą kwotę do pełnego węzła, ma większe prawdopodobieństwo wygenerowania kolejnego bloku. Ponadto dzierżawca jest następnie nagradzany procentem opłaty transakcyjnej, która została pobrana przez cały węzeł.
Ten wariant PoS to wydajna i bezpieczna opcja rozwoju publicznych kryptowalut.
3. Dowód pełnomocnictwa
Proof of Authority to zmodyfikowana wersja Proof of Stake, w której w grę wchodzą tożsamość walidatorów w sieci. W tym przypadku, aby zweryfikować tożsamość walidatora, tożsamość jest podobieństwem między osobistą identyfikacją walidatorów a ich oficjalną dokumentacją. Ci walidatorzy umieszczają swoją reputację w sieci. W Proof of Authority węzły (które stają się walidatorami) są jedynymi, które mogą tworzyć nowe bloki. Walidatorzy, których tożsamość jest zagrożona, są zachęcani do zabezpieczania i zachowania sieci blockchain. W tym dowodzie liczba walidatorów jest dość mała, około 25 lub mniej.
4. Bizantyjska tolerancja błędów (BFT)
Byzantine Fault Tolerance, jak sama nazwa wskazuje, służy do radzenia sobie z bizantyńskimi usterkami (zwanymi również Bizantine Generals Problem) – sytuacją, w której aktorzy systemu muszą uzgodnić skuteczną strategię, aby uniknąć katastrofalnej awarii systemu, ale część są wątpliwe.
Dowiedz się więcej o problemie bizantyjskich generałów dzięki temu filmowi: -
Dwie odmiany modelu konsensusu BFT, które są najważniejsze na arenie Blockchain, to PBFT i DBFT.
- Praktyczna bizantyjska tolerancja błędów (PBFT)
PBFT to lekki algorytm blockchain, który rozwiązuje problemy bizantyjskiego generała, pozwalając użytkownikom potwierdzić wiadomości, które zostały im dostarczone, poprzez wykonanie obliczeń w celu oceny decyzji o ważności wiadomości.
Strona następnie ogłasza swoją decyzję innym węzłom, które ostatecznie przetwarzają decyzję w jej sprawie. W ten sposób ostateczna decyzja opiera się na decyzjach pobranych z innych węzłów.
Stellar, Ripple i Hyperledger Fabric to niektóre przypadki użycia tego mechanizmu konsensusu blockchain.
- Delegowana bizantyjska tolerancja błędów (DBFT)
Wprowadzony przez NEO mechanizm Delegated Byzantine Fault Tolerance jest podobny do modelu konsensusu DPoS. Również tutaj posiadacze tokenów NEO mają możliwość głosowania na delegatów.
Jest to jednak niezależne od kwoty inwestowanej przez nich waluty. Delegatem może zostać każdy, kto spełni podstawowe wymagania, tj. zweryfikowaną tożsamość, odpowiedni sprzęt i 1000 GAS . Jeden z tych delegatów jest następnie wybierany losowo jako mówca.
Prelegent tworzy nowy blok z transakcji, która czeka na zatwierdzenie. Wysyła również propozycję do głosowanych delegatów, którzy mają obowiązek nadzorowania wszystkich transakcji i rejestrowania ich w sieci. Delegaci ci mają swobodę dzielenia się i analizowania propozycji, aby sprawdzić dokładność danych i uczciwość mówcy. Jeśli więc 2/3 delegatów zatwierdzi to, blok zostanie dodany do łańcucha bloków.
Ten rodzaj protokołu konsensusu Blockchain jest również nazywany „Ethereum of China” i może być pomocnym źródłem w budowaniu „inteligentnej gospodarki” poprzez cyfryzację aktywów i oferowanie inteligentnych kontraktów na blockchain.
5. Bezpośredni wykres acykliczny (DAG)
Innym podstawowym, ale pierwszorzędnym modelem konsensusu blockchain, z którym każda firma zajmująca się tworzeniem aplikacji mobilnych współpracująca z Blockchain musi być zaznajomiona, jest DAG.
W tego typu protokole konsensusu Blockchain każdy węzeł sam przygotowuje się do zostania „górnikami”. Teraz, gdy górnicy są eliminowani, a transakcje są zatwierdzane przez samych użytkowników, powiązana opłata spada do zera. Weryfikacja transakcji między dowolnymi dwoma najbliższymi węzłami staje się łatwiejsza, co sprawia, że cały proces jest lekki, szybszy i bezpieczny.
Dwa najlepsze przykłady algorytmów DAG to IOTA i Hedera Hashgraph .
Chociaż są to najlepsze modele konsensusu w środowisku programistycznym, wiele różnych mechanizmów konsensusu blockchain powoli i stopniowo zaczyna nabierać rozpędu, takich jak:
6. Dowód pojemności (PoC)
W mechanizmie Proof of Capacity (PoC) rozwiązania dla każdej złożonej zagadki matematycznej są gromadzone w cyfrowych pamięciach masowych, takich jak dyski twarde. Użytkownicy mogą używać tych dysków twardych do tworzenia bloków w taki sposób, aby ci, którzy najszybciej oceniali rozwiązania, mieli większe szanse na tworzenie bloków.
Proces, który następuje, nazywa się kreśleniem. Dwie kryptowaluty, które opierają się na protokole konsensusu blockchain PoC, to Burstcoin i SpaceMint.
7. Dowód oparzenia (PoB)
Uważany za alternatywne rozwiązanie dla PoW i PoS pod względem zużycia energii, model konsensusu Proof of Burn (PoB) działa na zasadzie zezwalania górnikom na „spalanie” lub „rujnowanie” wirtualnych tokenów kryptowalut, co dodatkowo zapewnia im przywilej pisania bloki proporcjonalnie do monet. Im więcej monet spalą, tym większe są szanse na wybranie nowego bloku za każdą otrzymaną monetę.
Aby jednak spalić monety, muszą wysłać je na adres, na który nie można było ich wydać na weryfikację bloku.
Jest to szeroko stosowane w przypadku rozproszonego konsensusu. A najlepszym przykładem tego mechanizmu konsensusu jest moneta Slim.
8. Dowód tożsamości (PoI)
Pojęcie PoI (Proof of Identity) jest takie samo, jak w przypadku autoryzowanej tożsamości. Jest to fragment kryptograficznego potwierdzenia klucza prywatnego użytkownika, który jest dołączany do każdej konkretnej transakcji. Każdy zidentyfikowany użytkownik może tworzyć i zarządzać blokiem danych, który może być prezentowany innym w sieci.
Ten model konsensusu blockchain zapewnia autentyczność i integralność tworzonych danych. A zatem jest to dobry wybór do wprowadzenia inteligentnych miast.
9. Dowód aktywności (PoA)
PoA jest zasadniczo podejściem hybrydowym zaprojektowanym przez konwergencję modeli konsensusu PoW i PoS.
W przypadku mechanizmu PoA górnicy ścigają się, by jak najszybciej rozwiązać zagadkę kryptograficzną przy użyciu specjalnego sprzętu i energii elektrycznej, podobnie jak w PoW. Jednak bloki, które napotykają, zawierają jedynie informacje o tożsamości zwycięzcy bloku i transakcji nagrody. W tym miejscu mechanizm przełącza się na PoS.
Walidatory (akcjonariusze wyznaczeni do walidacji transakcji) testują i zapewniają poprawność bloku. Jeśli blok był sprawdzany wiele razy, walidatory aktywują się do pełnego bloku. Potwierdza to, że otwarte transakcje są procesami i są ostatecznie zintegrowane z kontenerami znalezionych bloków.
Poza tym nagroda za blok jest dzielona tak, że walidatorzy uzyskują z niej udziały.
Dwie realne implementacje tego mechanizmu to Espers i Decred .
10. Dowód upływu czasu (PoET)
PoET został wprowadzony przez Intela z zamiarem przejęcia łamigłówek kryptograficznych związanych z mechanizmem PoW, biorąc pod uwagę fakt, że architektura procesora i ilość sprzętu do kopania wie, kiedy iz jaką częstotliwością górnik wygrywa blok.
Opiera się na idei sprawiedliwego podziału i zwiększania szans dla większej części uczestników. I tak, każdy uczestniczący węzeł jest proszony o czekanie na określony czas, aby wziąć udział w następnym procesie wydobycia. Członek z najkrótszym czasem przetrzymania proszony jest o zaoferowanie bloku.
Jednocześnie każdy węzeł wymyśla również własny czas oczekiwania, po którym przechodzi w tryb uśpienia.
Tak więc, gdy tylko węzeł staje się aktywny i blok jest dostępny, ten węzeł jest uważany za „szczęśliwego zwycięzcę”. Ten węzeł może następnie rozpowszechniać informacje w całej sieci, zachowując jednocześnie właściwość decentralizacji i otrzymując nagrodę.
11. Dowód ważności (PoI)
Wprowadzony przez NEM , PoI jest odmianą protokołu PoS, która uwzględnia rolę udziałowców i walidatorów w jego działaniu. Jednak wpływ na to ma nie tylko wielkość i szansa ich akcji; różne inne czynniki, takie jak reputacja, ogólna równowaga i nie. transakcji dokonywanych za pośrednictwem dowolnego konkretnego adresu również odgrywa w nim rolę.
Sieci oparte na modelu konsensusu POI są drogie w ataku i nagradzają użytkowników za wkład w bezpieczeństwo sieci.
Udostępnione do tej pory informacje pomogłyby ci w rozróżnieniu różnych protokołów konsensusu Blockchain.
Jednak, aby to uprościć, oto tabela porównawcza algorytmów konsensusu blockchain.
Teraz zacznijmy od ustalenia, co sprawia, że konsensus Blockchain jest dobry.
Właściwości dobrego mechanizmu konsensusu Blockchain
1. Bezpieczeństwo
W dobrym mechanizmie konsensusu wszystkie węzły są zdolne do generowania wyników zgodnych z zasadami protokołu.
2. Włącznie
Dobry mechanizm blockchain konsensusu zapewnia, że każdy konkretny węzeł sieci uczestniczy w procesie głosowania.
3. Partycypacyjny
Mechanizm konsensusu, w którym wszystkie węzły aktywnie uczestniczą i przyczyniają się do aktualizacji baz danych w Blockchain, nazywany jest modelem dobrego konsensusu.
4. Egalitarny
Inną cechą dobrego mechanizmu jest to, że nadaje on równą wartość i wagę każdemu głosowi otrzymanemu z węzła.
Mając to na uwadze , dowiedzmy się, co się stanie, gdy nie weźmiesz pod uwagę tych czynników i wprowadzisz słaby model konsensusu do swojego procesu rozwoju.
Konsekwencje wyboru złego protokołu konsensusu
1. Widły Blockchain
Wybór złej metody konsensusu blockchain zwiększa podatność łańcucha. Jedną z takich podatności, z którą borykają się entuzjaści i programiści blockchain, jest Blockchain Forks.
Forki Blockchain, w języku laika, to sytuacja lub okoliczności, w których pojedynczy łańcuch rozdziela się na dwa lub więcej. Szczegółowe wyjaśnienie dotyczące widelca Blockchain i jego typów jest dostępne w filmie umieszczonym poniżej.
Kiedy dochodzi do rozwidlenia Blockchain, aplikacja zaczyna działać w nieprzewidywalny sposób, tworząc dwa lub więcej rozbieżnych węzłów z wyprzedzeniem.
2. Słaba wydajność
Gdy rozważany jest mechanizm łańcucha blokowego o złym konsensusie , albo węzeł ulegnie awarii, albo cierpi z powodu partycji sieciowej. Opóźnia to proces wymiany komunikatów między węzłami i zwiększa opóźnienie aplikacji, co ostatecznie obniża poziom wydajności.
3. Brak konsensusu
Innym skutkiem włączenia mechanizmu złego konsensusu do modelu biznesowego jest niepowodzenie konsensusu. W tej sytuacji część węzłów nie uczestniczy w żadnym procesie, a zatem, przy braku ich głosów, konsensus nie zapewnia dokładnych i pożądanych wyników.
Mając teraz omówione podstawy metod konsensusu Blockchain, zagłębmy się głębiej w ten temat i przyjrzyjmy się popularnym typom mechanizmów konsensusu.
Często zadawane pytania dotyczące algorytmów konsensusu Blockchain
P. Co to jest protokół konsensusu w Blockchain?
Protokół konsensusu to zestaw reguł lub procedur, które regulują interakcje dwóch lub więcej węzłów, wymianę informacji i wykonywanie powiązanych procesów w ekosystemie Blockchain .
P. Jakiego modelu konsensusu używa Ethereum?
Wcześniej Ethereum pracowało z modelem konsensusu PoW (Proof of Work). Ale teraz przeszedł na algorytm konsensusu blockchain PoS (Proof of Stake) .
Końcowe myśli
Ostatecznie wszystkie te komponenty mają podobny cel, jakim jest osiągnięcie konsensusu w zdecentralizowanej sieci. Jednak nawet po osiągnięciu wspólnego celu mechanizmy te różnią się sposobem podejścia do osiągnięcia konsensusu. Chociaż idealny konsensus jeszcze nie istnieje, fascynujące i poruszające jest obserwowanie, jak mechanizmy konsensusu rozwinęły się i dostosowały na dłuższą metę do zmieniających się wymagań protokołu takiego jak ten, i bez wątpienia będzie ekscytujące obserwować materializację przełomowych pomysłów .
Ważne jest, aby mądrze wybrać ten, zgodnie z potrzebą sieci biznesowej, ponieważ sieci Blockchain nie mogą działać poprawnie bez algorytmów konsensusu, które potwierdzają każdą zatwierdzoną transakcję.