Atak 51%
Przejęcie większości mocy konsensusu w sieci blockchain, które pozwala atakującemu przegłosować uczciwych uczestników i wpływać na najnowszą historię transakcji.
Na czym polega atak 51%
Atak 51% oznacza, że jeden podmiot albo skoordynowana grupa kontroluje wystarczająco dużą część mechanizmu konsensusu, żeby narzucić sieci własną wersję ostatnich zdarzeń.
W sieciach proof of work chodzi zwykle o większość mocy obliczeniowej, czyli hash power. W sieciach proof of stake chodzi o większość zastakowanych tokenów albo wpływ pozwalający złamać założenia bezpieczeństwa sieci.
Taki atak nie daje pełnej kontroli nad wszystkimi środkami w sieci. Najczęściej dotyczy reorganizacji ostatnich bloków, cenzurowania części transakcji albo próby podwójnego wydania tych samych środków.
Co może zrobić atakujący
Kontrola większości konsensusu jest groźna, ale nie oznacza magicznego dostępu do całej sieci.
- Może budować alternatywną wersję łańcucha i próbować sprawić, żeby sieć uznała ją za prawidłową.
- Może próbować cofnąć własną niedawną płatność i wykonać double spend.
- Może opóźniać albo wykluczać wybrane transakcje z bloków.
- Nie może podpisać transakcji z cudzego portfela bez klucza prywatnego.
- Nie może stworzyć dowolnej liczby nowych monet, jeśli reszta reguł protokołu nadal obowiązuje.
Jak wygląda większość w różnych typach sieci
- Proof of work
- Atakujący potrzebuje dominującej części mocy obliczeniowej, czyli hash power.
- Proof of stake
- Atakujący potrzebuje dominującej części stake’u albo wpływu wystarczającego do naruszenia bezpieczeństwa konsensusu.
- Małe sieci
- Ryzyko jest wyższe, bo przejęcie większości mocy lub stake’u może być tańsze.
- Duże sieci
- Atak jest trudniejszy i droższy, ale nie jest matematycznie niemożliwy.
Dlaczego potwierdzenia i finality mają znaczenie
Transakcja nie jest tak samo bezpieczna w chwili pojawienia się w bloku jak po kilku kolejnych potwierdzeniach. Im głębiej transakcja znajduje się w historii łańcucha, tym trudniej ją cofnąć.
W Bitcoinie bezpieczeństwo płatności rośnie wraz z kolejnymi blokami dodanymi po transakcji. Dlatego przy większych kwotach odbiorcy zwykle czekają na więcej potwierdzeń.
W Ethereum proof of stake dodatkową rolę pełni finality. Po finalizacji cofnięcie historii wymagałoby znacznie poważniejszego naruszenia konsensusu i wiązałoby się z dużymi kosztami dla atakujących walidatorów.
Przykład w praktyce
- Dobry przykład: Wysyłasz płatność do giełdy albo sprzedawcy, a odbiorca uznaje ją po jednym potwierdzeniu.
- Dobry przykład: Atakujący równolegle buduje alternatywny łańcuch, w którym tej płatności nie ma.
- Dobry przykład: Jeśli alternatywny łańcuch zostanie uznany przez sieć, wcześniejsza płatność może zniknąć z aktualnej historii.
- Dobry przykład: Odbiorca zostaje z wydanym towarem lub zaksięgowaną usługą, a środki wracają do atakującego w nowej wersji historii.
Najczęstsze błędne założenia
- Problem: Atak 51% nie pozwala atakującemu stworzyć dowolnej liczby nowych Bitcoinów albo ETH.
- Problem: Atak 51% nie pozwala ukraść środków z dowolnego portfela bez klucza prywatnego.
- Problem: Jedno potwierdzenie nie daje takiego samego poziomu bezpieczeństwa jak wiele potwierdzeń.
- Problem: Proof of stake nie usuwa całkowicie ryzyka ataku większościowego. Zmienia jego ekonomię i konsekwencje.
- Problem: Duża kapitalizacja tokena nie zawsze oznacza taką samą odporność sieci na atak konsensusu.
Największe ryzyko dotyczy świeżych transakcji
Najczęstsze pytania
- Ostatnia aktualizacja
