¡Es posible que haya perdido una gran oportunidad de convertirse en un millonario de Ethereum!
Un error importante, presentado bajo el título "Manipulación del saldo de la cuenta de Ethereum", permitía acceder a un suministro ilimitado de éteres en su billetera siguiendo una serie de pasos que involucraban la ejecución de un contrato inteligente con una transacción defectuosa o una billetera con una dirección defectuosa. Pero la oportunidad se ha ido, ya que el error ahora está solucionado.
¿Cómo se desarrolló el drama?
Una firma fintech holandesa llamada VI Company identificó e informó la vulnerabilidad a Coinbase durante diciembre del año pasado. El mayor intercambio de criptomonedas de los EE. UU. Tomó medidas rápidamente, pero tardó casi un mes en solucionar el error a fines de enero. (Véase también, Coinbase: ¿qué es y cómo lo usa?)
La Compañía VI fue recompensada por el intercambio de Coinbase con una cantidad de recompensa de $ 10, 000 por su sincero informe del problema, y el problema fue revelado públicamente.
¿Cómo permitió el error el suministro ilimitado de ETH?
Ethereum utiliza contratos inteligentes como parte integral de su red. La vulnerabilidad existió durante la transferencia de fondos a través de contratos inteligentes en el siguiente escenario.
Digamos que un usuario usó contratos inteligentes para distribuir éteres en un conjunto de múltiples billeteras. Este ejercicio estándar daría como resultado múltiples transacciones en la red Ethereum. Si una de estas transacciones intermedias falla, todas las demás transacciones anteriores también se revertirán debido al mecanismo de trabajo de los contratos inteligentes. (Véase también, Ethereum Smart Contracts Vulnerable to Hacks: $ 4 Million in Ether at Risk).
Sin embargo, el problema ocurre en la cuenta de Coinbase donde estas transacciones no se revertirán. Eso permitió que una persona agregara un número infinito de éteres a su equilibrio. Aunque buscar la dirección de la billetera de Coinbase revelará que no se le atribuye ningún éter, la billetera de Coinbase de la persona mostrará los tokens.
Esencialmente, un usuario podría usar un contrato inteligente para iniciar la transferencia de fondos que se divide en cientos de transacciones. Si el usuario establece deliberadamente una transacción defectuosa al final, todas las anteriores se revertirán, acreditando a su billetera la cantidad acumulativa de tokens.
HackerOne enumera los siguientes pasos de VI Company para reproducir el problema:
- Configure un contrato inteligente con algunas billeteras válidas de Coinbase y una billetera defectuosa final que siempre arroja una excepción al recibir fondos contrato inteligente Transfiera los fondos apropiados al contrato inteligente Sin dejar la billetera del contrato inteligente, comience a ejecutar el contrato inteligente. Agregará la cantidad establecida de éter a las billeteras de Coinbase. Dado que la transacción completa fallará en la última billetera, todas las transacciones anteriores se revertirán, pero no se revertirán en la cuenta de Coinbase. La persona que ejecuta este procedimiento ahora puede retirar o transferir los éteres deseados a otra billetera
Aunque todavía no hay informes de grandes violaciones o mal uso debido a este error, Coinbase ha confirmado la "pérdida accidental". En una nota resumida, Coinbase menciona: “El problema se solucionó cambiando la lógica de manejo del contrato. El análisis del problema indicó solo la pérdida accidental de Coinbase y ningún intento de explotación. ”(Ver también, ¿Se puede piratear Bitcoin?)