Cointimes

Alguém lucrou meio milhão de reais queimando dinheiro, veja como

Queimando dinheiro

Um usuário ganhou cerca de 80 ETH, um pouco mais de meio milhão de reais, abusando um suposto erro no reembolso das taxas de gás da rede Ethereum em contratos antigos.

BowTied Iguana, um anônimo que escreve sobre finanças descentralizadas, relatou no Twitter como alguém explorou contratos inteligentes para ganhar dinheiro. Spoiler: a pessoa precisou queimar dinheiro para isso.

Quem quer rir, tem que fazer rir!
make funny GIFs like this at MakeaGif

O contrato explorado

O alvo do suposto ataque foi o Ethereum Alarm Clock (EAC), um serviço criado para agendar transações a serem executadas posteriormente no blockchain do Ethereum, determinando previamente o endereço do destinatário, o valor a ser enviado, bem como data e horário das transações.

O objetivo do EAC é, além de resolver problemas relacionados a transações entre usuários e a execução de contratos inteligentes, “criar um protocolo descentralizado baseado em incentivos que garante boas garantias de que alguém executará todas as transações programadas.”

Para que o agendamento das transações ocorra, é necessário que os usuários tenham em mãos o valor em ether (ETH) a ser transferido, e também precisam pagar as taxas de gás antecipadamente.

E é exatamente na taxa de gás onde estava a oportunidade quase milionária.

As taxas são pagas no agendamento, mas, quando uma transação é cancelada, o contrato utilizava do próprio balanço para devolver o usuário que pediu o reembolso. Porém, alguém percebeu que o contrato acabou devolvendo um valor ainda maior do que o usuário pagava de taxa.

Logo, alguém tirou proveito dessa suposta falha agendando uma transação que queimava cerca de R$ 819 mil de taxa de gás, apenas para cancelar e receber um estorno ainda maior.

Cancelamento do agendamento de transação

‘bug’ ou ‘Feature’?

De acordo com BowTied Iguana, se tratava de um contrato inteligente antigo que guardava uma quantia considerável de ether.

Em um primeiro momento, o BowTied Iguana havia sugerido que o valor inflado das taxas devolvidas eram um “acidente,” e que um usuário havia faturado 80 ETH ao cancelar contratos antigos.

No entanto, mais tarde, BowTied Iguana percebeu que a devolução do valor não era um bug, e sim parte do protocolo do EAC, prevista na documentação do smart contract:

Somente o proprietário da transação agendada pode acionar o cancelamento, mas após a janela de execução, qualquer pessoa pode acionar o cancelamento. 

Para garantir que os fundos não sejam deixados para sempre para apodrecer nestes contratos, existe uma camada de incentivo para que esta função seja feita por outros sempre que uma solicitação não seja executada.

Quando o cancelamento é executado por alguém que não é o proprietário do contrato, 1% do que teria sido pago a alguém para a execução é pago para a conta que desencadeia o cancelamento.

Veja também:

Leia outros conteúdos...

© 2024 All Rights Reserved.

Descubra mais sobre Cointimes

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading