Czym jest Double Spend?
Double Spend to sytuacja, gdy ktoś próbuje użyć tych samych cyfrowych monet do dwóch różnych płatności. Pomyśl o skopiowaniu biletu na koncert i pokazaniu go dwóm ochroniarzom. W sieciach blockchain próby Double Spend są tłumione przez konsensus, ale okna czasowe i sztuczki wciąż mogą zostać wykorzystane.
Jeśli płatność pojawi się w twoim portfelu, to musi być ostateczna. Nie do końca. Dopóki sieć jej nie potwierdzi, transakcję można zastąpić lub pominąć przez górników.
Jak działa Double Spend
Krótki przebieg z bezczelnym atakującym i nieświadomym sprzedawcą.
- Krok 1: Atakujący tworzy dwie transakcje wydające te same monety, jedną do sprzedawcy i jedną z powrotem na swoje konto.
- Krok 2: Najpierw rozsyłają płatność do sprzedawcy, tak że widnieje jako oczekująca i sprzedawca wydaje towar.
- Krok 3: Potem wysyłają sprzeczną transakcję z wyższą opłatą, by przyciągnąć górników lub pulę górniczą.
- Krok 4: Jeśli górnicy włączą konflikt do bloku jako pierwsi, oczekująca płatność sprzedawcy zostaje odrzucona przez sieć.
- Krok 5: Silniejszy napastnik może wydobyć prywatny odcinek łańcucha i później opublikować go, by zastąpić publiczną historię i zmienić, która płatność jest uznawana.
O to chodzi i dlaczego potwierdzenia są ważne.
Dlaczego Double Spend ma znaczenie
Jeżeli akceptujesz płatności kryptowalutami, to nie jest drobiazg. Wpływa na twoje przychody i spokój ducha.
- Korzyść: Znajomość ryzyka pozwala ustalić rozsądne zasady potwierdzeń i zwiększyć bezpieczeństwo sprzedaży natychmiastowej.
- Perspektywa: Zagrożenia Double Spend wpłynęły na to, jak sieci myślą o nieodwracalności, opłatach i zachowaniu górników.
- Istotność: Spotkasz to w procesach punktów sprzedaży, na giełdach, przy emisjach NFT i mostach DeFi.
Przy małych zakupach stosuj poziomy ryzyka i zwracaj uwagę na flagi replace by fee. Przy większych kwotach poczekaj na kilka potwierdzeń. Sześć potwierdzeń w Bitcoinie wciąż jest powszechną praktyką.
Główne cechy Double Spend
Podstawowe cechy warte zanotowania:
- Konflikt: Dwie lub więcej transakcji próbują wydać te same wejścia, co sieć nie może zaakceptować razem.
- Czas: Szansa powodzenia maleje wraz ze wzrostem liczby potwierdzeń.
- Zachęta: Górnicy zwykle wybierają transakcje z wyższymi opłatami, co może faworyzować konflikt atakującego.
- Ryzyko: Double Spend prosperuje, gdy sprzedawcy akceptują płatności bez potwierdzeń bez dodatkowych kontroli.
Odmiany
Różne warianty, ta sama idea. Kilka typowych przykładów:
- Race Attack: Atakujący wysyła dwie sprzeczne transakcje niemal w tym samym czasie, licząc, że górnicy wybiorą tę, która mu sprzyja.
- Finney Attack: Górnik uprzednio wydobywa blok z płatnością do siebie, potem wydaje te monety u sprzedawcy przed opublikowaniem bloku.
- 51% Attack: Mając wystarczającą moc obliczeniową, napastnik może wyprzedzać uczciwy łańcuch i regularnie cofać płatności.
Ostateczność rośnie wraz z głębokością. Po wystarczającej liczbie potwierdzeń praktyczna immutability zaczyna działać i niezwykle trudno jest wykonać Double Spend bez dużych zasobów.
Przykład
Kawiarnia akceptuje płatność bez potwierdzeń, kupujący wychodzi z kawą, a potem potwierdza się sprzeczna transakcja z wyższą opłatą, unieważniając płatność kawiarni.
Ciekawostka
Satoshi przedstawił Bitcoin jako rozwiązanie problemu podwójnego wydawania, więc zapobieganie Double Spend nie było dodatkiem, tylko głównym celem projektu.
Podsumowanie
Krótko: Double Spend to kwestia czasu i konsensusu, a pokonuje się go potwierdzeniami, rozsądnymi kontroliami i odrobiną cierpliwości. Rolex spotyka wątki na Reddit.
