. . .

Czym jest Bizantyjska tolerancja błędów? Wyjaśnienie BFT

Rav_Crypto   2021-05-24 03:30

Bizantyjską tolerancję błędów można ogólnie zdefiniować jako zdolność zdecentralizowanego systemu komputerów (węzłów) do poprawnego działania nawet gdy część z nich działa niepoprawnie.

Blockchain

BFT jest istotną częścią projektowania protokołów blockchain. Ma zagwarantować bezpieczeństwo łańcucha bloków. Został zainspirowany koncepcją problemu bizantyjskich generałów stworzoną przez Leslie Lamport, Marshalla Pease i Roberta Shostaka w 1982 roku. 

Problem bizantyjskich generałów

Problem jest ilustracją tego, jak generałowie mogą nie dojść do porozumienia w sprawie następnego kroku z powodu problemów z komunikacją. Stwierdza, że różni generałowie (i ich armie) mogą znajdować się na różnych pozycjach dookoła miasta, które mają zaatakować. Ci generałowie muszą uzgodnić, czy zaatakować, czy wycofać się, przy czym ich decyzja musi zostać wyegzekwowana w tym samym momencie. Innymi słowy, muszą osiągnąć konsensus.

Jednak problemy pojawiają się, gdy generał nie jest w stanie się porozumieć, wiadomość jest zagubiona, opóźniona lub generał, z jakiegoś powodu wysyła nieprawdziwe informacje. Wszystko to może doprowadzić do niepowodzenia operacji. Generałowie w założeniu porozumiewają się poprzez posłańców. Istnieje jednak możliwość, że tak jak generałowie, posłańcy również mogą działać w złej wierze i przekazać złe informacje.

W przypadku łańcuchów bloków generałowie reprezentują węzły. Węzły te muszą osiągnąć konsensus, czyli wspólną decyzję. Jeśli większość węzłów będzie działać złośliwie, system będzie podatny na ataki. W tym miejscu pojawia się BFT.

Blockchain i BFT

Blockchain rozwiązuje problem bizantyjski za pomocą algorytmów konsensusu. Algorytm konsensusu to metoda, za pomocą której dana sieć blockchain podejmuje decyzje. Konsensus jest możliwy wtedy, gdy dwie trzecie węzłów w sieci jest szczera i działa zgodnie z zasadami.

W przypadku braku jakiegokolwiek mechanizmu BFT węzeł byłby w stanie przesyłać niepoprawne transakcje i nie byłoby nikogo zdolnego do naprawy wyrządzonych szkód, ponieważ żadna wyższa instancja, czy centralna kontrola w kryptowalutach nie występuje, stąd też nazwa “zdecentralizowane”.

Kryptowaluty, takie jak Bitcoin, korzystają z systemu rozproszonych węzłów. Węzły są niezależne i sprawdzają transakcje bez jakiegokolwiek nadzoru. Przy takim poziomie niezależności niektóre węzły mogłyby dostarczać błędne informacje celowo lub przypadkowo.

Zobacz jak Satoshi Nakamoto w mailu wyjaśnia w jaki sposób PoW rozwiązuje ten problem.

Algorytm Proof of Work definiuje, w jaki sposób należy przestrzegać zasad systemu, aby osiągnąć konsensus. Sam PoW może nie być w 100% odporny na bizantyjskie błędy, ale kosztowny proces wydobywania, techniki kryptograficzne i wielkość sieci sprawiają, że ​​blockchain Bitcoina jest bezpieczniejszy niż inne. 

Najpopularniejsze algorytmy konsensusu to Proof of Work, Proof of Stake, Delegated Proof of Stake i Tendermint jednak cały czas powstają kolejne i każdy stara się rozwiązać ten problem.

Popularne