Wstęp

Algorytm konsensusu to mechanizm, który pozwala użytkownikom lub maszynom koordynować relacje w środowisku rozproszonym. Wymaga to zapewnienia, że ​​wszyscy agenci w systemie będą mogli ostatecznie zgodzić się na jedno źródło prawdy (nawet jeśli niektórzy agenci się z tym nie zgadzają). Innymi słowy, system musi mieć dobrą odporność na błędy (patrz także „Wyjaśnienie tolerancji błędów bizantyjskich”).

W środowisku scentralizowanym jeden podmiot ma kontrolę nad całym systemem. W większości przypadków podmioty te często są w stanie dowolnie zmieniać system, ponieważ nie udaje im się stworzyć dobrze zdefiniowanego systemu zarządzania, który pozwalałby wielu administratorom osiągnąć konsensus.​

Ale jeśli dzieje się to w środowisku zdecentralizowanym, to zupełnie inna historia. Zakładając, że korzystamy z rozproszonej bazy danych, w jaki sposób ustalamy, które wpisy dodać?

To środowisko jest pełne nieznajomych, którzy sobie nie ufają. Sposób pokonania tego wyzwania może być kluczem do rozwiązania problemów rozwojowych i utorowania drogi dla blockchain. W tym artykule przyjrzymy się znaczeniu algorytmów konsensusu dla obsługi kryptowalut i rozproszonych rejestrów.


Algorytmy konsensusu i kryptowaluty

W środowisku kryptowalut salda użytkowników są rejestrowane w bazie danych blockchain. Bardzo ważne jest, aby każdy użytkownik (dokładniej każdy węzeł) utrzymywał tę samą kopię bazy danych. Niezastosowanie się do tego ostatecznie doprowadzi do problemów związanych z konfliktem informacji, które podważają cały cel sieci kryptowalut.

Kryptografia klucza publicznego zapewnia, że ​​użytkownicy nie mogą wydawać tokenów innych użytkowników. Musi jednak istnieć jedno źródło prawdy, któremu uczestnicy sieci mogą zaufać i dowiedzieć się, czy środki zostały wydane.

Twórca Bitcoina, Satoshi Nakamoto, zaproponował system dowodu pracy jako sposób koordynowania uczestników. Więcej szczegółów na temat działania Proof of Work omówimy później. Teraz przyjrzyjmy się najpierw wspólnym cechom różnych istniejących algorytmów konsensusu.

Po pierwsze, potrzebujemy stakowania od użytkowników, którzy chcą dodawać bloki (znane również jako walidatory). Walidatorzy muszą zainwestować w kapitał o określonej wartości, aby zapobiec popełnieniu oszustwa. Gdy oszukają, stracą swoje prawa. Na przykład utrata mocy obliczeniowej i kryptowaluty, a nawet utrata reputacji.​

Dlaczego więc mieliby ryzykować własne zasoby? Ponieważ w tym procesie istnieje również mechanizm nagrody. Nagrody to zazwyczaj natywna kryptowaluta protokołu. Nagrodą mogą być także opłaty uiszczane przez innych użytkowników, nowo wygenerowane jednostki kryptowaluty lub jedno i drugie.

Wreszcie musimy także zapewnić przejrzystość. Musimy posiadać umiejętność wykrywania oszustw w odpowiednim czasie. Teoretycznie wytworzenie klocków kosztuje dużo, ale sprawdzenie ich autentyczności jest dość tanie. Dzięki temu mechanizmowi zwykli użytkownicy mogą łatwo ograniczyć walidatory.


Typ algorytmu konsensusu

Dowód pracy (PoW)

Proof of Work (PoW) jest uważany za ojca chrzestnego algorytmów konsensusu blockchain. Mechanizm ten został zastosowany po raz pierwszy w przestrzeni Bitcoina, ale sama koncepcja istnieje już od dawna. W ramach dowodu pracy walidatorzy (zwani górnikami) mieszają dane, które chcą dodać, dopóki nie zostanie opracowane konkretne rozwiązanie.

