Czym jest Race Attack?
Race Attack to sytuacja, gdy ktoś rozpowszechnia dwie sprzeczne transakcje kryptowalutowe niemal jednocześnie, licząc, że ta niewłaściwa zostanie zaakceptowana jako pierwsza. To klasyczny manewr przeciwko sprzedawcom, którzy akceptują płatności bez potwierdzeń. Można to porównać do wysłania dwóch czeków z tego samego konta i założenia, że kasjer obsłuży ten, który ci pasuje.
„Race Attack potrzebuje Replace by Fee.” Nie do końca. Choć RBF jest z tym związane, Race Attack może się wydarzyć nawet bez wyraźnych zasad zastępowania, dlatego różni się od Ataku zastąpienia transakcji.
Jak działa Race Attack
Wyobraź sobie kogoś, kto płaci w sklepie kryptowalutą przy ladzie. Chce dostać kawę i jednocześnie zachować monety. Oto plan.
- Krok 1: Atakujący tworzy dwie transakcje wydające te same monety, ale do różnych odbiorców.
- Krok 2: Wysyła jedną do sprzedawcy i jednocześnie rozsyła drugą do różnych węzłów, licząc, że szybciej się rozpropaguje.
- Krok 3: Sprzedawca widzi najpierw jedną transakcję, traktuje ją jako zapłatę i wydaje towar.
- Krok 4: Górnicy potwierdzają jedną ze sprzecznych transakcji. Druga zostaje odrzucona przez sieć, gdy tylko pojawi się blok.
- Krok 5: Jeśli potwierdzona zostanie wersja preferowana przez atakującego, sprzedawca zostaje bez zapłaty i z nauczką.
Tak to działa i tak, kluczem jest czas.
Dlaczego Race Attack ma znaczenie
A co jeśli ktoś spróbuje tego w praktyce?
- Korzyść: Znajomość Race Attack pozwala ustalić rozsądne zasady przyjmowania płatności, żeby nie wydawać towaru za obietnicę, która się nie rozliczy.
- Perspektywa: To jedna odmiana szerszego Ataku podwójnego wydawania, ale nie wymaga drogiego sprzętu ani dużych zasobów finansowych.
- Zastosowanie: Temat pojawia się przy portfelach do punktów sprzedaży, w e-commerce i w każdym serwisie rozważającym płatności bez potwierdzeń.
Jeżeli sprzedajesz coś, co jest wysyłane lub ma realną wartość, poczekaj na jedno lub więcej potwierdzeń transakcji przed dostawą. Dla małych zakupów na miejscu ustal limity i używaj portfeli, które sygnalizują konflikty.
Główne cechy Race Attack
Co wyróżnia Race Attack:
- Natychmiastowy: Dzieje się przed pierwszym potwierdzeniem bloku.
- Sprzeczny: Dwie transakcje wydają te same wejścia, potwierdzić może się tylko jedna.
- Szybkość: O zwycięstwie decyduje propagacja i wybór przez górników, niekoniecznie drogi sprzęt.
- Inny: Nie potrzebuje ataków 51% ani kontroli nad wydobyciem.
Warianty
Race Attack ma kilka pokrewnych wersji, na które możesz natrafić:
- Klasyczny: Dwie sprzeczne transakcje rozpowszechnione niemal równocześnie.
- Finney: Górnik z góry wydobywa blok ze spenderem, potem płaci sprzedawcy, a na końcu publikuje blok.
- Vector76: Łączy elementy wstępnie wydobytych bloków i timing, żeby oszukać giełdy.
- RBF: Cel podobny, ale opiera się na zasadach zastępowania opartego na opłatach zamiast na wyścigu propagacji.
Topologia sieci ma znaczenie. Atakujący mogą zwiększyć swoje szanse, jeśli kontrolują wielu peerów lub fałszywe tożsamości, dlatego ataki Sybil często pojawiają się w rozmowach o obronie przed Race Attack.
Przykład
Oszust płaci w kiosku transferem bez potwierdzeń, potem rozsyła sprzeczną transakcję do górników i wygrywa, pozostawiając kiosk bez zapłaty, choć ekran przez chwilę pokazywał, że zapłacono.
Ciekawostka
Race Attack był omawiany na najwcześniejszych forach Bitcoin, a stara rada Satoshiego, by czekać na kilka potwierdzeń, nadal jest dobrym rozwiązaniem. Rolex spotyka wątki na Reddit.
Podsumowanie
W skrócie: Race Attack to zagranie czasowe przeciwko płatnościom bez potwierdzeń, więc odrobina cierpliwości sprawia, że przestaje być problemem.
