Przed zanurzeniem się w szczegóły oraz specyfikę ataku 51%, ważnym jest aby najpierw dobrze zrozumieć mechanizm kopania kryptowalut oraz samą technologię blockchain.
Jedną z kluczowych zalet Bitcoina i technologii blockchain jest ich rozproszony charakter - odnoszący się do weryfikacji i tworzenia danych. Zdecentralizowana praca wielu węzłów uczestniczących w sieci gwarantuje, to że zasady ustalony w protokole będą przestrzegane oraz, że wszyscy uczestnicy sieci są zgodni co do obecnego stanu sieci blockchain (czyt. zawartych w niej transakcji). Oznacza to, że większość węzłów obecnych w sieci musi regularnie osiągać konsensus w odniesieniu do procesu wydobycia, obowiązującej wersji oprogramowania, ważności i prawidłowości transakcji i tak dalej.
Algorytm konsensusu Bitcoina (Proof of Work) skonstruowany jest w taki sposób, aby umożliwiać górnikom (ang. miners) przeprowadzenie poprawnej weryfikacji nowego bloku (składającego się z wielu transakcji) jedynie w sytuacji, gdy większość węzłów zgodnie stwierdzi, że dostarczony przez górnika hash bloku jest prawidłowy. Górnik, ogłaszając, że znalazł rozwiązanie (czyt. hash) danego bloku jednocześnie daje wszystkim innym uczestnikom sieci znać, że wykonał on należytą ilość pracy i znalazł odpowiednie rozwiązanie zagadki matematycznej zawartej w danym bloku - czyli wykonał wiarygodną pracę.
Infrastruktura sieci blockchain - jako zdecentralizowanego rejestru i rozproszonego systemu - uniemożliwia przejęcie sieci przez dowolny podmiot i tym samym przystosowanie jej do własnych celów. Zdecentralizowany charakter łańcucha bloków jest jednym z powodów dla którego Bitcoin nie posiada centralnego organu, który by nim zarządzał i sterował.
Biorąc pod uwagę fakt, że proces kopania (w systemach korzystających z algorytmu PoW) wiąże się z inwestowaniem ogromnych ilości energii elektrycznej i mocy obliczeniowej, to wydajność każdego z górników tak naprawdę opiera się o ilość mocy obliczeniowej, którą posiadają i są w stanie użyć. Moc obliczeniowa w sieci blockchain nazywana jest jako hash power lub hash rate.
Górnicy, którzy rozsiani są po całym globie i w różnych lokalizacjach, stale konkurują ze sobą o to, kto pierwszy z nich odnajdzie kolejne rozwiązanie zagadki matematycznej zawartej w bloku, a co za tym idzie otrzyma nagrodę w formie nowo wygenerowanych przez sieć Bitcoinów.
Krótko rzecz ujmując oznacza to, że moc obliczeniowa sieci blockchain składa się z mocy generowanej i udostępnianej przez różne węzły. Taki stan rzeczy oznacza również, że hash rate sieci nie znajduje się w rękach pojedynczego podmiotu. Jest to jednen z determinantów definiujących stopień decentralizacji sieci.
Co jednak dzieje się, gdy moc obliczeniowa sieci nie jest wystarczająco rozproszona? Co się stanie, jeśli na przykład jeden podmiot lub organizacja będzie w stanie uzyskać więcej niż 50% mocy obliczeniowej całej sieci?
Jednym z możliwych następstw takiej sytuacji jest coś, co nazywamy atakiem 51%, znanym również jako atak większościowy.
Na czym polega atak 51%?
Atak 51% jest potencjalnym wektorem ataku na sieć Bitcoin (lub inną sieć blockchain), w którym pojedynczy podmiot lub organizacja jest na tyle potężna aby móc kontrolować większość mocy obliczeniowej obecnej w całej sieci, co może doprowadzić do częściowego zakłócenia działalności sieci lub nawet wykorzystaniu jej do własnych celów.
W przypadku przeprowadzenia udanego ataku 51%, atakujący mógłby podjąć się próby odwrócenia transakcji, co prowadzi do tzw. problemu podwójnego wydania (ang. double spending problem). Co więcej, atakujący zyskałby możliwość zaniechania potwierdzania niektórych lub wszystkich transakcji (atak typu DDoS) lub zapobiegać kopaniu kryptowalut wybranym lub wszystkim górnikom doprowadzając do tzw. monopolu górniczego (ang. mining monopoly)
Z drugiej strony, udany atak 51% nie pozwala atakującemu na odwrócenie transakcji innych osób ani nie umożliwia zablokowania transmisji transmisji do sieci. Zmiana wysokości nagrody przyznawanej za wykopanie bloku, tworzenie kryptowalut z powietrza lub kradzież środków, które nigdy nie należały do atakującego, pomimo tego, że są w pewnym sensie możliwe, jednocześnie są bardzo nieprawdopodobnymi scenariuszami.
Jak prawdopodobne jest dokonanie ataku 51% przez kogokolwiek?
Biorąc pod uwagę fakt, że sieć blockchain jest utrzymywana przez rozproszoną sieć węzłów, wszyscy uczestnicy sieci współpracują ze sobą w celu osiągnięcia konsensusu.
Jest to jeden z głównych powodów, dla których sieci blockchain są tak bezpieczne. Czym większa jest sieć blockchain, tym silniej chroniona jest ona przed atakami i możliwą utratą swojej płynności.
Dzieje się tak, ponieważ proces kopania wiąże się z koniecznością wykonania mnóstwa obliczeń matematycznych, a większa moc obliczeniowa oznacza zdolność do podejmowania większej ilości prób na sekundę (czyt. obliczeń). W początkowej fazie rozwoju Bitcona, sieć zabezpieczało jedynie kilka węzłów. Wraz z rosnącą ceną Bitcoina jako waluty, ilość górników dołączających do sieci - a tym samym zabezpieczających ją - ulegała zwiększeniu. Obecnie każdy z górników wynagradzany jest kwotą 12,5 BTC za wykopanie bloku. Wysokość nagrody ulega cyklicznemu zmniejszeniu o połowę po wykopaniu 210 000 bloków.
Sieć Bitcoin jest bezpieczna m.in dzięki istnieniu oparciu jej o scenariusz w którym to węzły uczestniczące w sieci, jednocześnie ją zabezpieczają i walczą ze sobą o nagrody. Górnicy nie mają żadnego powodu do zainwestowania w duże zasoby mocy obliczeniowej poza dążeniem do uzyskania nagrody za wykopanie bloku.
Dlatego też przeprowadzenie skutecznegk ataku typu 51% na sieć Bitcoin jest raczej mało prawdopodobnym scenariuszem. W momencie gdy łańcuch bloków osiąga odpowiednią wielkość, perspektywa uzyskania przez pojedynczą osobę lub grupę osób wystarczającej mocy obliczeniowej, aby przejąć nad nią kontrolę rośnie do nieosiągalnych (w teorii) dla nikogo poziomów.
Co więcej, wraz z rozrastaniem się sieci, dokonanie modyfikacji w poprzednio potwierdzonych blokach staje się jeszcze trudniejsze, ponieważ bloki połączone są ze sobą przez tzw. dowody kryptograficzne. Z tego samego powodu im więcej potwierdzeń uzyskuje dany blok z sieci, tym wyższe są koszty dokonania w nim zmiany lub wycofania transakcji w nich zawartych z sieci. Biorąc powyższe pod uwagę, przeprowadzenie udanego ataku możliwe jest jedynie na kilku transakcjach w maksymalnie kilku najnowszych blokach i jedynie na krótki okres czasu.
Idąc jednak dalej, wyobraźmy sobie scenariusz, w którym atakujący nie jest motywowany zyskiem i decyduje się zaatakować sieć Bitcoin tylko po to, by ją zniszczyć, bez względu na koszty takiego przedsięwzięcia. Nawet jeśli atakujący zdoła przerwać działanie sieci, oprogramowanie Bitcoina oraz sam protokół zostaną wystarczająco szybko zmodyfikowane i dostosowane, aby odpowiedzieć na ten atak. Udany atak wymagałby od węzłów uczestniczących w sieci osiągnęcia porozumienia i zgody na te zmiany, ale wydarzenia z przeszłości wskazują, że w sytuacji zagrożenia nastąpi to bardzo szybko. Bitcoin jest bardzo odporny na ataki i jest uważany za najbardziej bezpieczną i niezawodną kryptowalutę.
Chociaż atakującemu może być trudno uzyskać więcej mocy obliczeniowej od reszty węzłów w przypadku Bitcoina, nie jest to już tak trudne do osiągnięcia w przypadku mniejszych kryptowalut. W porównaniu z Bitcoinem, altcoiny mają stosunkowo niewielką moc obliczeniową, która zabezpiecza je przed tego typu atakami. Moc wystarczająco małą, aby umożliwić przeprowadzenie skutecznych ataków typu 51%. Przykładami kryptowalut, które musiały zmierzyć się z atakiem 51%, są m.in Monacoin, Bitcoin Gold i ZenCash.