Ce este un Race Attack?
Un Race Attack apare când cineva transmite două tranzacții crypto incompatibile aproape simultan, sperând că cea greșită va fi acceptată prima. Este o manevră clasică împotriva comercianților care acceptă plăți cu zero confirmări. Gândește-te la asta ca la trimiterea a două cecuri din același cont, mizând că funcționarul îl va procesa pe cel pe care îl preferi.
„Race Attack necesită Replace by Fee.” Nu chiar. Deși RBF are legătură, un Race Attack poate avea loc chiar și fără reguli explicite de înlocuire, motiv pentru care este diferit de un Transaction Replacement Attack.
Cum funcționează un Race Attack
Imaginează-ți pe cineva care plătește cu crypto la tejgheaua unui magazin. Vrea cafeaua, dar și să-și păstreze monedele. Iată cum procedează.
- Pasul 1: Atacatorul creează două tranzacții care cheltuiesc aceleași monede, dar au destinatari diferiți.
- Pasul 2: O trimite comerciantului și, simultan, o transmite în forță către alți noduri, în speranța că se va propaga mai repede.
- Pasul 3: Comerciantul vede prima tranzacție sosind, o consideră plată și predă marfa.
- Pasul 4: Minerii confirmă una dintre tranzacțiile incompatibile. Cealaltă este respinsă de rețea imediat ce apare un bloc.
- Pasul 5: Dacă tranzacția confirmată este versiunea preferată de atacator, comerciantul rămâne doar cu o lecție de învățat.
Da, e atât de simplu și da, totul ține de sincronizare.
De ce contează un Race Attack
Și ce dacă cineva încearcă asta?
- Beneficiu: Dacă știi despre un Race Attack, poți stabili reguli de plată rezonabile și nu vei preda marfa în schimbul unei promisiuni care nu se va deconta.
- Perspectivă: Este o variantă a unui Double Spending Attack mai amplu, dar nu necesită echipamente sofisticate sau buzunare adânci.
- Relevanță: Vei întâlni acest subiect în legătură cu wallet-urile de la punctele de vânzare, comerțul electronic și orice serviciu care acceptă plăți cu zero confirmări.
Dacă vinzi ceva ce urmează să fie expediat sau are o valoare reală, așteaptă una sau mai multe confirmări ale tranzacției înainte de livrare. Pentru cumpărături mici, în persoană, stabilește limite și folosește wallet-uri care semnalează tranzacțiile incompatibile.
Caracteristicile-cheie ale unui Race Attack
Ce face ca un Race Attack să iasă în evidență:
- Instantaneu: Are loc înainte de confirmarea primului bloc.
- Incompatibil: Două tranzacții cheltuiesc aceleași intrări, iar una singură poate fi confirmată.
- Viteză: Propagarea și selecția minerilor decid câștigătorul, nu echipamentele sofisticate.
- Diferit: Nu necesită atacuri de 51% sau control asupra minării.
Variante
Race Attack are câteva rude pe care s-ar putea să le întâlnești:
- Clasic: Două tranzacții incompatibile sunt transmise aproape simultan.
- Finney: Un miner minează în avans un bloc cu o cheltuire, apoi plătește un comerciant și, la final, publică blocul.
- Vector76: Combină elemente de blocuri minate în avans și sincronizare pentru a păcăli exchange-urile.
- RBF: Are un obiectiv similar, dar se bazează pe reguli de înlocuire în funcție de comision, nu pe o simplă cursă de propagare.
Topologia rețelei contează. Atacatorii își pot spori șansele dacă controlează mulți peers sau identități false, motiv pentru care atacurile Sybil sunt adesea menționate în discuțiile despre apărarea împotriva unui Race Attack.
Exemplu
Un escroc plătește la un chioșc printr-un transfer cu zero confirmări, apoi se întrece cu o tranzacție incompatibilă până la mineri și câștigă, lăsând chioșcul neplătit, deși pe ecran a apărut pentru scurt timp mesajul că plata a fost efectuată.
Curiozitate
Race Attack a fost discutat pe cele mai vechi forumuri Bitcoin, iar sfatul old-school al lui Satoshi de a aștepta mai multe confirmări rămâne soluția preferată. Rolex și discuții pe Reddit.
În concluzie
Pe scurt: un Race Attack este o cursă contra cronometru care exploatează plățile cu zero confirmări, așa că puțină răbdare îl transformă într-o problemă de ieri.