Wprowadzenie do mechanizmów konsensusu w blockchainie

  • Matthew Tyson,

Blockchainy ewoluują, a mechanizmy konsensusu są w ich centrum. Oto szybkie spojrzenie na zakres zdecentralizowanych mechanizmów walidacji i uwierzytelniania będących obecnie w użyciu.

Sieci Blockchain grupują transakcje w zbiory (bloki), które są ze sobą łączone (łańcuchy). Bloki wykorzystują funkcję zapewniającą, że wartości nie są ponownie wykorzystywane w transakcjach, co pozwala uniknąć problemu podwójnych wydatków. Następnie sieć używa mechanizmu konsensusu blockchain, aby dojść do porozumienia, że dany blok jest ważny.

Blockchainy wymyśliły różne mechanizmy konsensusu, które są wykorzystywane do walidacji. Ten artykuł bada najbardziej powszechne mechanizmy konsensusu blockchain i niektóre warianty w świecie rzeczywistym.

Zobacz również:

Dla osób szukających zrozumienia blockchaina, oryginalna biała księga Bitcoina jest dobrym miejscem do rozpoczęcia. Przedstawia ona Bitcoina jako elektroniczny system pieniężny peer-to-peer i omawia pierwszy mechanizm konsensusu blockchain, Proof of Work. Mechanizm ten jest zalążkiem, z którego wyrastają wszystkie inne mechanizmy konsensusu blockchain.

Proof of Work

Proof of Work został opracowany w celu rozwiązania problemu podwójnego wydawania pieniędzy, gdzie niektórzy użytkownicy mogliby próbować przekazać te same aktywa więcej niż raz. Pierwszym wyzwaniem dla sieci blockchain było więc zapewnienie, że wartości są przekazywane tylko raz.

Twórcy Bitcoina chcieli uniknąć używania scentralizowanej „mennicy” do śledzenia wszystkich transakcji przechodzących przez blockchain. Chociaż taka mennica mogłaby bezpiecznie zaprzeczać transakcjom z podwójnym transferem, byłaby rozwiązaniem scentralizowanym. Zdecentralizowanie kontroli nad aktywami było całym punktem blockchaina.

Zamiast tego, Proof of Work przenosi zadanie walidacji transakcji na poszczególne węzły w sieci. Gdy każdy węzeł otrzymuje transakcję, próbuje wykonać kosztowne obliczenia wymagane do odkrycia rzadkiego hasha. Wynikający z tego „dowód pracy” zapewnia, że węzeł poświęcił określoną ilość czasu i mocy obliczeniowej, aby zaakceptować blok transakcji. Gdy blok jest już zhashowany, jest propagowany do sieci wraz z podpisem. Zakładając, że spełnia on kryteria ważności, inne węzły w sieci akceptują ten nowy blok, dodają go do końca łańcucha i rozpoczynają pracę nad kolejnym blokiem w miarę napływu nowych transakcji.

Proof of Stake

Proof of Work był genialnym rozwiązaniem problemu podwójnych wydatków. Stanowił on całkowicie nowy model dla obliczeń rozproszonych, umożliwiając pozbawioną zezwoleń spójność typu peer-to-peer. Wszystkie sieci blockchain rozwijają podstawową ideę zabezpieczania otwartych sieci za pomocą kryptografii.

Jednak oryginalny mechanizm blockchain ma istotne wady. Funkcja haszowania wymaga dużych nakładów energii. Tworzy również wąskie gardło w tym, jak wiele transakcji może być przetwarzanych w danym okresie czasu.

Te niedociągnięcia zainspirowały kilka ciekawych wariacji na temat początkowego pomysłu. Pierwszą i najbardziej wpływową alternatywą dla mechanizmu konsensusu Proof of Work jest Proof of Stake, który został wprowadzony przez projekt Peercoin.

Proof of Stake tworzy zachętę dla węzłów do uczciwego zatwierdzania transakcji poprzez posiadanie własnej waluty jako obligacji. Proof of Stake działa bardzo podobnie do Proof of Work pod względem jego relacji z siecią. Spełnia tę samą rolę. Różnica polega na tym, że węzły zatwierdzające Proof of Stake mają udział w sieci: Jeśli działają nieuczciwie, nie tylko stoją na stracie części swojego udziału, ale dewaluują swoją własną walutę.

