Šta je napad zamenom transakcije?
Napad zamenom transakcije je kada neko pošalje kripto uplatu, a zatim brzo emituje drugu verziju te transakcije sa izmenjenim detaljima, pre nego što bude potvrđena. Cilj je da prevari onoga ko prihvati prvu transakciju na čekanju. Zamislite da obećate gotovinu na kasi, pa se zatim vratite da zamenite novčanice dok kasir ne gleda.
Ako je transakcija označena kao transakcija na čekanju, bezbedno je tretirati je kao plaćenu. Ne baš. Dok je rudar ne uključi u blok, zamena i dalje može da se dogodi, a napad zamenom transakcije može da preokrene ishod.
Kako funkcioniše napad zamenom transakcije
Evo kratkog pregleda, uz jednostavnu situaciju na kasi na umu.
- Korak 1: Napadač vam šalje uplatu uz nisku naknadu. Vidite da je na čekanju i odahnete.
- Korak 2: Pre potvrde, napadač pravi novu transakciju kojom troši ista sredstva, često putem Replace by Fee (RBF) ili ponovnim slanjem transakcije sa istim nonce-om na lancima zasnovanim na nalozima.
- Korak 3: Zamenska transakcija nudi veću naknadu i privlačnija je rudarima, pa se ona rudari, dok se prva verzija odbacuje.
- Korak 4: To je lakše tokom velike zagušenosti mreže, kada rudari daju prednost višim naknadama.
- Korak 5: Izdajete proizvod ili pružate uslugu na osnovu uplate koja je na čekanju, pa na kraju ostajete neplaćeni kada lanac potvrdi zamensku transakciju.
U tome je caka. Jednostavno je, pomalo podmuklo i može se sprečiti.
Zašto je napad zamenom transakcije važan
Evo zašto bi trebalo da vam bude važno, bez obzira na to da li vodite naplatu ili samo šaljete novčiće prijatelju.
- Prednost: Mehanizmi zamene omogućavaju savesnim korisnicima da ubrzaju zaglavljene uplate povećanjem naknade, što je korisno kada vam je potrebno da uplata odmah bude potvrđena.
- Šira slika: Isti alati koji vama pomažu mogu se upotrebiti i protiv vas ako verujete uplati na čekanju za robu ili pristup.
- Relevantnost: Na ovo možete naići na prodajnim mestima, pri NFT mintovanju, OTC trgovini i svuda gde ljudi prihvataju transakcije na čekanju.
Koristite novčanik za kriptovalute koji jasno označava zamenljive transakcije i prikazuje broj potvrda. Pri plaćanju zahtevajte nekoliko potvrda pre nego što predate bilo šta vredno.
Ključne karakteristike napada zamenom transakcije
Po čemu se ovaj napad izdvaja, jednostavno rečeno:
- Vreme: Dešava se pre potvrde, dok je transakcija još uvek u mempool-u.
- Pobude: Viša naknada ili povoljniji uslovi mogu navesti rudare ili validatore da uključe zamensku transakciju umesto originalne.
- Indikatori: Neke transakcije su označene kao zamenljive, a lanci zasnovani na nalozima dozvoljavaju zamenu uz isti nonce.
- Meta: Trgovci ili druge strane koje prihvataju uplate na čekanju predstavljaju slabu tačku.
Varijacije
Ista suština, ali mehanizmi se blago razlikuju u zavisnosti od lanca.
- RBF: Pošiljalac označava uplatu kao zamenljivu, a zatim emituje verziju sa višom naknadom i izmenjenim izlazom ili primaocem.
- Zamena nonce-a: Na lancima zasnovanim na nalozima, korisnik ponovo šalje transakciju sa istim nonce-om, ali višim gasom, čime otkazuje ili menja prethodno nameravanu transakciju.
- Trik sa povraćajem: Pošiljalac najpre plaća trgovcu, a zatim zamenjuje uplatu na čekanju transakcijom kojom šalje sredstva nazad na adresu koju kontroliše.
Ne smatrajte uplatu konačnom dok vaš čvor ne označi transakciju kao potvrđenu. Napad zamenom transakcije gubi na snazi nakon odgovarajućeg broja potvrda.
Primer
Kafić prihvata uplatu na čekanju za latte, kupac odmah emituje zamensku transakciju sa višom naknadom kojom šalje sredstva na drugo mesto, a barista kasnije shvata da je kupac iskoristio mogućnost zamene.
Zanimljivost
Povećanje naknade uvedeno je da bi savesni korisnici mogli da spasu zaglavljene transakcije, mnogo pre nego što je postalo mim o prevarama. Kao i mnoge tehnološke stvari, može delovati kao spoj Rolexa i Reddit tema, u zavisnosti od toga ko drži ključeve.
Zaključak
Ukratko: ne isporučujte robu na osnovu nečega što možda prođe. Sačekajte blok ili dva, pa se opustite.