Podwójne wydatki mogą podważyć zaufanie do kryptowaluty, dlatego tak wiele wysiłku włożono w zapewnienie, że tego rodzaju oszustwa nie będą miały miejsca.

Transakcje kryptowalutowe są bezpieczne i godne zaufania dzięki technologii blockchain. Jednak, podobnie jak w przypadku większości innowacyjnych systemów, blockchain ma luki, które można wykorzystać, co może prowadzić do podwójnych wydatków. Ale czym jest podwójne wydatkowanie i jak można temu zapobiec?

Co to jest podwójne wydatkowanie?

Podwójne wydatki mają miejsce, gdy jeden podmiot wydaje ten sam token kryptowaluty więcej niż jeden raz. Jest to spowodowane wadą walut cyfrowych, która sprawia, że ​​są one łatwo odtwarzalne.

Informacje w sieci blockchain mogą być modyfikowane w trakcie transakcji, po spełnieniu określonych warunków. Kiedy te warunki są spełnione, zmienione bloki transakcji może wejść do łańcucha bloków, umożliwiając sprawcy odzyskanie wcześniej wydanych tokenów kryptograficznych.

Aby lepiej zrozumieć, jak to się dzieje, oto uproszczony opis procesu. Kiedy transakcja jest przeprowadzana w sieci blockchain, powiedzmy Bitcoin, tworzy blok zawierający dane transakcji, dane z poprzedniego bloku i znacznik czasu. Blok ma zaszyfrowany kod zwany hashem.

Źródło obrazu: Oryginalna biała księga Bitcoin

The ludzi, którzy wydobywają Bitcoin w sieci Bitcoin następnie zweryfikuj transakcję za pomocą algorytmu konsensusu proof-of-work, zamknij blok i utwórz nowy blok. Nowy blok zawiera znacznik czasu, hash poprzedniego bloku i nowe dane transakcji. Następnie zwycięski górnik otrzymuje nagrody blokowe (BTC) za weryfikację hasha.

Aby pomyślnie przeprowadzić podwójne wydatkowanie, sprawca musi wydobyć tajny blok, który przewyższa tworzenie rzeczywistego bloku. W tym celu sprawca musi wprowadzić tajną blokadę przed nową blokadą, aby sieć, oszukany, myśląc, że to najnowszy zestaw rosnącego bloku, dodaje fałszywy blok do stale rosnącego łańcuch. Sprawca może wtedy odzyskać wcześniej wykorzystane tokeny kryptograficzne.

Chociaż podwójne wydatki są dobrze znanym zjawiskiem w przestrzeni kryptograficznej, nie ma udokumentowanego przypadku. To dlatego, że weryfikacja transakcji jest złożonym procesem, który wymaga ogromnej mocy obliczeniowej. Fałszowanie lub powielanie bloku jest trudne, ponieważ sprawcy muszą działać przed każdym innym górnikiem na łańcuchu bloków.

Dlaczego podwójne wydatki stanowią problem?

Podwójne wydatki to obraza dla bezpieczeństwa sieci blockchain. Dzieje się tak, gdy istnieje słabość, którą można wykorzystać.

Ponadto sieć blockchain ma być bezpieczna i godna zaufania. Podwójne wydatki w sieci kryptowalutowej powodują nieufność do tego systemu kryptograficznego, zniechęcając inwestorów. I w końcu wartość tokena spadnie.

Ponadto podwójne wydatki to kradzież cyfrowa. Haker zyskuje, podczas gdy ktoś inny w sieci, zwykle sprzedawca, traci. Sprawca zachowuje własność towarów kupca i tokena kryptograficznego.

Przykłady ataków z podwójnym wydatkiem

Istnieją różne formy ataków podwójnego wydatkowania, które stosują cyberprzestępcy. Tutaj jest kilka z nich:

51% Atak

Atak 51% jest najczęściej dyskutowaną formą podwójnego wydatkowania. Występuje, gdy górnik (lub grupa górników) kontroluje większość (ponad 50%) mocy obliczeniowej zatwierdzającej transakcje w sieci.

Kiedy tak się dzieje, mogą dyktować transakcje, tworzyć nowe bloki, odzyskiwać już wydane kryptowaluty i przyznawać tokeny kryptograficzne. To daje im możliwość podwójnego wydawania monet cyfrowych.

Atak 51% jest mniej prawdopodobny w bardziej uznanych kryptowalutach, takich jak Bitcoin. Wynika to z ogromnej liczby kopaczy w sieci oraz tzw trudności z haszowaniem. Jednak kryptowaluty z mniejszymi sieciami, takimi jak nowe lub rozwidlone, mogą być zagrożone.

W 2014 r. GHash.io, pula wydobywcza, która działała od 2013 do 2016 r., na krótko przekroczyła 51% mocy obliczeniowej Bitcoina na Bitcoinie. Rozwój ten wywołał poważne obawy co do bezpieczeństwa sieci. Następnie Gnash.io dobrowolnie ograniczył swoją moc obliczeniową do 39,99%, aby przywrócić zaufanie do sieci.