Hash to pozornie losowy ciąg liter i cyfr utworzony w wyniku przepuszczania danych przez funkcję skrótu. Wielokrotne uruchamianie tych samych danych zawsze da ten sam wynik. Jeśli jednak zmienisz nawet mały szczegół, wynikowa wartość skrótu będzie zupełnie inna.

Nie ma sposobu, aby wywnioskować, jakie informacje zostały wprowadzone do funkcji, tylko na podstawie danych wyjściowych. Dlatego ta metoda skutecznie udowadnia, że ​​znałeś określony fragment danych przed określonym momentem. Możesz wcześniej przekazać komuś skrót, a kiedy ujawnisz dane później, ta osoba będzie mogła po prostu uruchomić funkcję i sprawdzić, czy wynik jest taki sam.

W dowód pracy protokół określa warunki, które sprawiają, że blok jest ważny. Na przykład może stanowić, że tylko skróty zaczynające się od 00 są prawidłowymi blokami. Jedynym sposobem, w jaki górnik może utworzyć blok pasujący do tej kombinacji, jest użycie siły wejściowej. Dostosowują parametry danych i testują każde przypuszczenie z różnymi wynikami, dopóki nie uzyskają prawidłowej wartości skrótu.​

W przypadku głównych łańcuchów bloków poprzeczka jest zazwyczaj dość wysoka. Aby konkurować z innymi górnikami, należy przygotować dużą ilość specjalnego sprzętu haszującego (układy scalone specyficzne dla aplikacji), aby stworzyć warunki do produkcji prawidłowych bloków.

Podczas procesu wydobycia stawka, którą stawiasz, obejmuje koszt zakupu maszyny i energię elektryczną niezbędną do jej uruchomienia. Układy scalone specyficzne dla aplikacji (ASIC) są zbudowane specjalnie do wydobywania kryptowalut i są bezużyteczne w innych zastosowaniach. Jedynym sposobem na odzyskanie początkowej inwestycji jest wydobycie, a jeśli pomyślnie dodasz nowe bloki do łańcucha bloków, możesz zebrać znaczne nagrody.

Sieć może łatwo zweryfikować autentyczność tworzonych przez Ciebie bloków. Być może będziesz musiał wypróbować tryliony kombinacji, aby uzyskać właściwą wartość skrótu, ale sprawdzanie poprawności danych wymaga jedynie obliczenia jednej funkcji skrótu. Jeśli Twoje dane wygenerują prawidłowy skrót, sieć go zaakceptuje i zostaniesz za to nagrodzony. W przeciwnym razie sieć odrzuci wartość, a cały Twój czas i energia zostaną zmarnowane.


Dowód stawki (PoS)

Na początku istnienia Bitcoina Proof of Stake (PoS) był postrzegany jako alternatywa dla Proof of Work. W systemie dowodu stawki nie ma pojęcia górników, specjalistycznego sprzętu ani ogromnego zużycia energii. Wystarczy zwykły komputer.

Jednak nie zawsze tak jest. Potrzebny jest także kapitał. W mechanizmie proof-of-stake, choć nie trzeba zużywać żadnych zasobów zewnętrznych (takich jak prąd czy sprzęt), należy zapewnić zasoby wewnętrzne, czyli kryptowalutę. Zasady każdego protokołu są inne, ale ogólnie rzecz biorąc, istnieje minimalna kwota inwestycji, którą musisz spełnić, aby kwalifikować się do stawiania zakładów.

Gdy to zrobisz, środki w Twoim portfelu zostaną zablokowane (środków nie można przenosić podczas obstawiania). Ogólnie rzecz biorąc, musisz uzgodnić z innymi walidatorami, które transakcje przejdą do następnego bloku. W pewnym sensie jest to równoznaczne z obstawianiem, który blok zostanie wybrany, a protokół wybierze tylko jeden z bloków.

