Você pode ter perdido uma grande oportunidade de se tornar um milionário do Ethereum!
Um erro grave, arquivado sob o título "Manipulação de saldo da conta Ethereum", permitia acessar um suprimento ilimitado de éteres em sua carteira, seguindo uma série de etapas que envolviam uma execução inteligente de contrato com uma transação com defeito ou uma carteira de endereço com defeito. Mas a oportunidade se foi, já que o bug foi corrigido.
Como o drama se desenrolou?
Uma firma holandesa de fintech chamada VI Company identificou e relatou a vulnerabilidade à Coinbase em dezembro do ano passado. A maior troca de criptomoedas dos EUA entrou em ação prontamente, mas levou quase um mês para corrigir o bug na parte posterior de janeiro. (Veja também, Coinbase: O que é e como você o utiliza?)
A VI Company foi recompensada pela troca da Coinbase com uma quantia de recompensa de US $ 10.000 pela divulgação franca do problema, e o problema foi divulgado publicamente.
Como o bug permitiu o fornecimento ilimitado de ETH?
A Ethereum usa contratos inteligentes como parte integrante de sua rede. A vulnerabilidade existiu durante a transferência de fundos por meio de contratos inteligentes no cenário a seguir.
Digamos, um usuário usou contratos inteligentes para distribuir éteres em um conjunto de várias carteiras. Esse exercício padrão resultaria em várias transações na rede Ethereum. Se uma dessas transações intermediárias falhar, todas as outras transações anteriores também serão revertidas devido ao mecanismo de trabalho dos contratos inteligentes. (Veja também, Contratos inteligentes da Ethereum vulneráveis a hackers: US $ 4 milhões em éter em risco.)
No entanto, o problema ocorre na conta da Coinbase, onde essas transações não serão revertidas. Isso permitiu que uma pessoa adicionasse um número infinito de éteres ao seu equilíbrio. Embora a consulta ao endereço da carteira Coinbase revele que não é creditada com nenhum éter, a carteira Coinbase da pessoa mostrará os tokens.
Essencialmente, um usuário pode usar um contrato inteligente para iniciar a transferência de fundos dividida em centenas de transações. Se o usuário propositalmente definir uma transação com defeito no final, todas as anteriores serão revertidas, creditando sua carteira com a quantidade acumulada de tokens.
O HackerOne lista as seguintes etapas da VI Company para reproduzir o problema:
- Configure um contrato inteligente com algumas carteiras Coinbase válidas e uma carteira com defeito final que sempre lança exceção ao receber fundos contrato inteligenteTransfira fundos apropriados para o contrato inteligenteSem sair da carteira de contrato inteligente, comece a executar o contrato inteligente. Ele adicionará a quantidade definida de éter às carteiras Coinbase. Como a transação completa falhará na última carteira, todas as transações anteriores serão revertidas, mas não serão revertidas na conta Coinbase. A pessoa que executa este procedimento agora pode sacar ou transferir os éteres desejados para outra carteira
Embora ainda não haja relatos de grandes violações ou uso indevido devido a esse bug, a Coinbase confirmou a "perda acidental". Em uma nota resumida, a Coinbase menciona: “O problema foi corrigido alterando a lógica de manipulação de contrato. A análise do problema indicou apenas perdas acidentais para o Coinbase e nenhuma tentativa de exploração. ”(Veja também, Bitcoin pode ser invadido?)
