Zaufanie i bezpieczeństwo mają zasadnicze znaczenie dla technologii łańcucha bloków — a bizantyjski mechanizm konsensusu dotyczący tolerancji błędów (BFT) jest podstawą bezpieczeństwa łańcucha bloków.
BFT zapewnia, że łańcuchy bloków będą nadal działać, nawet jeśli niektórzy uczestnicy sieci są niewiarygodni lub złośliwi. Czym więc jest BFT, jak działa i dlaczego ma tak kluczowe znaczenie dla technologii blockchain?
Co to jest bizantyjska tolerancja błędów?
Bizantyjska tolerancja błędów odnosi się do zdolności sieci lub systemu do dalszego funkcjonowania, nawet jeśli niektóre elementy są wadliwe lub uległy awarii.
Dzięki systemowi BFT sieci blockchain funkcjonują lub realizują zaplanowane działania, o ile większość uczestników sieci jest niezawodna i autentyczna. Oznacza to, że ponad połowa lub dwie trzecie węzłów w sieci blockchain musi wyrazić zgodę na walidację transakcji i dodanie jej do bloku.
Aby zainfekowane węzły powodowały złośliwości w bizantyjskim łańcuchu bloków odpornym na błędy, muszą stanowić większość. Ta złośliwość może przybrać formę podwójnego wydatkowania, np Atak 51%., A Atak Sybilli, i tak dalej.
Bizantyjska tolerancja błędów w technologii blockchain wywodzi się z bizantyjskiego ogólnego problemu, którego pionierami byli Leslie Lamport, Marshall Pease i Robert Shostak. Ta koncepcja stała się widoczna, gdy opublikowali artykuł wraz z kopią hostowane przez Microsoft, o nazwie „Problem bizantyjskich generałów (PDF)'w 1982r.
Lamport, Pease i Shostak opisali przypadek grupy generałów armii bizantyjskiej obozującej pod wrogim miastem. Każdy generał miał własną armię i musiał komunikować się i podejmować jednomyślną decyzję, czy atakować, czy się wycofać.
Problem polegał na przeprowadzeniu wspólnej akcji wśród skompromitowanych generałów. Dylemat ten nazwano błędem bizantyjskim, a kiedy system pomyślnie go rozwiązuje, mówi się, że jest odporny na błędy bizantyjskie.
Bizantyjska koncepcja tolerancji błędów została następnie zastosowana do sieci blockchain kryptowalut. W przestrzeni kryptograficznej generałowie to węzły, które weryfikują transakcje kryptograficzne.
Jak działa bizantyjska tolerancja błędów?
Zdecentralizowane sieci wdrażają bizantyjską tolerancję na awarie za pomocą reguł lub protokołów konsensusu. Wszystkie węzły w sieci muszą przestrzegać tych protokołów lub algorytmów, jeśli chcą uczestniczyć w sprawdzaniu poprawności i przetwarzaniu transakcji.
Aby transakcja została zweryfikowana, przetworzona i dodana do rosnącego bloku, większość węzłów musi zgodzić się, że transakcja jest autentyczna za pośrednictwem algorytmu konsensusu sieci. Bitcoin, Ethereum i inne łańcuchy bloków Proof of Work (PoW) i Proof of Stake (PoS) wykorzystują algorytmy BFT.
W algorytmie konsensusu PoW górnicy w sieci rozwiązują zagadki kryptograficzne, aby zweryfikować i wygenerować bloki rejestrujące transakcje. Górnik, który jako pierwszy rozwiąże łamigłówki, wygrywa prawo do dodania transakcji do rosnącego bloku i zdobycia nagrody za blok. Ale górnik musi opublikować dowód, że rozwiązał zagadkę, aby dodać blok.
Proces wydobycia w łańcuchach bloków PoW wymaga drogich komputerów lub platform wydobywczych. Ten wysoki koszt zniechęca górników do dzielenia się fałszywymi informacjami, ponieważ inni uczestnicy by je odrzucili. Zmniejsza również prawdopodobieństwo przejęcia kontroli nad większością węzłów w systemie przez złośliwe podmioty.
Tymczasem przy mechanizmie konsensusu PoS musisz postawić określoną liczbę tokenów kryptograficznych aby uzyskać prawo do walidacji transakcji. Następnie, jeśli protokół sieciowy wybierze Ciebie, możesz dodać transakcję do rosnącego bloku i zdobyć nagrodę za blok.
Systemy PoS rozwiązują problemy bizantyjskie różnymi metodami. Na przykład Ethereum używa algorytmu Casper, który wymaga, aby co najmniej dwie trzecie węzłów osiągnęło konsensus w sprawie bloków. Ostatecznie systemy PoS wymagają, aby większość węzłów uzgodniła bloki, zanim będą mogły zostać dodane.
Te łańcuchy bloków wykorzystują algorytmy konsensusu BFT, aby oprzeć się węzłom w mniejszości, które nie zgadzają się z konsensusem. W ten sposób sieć blockchain może kontynuować swoją funkcję, odrzucając błędne lub nieuczciwe transakcje.
Rola bizantyjskiej tolerancji błędów w technologii Blockchain
Technologia Blockchain opiera się na bizantyjskiej tolerancji błędów z następujących powodów:
- BFT utrzymuje ciągłą funkcjonalność sieci blockchain, nawet z niektórymi węzłami, które się nie zgadzają.
- Zapewnia bezpieczeństwo sieci, zapobiegając złośliwościom, które mogą przybrać formę ataku 51% (lub ataków Sybil) lub podwójnego wydatkowania.
Ograniczenia bizantyjskiej tolerancji błędów
Bizantyjska tolerancja błędów przyniosła ogromne korzyści branży blockchain. Jednak system nadal ma problemy, zwłaszcza z praktycznym bizantyjskim algorytmem konsensusu odpornym na błędy (pBFT).
Praktyczna bizantyjska tolerancja błędów jest zoptymalizowaną formą oryginalnej bizantyjskiej tolerancji błędów. pBFT działa poprzez system asynchroniczny składający się z głównego węzła lidera i innych węzłów zapasowych. W tym systemie złośliwych węzłów nie może być więcej niż uczciwych węzłów, zwykle nie więcej niż jedna trzecia. Węzły zawsze komunikują się ze sobą, aby większość węzłów (tych uczciwych) zgadzała się co do stanu sieci.
Niektóre ograniczenia pBFT obejmują:
- Wysoka komunikacja: aby zachować funkcjonalność, system wymaga zwiększonej komunikacji między węzłami. Proces ten jest czasochłonny i prowadzi do problemów ze skalowalnością.
- Problemy ze skalowalnością: pBFT ma problemy ze skalowalnością, szczególnie w przypadku bardzo rozległych sieci.
- Niskie bezpieczeństwo: pBFT jest podatne na ataki Sybil, w których jeden węzeł w sieci udaje 51% innych węzłów, aby zdominować sieć i spowodować złośliwość.
Sześć popularnych platform BFT opartych na Blockchain
Oto kilka łańcuchów bloków, które integrują bizantyjskie mechanizmy tolerancji błędów.
1. Bitcoiny
Bitcoin włącza do swojej sieci bizantyjską tolerancję błędów poprzez protokół konsensusu Proof of Work. Algorytm konsensusu PoW łańcucha bloków nakazuje wszystkim węzłom w łańcuchu bloków sprawdzanie struktury danych, rozmiaru bloku, znacznika czasu bloku, skrótu nagłówka bloku i pierwszej transakcji na każdych danych. Ten proces, zwany mieszaniem danych, wykorzystuje moc obliczeniową.
2. Ethereum
Wcześniej korzystałem z PoW, blockchain Ethereum przeszedł na system PoS który rozwiązuje jego problemy bizantyjskie. Walidatorzy sieci stawiają swoje tokeny Ether, a protokół wybiera uczciwych walidatorów do przetwarzania transakcji, weryfikowania bloków i głosowania na szefa łańcucha. Protokół zmusza graczy do uczciwości, przez co atakowanie sieci jest zbyt kosztowne.
3. EOS
Blockchain EOSIO osiąga konsensus za pośrednictwem asynchronicznej warstwy odpornej na awarie bizantyjskie (aBFT) i warstwy delegowanego dowodu stawki (DPoS). Warstwa aBFT potwierdza każdy blok transakcji, aż do ostatniego nieodwracalnego bloku (LIB). Następnie warstwa DPoS potwierdza LIB jako ostatni, nieodwracalny blok.
4. Marszczyć
Ripple nie korzysta z mechanizmów konsensusu PoW ani PoS. Zamiast tego wykorzystuje XRP Ledger Consensus Protocol, bizantyjski mechanizm konsensusu odporny na błędy. Blockchain nadal działa normalnie, jeśli niezaufani walidatorzy stanowią mniej niż 20% wszystkich walidatorów. Ten system zapobiega podwójnym wydatkom i poprawia integralność łańcucha bloków.
5. Kadena
Kadena używa mechanizmu konsensusu ScalableBFT do potwierdzania bloków. Blockchain łączy system PoW Bitcoina ze zmianą zdecentralizowanego konsensusu wielu równoległych łańcuchów blokowych mechanizmy, które są energooszczędne, skalowalne i bezpieczne oraz zapewniają znacznie lepszą wydajność niż Bitcoin system. Ta konfiguracja, zwana „Chainweb”, pozwala Kadena przeprowadzać do 480 000 transakcji na sekundę (TPS) z 20 łańcuchami działającymi jednocześnie.
6. Kworum
Mechanizmem konsensusu dla kryptosystemu kworum jest mechanizm konsensusu IBFT (Istambuł bizantyjskiej tolerancji błędów). QuorumChain deleguje prawa głosu do puli węzłów (walidatorów); jeden węzeł jest proponującym, aby zainicjować potwierdzenie bloku, podczas gdy inne węzły zatwierdzają blok. Jeśli więcej niż 1/3 węzłów w puli zachowuje się nieprawidłowo, blok nie zostanie wstawiony.
Przyszłość bizantyjskiej tolerancji błędów rysuje się w jasnych barwach
Tak długo, jak będą istnieć kryptowaluty i technologia blockchain, bizantyjska tolerancja błędów i inne mechanizmy konsensusu również będą istnieć. Mechanizmy te będą jednak prawdopodobnie nadal ewoluować.
Początkowo Ethereum integrowało BFT przy użyciu PoW, ale Ethereum przeszło z PoW na PoS i zaktualizowało swój algorytm BFT. Podobnie, z czasem będziesz nadal widzieć nowsze i lepsze systemy. Pamiętaj, że przestrzeń kryptograficzna stale się rozwija.