Možda ste propustili sjajnu priliku da postanete Ethereum milijunaš!
Glavna greška, pod naslovom „Manipulacija stanja Ethereum računa“, omogućila je pristup neograničenoj količini etera u vašem novčaniku slijedeći niz koraka koji uključuju pametno izvršenje ugovora s neispravnom transakcijom ili neispravnim adresnim novčanikom. Ali prilika više nema jer je bug sada riješen.
Kako se odvijala drama?
Nizozemska fintech tvrtka nazvana VI Company identificirala je i prijavila ranjivost Coinbase-a tijekom prosinca prošle godine. Najveća razmjena kriptovaluta u SAD-u odmah je poduzela akciju, no trebalo je gotovo mjesec dana da se riješi šteta do kraja siječnja. (Vidi također, Coinbase: Što je to i kako se koristi?)
VI Društvo nagrađeno je razmijenom Coinbase-om s novčanim iznosom od 10 000 USD za otvoreno izvještavanje o izdanju, a izdanje je javno objavljeno.
Kako je bug dopustio neograničenu opskrbu ETH-om?
Ethereum koristi pametne ugovore kao sastavni dio svoje mreže. Ranjivost je postojala tijekom prijenosa sredstava putem pametnih ugovora u sljedećem scenariju.
Recimo, korisnik je koristio pametne ugovore za distribuciju etera preko skupa više novčanika. Ova uobičajena vježba rezultirala bi s više transakcija na mreži Ethereuma. Ako jedna takva posredna transakcija propadne, sve ostale transakcije prije nje će također biti poništene zbog mehanizma rada pametnih ugovora. (Pogledajte također, Ethereum Smart ugovori ranjivi na hakove: 4 milijuna Etera u riziku.)
Međutim, problem se pojavljuje na Coinbase računu gdje se te transakcije neće poništiti. To je omogućilo osobi da u svoj balans doda beskonačni broj etera. Iako će se pretragom adrese novčanika Coinbase pokazati kako nije zaslužan nijedan eter, osobni novčanik Coinbase pokazat će znakove.
Korisnik bi u osnovi mogao koristiti pametni ugovor za pokretanje prijenosa sredstava koji je podijeljen na stotine transakcija. Ako korisnik namjerno postavi neispravnu transakciju na kraju, sve ranije će se poništiti, pripisujući mu novčanik kumulativnim iznosom tokena.
HackerOne navodi sljedeće korake tvrtke VI za reprodukciju problema:
- Uspostavite pametni ugovor s nekoliko važećih novčanika Coinbase i jednim konačnim neispravnim novčanikom koji uvijek izuzeću prilikom primanja sredstava pametnim ugovorom. Prenesite odgovarajuća sredstva na pametni ugovor. Bez napuštanja novčanika pametnog ugovora počnite s izvršavanjem pametnog ugovora. To će dodati postavljenu količinu etera u novčanike Coinbase. Budući da kompletna transakcija neće uspjeti na posljednjem novčaniku, sve prethodne transakcije poništit će se, ali neće se poništiti na Coinbase računu. Osoba koja provodi ovaj postupak sada može unovčiti ili prenijeti željene etere u drugi novčanik
Iako još nema izvještaja o velikim prekršajima ili zlouporabi zbog ove pogreške, Coinbase je potvrdio "slučajni gubitak". U sažetku, Coinbase spominje: "Problem je riješen promjenom logike rukovanja ugovorom. Analiza izdanja ukazala je na samo slučajni gubitak za Coinbase i bez pokušaja eksploatacije. "(Vidi također: Može li se bitcoin hakirati?)