Mi az a versenytámadás?
Versenytámadásról akkor beszélünk, amikor valaki szinte egyszerre két egymásnak ellentmondó kriptotranzakciót küld be, abban bízva, hogy előbb a rossz kerül elfogadásra. Ez a nulla megerősítéses fizetést elfogadó kereskedők elleni klasszikus támadás. Képzeljük el úgy, mintha valaki ugyanarról a számláról két csekket állítana ki, és arra fogadna, hogy a pénztáros azt dolgozza fel először, amelyiket ő szeretné.
„A versenytámadáshoz Replace by Fee kell.” Nem egészen. Bár az RBF kapcsolódik hozzá, versenytámadásra kifejezett helyettesítési szabályok nélkül is sor kerülhet, ezért különbözik a tranzakció-helyettesítési támadástól.
Hogyan működik a versenytámadás?
Képzeljük el, hogy valaki kriptóval fizet egy üzletben, a kasszánál. Meg akarja kapni a kávét, de a coinjait is meg akarja tartani. Így zajlik a támadás.
- 1. lépés: A támadó két tranzakciót hoz létre, amelyek ugyanazokat a coinokat költik el, de különböző címzetteknek.
- 2. lépés: Az egyiket elküldi a kereskedőnek, a másikat pedig egyidejűleg több különböző csomópontnak is továbbítja, abban bízva, hogy az gyorsabban terjed el.
- 3. lépés: A kereskedő látja, hogy az első tranzakció megérkezett, fizetettnek tekinti, és átadja az árut.
- 4. lépés: A bányászok megerősítik az egymásnak ellentmondó tranzakciók egyikét. A másikat a hálózat elutasítja, amint bekerül egy blokkba.
- 5. lépés: Ha a támadó által előnyben részesített tranzakciót erősítik meg, a kereskedőnek nem marad más, csak a tanulság.
Igen, ilyen egyszerű, és igen, az időzítés a trükk.
Miért fontos a versenytámadás?
Mi történik, ha valaki megpróbálkozik vele?
- Előny: Ha tudsz a versenytámadásról, ésszerű fizetési szabályokat állíthatsz fel, így nem adod át az árut egy olyan ígéretért cserébe, amelyből végül nem lesz elszámolt fizetés.
- Tágabb összefüggés: Ez a tágabb dupla költési támadás egyik változata, de nem igényel különleges felszerelést vagy mély zsebeket.
- Relevancia: Ezzel a témával az értékesítési pontokon használt tárcák, az e-kereskedelem és minden olyan szolgáltatás kapcsán találkozhatsz, amely elfogadja a nulla megerősítéses fizetést.
Ha olyan terméket adsz el, amelyet ki kell szállítani, vagy valódi értéke van, várj meg egy vagy több tranzakciós megerősítést, mielőtt átadod. A kisebb, személyes vásárlásoknál szabj limiteket, és használj olyan tárcát, amely jelzi az ütközéseket.
A versenytámadás fő jellemzői
Mitől jellegzetes a versenytámadás?
- Azonnali: Még az első blokk megerősítése előtt lezajlik.
- Egymásnak ellentmondó: Két tranzakció ugyanazokat a bemeneteket költi el, de közülük csak az egyik erősíthető meg.
- Sebesség: A tranzakcióterjedés és a bányászok választása dönti el, ki nyer, nem valamilyen különleges hardver.
- Más jellegű: Nincs szükség hozzá 51%-os támadásra vagy a bányászat feletti irányításra.
Változatai
A versenytámadásnak van néhány közeli rokona, amellyel találkozhatsz:
- Klasszikus: Két egymásnak ellentmondó tranzakciót közel egy időben küldenek be.
- Finney-támadás: A bányász előre kibányász egy költést tartalmazó blokkot, majd fizet egy kereskedőnek, végül közzéteszi a blokkot.
- Vector76: Az előre kibányászott blokkokat és az időzítést ötvözi, hogy megtévessze az exchange-eket.
- RBF: Hasonló célt követ, de a tiszta tranzakcióterjedési verseny helyett díjalapú helyettesítési szabályokra épít.
A hálózati topológia számít. A támadók növelhetik az esélyeiket, ha sok peer vagy hamis identitás felett rendelkeznek, ezért a Sybil-támadások gyakran szóba kerülnek a versenytámadások elleni védekezés kapcsán.
Példa
Egy csaló nulla megerősítéses átutalással fizet egy kioszknál, majd versenyt futtat egy egymásnak ellentmondó tranzakcióval a bányászok felé, és nyer. A kioszk nem kap pénzt, noha a képernyőn egy pillanatra az jelent meg, hogy fizetve.
Érdekesség
A versenytámadásról már a legkorábbi Bitcoin-fórumokon is beszéltek, Satoshi régi tanácsa pedig, hogy várjunk meg több megerősítést, ma is a legjobb megoldás. Rolex találkozik a Reddit-szálakkal.
Összefoglalás
Röviden: a versenytámadás időzítésre épülő támadás a nulla megerősítéses fizetések ellen, ezért egy kis türelemmel máris a múlté lehet.