Czym Jest i Jak Działa Atak 51% na Bitcoina


Aby wyjaśnić, czym jest atak 51% musimy zrozumieć jak działa Bitcoin, jak tworzony jest blockchain, który „zasila” całą walutę oraz jak działa górnictwo. Szczegółowe wyjaśnienia na temat blockchaina możesz przeczytać na naszej stronie tutaj, a na temat górnictwa – tutaj, ale w tym artykule również omówimy częściowo te zagadnienia.

Bitcoin to nic innego jak jedna wielka sieć komputerów, które w jakiś sposób uzgodniły między sobą, jak będą dystrybuować blockchain. Blockchain w Bitcoinie jest bazą danych, która przechowuje transakcje między użytkownikami i może być postrzegany jako rodzaj księgi głównej. Wszyscy użytkownicy sieci mają na swoich komputerach kopię tej samej księgi. Możliwe jest dodawanie wpisów do tej księgi na końcu, ale nie powinno być możliwe ich edytowanie lub usuwanie wstecz.

Blockchain – Porozumienie w Całej Cieci

Aby jednak kopia tej księgi była taka sama na wszystkich komputerach, trzeba było uzgodnić, w jaki sposób nowe transakcje będą zapisywane w księdze. Musi to być zrobione w taki sposób, by było jasne, że dodane zapisy są całkowicie poprawne. Osiąga się to poprzez tzw. górnictwo, w którym użytkownicy, a raczej ich sprzęt rozwiązują bardzo złożony problem, który można rozwiązać jedynie poprzez czysto losowe testy. Ten, kto pierwszy wymyśli rozwiązanie tego problemu, może dodać nowy rekord na końcu blockchaina, a wszyscy użytkownicy umownie uznają ten rekord za ważny.

W praktyce każdy użytkownik może stworzyć swój własny rekord i próbować go wydobywać. W ten sposób wydobycie nie polega na tym, że cała sieć próbuje wydobyć jeden identyczny blok, ale każdy użytkownik wybiera transakcje, które chce dodać do bloku i stara się je dodać do blockchaina tylko po to, by blok był poprawnie wydobyty.

Który blockchain jest „tym właściwym”?

Co się stanie jeśli wiele poprawnie wydobytych bloków zostanie utworzonych w tym samym czasie w tej samej lokalizacji blockchaina? W teorii blockchain powinien się rozdzielić i kontynuować wzdłuż wielu gałęzi. Tak się jednak nie dzieje i użytkownicy są przygotowani także na ten przypadek – po prostu kontynuuje się działanie gałęzi, która jest dłuższa. Bloki wydobyte w krótszej gałęzi są po prostu odrzucane potwierdzone transakcje nie są już potwierdzone i muszą być wydobyte do właściwej gałęzi blockchaina.

Nie ma praktycznego sposobu by uniemożliwić komuś stworzenie własnej gałęzi w dowolnym miejscu na blockchainie. Jednak ta gałąź nie będzie brana pod uwagę ponieważ nie jest ona najdłuższa.

Jednak krótsze gałęzie są tworzone i odrzucane dość często – nie jest to wina górników ani użytkowników, ale prosta zasada działania sieci. Zaczynamy jednak powoli zbliżać się do tego, jak działa atak 51%.

Zasada ataku 51% i jak to działa w praktyce

Jak już mówiliśmy, każdy użytkownik może teoretycznie tworzyć swoje własne gałęzie w blockchainie, ale żeby te gałęzie były brane pod uwagę, muszą być najdłuższe. Krótsze gałęzie są odrzucane i nie są już liczone.

Ale co by się stało, gdyby użytkownik miał moc obliczeniową pozwalającą mu na szybsze wydobycie niż reszta sieci? W ten sposób będzie mógł stworzyć swój własny blok w dowolnym miejscu na blockchainie, przewyższając mocą obliczeniową najdłuższy istniejący blok. Zostanie ona wtedy odrzucona, a za główną gałąź zostanie uznana ta utworzona przez użytkownika. Wszystko byłoby kwestią czasu i tego, jak dalece atakujący chciałby wpłynąć na blockchain.