Jeśli Twój blok zostanie wybrany przez protokół, otrzymasz opłaty transakcyjne proporcjonalne do kwoty postawionej stawki. Im więcej środków zablokujesz, tym większe będą Twoje zyski. Jeśli spróbujesz oszukać i zaproponować nieważną transakcję, stracisz część (lub całość) swojej stawki. Dlatego stosujemy mechanizm przypominający dowód stawki, w którym uczciwość i wiarygodność mogą przynieść więcej korzyści niż oszustwo.

Ogólnie rzecz biorąc, nagrody walidatora nie będą wydawane w formie nowo wybitych tokenów. Dlatego natywna waluta blockchainu musi zostać wyemitowana w jakiś inny sposób. Może to nastąpić poprzez pierwszą ofertę (tj. ICO lub IEO) lub poprzez uruchomienie protokołu z Proof-of-Work, a następnie przejście do Proof-of-Stake.

Jak dotąd czysty dowód stawki został wdrożony tylko w mniejszych kryptowalutach. Dlatego nie jest jasne, czy może on służyć jako realna alternatywa dla dowodu pracy. O ile w teorii to działa, w praktyce wcale tak nie jest.​

Po wdrożeniu dowodu stawki w sieci o dużej wartości cały system staje się areną wypełnioną teorią gier i zachętami ekonomicznymi. Dopóki będzie zyski, wykwalifikowani hakerzy będą „hakować” system dowodu stawki. Dlatego jedynym sposobem sprawdzenia, czy jest to wykonalne, jest zastosowanie go w sieci online.

Wkrótce Proof of Stake zostanie przetestowany na dużą skalę, a sieć Ethereum wkrótce wdroży szereg aktualizacji (wspólnie zwanych Ethereum 2.0), w tym wdrożenie Caspera.


Inne algorytmy konsensusu

Dowód pracy i dowód stawki to obecnie najczęściej omawiane algorytmy konsensusu. Ale oprócz tego istnieje wiele innych algorytmów, a każdy z nich ma swoje zalety i wady. Aby uzyskać szczegółowe informacje, przeczytaj następujący artykuł:

  • „Szczegółowe wyjaśnienie dowodu opóźnionego obciążenia pracą”

  • „Szczegółowe wyjaśnienie porozumienia w sprawie dowodu odsetek od leasingu”

  • „Szczegółowe wyjaśnienie wiarygodnego dowodu”

  • „Szczegółowe wyjaśnienie świadectwa zniszczenia”

  • „Szczegółowe wyjaśnienie delegowanego dowodu kapitałowego”

  • „Szczegółowe wyjaśnienie hybrydowego dowodu pracy/konsensusu dotyczącego dowodu stawki”


Podsumować

Mechanizmy osiągania konsensusu mają kluczowe znaczenie dla funkcjonowania systemów rozproszonych. Wiele osób uważa, że ​​największą innowacją Bitcoina jest wykorzystanie dowodu pracy – mechanizmu, dzięki któremu użytkownicy często mogą uzgodnić zestaw wspólnych faktów.

Obecnie algorytmy konsensusu stały się podstawą systemów walut cyfrowych i łańcuchów bloków, umożliwiając programistom uruchamianie kodu w sieciach rozproszonych. Algorytmy konsensusu zajmują podstawową pozycję w technologii blockchain i odgrywają kluczową rolę w długoterminowej rentowności różnych istniejących sieci.

Wśród wszystkich algorytmów konsensusu dominuje dowód pracy. Nikt jeszcze nie zaproponował bardziej niezawodnego i bezpieczniejszego rozwiązania alternatywnego. Mimo to profesjonaliści wciąż opracowują szereg produktów, które zastąpią dowód pracy, i w nadchodzących latach możemy spodziewać się pojawienia się większej liczby alternatywnych rozwiązań.