Atak 51% jest zagrożeniem specyficznym dla świata kryptowalut i ściśle wynikającym z ich konstrukcji oraz specyfiki działania. W tym tekście przeczytasz na czym polega atak 51%, a także na ile poważny problem stanowi on dla kryptowalut.
Tradycyjne waluty, a kryptowaluty
Tradycyjnie znane nam waluty papierowe (tzw. fiat money) opierają swoją wartość o dekrety rządowe oraz zaufanie do emitenta: banku centralnego konkretnego państwa. Z kolei pieniądz kruszcowy (złoto, srebro) jest wartościowy ze względu na jego pożądane cechy monetarne:
- relatywną rzadkość – dzięki czemu nie jest powszechny
- łatwą podzielność – co ułatwia transakcje
- wyjątkową trwałość – dzięki czemu można długotrwale przechowywać w nim oszczędności
- dużą „gęstość” wartości – co przekłada się na jej wygodny transport: milion dolarów w złocie spakujemy do walizki – w przypadku tej samej wartości w np. żelazie, węglu, czy ropie jest to niemożliwe.
Podaż złota, srebra i innych metali szlachetnych jest bardzo stabilna, co przekłada się na relatywną niezmienność ich wartości w czasie. Renomowane banki centralne również dbają o stabilność swojej waluty i unikają nadmiernej inflacji, która szkodzi gospodarce krajowej i zniechęca do trzymania i używania waluty.
Powyższe cztery cechy były niezbędne, aby kryptowaluty mogły zdobyć zainteresowanie jako potencjalny pieniądz, bądź nośnik wartości. Technologia kryptowalut uzyskała je w zupełnie nowatorski sposób: zamiast opierać się na rzadkości wynikającej z praw natury jak ma to miejsce w wypadku kruszców czy dekretach rządowych, wykorzystano program komputerowy oraz rozproszoną sieć korzystającą z protokołu kryptowaluty.
Całość technologii kryptowalut opiera się o koncepcje z dziedziny kryptologii – dziedziny wiedzy zajmującej się zabezpieczaniem informacji, szyfrowaniem i kodowaniem danych. Cała sieć Bitcoin zasadniczo zajmuje się właśnie przechowywaniem informacji na temat sald kont użytkowników bitcoin oraz potwierdzaniu zmian w tych saldach (transferów środków między kontami). Wiedza o saldach użytkowników (rejestr sald) jest rozproszona pomiędzy wiele nośników, co ma utrudnić jej sfałszowanie. Tą wiedzę określamy terminem public ledger lub bardziej ogólnym terminem blockchain.
Na czym polega atak 51%
Problem pojawia się w momencie, gdy w rejestrach posiadanych przez użytkowników sieci pojawiają się różnice odnośnie informacji dotyczących sald. Wówczas oprogramowanie kryptowaluty „wierzy” tej stronie, która posiada większość mocy obliczeniowej wykorzystywanej do bieżącego potwierdzania transakcji. W tej sytuacji większość może wielokrotnie wydawać te same środki lub zafałszować wartość sald.
Powtórzmy to jeszcze raz: wykonanie ataku 51% wymaga uzyskania większości mocy obliczeniowej danej kryptowaluty.
Zdobycie 51% mocy obliczeniowej może odbyć się na kilka sposobów:
- wynajęcie mocy obliczeniowej
- stworzenie własnego zasobu mocy obliczeniowej
- zgrupowanie istniejących zasobów mocy obliczeniowej (pooling)
Przyjrzyjmy się kolejno tym trzem możliwościom.
Wynajęcie mocy obliczeniowej
Istnieją rynki, gdzie możemy wynająć moc obliczeniową do kopania konkretnych kryptowalut.
O ile dostępne jest wynajęcie mocy obliczeniowej w dostatecznej ilości (jest ona oferowana na rynku – procent dostępnej mocy obliczeniowej widoczny jest w kolumnie NiceHash-able), wykonalny jest atak 51%. Wówczas jest on tylko kwestią poświęcenia pewnych środków finansowych (ich wartość oszacowana jest na obrazku powyżej w kolumnie Attack cost).
Im popularniejsza kryptowaluta tym większa pula mocy obliczeniowej potrzebna do wykonania ataku, co oznacza, że na atak 51% znacznie bardziej narażone są kryptowaluty o mniejszej popularności (mniejszej mocy obliczeniowej sieci – tzw. hashrate).
Stworzenie własnego zasobu mocy obliczeniowej
Znacznie trudniejszą alternatywą dla powyższego typu ataku jest zgromadzenie nie wynajmowanej, a własnej mocy obliczeniowej. Istnieją na to dwa sposoby:
- kupno nowego sprzętu do kopania kryptowaluty oraz uruchomienie ich
- przejęcie istniejących firm zajmujących się kopaniem kryptowalut
Obydwie te opcje są szalenie kosztowne, gdyż wymagają ogromnych nakładów finansowych na kupno sprzętu lub firm. Ponadto warto zauważyć, że stanowi on niebywałe wyzwanie logistyczne, gdyż uruchomienie tego sprzętu wymagałoby kilku lub kilkunastu elektrowni do zasilenia w energię elektryczną.
Zgrupowanie istniejących zasobów mocy obliczeniowej (pooling)
Od dłuższego czasu górnicy (dostawcy mocy obliczeniowej) grupują się w celu ustabilizowania swoich dochodów. Jednak istnieje też ryzyko, że grupa może stać się na tyle liczna, aby dysponować 51% mocy obliczeniowej.
Poniżej wykres ze strony btc.com ilustrujący jaki udział w mocy obliczeniowej mają obecnie (na kwiecień 2021) największe poole.
Przez krótki okres taka sytuacja miała miejsce w sieci Bitcoin: w 2014 pool GHash.io na krótki czas przekroczył 51%, jednak nie wykorzystał swojej pozycji w celu przeprowadzenia ataku.
Warto jednak zaznaczyć, że na ogół nie jest to w interesie pooli, aby dokonywać ataku 51%, gdyż podważa to zaufanie do kryptowaluty. Górnikom zazwyczaj zależy na długoterminowym wzroście wartości kryptowaluty i w związku z tym takie ataki rzadko mają miejsce.
Obrona przed atakami 51%
Wymienia się dwa sposoby obrony – pierwszy polega na wczesnym zapobieganiu powstawania powyższych sytuacji, co uniemożliwia zrealizowanie się scenariusza ataku.
Druga skupia się na przeciwdziałaniu relatywnie najłatwiejszemu sposobowi ataku – wynajęciu mocy obliczeniowej na jakiś czas. Sprowadza się ona do akceptowania tylko odpowiednio „starych” zapisów sald, np. wielogodzinnych, co oznacza że atakujący musiałby przejąć kontrolę na siecią na znacznie dłuższy czas – a to znacznie utrudnia jego zadanie.
Głośne ataki 51%
Atak 51% nie miał jeszcze nigdy miejsca w przypadku kryptowaluty Bitcoin, a przynajmniej nie ma na to dowodów. Warto wiedzieć, że jeśli atak nie zostanie wykryty natychmiast, szanse na jego późniejsze wykrycie są niewielkie.
Udał się on jednak w przypadku kilku innych kryptowalut, a to lista przykładów:
- Litecoin Cash (LTC) z lipca 2019
- Expanse (EXP) z lipca 2019
- Vertcoin (VRT) z grudnia 2019
- Bitcoin Gold (BTG) ze stycznia 2020
Czy każdej kryptowalucie grozi atak 51%?
Krótka odpowiedź brzmi: nie.
Generalnie na atak 51% narażone są kryptowaluty oparte o algorytm Proof-of-Work, czyli Bitcoin oraz pokrewne.
Przykładem kryptowaluty nie narażonej na taki atak jest Basic Attention Token (BAT), gdzie kryptowaluta jest płatnością za uwagę użytkownika (wyświetlanie reklam, które użytkownik zgodzi się wyświetlać). W jej przypadku nie zachodzi proces wydobycia (miningu). Wykorzystuje się go do wykupywania reklam, za co nagradzani są użytkownicy przeglądarki oraz twórcy treści otrzymujący BAT na swoje konta.