Este posibil să fi ratat o mare oportunitate de a deveni milionar Ethereum!
O eroare majoră, înregistrată sub titlul „Manipularea soldului contului Ethereum”, a permis accesarea unei surse nelimitate de eteri din portofel, urmând o serie de pași care implică o execuție inteligentă a unui contract cu o tranzacție defectuoasă sau un portofel de adrese defecte. Dar oportunitatea a dispărut, deoarece bug-ul este acum rezolvat.
Cum s-a desfășurat Drama?
O firmă fintech olandeză, denumită VI Company, a identificat și a raportat vulnerabilitatea la Coinbase în luna decembrie a anului trecut. Cel mai mare schimb de criptomonede din SUA a luat prompt măsuri, dar a durat aproape o lună să remedieze eroarea până la sfârșitul lunii ianuarie. (Vezi și Coinbase: Ce este și cum îl folosești?)
Compania a VI-a a fost răsplătită de schimbul Coinbase cu o sumă de recompensă de 10.000 USD pentru raportarea sa candidă a problemei, iar problema a fost dezvăluită public.
Cum a permis Bug-ul să furnizeze nelimitat ETH?
Ethereum utilizează contracte inteligente ca parte integrantă a rețelei sale. Vulnerabilitatea a existat în timpul transferului de fonduri prin contracte inteligente în scenariul următor.
Spune, un utilizator a folosit contracte inteligente pentru a distribui eterurile pe un set de portofele multiple. Acest exercițiu standard ar avea ca rezultat mai multe tranzacții în rețeaua Ethereum. Dacă o astfel de tranzacție intermediară eșuează, toate celelalte tranzacții anterioare acesteia vor fi, de asemenea, inversate datorită mecanismului de lucru al contractelor inteligente. (A se vedea, de asemenea, contractele inteligente Ethereum vulnerabile la Hacks: 4 milioane de dolari în eter cu risc.)
Cu toate acestea, problema apare în contul Coinbase unde aceste tranzacții nu vor fi inversate. Acest lucru a permis unei persoane să adauge un număr infinit de eteri la echilibrul său. Deși căutarea adresei portofelului Coinbase va dezvălui că nu este creditată cu niciun eteri, portofelul Coinbase al persoanei va afișa jetoanele.
În esență, un utilizator ar putea utiliza un contract inteligent pentru a iniția transferul de fonduri care este împărțit în sute de tranzacții. Dacă utilizatorul stabilește în mod intenționat o tranzacție defectuoasă la sfârșit, toate cele anterioare vor fi inversate, acreditând portofelul cu suma cumulată de jetoane.
HackerOne listează următorii pași ai companiei VI pentru a reproduce problema:
- Configurați un contract inteligent cu câteva portofele Coinbase valide și un portofel defect defect, care aruncă întotdeauna excepție atunci când primiți fonduri contract inteligent. Transferați fonduri adecvate către contractul inteligent. Acesta va adăuga cantitatea stabilită de eter la portofelele Coinbase. Deoarece tranzacția completă nu va reuși la ultimul portofel, toate tranzacțiile anterioare se vor inversa, dar nu se vor inversa în contul Coinbase. Persoana care execută această procedură poate acum să încaseze sau să transfere eterurile dorite în alt portofel.
Deși încă nu există raporturi despre încălcări sau utilizări greșite din cauza acestui bug, Coinbase a confirmat „pierderea accidentală”. Într-o notă sumară, Coinbase menționează: „Problema a fost rezolvată modificând logica de gestionare a contractului. Analiza problemei a indicat doar o pierdere accidentală pentru Coinbase și nici o tentativă de exploatare.
