Šta je dvostruka potrošnja?
Do dvostruke potrošnje dolazi kada neko pokuša da iskoristi iste digitalne novčiće za dva različita plaćanja. Zamislite da fotokopirate koncertnu kartu i predate je dvojici redara. Na blockchain mrežama, pokušaje dvostruke potrošnje sprečava mehanizam konsenzusa, ali i dalje je moguće zloupotrebiti vremenske prozore i razne trikove.
Ako se uplata pojavi u vašem novčaniku, mora da je konačna. Ne baš. Dok je mreža ne potvrdi, transakciju rudari i dalje mogu da zamene ili ignorišu.
Kako funkcioniše dvostruka potrošnja
Evo kratkog prikaza, korak po korak, sa lukavim napadačem i prodavcem koji ništa ne sluti.
- Korak 1: Napadač kreira dve transakcije kojima troši iste novčiće: jednu šalje prodavcu, a drugu sebi.
- Korak 2: Prvo emituje uplatu prodavcu, tako da se ona prikaže kao na čekanju, a prodavac preda robu.
- Korak 3: Zatim emituje suprotstavljenu uplatu s većom naknadom kako bi privukao rudare ili mining pool.
- Korak 4: Ako rudari prvi uključe suprotstavljenu transakciju u blok, mreža odbacuje uplatu prodavcu koja je bila na čekanju.
- Korak 5: Snažniji napadač može da rudari privatnu granu, a zatim da je objavi kako bi zamenio javnu istoriju i promenio to koja uplata važi.
Upravo je u tome stvar i zato su potvrde važne.
Zašto je dvostruka potrošnja važna
Ako prihvatate kripto uplate, ovo nije puka zanimljivost. Utiče na vaš prihod i spokoj.
- Prednost: Ako znate za rizik, možete da odredite razumna pravila za potvrde i bezbednije obavljate trenutnu prodaju.
- Širi kontekst: Pretnje dvostruke potrošnje oblikovale su način na koji lanci razmatraju konačnost, naknade i ponašanje rudara.
- Relevantnost: Naići ćete na nju pri plaćanju na prodajnom mestu, na exchange platformama, prilikom NFT lansiranja i na DeFi bridgeovima.
Za manje kupovine koristite različite nivoe rizika i obratite pažnju na oznake replace by fee. Za veće iznose sačekajte više potvrda. Šest potvrda na Bitcoin mreži i dalje je čvrst standard.
Ključne karakteristike dvostruke potrošnje
Osnovne osobine koje vredi zapamtiti:
- Sukob: Dve ili više transakcija pokušavaju da potroše iste ulazne podatke, što mreža ne može zajedno da prihvati.
- Vreme: Verovatnoća uspeha opada s porastom broja potvrda.
- Podsticaj: Rudari uglavnom daju prednost transakcijama s većim naknadama, što može ići u prilog napadačevoj suprotstavljenoj transakciji.
- Rizik: Dvostruka potrošnja cveta kada prodavci prihvataju uplate bez ijedne potvrde i bez provera.
Varijante
Različiti postupci, ista ideja. Evo nekoliko čestih varijanti:
- Napad trke: Napadač šalje dve suprotstavljene transakcije gotovo istovremeno, nadajući se da će rudari izabrati onu koja mu ide u prilog.
- Finneyjev napad: Rudar unapred iskopa blok sa uplatom sebi, a zatim potroši te novčiće kod prodavca pre nego što objavi blok.
- Napad 51%: Uz dovoljno hash rate-a, napadač može da prestigne pošteni lanac i stalno poništava uplate.
Konačnost se povećava s dubinom. Nakon dovoljnog broja potvrda, nastupa praktična nepromenljivost, pa dvostruka potrošnja postaje izuzetno teška bez ozbiljnih resursa.
Primer
Kafić prihvati uplatu bez ijedne potvrde, kupac izađe s kafom, a kasnije se potvrdi suprotstavljena transakcija s većom naknadom, čime se poništava uplata kafiću.
Zanimljivost
Satoshi je predstavio Bitcoin kao rešenje problema dvostruke potrošnje, pa njeno sprečavanje nije bilo sporedna misija, već glavni izazov.
Zaključak
Ukratko: dvostruka potrošnja zavisi od vremena i konsenzusa, a sprečava se potvrdama, pametnim proverama i s trunkom strpljenja. Rolex se sreće s Reddit diskusijama.