Proof of Stake oferuje potencjalnie znacznie wyższy czas przetwarzania bloków, ponieważ nie jest ograniczony przez przetwarzanie funkcji haszujących. Zmniejsza również wykorzystanie mocy obliczeniowej. Wiele nowszych sieci blockchain przyjęło Proof of Stake, w tym Ethereum 2.

Delegated Proof of Stake

Delegated Proof of Stake jest rozwinięciem mechanizmu Proof of Stake. Zasadniczo oznacza to, że osoby zatwierdzające mogą być wybierane przez innych uczestników sieci, zwykle zgodnie z wagą opartą na posiadanych przez nich tokenach (czyli ich stawkach). Mechanizm ten działa podobnie do kolegium elektorskiego w wyborach.

Sieć Delegated Proof of Stake jest bardziej elastyczna, ponieważ posiadacze tokenów mogą bardziej dynamicznie dostosowywać sposób rozmieszczenia walidatorów w walidowanych blokach. Łagodzi również wpływ wartościowych walidatorów, którzy w przeciwnym razie mogą mieć nadmierną kontrolę nad siecią. Delegated Proof of Stake to sposób na wbudowanie zarządzania w bardziej fundamentalną warstwę sieci. Głosowanie na temat statusu walidatora jest wbudowane w codzienne funkcjonowanie sieci.

Proof of History

Proof of History jest pomysłem zaproponowanym przez projekt Solana. Nie jest to samodzielny mechanizm konsensusu, ale raczej środek do poprawy efektywności innych mechanizmów. Proof of History wykorzystuje serwer weryfikowalnej funkcji opóźnienia (VDF)), który zapewnia uporządkowanie transakcji w całej sieci. Węzły walidacyjne są wtedy w stanie bardziej efektywnie zajmować się przetwarzaniem transakcji, ponieważ nie muszą się martwić o czas.

Serwer czasu jest włączony do sieci w sposób zdecentralizowany, przewracając się do innego walidatora okresowo lub w przypadku awarii. Proof of History to wzrost złożoności architektonicznej w zamian za zoptymalizowaną wydajność.

Proof of Space

Proof of Space obejmuje szereg technik służących do wykazania, że węzeł w sieci ma zaangażowane zasoby pamięci masowej. Czasami jest również nazywany Proof of Storage.

Podstawową ideą jest zobowiązanie węzłów do uczciwego zatwierdzania bloków w podobny sposób jak Proof of Work, ale zamiast cykli procesora mechanizm ten wykorzystuje przestrzeń dyskową. Jednym z algorytmów wykorzystywanych w tym celu jest coś, co nazywa się grafem hard-to-pebble. W tym mechanizmie węzły mają zarezerwowaną przestrzeń w oparciu o graf, który jest trudny do obliczenia. Konsensus jest osiągany, gdy sieć prosi o dowód w postaci losowych próbek z zarezerwowanej przestrzeni. Węzły muszą faktycznie rozwiązać i przechować problem, aby zaoferować dowód.

Proof of Capacity

Wykorzystanie pamięci dyskowej do zaangażowania węzłów oferuje potencjał mniejszego zużycia energii niż mechanizm Dowodu Pracy. Jeden z wariantów mechanizmu Proof of Space wykonuje pracę z wyprzedzeniem i przechowuje ją, tworząc w ten sposób rodzaj kolejki, na której walidatorzy mogą polegać. Mechanizm ten, znany jako Proof of Capacity, jest wykorzystywany w projekcie Signum.

Proof of Spacetime

Proof of Spacetime jest kolejnym udoskonaleniem mechanizmu Proof of Space, który zapewnia, że przestrzeń dyskowa była utrzymywana przez określony czas. Jest to dość pomysłowy mechanizm, ponieważ nie tylko ustanawia algorytm udowadniania wydatków na przestrzeń i czas w zasobach obliczeniowych, ale dynamicznie dostosowuje względną wagę, jaką prover poświęca każdemu z nich. Przeczytaj propozycję Proof of Spacetime, aby dowiedzieć się więcej na ten temat.

