Wstęp
Algorytm konsensusu to mechanizm umożliwiający użytkownikom lub maszynom koordynację w środowisku rozproszonym. Zapewnia, że wszyscy agenci w systemie zgadzają się co do jednego źródła prawdy, nawet jeśli niektórzy agenci zawiodą. Oznacza to, że system musi być odporny na awarie (patrz także: Bizantyjskie wyjaśnienie tolerancji na awarie).
W systemie scentralizowanym pojedynczy podmiot zasila i kontroluje sieć. W większości przypadków jednostka może wprowadzać zmiany według własnego uznania – nie istnieje skomplikowany system zarządzania umożliwiający wielu dyrektorom osiągnięcie konsensusu.
W systemie zdecentralizowanym to zupełnie inna historia. Załóżmy, że pracujemy z rozproszoną bazą danych – jak uzgodnić dane do dodania?
Udać się przezwyciężyć to wyzwanie w środowisku, gdzie uczestnicy sobie nie ufają, mogło być najważniejszym rozwojem, który otworzył drogę do blockchainów. W tym artykule zobaczymy, dlaczego algorytmy konsensusu są kluczowe dla funkcjonowania kryptowalut i rozproszonych rejestrów.
Algorytmy konsensusu i kryptowaluty
W kryptowalutach salda użytkowników są rejestrowane w bazie danych – blockchainie. Ważne jest, aby wszyscy (każdy węzeł, aby być precyzyjnym) przechowywali identyczną kopię bazy danych. W przeciwnym razie mogą pojawić się sprzeczne informacje, co zaszkodzi całej sieci.
Kryptografia z kluczem publicznym zapewnia, że użytkownicy nie mogą wydawać monet innych. Niemniej jednak musi istnieć jedno źródło prawdy, na podstawie którego uczestnicy sieci ustalają, czy środki zostały już wydane.
Satoshi Nakamoto, twórca Bitcoina, zaproponował system Proof of Work, aby skoordynować uczestników. Wkrótce zobaczymy, jak działa PoW – na razie zidentyfikujmy pewne wspólne cechy wielu istniejących algorytmów konsensusu.
Po pierwsze, prosimy użytkowników, którzy chcą dodać bloki (nazwiemy ich walidatorami), o dostarczenie stake. Stake to wartość, którą walidator musi postawić, aby zniechęcić go do działania w sposób złośliwy. Jeśli ci oszukują, stracą swój stake. Na przykład moc obliczeniowa, kryptowaluty lub ich reputacja.
Dlaczego mieliby narażać swoje własne zasoby? Po prostu dlatego, że jest stawka w grze. Zwykle jest to rodzimy token protokołu, który opiera się na opłatach płaconych przez użytkowników, na nowo stworzonych kryptowalutach lub na obu.
Ostatnią rzeczą, której potrzebujemy, jest przejrzystość. Musimy wiedzieć, kiedy ktoś oszukuje. Idealnie powinno być kosztowne dla nich produkowanie bloków, ale tanie dla każdego, aby je weryfikować. Gwarantuje to, że walidatorzy są również kontrolowani przez zwykłych użytkowników.
Typy algorytmów konsensusu
Proof of Work (PoW)
Proof of Work (PoW) jest ojcem algorytmów konsensusu blockchain. Został zaimplementowany po raz pierwszy z Bitcoinem, chociaż jego koncepcja istnieje od dawna. W Proof of Work walidatorzy (zwani górnikami) haszują dane, które chcą dodać, aż wyprodukują konkretną rozwiązanie.
Skrót to losowy ciąg liter i cyfr stworzony podczas wykonywania funkcji haszującej. Ale jeśli dane na wejściu są identyczne, wyniki na wyjściu również będą. Jednak najmniejsza zmiana wygeneruje zupełnie inny skrót.
Dane na wyjściu nie pozwalają określić, które z nich są na wejściu. Jest to zatem bardzo skuteczna funkcja, aby udowodnić, że znałeś dane od pewnego czasu. Możesz przekazać jej skrót komuś, a gdy ujawnisz dane, ta osoba będzie mogła je przetworzyć przez funkcję, aby upewnić się, że wynik jest identyczny.
W Proof of Work protokół definiuje warunki, które czynią blok ważnym. Na przykład może stwierdzić, że tylko blok, którego skrót zaczyna się od 00, jest ważny. Jedynym sposobem, aby górnik stworzył ważny blok, jest metoda brute-force. Aby uzyskać inny wynik, aż znajdzie właściwy, górnicy mogą zmieniać parametr w swoich danych.
Dla największych blockchainów poziom jest bardzo, bardzo wysoki. Aby konkurować z innymi górnikami, musisz mieć magazyn wypełniony ASIC, sprzętem specjalnie zaprojektowanym w celu zwiększenia twoich szans na wyprodukowanie ważnego bloku.
Twój stake w mining odpowiada kosztom tych maszyn i energii elektrycznej potrzebnej do ich uruchomienia. ASIC są zaprojektowane wyłącznie w celu minowania, więc nie mają zastosowań poza minowaniem kryptowalut. Jedynym sposobem na odzyskanie początkowej inwestycji jest minowanie i zdobywanie nagród za dodanie nowego bloku do blockchaina.
Bardzo łatwo jest sieci zweryfikować, że stworzyłeś właściwy blok. Jedno wykonanie funkcji pozwala zweryfikować wynik twoich licznych prób. Jeśli twoje dane produkują ważny skrót, zostanie on zaakceptowany, a ty otrzymasz nagrodę. W przeciwnym razie sieć unieważni go, a ty stracisz czas i energię na darmo.
Proof of Stake (PoS)
Proof of Stake (PoS) został zaproponowany na początku Bitcoina jako alternatywa dla Proof of Work. W PoS nie ma pojęć górników, specjalistycznego sprzętu ani masowej konsumpcji energii. Wystarczy, że masz komputer.
I coś jeszcze... Musisz wrzucić monetę do maszyny. W PoS, zamiast używać zasobów zewnętrznych (maszyn i energii elektrycznej), użyjesz zasobów wewnętrznych (kryptowaluty). Zasady różnią się w zależności od protokołów, ale generalnie musisz posiadać minimalną kwotę, aby wziąć udział w stakingu.
Następnie musisz zablokować swoje środki w portfelu (nie mogą być przenoszone podczas stakingu). Zwykle zgadzasz się z innymi walidatorami na transakcje, które przejdą w następnym bloku. W pewnym sensie stawiasz na blok, który zostanie wybrany, a protokół decyduje o reszcie.
Jeśli twój blok zostanie wybrany, otrzymasz część opłat transakcyjnych, proporcjonalnie do twojego stake. Im więcej środków zablokujesz, tym większe masz szanse na wygraną. Ale jeśli spróbujesz oszukać, proponując nieważne transakcje, stracisz część (lub całość) swojego stake. Dlatego mamy mechanizm podobny do PoW – działanie uczciwe jest bardziej opłacalne niż działanie nieuczciwe.
Ogólnie, nowo stworzone monety nie są częścią nagród walidatorów. Rodzima waluta blockchaina musi być więc emitowana w inny sposób. Może to być zrealizowane poprzez początkową dystrybucję (np. ICO lub IEO) lub poprzez użycie PoW na początku protokołu przed jego przejściem na PoS.
Jak dotąd czysty Proof of Stake jest stosowany tylko przez małe kryptowaluty. Dlatego nie jest pewne, czy może służyć jako opłacalna alternatywa dla PoW. Choć wydaje się to teoretycznie uzasadnione, w praktyce może być zupełnie inaczej.
Gdy PoS zostanie wdrożony w sieci z dużą ilością informacji, system staje się idealnym polem do finansowych zachęt i teorii gier. Każdy, kto ma niezbędną wiedzę, aby „złamać” system PoS, zrobi to tylko, jeśli będzie to możliwe do wykorzystania – dlatego jedynym sposobem, aby się przekonać, czy jest to możliwe, jest bezpośrednia próba w sieci.
Wkrótce zobaczymy testy na dużą skalę PoS – Casper będzie wdrożony w ramach serii aktualizacji sieci Ethereum (znanej również jako Ethereum 2.0).
Typy algorytmów konsensusu
Proof of Work i Proof of Stake to najczęściej stosowane algorytmy konsensusu. Ale oczywiście istnieje wiele innych, z własnymi zaletami i wadami. Sprawdź następujące artykuły:
Opóźnione Proof of Work wyjaśnione
Konsensus Leased Proof of Stake wyjaśniony
Proof of Authority wyjaśnione
Proof of Burn wyjaśnione
Delegated Proof of Stake wyjaśnione
Konsensus Hybrid PoW/PoS wyjaśniony
Na zakończenie
Mechanizmy uzyskiwania konsensusu są kluczowe dla funkcjonowania systemów rozproszonych. Wiele osób uważa, że największą innowacją Bitcoina jest wykorzystanie Proof of Work do umożliwienia użytkownikom uzgodnienia wspólnego zbioru faktów.
Algorytmy konsensusu stanowią obecnie nie tylko podstawę systemów walut cyfrowych, ale także blockchainów, które umożliwiają programistom wykonywanie kodu w rozproszonej sieci. Stanowią one kamień węgielny technologii blockchain i są kluczowe dla długoterminowej wykonalności różnych istniejących sieci.
Spośród wszystkich algorytmów konsensusu, Proof of Work wciąż pozostaje najczęściej używany. W rzeczywistości nie zaproponowano jeszcze bardziej niezawodnej i bezpiecznej alternatywy. Niemniej jednak, prowadzone są ogromne badania i rozwój, aby zastąpić PoW i jest bardzo prawdopodobne, że w nadchodzących latach zobaczymy pojawienie się nowych konsensów.



