Przejdź do treści
Słownikbezpieczenstwoproof-of-workproof-of-stakeryzyko

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

  • Wysyłasz płatność do giełdy albo sprzedawcy, a odbiorca uznaje ją po jednym potwierdzeniu.
  • Atakujący równolegle buduje alternatywny łańcuch, w którym tej płatności nie ma.
  • Jeśli alternatywny łańcuch zostanie uznany przez sieć, wcześniejsza płatność może zniknąć z aktualnej historii.
  • 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

  • Atak 51% nie pozwala atakującemu stworzyć dowolnej liczby nowych Bitcoinów albo ETH.
  • Atak 51% nie pozwala ukraść środków z dowolnego portfela bez klucza prywatnego.
  • Jedno potwierdzenie nie daje takiego samego poziomu bezpieczeństwa jak wiele potwierdzeń.
  • Proof of stake nie usuwa całkowicie ryzyka ataku większościowego. Zmienia jego ekonomię i konsekwencje.
  • Duża kapitalizacja tokena nie zawsze oznacza taką samą odporność sieci na atak konsensusu.

Największe ryzyko dotyczy świeżych transakcji

Atak 51% najbardziej zagraża niedawnym transakcjom, szczególnie wtedy, gdy odbiorca uzna płatność za zakończoną zbyt szybko. Przy wysokich kwotach nie traktuj pierwszego bloku jako pełnej finalności.

Najczęstsze pytania

Nie wprost. Atakujący nie dostaje twojego klucza prywatnego i nie może po prostu podpisać transakcji z twojego portfela. Może natomiast próbować cofnąć lub zmienić najnowszą historię transakcji w sieci.

Nie. Atak większościowy nie daje prawa do łamania reguł emisji zapisanych w protokole. Węzły nadal odrzucałyby bloki, które tworzą monety niezgodnie z zasadami sieci.

Teoretycznie tak, bo Bitcoin używa proof of work. Praktycznie taki atak wymagałby ogromnej mocy obliczeniowej, infrastruktury i kosztów, dlatego jest znacznie trudniejszy niż w małych sieciach proof of work.

Nie w absolutnym sensie. Model ataku jest inny, bo zamiast większości mocy obliczeniowej liczy się kontrola nad dużą częścią stake’u. Ethereum ma mechanizmy finality i kar dla walidatorów, które zwiększają koszt takiego ataku.

To zależy od sieci, kwoty i ryzyka, które akceptujesz. Przy małych transferach użytkownicy często akceptują mniej potwierdzeń. Przy dużych kwotach rozsądniej poczekać dłużej albo kierować się standardami danej giełdy, portfela lub aplikacji.