Proof of Activity

Proof of Activity jest próbą połączenia Proof of Work z Proof of Stake. Zasadniczo działa w dwóch fazach, najpierw używając Proof of Work do walidacji bloków, a następnie potwierdzając bloki poprzez Proof of Stake. Mechanizm ten zwiększa ogólne bezpieczeństwo transakcji poprzez zapewnienie, że bloki są zarówno hash-mined i stake-walidated. Z drugiej strony, nie rozwiązuje on problemów związanych z wadami Proof of Work.

Proof of Elapsed Time

Proof of Elapsed Time został po raz pierwszy zaproponowany przez Intela i jest innym zwierzęciem niż inne opisane tutaj, ponieważ ma zastosowanie do sieci blockchain z zezwoleniem. Jedną z kluczowych cech blockchainów podobnych do Bitcoina było to, że są one pozbawione pozwolenia. Zmuszanie węzłów do identyfikowania się z danymi uwierzytelniającymi w celu uczestnictwa skutkuje powstaniem prywatnego blockchaina. Pomysł polega na wykorzystaniu niektórych cech blockchaina, takich jak odporność sieci, ale w kontekście sieci własnościowej.

Najbardziej znanym przykładem Proof of Elapsed Time jest projekt open source HyperLedger Sawtooth.

Proof of Authority

Kolejnym bardziej drastycznym odejściem od Proof of Work Nakamoto jest Proof of Authority. W tym modelu walidatory są weryfikowane z góry przy użyciu zarówno aspektu komputerowego, jak i ludzkiego. Zamiast dystrybuować dowód ważności w całej sieci za pomocą czegoś takiego jak funkcja haszowania, Proof of Authority wykorzystuje zewnętrzny mechanizm, który narzuca zgodność z zewnątrz. Kryptowaluta VET wykorzystuje Proof of Authority.

Proof of Burn

Inną wysokopoziomową opcją zamiast Proof of Work i Proof of Stake jest mechanizm Proof of Burn. W tego typu sieci węzły walidują swoją pracę poprzez spalanie tokenów. Spalanie tokenów jest kosztownym działaniem, które zapewnia, że węzły mają udział w sieci. Mechanizm Proof of Burn nadal opiera się na innych mechanizmach, aby zapewnić, że same tokeny mają wartość. W tym momencie byłby to prawdopodobnie Proof of Work lub Proof of Stake.

Siła Proof of Burn polega na zapewnieniu pewnego rodzaju mostu między sieciami, które działają z różnymi mechanizmami konsensusu. Ma interesujące przypadki użycia w umożliwieniu transakcji cross-chain.

Proof of Importance

Proof of Importance jest rodzajem mechanizmu Proof of Stake, który próbuje włączyć więcej danych do decyzji o tym, które węzły są akceptowane jako walidatory. Tworzy on wynik dla węzłów, który waży ich prawomocność, a ilość postawionych tokenów jest jednym z czynników w tym wyniku. Proof of Importance uwzględnia również inne czynniki, takie jak długowieczność i aktywność węzłów, ich relacje z innymi węzłami, a także może stosować wagi, takie jak średnie kroczące do wydatków na tokeny. Proof of Importance został wprowadzony przez projekt NEM.

Proof of Identity

Proof of Identity jest obszarem do olbrzymiego rozwoju, ponieważ reprezentuje skrzyżowanie blockchain i tożsamości. Jest to ogólny cel powiązania identyfikatora blockchain - klucza prywatnego - z tożsamością świata rzeczywistego, taką jak obywatelstwo. Jednym z najbardziej prawdopodobnych obszarów zakłóceń dla blockchain jest uwierzytelnianie przy użyciu zdecentralizowanego identyfikatora. Jeśli wdrożono ogólnie akceptowane środki weryfikacji tożsamości osobistej lub organizacyjnej w ramach blockchain, użytkownicy i sieci blockchain mogliby używać Dowodu Tożsamości do uczestnictwa i zatwierdzania transakcji.

Źródło: Infoworld

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem IDGLicensing@theygsgroup.com