Potresti aver perso una grande opportunità per diventare un milionario di Ethereum!
Un bug importante, archiviato sotto il titolo "Manipolazione del saldo dell'account Ethereum", consentiva l'accesso a una fornitura illimitata di eteri nel tuo portafoglio seguendo una serie di passaggi che comportano un'esecuzione intelligente del contratto con una transazione difettosa o un portafoglio di indirizzi difettoso. Ma l'opportunità è andata, poiché il bug è stato risolto.
Come è nato il film Unfold?
Una società fintech olandese chiamata VI Company ha identificato e segnalato la vulnerabilità a Coinbase nel dicembre dello scorso anno. Il più grande scambio di criptovaluta degli Stati Uniti ha prontamente preso provvedimenti, ma ci sono voluti quasi un mese per correggere il bug entro la fine di gennaio. (Vedi anche Coinbase: cos'è e come si usa?)
La VI Società è stata premiata dallo scambio Coinbase con un importo di ricompensa di $ 10.000 per la sua candidatura all'emissione e l'emissione è stata divulgata pubblicamente.
In che modo il bug ha consentito la fornitura illimitata di ETH?
Ethereum utilizza i contratti intelligenti come parte integrante della sua rete. La vulnerabilità esisteva durante il trasferimento di fondi attraverso contratti intelligenti nel seguente scenario.
Ad esempio, un utente ha utilizzato contratti intelligenti per distribuire eteri su una serie di portafogli multipli. Questo esercizio standard comporterebbe transazioni multiple sulla rete Ethereum. Se una di queste transazioni intermedie fallisce, anche tutte le altre transazioni precedenti verranno annullate a causa del meccanismo di funzionamento dei contratti intelligenti. (Vedi anche, Contratti intelligenti Ethereum vulnerabili agli hack: $ 4 milioni in Ether a rischio.)
Tuttavia, il problema si verifica sul conto Coinbase in cui queste transazioni non verranno annullate. Ciò ha permesso a una persona di aggiungere un numero infinito di eteri al proprio equilibrio. Sebbene cercare l'indirizzo del portafoglio Coinbase rivelerà che non è accreditato con alcun etere, il portafoglio Coinbase della persona mostrerà i token.
In sostanza, un utente potrebbe utilizzare un contratto intelligente per avviare il trasferimento di fondi suddiviso in centinaia di transazioni. Se l'utente imposta intenzionalmente una transazione difettosa alla fine, tutte le precedenti verranno annullate, accreditando sul proprio portafoglio l'importo cumulativo di token.
HackerOne elenca i seguenti passaggi da VI Company per riprodurre il problema:
- Crea un contratto intelligente con alcuni portafogli Coinbase validi e un portafoglio finale difettoso che genera sempre un'eccezione quando ricevi fondi contratto intelligente Trasferisci fondi adeguati al contratto intelligente Senza lasciare il portafoglio contratto intelligente, inizia l'esecuzione del contratto intelligente. Aggiungerà la quantità impostata di etere ai portafogli Coinbase. Poiché la transazione completa non riuscirà nell'ultimo portafoglio, tutte le transazioni precedenti verranno annullate, ma non verranno annullate sul conto Coinbase. La persona che esegue questa procedura può ora incassare o trasferire gli eteri desiderati su un altro portafoglio
Sebbene non ci siano ancora segnalazioni di grosse violazioni o abusi dovuti a questo errore, Coinbase ha confermato la "perdita accidentale". In una nota di sintesi, Coinbase menziona: “Il problema è stato risolto modificando la logica di gestione del contratto. L'analisi del problema ha indicato solo la perdita accidentale di Coinbase e nessun tentativo di sfruttamento. ”(Vedi anche Bitcoin può essere hackerato?)
