Bezpieczeństwo łańcucha bloków działającego w zdecentralizowanej sieci jest zapewniane przez konsensus. Istnieją różne mechanizmy, które mają zapewniać osiąganie zgody uczestników sieci co do jej stanu oraz chronić ją przed złymi aktorami. Jednym z takich mechanizmów jest Proof of Work stosowany przez Bitcoina. Choć ataki 51% także mogą dotyczyć mechanizmów Proof of Stake dziś skupimy się głównie na POW.
Proof of Work jak sama nazwa wskazuje jest “dowodem pracy”, który jest dostarczany przez górników sieci BTC. Tym dowodem jest liczba, a pracą obliczenia wykonywane przez komputery. Tak. Tylko tyle i aż tyle. Górnicy Bitcoina stale zgadują brakujący element, który pozwala im skonstruować blok (tzw. nonce). Gdy znajdą owe nonce, haszują blok i wysyłają go do sieci, która zaakceptuje go, o ile jest poprawny.
POW jest mechanizmem szerszego konsensusu Bitcoina nazwanego Nakamoto. Najprościej mówiąc w sieci BTC silniejszy wygrywa. Ten, który ma największą moc, ma największą szansę na dodanie bloku do łańcucha i zgarnięcie nagrody oraz opłat. Konsensus Nakamoto działa według zasady dłuższego łańcucha, czyli “silniejszego”. Węzły Bitcoina uznają za poprawny łańcuch właśnie ten dłuższy (o ile jest zgodny z zasadami!).
W Bitcoinie nie ma też czegoś takiego jak “ostateczność”, co oznacza, że każdy blok w sieci jest probabilistyczny, czyli nie jest w 100% pewny. Bloki mogą zostać cofnięte do pewnej głębokości, co jest powodem, dla którego należy odczekać pewien czas, zanim, przykładowo, nasze BTC pojawią się na giełdzie. W sieci mogą bardzo często występować przypadkowe podziały (fork), które są jednak niwelowane przez wspomniany konsensus i zasadę dłuższego łańcucha.
I tutaj dochodzimy do zagrożenia, które często jest wymieniane jako jedno z największych niebezpieczeństw dla istnienia BTC - ataku 51%.
Warto wiedzieć, że ataki 51% nie są problemem tylko teoretycznym, a ich ilość wykonana z powodzeniem w ostatnich latach jest dość wysoka. Z tego powodu ucierpiało wielokrotnie Ethereum Classic, Bitcoin Gold, Verge i wiele innych projektów. Jednak czy Bitcoin ma się czego obawiać? Raczej nie, ale do tego jeszcze przejdziemy.
Czym jest i jak działa atak 51%?
Jak sama nazwa wskazuje, atak 51% polega na przejęciu większości mocy obliczeniowej sieci Proof of Work (ponad 50%), czyli tzw. “hashrate” lub ponad połowy stawki w systemach POS.
Atak 51% może być wykonany przez pojedynczego górnika, pulę, która zarządza oddelegowaną jej mocą od innych koparek sieci lub kilka pul i osób, które zdecydowały się współpracować.
Mimo nazwy 51%, tego typu ataki są możliwe również przy znacznie niższej mocy! Jednak przejęcie większości właściwie gwarantuje jego powodzenie, stąd też przyjęło się “przysłowiowe" 51%.
Przejęcie ponad połowy hashrate pozwala budować wszystkie bloki danej sieci POW szybciej niż cała reszta górników razem, co może prowadzić do cenzury w sieci (np. nieakceptowanie żadnej transakcji od adresu X) oraz podwójnego wydawania.
Double-spend
Cenzura transakcji może i wygląda groźnie, ale nikt przy zdrowych zmysłach nie zdecyduje się na przejęcie 51% danej sieci tylko po to, aby zablokować swoją byłą…
Największym zagrożeniem w takich przypadkach jest double-spend, czyli podwójne wydawanie tej samej kwoty, czy jeśli chcemy być w 100% poprawni, tego samego wyjścia UTXO. Jest to główny powód przeprowadzania ataków, który pozwala nieźle zarobić.
Na czym polega podwójne wydawanie?
Nasz potencjalny napastnik zdobywa 51% mocy obliczeniowej sieci Proof of Work, ale się tym nie chwali. Co zatem robi? Zaczyna budować własny blockchain na równi z tym “oficjalnym”. Bloki, które tworzy w tym procesie są zgodne z zasadami, jednak nie są rozsyłane do innych węzłów w sieci.
Teraz nasz napastnik może zakupić obiecane przez kryptowaluciarzy Lambo za 10 BTC i zapłacić w środkach, które znajdują się na oficjalnym łańcuchu. Jednak gdy tylko otrzyma kluczyki i wyjedzie z salonu, decyduje się na opublikowanie swojej alternatywnej wersji łańcucha, która nie zawiera płatności za Lambo. Wszystkie węzły podążą za tą wersją, ponieważ jest tam więcej mocy, łańcuch jest dłuższy więc wygrywa, a górnicy rozpoczną pracę nad kolejnym blokiem właśnie tam.
W taki oto sposób nasz oszust odzyskał 10 BTC, które w jego alternatywnej wersji nie zostało przesłane na adres sprzedawcy oraz Lambo.
Oczywiście jest to prosty przykład, który nie tylko nie uda w życiu realnym, ale nie ma prawa się udać. W podwójnym wydawaniu chodzi raczej o cofnięcie transakcji na 10000 BTC, nie 10 i zostaje wykonane w czasie kilku, kilkunastu bloków, czyli dotyczy raczej okresu godzin. Najbardziej narażone są więc giełdy.
Choć zagrożenie jest realne i występowało wielokrotnie, dotyczyło głównie projektów o małej mocy POW.
Czego atak 51% NIE MOŻE?
Często wiele osób nie tylko nie rozumie co oznacza atak 51%, ale i gdzie kończą się jego możliwości. Władza napastnika nad siecią jest spora, ale nie całkowita. Atak 51% nie pozwala na wydawanie środków innych osób, zmianę zasad sieci, wysokości nagród lub jakąkolwiek władze wykraczającą poza transakcje, jakie są umieszczane w blokach oraz cofnięcie stanu łańcucha o pewien czas.
Dla uczestników sieci właśnie owo cofnięcie jest największym zagrożeniem, ale jest ono również tym trudniejsze im dalej się cofniemy, ponieważ musimy "nadrobić" wszystkie bloki od danego punktu w czasie, a sieć główna cały czas tworzy kolejne.
To cofnięcie, to tzw. “reorg”, czyli reorganizacja pewnej liczby bloków. To ile bloków można cofnąć zależy od procenta mocy górnika w porównaniu do mocy reszty sieci. Im większy hashrate w rękach atakujących, tym dalej mogą się posunąć. Według danych bitcoin.it 40% hashrate ma 50% szanse wykonać reorg o głębokości 6 bloków.
Polecam ten artykuł, który bada jeden z ataków 51% na Ethereum Classic, który potrafił zreorganizować 3500 bloków i wydać podwójnie 807 tys. ETC o wartości 5.6 mln USD oraz zarobić do tego w nagrodach 13000 ETC (tylko jeden górnik dodawał “alternatywne” bloki, więc zagarnął całą nagrodę za nie). Wszystko dzięki… wynajęciu mocy obliczeniowej z Nicehash o koszcie 200 tys. USD (17.5 BTC)
Warto dodać, że chwilę później nastąpił kolejny atak 51% na Ethereum Classic. Ogólnie ETC doświadczyło wtedy trzech ataków w ciągu miesiąca…
Jak widać ataki 51% na małe sieci Proof of Work są możliwe i dzieją się dość często, ale czy projekt pokroju Bitcoina jest zagrożony?
Czy atak 51% na Bitcoina jest realny?
Ataki 51% są realnym zagrożeniem, jak pokazuje powyższy przykład, jednak zespoły stale wprowadzają mechanizmy, które mają temu zapobiegać.
Teoretycznie Bitcoin takiego mechanizmu nie ma. Praktycznie tym mechanizmem jest cała moc obliczeniowa sieci.
Atak, choć możliwy, jest bardzo mało prawdopodobny. Tak mało, że właściwie możemy uznać go za niemożliwy. Według Crypto51 napastnik potrzebowałby około 1 mln USD na godzinę, aby utrzymać atak. Problem w tym, że w przeciwieństwie do Ethereum Classic z 2020 roku, nie ma tyle mocy do wynajmu na Nicehash, aby móc w ogóle planować przejęcie hashrate.
Potencjalni napastnicy musieliby więc zakupić sprzęt zdolny do przejęcia mocy i utrzymać sieć energetyczną… Według wyliczeń Braiins z 2021 roku, na tamten czas wymagany byłby zakup ponad 1.3 mln koparek ASIC, których koszty przekroczyłby 5.4 miliarda dolarów. Jednak te dane wydają się bardzo ostrożne… Inne źródła podają kwoty na poziomie 32 mld USD za sam sprzęt oraz zużycie dzienne prądu w wysokości 446 mln kWh i koszty tej energii w kwocie 22 mln USD dziennie.
Problemem są tutaj jednak nie tylko koszty zakupu ASIC, wynajem powierzchni, która je pomieści, czy chłodzenie tego wszystkiego, ale i fizyczny dostęp do milionów sprzętów ASIC, zasilenie ich, a także… zgodność z prawem “ataku” na sieć i potencjalne cofnięcie 10000 transakcji o wartości miliardów dolarów.
Najważniejszym punktem tego całego teoretycznego rozważania jest to, że cała ta zabawa jest kompletnie nieopłacalna i… głupia? Atak na Bitcoina mógłby skończyć się całkowitym upadkiem sieci i zwrotem z inwestycji w całe to przedsięwzięcie na poziomie -99%. Pamiętajmy też, że double-spend oznacza, że nasz atakujący musi posiadać… sporą kwotę BTC, którą chce wydać dwa razy. Atak na sieć oznacza więc także atak na własne miliardy dolarów.
Jedynym celem ataku 51% na Bitcoina przy tym poziomie mocy, jest zniszczenie sieci i zaufania do niej. Możliwe jest połączenie ataku z pozycją krótką i zarobek w taki sposób, jednak tutaj wraca kwestia odpowiedzialności karnej, płynności giełd, a grono osób, które na to stać jest bardzo niewielkie i raczej łatwo byłoby namierzyć osobę, która w niesamowitym zbiegu okoliczności, akurat wrzuciła 10 mld USD w shorta 10x...
Oczywiście teoretycznie możliwe jest, że potencjalnym napastnikiem nie będą Chiny, czy Jeff Bezos, a kilka już działających pul w sieci, które zdecydują się na atak 51%. Bardzo wątpliwe jest jednak, że pule zaatakują i tym samym zniszczą sieć, która jest ich żywicielem i dostarcza im niemały przychód. Zachęty działają i są ubezpieczeniem przed nieuczciwymi zagraniami. Karą w tym wypadku jest nie tylko strata dochodu pul, ale także znacznej części inwestycji w sprzęt i prawdopodobnie spędzenie reszty życia w więzieniu.
Najlepsze w tym wszystkim jest, że znacznie bardziej opłaca się… nie oszukiwać i po prostu kopać tymi koparami BTC zarabiając mnóstwo nagród.
W przypadku braku chęci podwójnego wydawania, a np. tylko uruchomienia cenzury poprzez pracę na jednym łańcuchu, górnicy z 51% mocy jedynie opóźnialiby transakcje, ponieważ inni i tak będą w stanie dodać je do łańcucha. 51% mocy pracującej nad tym samym łańcuchem nie oznacza tworzenia 100% bloków, a większe prawdopodobieństwo dodania każdego kolejnego bloku zanim zrobi to ktoś inny.
Dziś górnik z mocą 1.45% sieci nadal dodaje około 2 bloki dziennie. Cenzura byłaby irytująca i zakłóciła pracę łańcucha, ale czy by go zabiła? Możliwe, że w takim wypadku złośliwe pule szybko utraciłyby moc delegowaną do nich od pojedynczych górników, co zmniejszyło by ich znaczenie w sieci i... dochody.
51% w POS
Aby zakłócić działanie wielu dzisiejszych systemów POS wystarczy przejąć 34% stawki. Wtedy większość konsensusów traci swoją żywotność, a sieć nie jest w stanie osiągnąć zgody i po prostu staje. Jednak przejęcie 51% stawki jest bardzo mało możliwe.
Podobnie jak w przypadku POW, wymagana jest tutaj ogromna inwestycja, która dodatkowo premiuje wszystkich w sieci (koszt zakupu 51% tokenów nie tylko jest ogromny i pcha cenę w górę, ale często jest wręcz niemożliwy ze względu na ilość tokenów, które są zablokowane).
Oprócz tego dzisiejsze projekty stosują różne mechanizmy ochrony przed takim zachowaniem, gdzie główną rolę gra slashing. Ewentualny napastnik odniósłby więc krótkoterminowy sukces, ale utraciłby 100% swoich tokenów oraz 100% tokenów wszystkich swoich delegatorów (o ile system polega na delegacji). Innymi słowy, zmniejszyłby podaż o połowę, a sieć relatywnie szybko wróciłaby do swojego właściwego stanu…
Przy posiadaniu 51% tokenów (a nawet mniej) możliwy jest atak z wykorzystaniem zarządzania, które jest popularne w wielu systemach POS i które może wpłynąć na właściwie wszystko, również posiadane przez nas aktywa(!), ale znów, można po prostu zrobić hard fork sieci i wykluczyć z niej napastników.
Oczywiście każdy atak 51% podważa bezpieczne działanie konkretnego systemu i zaufanie w przyszłość. To, czy konkretny projekt byłby w stanie przetrwać coś takiego zależy od szkód i szybkości reakcji.
Jak pokazało doświadczenie, mimo iż ataki zdarzały się wielokrotnie, żaden ze wspomnianych projektów nie zniknął z rynku, a niektóre radzą sobie lepiej niż wcześniej...
Podsumowanie
Ataki 51% są bardzo groźne i możliwe, ale dotyczą projektów małych, które posiadają niewielką moc, zwłaszcza w porównaniu do ewentualnej nagrody. Duże sieci, zwłaszcza tak ogromne jak Bitcoin, akurat tego typu zagrożenia raczej nie muszą się obawiać.
Ethereum Classic potrafiło zostać zaatakowane 3 razy w ciągu miesiąca, a i tak nadal działa i ma się lepiej niż kiedykolwiek. Być może skutki tego typu działań są rozdmuchane? Może nawet jeśli ktoś zaatakuje Bitcoina, ten wróci silniejszy i jeszcze bezpieczniejszy (np. z lekko zmienionymi zasadami)? Mijamy nadzieję, że nigdy się o tym nie przekonamy. Patrząc na aktualny poziom mocy w sieci Bitcoina i działanie zachęt wygląda jednak na to, że nadzieja jest tutaj niepotrzebna.