Atak Vector76 to technika ataku na blockchain, która umożliwia podwójne wydanie (double spending) kryptowaluty, takiej jak Bitcoin. Atak ten opiera się na manipulacji siecią, aby oszukać odbiorcę transakcji, że płatność została potwierdzona, podczas gdy w rzeczywistości atakujący może wydać te same środki dwa razy.
Jak działa atak Vector76?
Atak Vector76 to połączenie dwóch innych technik: ataku wyścigowego (race attack) i ataku Finney’a. Działa to w następujący sposób:
- Atak Finney’a: Atakujący wydobywa blok z transakcją wysyłającą monety na swój własny adres, ale nie ogłasza tego bloku natychmiastowo sieci. Zamiast tego, czeka z publikacją bloku.
- Atak wyścigowy (race attack): Atakujący wysyła transakcję do sprzedawcy, a następnie próbuje wydać te same monety w innej transakcji, zanim pierwsza zostanie potwierdzona w bloku.
Etapy ataku Vector76:
- Przygotowanie bloku: Atakujący najpierw wydobywa prywatnie blok z transakcją A, w której środki trafiają na jego własny adres. Ten blok nie jest jednak natychmiast przesyłany do sieci.
- Wysłanie transakcji: Następnie atakujący wysyła do sprzedawcy transakcję B, która wydaje te same środki na zakup towarów lub usług.
- Potwierdzenie: Sprzedawca widzi transakcję B w mempoolu (czyli w oczekujących transakcjach), która wydaje się prawidłowa, i akceptuje ją, dostarczając towar lub usługę.
- Ogłoszenie bloku: Atakujący natychmiast po potwierdzeniu przez sprzedawcę ogłasza wcześniej wydobyty blok z transakcją A, która jest sprzeczna z transakcją B. Ponieważ blok A zostaje dodany do łańcucha, transakcja B zostaje odrzucona przez sieć jako nieprawidłowa (double spend).
W rezultacie sprzedawca zostaje oszukany, ponieważ myślał, że otrzymał płatność, ale środki zostały faktycznie przeniesione na inny adres atakującego.
Ochrona przed atakiem Vector76:
Aby się przed tym chronić, zaleca się:
- Czekanie na potwierdzenia: Sprzedawcy powinni czekać na co najmniej jedno pełne potwierdzenie w blockchainie przed akceptacją płatności.
- Wzmocniona weryfikacja: Korzystanie z zaufanych węzłów pełnych (full nodes), które zapewniają bardziej rzetelną weryfikację transakcji.
Atak Vector76 jest trudny do przeprowadzenia w praktyce, ponieważ wymaga od atakującego sporej mocy obliczeniowej (w celu wydobycia bloku) oraz pewnego poziomu synchronizacji z siecią. Niemniej jednak ilustruje, jak skomplikowane i potencjalnie niebezpieczne mogą być ataki na sieci blockchain, zwłaszcza w przypadkach podwójnego wydania.