Aby stworzyć i wyprzedzić obecną gałąź, dany użytkownik musiałby mieć więcej mocy niż reszta sieci – czyli 51% mocy obliczeniowej. Stąd określenie atak 51%.

Dlaczego atak na 51% jest tylko teoretyczny?

Aby użyć ataku 51%, musisz mieć więcej niż połowę mocy obliczeniowej sieci, w przeciwnym razie niemożliwe jest stworzenie i utrzymanie najdłuższej gałęzi w blockchainie. Problem w tym, że posiadanie takiego procentu jest w praktyce niemożliwe, a nawet największe farmy górnicze nie osiągają nawet kilkudziesięciu procent mocy obliczeniowej całej sieci.

Najbliżej tej liczby był pool wydobywczy GHash.IO, który w pewnym momencie osiągnął 42% mocy obliczeniowej całej sieci, ale nawet ten odsetek jest bardzo daleki od możliwości skutecznego przeprowadzenia ataku na 51%. Obecnie największym polem wydobywczym jest AntPool, który posiada 25% mocy obliczeniowej i praktycznie niemożliwe jest, by osiągnął on superwiększość.

Ale nawet gdyby tak było, to posiadanie tak dużej pojemności byłoby sprzeczne z samym poolem. Bitcoin w rzeczywistości straciłby na zaufaniu, a tym samym na wartości. Jeśli jakaś pula osiągnie tak dużą pojemność, górnicy z tej puli przeniosą się gdzie indziej, aby zachować decentralizację i wiarygodność całej waluty.

Do czego może posłużyć atak 51%

Double-spending czyli podwójne wydatkowanie

Wyobraźmy sobie sytuację, w której chcemy sprzedać komuś produkt w zamian za Bitcoiny. Otrzymujemy płatność w Bitcoin i wysyłamy produkt. Ale użytkownik, do którego coś wysłaliśmy, ma 51% mocy obliczeniowej sieci Bitcoin. Tego użytkownika będziemy nazywać atakującym.

Otrzymalibyśmy płatność, która jest potwierdzana w blockchainie i wysłalibyśmy produkt. Ale atakujący wykorzystałby fakt, że może budować na blockchainie w dowolnym miejscu i wyprzedzić istniejącą gałąź, co niestety obejmuje transakcję, którą wysłał nam atakujący.

Atakujący mógłby więc połączyć się z blockchainem przed tą transakcją i wydobywać bloki bez niej. W momencie, w którym wyprzedziłby istniejącą wcześniej gałąź, faktycznie usunąłby transakcję z naszymi Bitcoinami, ponieważ ta gałąź byłaby w tym momencie krótsza. W ten sposób atakujący miałby produkt, który wysłaliśmy w dobrej wierze, że transakcja została potwierdzona oraz Bitcoiny, których tak naprawdę nie wysłał, ponieważ krótsza gałąź z tą transakcją została odrzucona.

Do czego NIE można wykorzystać ataku 51%

Tworzenie nieistniejących transakcji i manipulowanie Bitcoinami innych ludzi

Każda transakcja musi być potwierdzona i podpisana przez właściciela klucza prywatnego. Bez znajomości tego klucza niemożliwe jest utworzenie transakcji i wysłanie jej przez sieć w celu potwierdzenia. Dzięki mocy obliczeniowej, a więc atakowi 51%, nie jest możliwe arbitralne wpływanie na to, kto stworzył transakcję. Atak 51% może być użyty tylko do potwierdzenia innych transakcji, które są legalnie i poprawnie utworzone i podpisane.

Tworzenie nieistniejących Bitcoinów

Górnik, któremu się udało, otrzymuje nagrodę w Bitcoinach za potwierdzenie bloku. Nawet atakujący posiadający 51% mocy obliczeniowej nie może dowolnie tworzyć nowych coinów. Nadal musi przestrzegać zasad ustalonych w sieci, a nowe monety otrzymuje tylko za pomyślne potwierdzenie bloku. Jednak w oddziale utworzonym przez atakującego wszystkie Bitcoiny, które powstały w wyniku wydobycia, będą należały do niego.

Recent Content