Pobierz naszą aplikację zondacrypto
i zacznij inwestować już teraz!
W czym możemy pomóc?
Termin „podwójne wydawanie” odnosi się do próby dwukrotnego wydania tych samych środków poprzez zainicjowanie więcej niż jednej transakcji z tymi samymi aktywami i próbę oszukania łańcucha bloków. To jest, rzecz jasna, narzędzie najczęściej stosowane przez oszustów, których celem jest manipulowanie systemem i czerpanie zysków z takich transakcji. Aby skutecznie przeprowadzić atak podwójnego wydatkowania, oszuści muszą ominąć mechanizm walidacji łańcucha bloków za pomocą jednej z kilku metod ataku, które szczegółowo opiszemy w tym artykule.
Transakcje kryptowalutowe to wiadomości kryptograficzne, które są przesyłane łańcuchem bloków między dwoma publicznymi adresami. Ponieważ kryptowaluta istnieje tylko wirtualnie w łańcuchu bloków, musi istnieć mechanizm zapewniający, że transakcja jest ważna i nie jest próbą podwójnego wydatkowania.
Na szczęście wszystkie blockchainy posiadają mechanizmy konsensusu odpowiedzialne za sprawdzanie każdej transakcji przed jej zatwierdzeniem i przetworzeniem na adres docelowy. Istnieją różne rodzaje takich mechanizmów, przykładami mogą być Proof-of-Work (PoW) czy Proof-of-Stake (PoS). Wykorzystują one różne metody walidacji transakcji oraz algorytmy kryptograficzne, tym samym gwarantując, że tylko prawidłowe przelewy są zapisywane w łańcuchu bloków.
Aby próba podwójnego wydatkowania zakończyła się sukcesem, oszuści muszą oszukać mechanizm konsensusu. Z tego powodu ważne jest zaprojektowanie tego mechanizmu w taki spośób, aby zapobiegał tego typu próbom.
Jedynym sposobem na zmianę już zatwierdzonych bloków danych blockchain jest kontrolowanie co najmniej 51% węzłów sieci. Jeśli atakującym uda się przejąć kontrolę nad taką liczbą węzłów, mogą swobodnie edytować istniejące bloki danych, zatwierdzać transakcje podwójnego wydatkowania i skutecznie manipulować blockchainem w celu kradzieży aktywów. To jedna z najczęstszych metod na wymuszenie podwójnego wydawania środków.
Im więcej węzłów ma blockchain, tym trudniej jest przeprowadzić atak 51%. Są one przeprowadzane głównie na mniejszych blockchainach z mniejszą liczbą walidatorów. Co za tym idzie, złamanie zabezpieczeń sieci takich jak Bitcoin, która ma tysiące węzłów walidatorów, byłoby niezwykle trudne, jeśli nie niemożliwe.
Ataki typu race to kolejna popularna forma wymuszenia podwójnego wydawania środków. Atakujący inicjują dwie transakcje blockchain z tymi samymi funduszami. Jedna transakcja jest wysyłana na prawidłowy adres, na przykład do właściciela sklepu internetowego jako płatność za produkt, podczas gdy druga jest wysyłana na adres należący do oszustów.
Atak typu race ma na celu unieważnienie transakcji do sprzedawcy i zweryfikowanie jako legalną transakcję przelewu do oszustwa. Sprzedawca będzie myślał, że otrzymał płatność za swój produkt i wyda produkt, podczas gdy rzeczywiste środki zostały po prostu wysłane na inny adres kontrolowany przez przestępcę. Jeśli transakcja oszustwa zostanie zweryfikowana, sprzedawca nie otrzyma płatności. Należy jednak pamiętać, że tylko podmioty, które akceptują płatności z zeroma potwierdzeniami, mogą być dotknięte tego typu atakiem.
Atak Finneya został nazwany na cześć Hala Finneya, jednego z pierwszych sympatyków bitcoina i pierwszej osoby, która zaakceptowała przelew BTC od Satoshi Nakamoto. Atak Finneya występuje tylko w przypadku kryptowalut opartych o konsensus Proof-of-Work (PoW), które wykorzystują pracę górników do przetwarzania transakcji.
Atak ten wymaga, aby przestępca był górnikiem, który wstępnie wydobył transakcję, ale nie przekazał jej do reszty łańcucha bloków. Następnie oszust ponownie wydaje te same aktywa kryptograficzne, ale transmituje wstępnie wydobyty blok do sieci, aby ją oszukać i unieważnić poprzednią transakcję, tym samym z powodzeniem wydając te same środki dwukrotnie.
Istnieje kilka środków, które deweloperzy blockchain mogą wykorzystać, aby utrudnić hakerom próby atakowania.
Silny mechanizm konsensusu, który dokładnie sprawdza każdą transakcję i składa się z wielu warstw zabezpieczeń, jest podstawową barierą dla podwójnych wydatków.
Regularne, niezależne audyty mechanizmu konsensusu blockchain i smart kontraktów przeprowadzane przez renomowane firmy zajmujące się bezpieczeństwem blockchaina. Dokładnie one sprawdzają sieć pod kątem luk w zabezpieczeniach i umożliwiają programistom ich załatanie.
Indywidualni użytkownicy, tacy jak sprzedawcy i usługodawcy, mogą zapobiec oszustwom związanym z podwójnymi wydatkami, czekając na 3 potwierdzenia transakcji blockchain – w przypadku Bitcoina – przed wypełnieniem swojej części transakcji. Po 3 potwierdzeniach transakcja BTC jest przetwarzana przez sieć i dodawana do łańcucha bloków, co oznacza, że mechanizm konsensusu zweryfikował ją jako prawidłowy przelew. Warto również zauważyć, że liczba potwierdzeń wymaganych do bezpiecznej transakcji może się różnić w zależności od kryptowaluty.