Rozproszona sieć oparta na technologii blockchain tworzy system odporny na korupcję, zapewniający podwyższony poziom bezpieczeństwa, transparentności i trwałości danych – to już zapewne wiesz! Ale czy zastanawiałeś się kiedykolwiek, w jaki sposób działa taki system bez centralnej kontroli, lub jak weryfikowane są decyzje dotyczące transakcji?
Jednym z kluczowych założeń technologii blockchain jest stworzenie niezależnego systemu typu peer-to-peer, gdzie społeczność uczestniczy w procesie weryfikacji autentyczności transakcji. Czy zastanawiałeś się, jak to jest realizowane? Otóż, różne łańcuchy bloków stosują odmienne metody, które określa się mianem algorytmów konsensusu blockchain.
Te algorytmy, inaczej zwane protokołami konsensusu, stanowią zbiór zasad, które regulują działanie sieci. Jeśli temat Cię zaciekawił, zapoznaj się z naszym szczegółowym przewodnikiem, aby zrozumieć, czym są algorytmy konsensusu blockchain, jakie cele realizują, jak funkcjonują i jakie są różnice między dwoma najpopularniejszymi obecnie stosowanymi algorytmami.
Zasada działania łańcuchów bloków
Blockchain to system służący do rejestrowania danych, którego nie można modyfikować ani naruszać. Blockchain, zwany również technologią rozproszonej księgi (DLT), wykorzystuje zdecentralizowane szyfrowanie kryptograficzne, aby stworzyć bezpieczną i przejrzystą historię zasobów cyfrowych.
Mimo że blockchain działa w oparciu o bardziej skomplikowaną strukturę, analogia może pomóc w zrozumieniu jego działania. Najprostszym przykładem ilustrującym zasadę działania blockchain jest Dokument Google. Zamiast kopiować i przesyłać dokumenty, możesz je udostępniać w zespole, umożliwiając wszystkim członkom jednoczesny dostęp.
Dokumenty Google korzystają z rozproszonego łańcucha dystrybucji, który pozwala wszystkim uczestnikom zespołu na jednoczesną pracę na dokumencie. Wszystkie zmiany wprowadzone w dokumencie są zapisywane w czasie rzeczywistym i są widoczne dla wszystkich, ponieważ żaden uczestnik nie jest wykluczony.
Każdy blok w łańcuchu bloków zawiera kilka transakcji. Za każdym razem, gdy użytkownik dodaje nową transakcję do łańcucha, zapis tej transakcji jest dodawany do wszystkich ksiąg uczestników.
Analogicznie, w przypadku zmiany bloku w łańcuchu, wszystkie uczestniczące komputery otrzymują informację o dokonanej zmianie. Haker chcący zakłócić działanie systemu musiałby zmienić wszystkie bloki we wszystkich rozproszonych wersjach łańcucha.
Czym jest mechanizm konsensusu Blockchain?
Mechanizm konsensusu to zbiór zasad, za pomocą których grupa osób bez centralnego organu podejmuje decyzje i zapewnia zgodność z przyjętymi zasadami. Algorytm konsensusu blockchain to proces, w którym użytkownicy sieci blockchain osiągają jednomyślność lub konsensus co do aktualnego stanu łańcucha bloków w czasie rzeczywistym.
Protokół konsensusu zapewnia niezawodność sieci blockchain i buduje zaufanie między jej uczestnikami, a także gwarantuje bezpieczeństwo w ramach rozproszonej księgi. Algorytm konsensusu stanowi integralną część każdej aplikacji blockchain lub projektu DApps w ramach blockchain.
Mechanizmy konsensusu Blockchain odpowiadają za trzy główne aspekty:
- Zapewniają, że kolejny blok w łańcuchu stanowi jedyną poprawną wersję stanu.
- Uniemożliwiają złośliwym podmiotom uzyskanie 51% mocy obliczeniowej i przejęcie kontroli nad systemem oraz skuteczny podział łańcucha.
- Gwarantują niezawodność sieci, obejmującej wiele węzłów, co jest kluczowe dla zachowania integralności sieci. Najważniejszym zadaniem mechanizmów konsensusu jest uniemożliwienie użytkownikom podwójnego wydawania tych samych środków (tzw. podwójne wydatki).
Inne firmy z sektora usług finansowych, takie jak operatorzy kart kredytowych i debetowych, nie korzystają z mechanizmów konsensusu, ponieważ w przeciwieństwie do firm blockchain, sprawują kontrolę nad swoimi sieciami. System przesyła dane do centralnej bazy za każdym razem, gdy używasz ich kart. Użytkownicy kart kredytowych zakładają, że firmy te chronią ich dane oraz przebieg procesów zamówień podczas transakcji.
Ponieważ tylko firma obsługująca karty kredytowe kontroluje całą swoją sieć, ma prawo do odwrócenia lub zablokowania dowolnej transakcji. Dodatkowo, poza prawem do cenzury i niemożnością rozwiązywania sporów, większość scentralizowanych baz danych jest bardzo podatna na ataki i korupcję.
Wraz z nadejściem blockchain i ery kryptowalut stało się możliwe przeprowadzanie transakcji peer-to-peer, które są godne zaufania, nieodwracalne i identyfikowalne w zdecentralizowanej sieci. W sieciach, gdzie nie ma centralnego organu, który egzekwowałby zasady, różne algorytmy konsensusu blockchain zapewniają, że każdy uczestnik sieci zgadza się i postępuje zgodnie z ustalonymi regułami.
Cele mechanizmów konsensusu Blockchain
Głównymi celami mechanizmów konsensusu blockchain są:
#1. Jednomyślność
Osiągnięcie jednomyślności jest jednym z kluczowych celów mechanizmu konsensusu. Protokoły wbudowane w rozproszoną sieć blockchain zapewniają, że wszystkie dane wprowadzone w procesie są prawdziwe i dokładne, a status księgi jest zawsze aktualny. Dzięki temu użytkownicy mogą przeprowadzać transakcje bez konieczności nawiązywania zaufania z pozostałymi uczestnikami.
#2. Stworzenie wspólnej zachęty ekonomicznej
Ponieważ blockchain to system oparty na braku zaufania, który sam się reguluje, interesy wszystkich uczestników muszą być spójne. W takiej sytuacji algorytm konsensusu blockchain nagradza tych, którzy postępują zgodnie z zasadami i karze tych, którzy działają w złej wierze, regulując w ten sposób zachęty ekonomiczne.
#3. Sprawiedliwość i równość
Protokół konsensusu gwarantuje, że wszyscy zainteresowani użytkownicy mogą uczestniczyć w sieci na równych zasadach. W rezultacie wzmacnia to aspekty decentralizacji i otwartego dostępu systemu blockchain.
#4. Eliminacja błędów
Metoda mechanizmu konsensusu zapewnia, że blockchain jest spójny, niezawodny i wolny od błędów, co oznacza, że system jest w stanie działać autonomicznie przez cały czas, także w przypadku awarii i zagrożeń.
Rodzaje algorytmów konsensusu Blockchain: Proof of Work a Proof of Stake
W ekosystemie blockchain istnieje wiele algorytmów konsensusu, a kolejne są ciągle opracowywane. Dlatego każdy użytkownik lub przedsiębiorca powinien być zaznajomiony z cechami różnych mechanizmów konsensusu, aby móc identyfikować te o słabszych właściwościach. Po omówieniu podstaw algorytmów konsensusu blockchain, warto przyjrzeć się mocnym i słabym stronom dwóch najpopularniejszych metod.
Proof of Work (PoW) oraz Proof of Stake (PoS) to najczęściej wykorzystywane metody konsensusu blockchain. Obie regulują proces weryfikacji transakcji peer-to-peer i dodawania ich do publicznej, rozproszonej księgi blockchain bez udziału organu centralnego. Zrozumienie różnic między PoW i PoS może ułatwić ocenę kryptowalut w Twoim portfelu.
Co to jest Proof of Work (PoW)?
Metoda konsensusu Proof of Work pojawiła się na początku lat 90. XX wieku, aby zwalczać spam mailowy. Jej założenie było takie, że komputer musiał wykonać niewielką pracę, zanim mógł wysłać wiadomość e-mail. Choć praca ta była minimalna dla użytkowników wysyłających kilka wiadomości, to stanowiła znaczne obciążenie i wymagała ogromnej mocy obliczeniowej dla spamerów. Twórca Bitcoina, Satoshi Nakamoto, jako pierwszy zastosował tę technologię w kontekście pieniądza cyfrowego w białej księdze Bitcoina.
a. Porządkowanie bloków w Blockchain
Wiesz już, że blockchain to łańcuch bloków, z których każdy zawiera grupę transakcji, ułożonych chronologicznie. Pierwszy blok w blockchain opartym na dowodzie pracy jest trwale zapisany w oprogramowaniu i nosi nazwę bloku 0 lub bloku Genesis. Podczas gdy pierwszy blok nie odwołuje się do żadnych poprzednich, wszystkie kolejne bloki muszą odnosić się do poprzednich, przenosząc kopię zaktualizowanej księgi.
b. Zużycie energii
Algorytm Proof of Work wykorzystuje rywalizację, aby wyłonić uczestnika (górnika kryptowalut), który ma prawo do aktualizacji księgi. Górnicy muszą wykorzystać moc obliczeniową, aby spełnić warunki konieczne do proponowania ważnych bloków zgodnie z zasadami sieci.
Komputery z oprogramowaniem Bitcoin, zwane węzłami, weryfikują transakcje, zapobiegają podwójnym wydatkom i decydują, czy proponowany blok może dołączyć do łańcucha. Górnicy Bitcoinów rywalizują między sobą o szansę na stworzenie nowego bloku, rozwiązując złożone problemy matematyczne w procesie zwanym haszowaniem. Rozwiązanie tych problemów jest trudne, ale sieć jest w stanie łatwo zweryfikować poprawność rozwiązania.
c. Udział
Metoda konsensusu PoW łączy moc obliczeniową z kryptografią w celu osiągnięcia konsensusu i weryfikacji transakcji zapisanych w blockchain. Górnicy biorący udział w procesie haszowania muszą znaleźć poprawną odpowiedź na problem matematyczny, aby zakwalifikować się do dodania nowego bloku do łańcucha.
Uczestniczący górnicy muszą odgadnąć ciąg pseudolosowych liczb, które w połączeniu z danymi w bloku, przepuszczone przez komputer z funkcją haszującą, dadzą rozwiązanie zgodne z warunkami określonymi przez algorytm.
Po znalezieniu odpowiedzi, system przesyła zwycięski skrót do sieci, aby inni górnicy mogli zweryfikować jego ważność. Jeśli inni górnicy zweryfikują skrót, blok zostaje dodany do łańcucha, a zwycięski górnik otrzymuje rekompensatę w postaci nagrody za blok.
d. Dystrybucja nagród
Osoba, która wydobędzie blok zaakceptowany jako ważny w sieci, otrzymuje nagrodę za blok, zazwyczaj w postaci nowej kryptowaluty. W przypadku kryptowalut, takich jak Bitcoin, blockchain systematycznie zmniejsza kwotę nagrody za blok po wygenerowaniu określonej liczby bloków, aby utrzymać limit całkowitej ilości środków i wywołać efekt deflacyjny.
Co to jest Proof of Stake (PoS)?
Metoda konsensusu Proof of Stake (PoS) stanowi ulepszenie PoW, które pojawiło się w 2012 roku. Zamiast polegać wyłącznie na rywalizujących ze sobą komputerach, aby znaleźć poprawny skrót, celem protokołu konsensusu PoS jest umożliwienie udziału poprzez posiadanie danej kryptowaluty. Głównym celem było ograniczenie wysokiego zużycia energii w PoW podczas ustalania kolejności blockchain.
Algorytm PoS wykorzystuje wcześniej zdefiniowany zestaw czynników, aby losowo wybrać węzeł spośród właścicieli monet, który zaproponuje kolejny blok do łańcucha. Rolą wybranego węzła jest weryfikacja transakcji w bloku, podpisanie go i zgłoszenie do łańcucha bloków w celu zatwierdzenia.
a. Porządkowanie bloków w Blockchain
Podobnie jak w przypadku mechanizmu PoW, metoda konsensusu PoS opiera się na łańcuchu bloków ułożonych chronologicznie. Pierwszy blok w łańcuchu opartym na PoS jest również na stałe zapisany w oprogramowaniu bloku genesis. Wszystkie kolejne bloki muszą odnosić się do poprzedniego i zawierają kopię zaktualizowanej księgi. Jednak w przeciwieństwie do PoW, węzły nie rywalizują o to, który z nich doda bloki. W rezultacie nowe bloki są zazwyczaj „wykuwane”, a nie wydobywane.
b. Zużycie energii
Łańcuchy bloków oparte na PoS są znane z energooszczędnego systemu wyboru uczestnika, który może zaproponować nowe bloki. Nie są one zależne od wysokiego zużycia energii i mocy obliczeniowej. Zwolennicy mechanizmu konsensusu PoS uważają go za rozwiązanie bardziej przyjazne środowisku, gdzie pojedynczy węzeł jest odpowiedzialny za generowanie nowych bloków, zamiast rywalizacji.
Ponieważ zarówno wydobycie PoW, jak i PoS wiążą się z zużyciem energii, górnicy PoW i PoS są zmotywowani do poszukiwania najtańszego źródła energii, najczęściej ze źródeł odnawialnych, takich jak energia wodna, wiatr lub słońce, a nie z emisyjnych źródeł jak węgiel.
O ile górnicy PoS potrzebują tylko aktywnego połączenia internetowego, które zużywa stosunkowo mało energii, to górnicy PoW muszą nabyć specjalistyczny sprzęt (GPU), sprzęt górniczy i inne kosztowne urządzenia, aby mieć szansę na wyprodukowanie bloku.
c. Udział
Aby móc uczestniczyć w metodzie konsensusu PoS i mieć szansę na wybór do dodawania bloków do łańcucha, użytkownik musi „zastawić” lub zablokować określoną liczbę tokenów blockchain w inteligentnym kontrakcie. Twoja szansa na wybranie do udziału zależy od ilości posiadanej kryptowaluty.
Użytkownicy, którzy działają w złej wierze lub naruszają ustalone zasady, mogą stracić zastawione środki jako karę. Algorytm PoS uwzględnia kilka innych czynników decydujących o wyborze, aby uniknąć faworyzowania tylko najbogatszych węzłów, takich jak czysta losowość lub liczba monet postawionych przez węzeł.
d. Dystrybucja nagród
Podobnie jak w mechanizmie PoW, użytkownicy, którzy zaproponują poprawny blok, otrzymują nagrodę za blok, zazwyczaj w formie kryptowaluty danego łańcucha. Niemniej jednak, ponieważ posiadanie monet determinuje wybór, niektóre giełdy kryptowalut oferują usługi stawiania w imieniu użytkowników w zamian za regularne wypłaty.
PoW kontra PoS: jaka przyszłość czeka algorytmy konsensusu?
Podsumowując, algorytmy konsensusu Proof of Work i Proof of Stake działają w inny sposób, aby osiągnąć ten sam cel. Jednakże, ponieważ Proof of Stake jest stosunkowo nową metodą, ocena, która z nich jest jednoznacznym zwycięzcą, byłaby przedwczesna.
PoW jest tradycyjnym mechanizmem konsensusu w większości oryginalnych łańcuchów bloków, takich jak Bitcoin i Ethereum. Jednakże Ethereum jest w trakcie wdrażania nowego protokołu PoS, aby zaprezentować potencjał nowej metody konsensusu.
Mechanizm konsensusu PoW przetrwał próbę czasu i sprawdził się jako skuteczny sposób na zabezpieczenie łańcucha bloków. Jego wadą jest jednak negatywny wpływ na skalowalność sieci, co niekorzystnie wpływa na czas przetwarzania transakcji. W obecnych czasach indywidualne wydobycie jest rzadkością, ponieważ zdominowały je duże, scentralizowane organizacje z potężną mocą obliczeniową, co sprawia, że koszty z nim związane są nie do utrzymania.
Z drugiej strony algorytm PoS jest bardziej energooszczędny, a sieci oparte na nim cechują się większą skalowalnością i wydajniejszym przetwarzaniem transakcji. Niemniej jednak, mechanizm ten zapewnia niższy poziom bezpieczeństwa kryptowalut postawionych przez uczestników.
Wniosek
PoS pojawił się jako odpowiedź na niedociągnięcia mechanizmu PoW i stanowi postęp w kwestii efektywności energetycznej. Oba algorytmy konsensusu blockchain prawdopodobnie będą funkcjonować w dającej się przewidzieć przyszłości, biorąc pod uwagę, że Bitcoin bazuje na PoW, a Ethereum przechodzi na PoS.
Możesz także być zainteresowany artykułem o węzłach blockchain.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.