Atak Finneya

Ten rodzaj podwójnego wydatkowania został spopularyzowany i nazwany na cześć Hala Finneya. W ataku Finneya haker nie potrzebuje 51% mocy haszującej. Aby to się powiodło, sprzedawca musi zaakceptować niezweryfikowaną transakcję od hakera, którym jest górnik.

Haker generuje blok, w którym przypisuje sobie tokeny kryptograficzne, inicjując transakcję z adresu X na adres Y (oba należące do niego) bez rozgłaszania jej w sieci. Przystępuje do dokonania kolejnej płatności tymi samymi tokenami kryptograficznymi z adresu X na adres Z, który należy do handlowca.

Źródło zdjęcia: Olivier Le Moal/Shutterstock

Jeśli sprzedawca zaakceptuje niepotwierdzone transakcje bez weryfikacji z łańcucha bloków, haker zwalnia blok zawierający jego początkową transakcję. Sieć unieważnia transakcję ze sprzedawcą po tym, jak sprzedawca udostępni hakerowi towary lub usługi. To pozwala hakerowi na podwójne wydatki.

Atak wyścigu

Ten atak jest łatwiejszy do przeprowadzenia niż ataki 51% i Finney. W ataku wyścigowym istnieje „wyścig” między dwiema transakcjami.

Haker używa różnych maszyn, aby wysłać ten sam token do dwóch kupców. Jeśli sprzedawca wyśle ​​towary lub usługi przed potwierdzeniem transakcji, odkryje, że transakcja nie została zaakceptowana podczas procesu wydobywania.

Jak Blockchain zapobiega podwójnym wydatkom

Łańcuchy bloków chronią przed podwójnymi wydatkami algorytmy konsensusu, Jak na przykład:

Dowód pracy (PoW)

Proof-of-work to wysoce konkurencyjny proces, który wymaga ogromnej ilości energii. W tym mechanizmie konsensusu górnicy używają złożonych komputerów do odgadywania skrótu bloków transakcji.

Hash to zaszyfrowany, unikalny 64-cyfrowy kod szesnastkowy, który posiada każda transakcja. Ten proces zużywa moc obliczeniową, aby udowodnić autentyczność transakcji.

Po zweryfikowaniu transakcji, górnik, który odniósł sukces, dodaje transakcję do zdecentralizowana księga cyfrowa. Pod koniec procesu, odnoszący sukcesy górnik otrzymuje nagrody blokowe w natywnym tokenie cyfrowym.

Bitcoin, Bitcoin Cash, Litecoin, Monero i Dogecoin to popularne kryptowaluty korzystające z tego algorytmu konsensusu.

Dowód stawki (PoS)

W Proof-of-Stake uczestnicy sieci kryptograficznej uwierzytelniają transakcje blokowe i są nazywani walidatorami. Walidatorzy oferują (lub „stawią”) niektóre ze swoich tokenów kryptograficznych w inteligentnej umowie, aby zdobyć prawo do weryfikacji transakcji przed dodaniem ich do rosnącego łańcucha bloków.

Sieć wybiera uczciwego walidatora na podstawie postawionych przez nich tokenów i czasu trwania obstawiania. Po wybraniu zwycięzca weryfikuje transakcję, co potwierdzają pozostałe walidatory.

Podobnie jak PoW, walidatorzy otrzymują również nagrodę w postaci dochodu po uwierzytelnieniu nowych transakcji. Jeśli sieć uzna, że ​​jakikolwiek walidator jest nieuczciwy, traci część lub całość postawionych tokenów jako karę.

Ten proces jest szybszy i wymaga mniej mocy obliczeniowej i energii niż PoW. Dlatego uczestnicy łańcucha bloków mogą skutecznie działać jako walidatorzy.

Ethereum 2.0, Cardano, Tezos i Solana używają PoS.

Delegowany dowód stawki (DPoS)

Ten typ algorytmu konsensusu PoS nakłada na użytkowników łańcucha blokowego obowiązek używania swoich tokenów cyfrowych do głosowania na uczciwych walidatorów zwanych „delegatami”. Jeden delegat jest wybierany losowo w celu zatwierdzenia nowych transakcji i dodania ich do łańcuch blokowy.

Po dokonaniu płatności delegat rozdaje nagrody blokowe użytkownikom, którzy na nich głosowali.

Kryptowaluty wykorzystujące algorytm DPoS to EOS, Ark, Tron i Lisk.

Nie ma jeszcze przypadku, ale podwójne wydatki są możliwe

Chociaż nie ma potwierdzonych przypadków, pojawienie się nowych i rozwidlonych kryptowalut oraz najnowsze postępy technologiczne mogą przynieść niespodzianki związane z podwójnymi wydatkami. Dlatego powinieneś chronić się, dokonując transakcji na bezpiecznych łańcuchach bloków kryptowalut. Z reguły czekaj, aż górnicy potwierdzą transakcje, zanim zwolnisz tokeny, towary lub usługi.