Um bug em contratos de Bitcoin “bloqueados pelo tempo” pode permitir que os mineiros roubem uns aos outros

Um bug nos contratos de Bitcoin "com prazo de validade" poderia permitir que os mineradores se roubassem - Bitcoin Bug 1024x640Em um relatório publicado no final de abril, o engenheiro conhecido sob o pseudônimo 0xb10c descobriu que mais de um milhão de transações com "timelock" entre setembro de 2019 e março de 2020 não foram realizadas corretamente na rede.

Isso aumenta o risco de uma forma potencial de ataque na qual os mineradores poderiam essencialmente roubar bitcoins de outros mineradores. O bug afeta 10% das transações com timelock ou 2% dos citação bitcoin em geral. As descobertas do relatório lançam luz sobre uma área-chave da pesquisa de bitcoin que visa impedir que os mineradores se tornem poderosos demais ou trapaceiem de várias maneiras.

Como o bug detectado funciona

Uma transação com bloqueio de tempo impede que o destinatário do bitcoin o acesse imediatamente, tendo que esperar que a rede adicione primeiro um certo número de bloqueios ao registro distribuído.

Como cada novo bloco leva cerca de 10 minutos para carregar, um timelock pode ser programado, a critério da pessoa que o faz, para ser executado após o carregamento de um determinado número de blocos no futuro.

Mas o timelock ruim detectado pelo 0xb10c tem uma ação mais imediata. Definidos para o bloco atual, eles foram projetados para tornar "uma estratégia de mineração potencialmente destrutiva, denominada redução de taxas, menos lucrativa", disse 0xb10c.

Com o recorte de taxas, um minerador impróprio pode substituir um bloco que outra pessoa acabou de fazer check-out com o seu, incluindo essa transação específica e potencialmente outras transações pendentes. O mecanismo de timelock impede que eles incluam o último, circunscrevendo o saque da ação e tornando esse ataque menos conveniente.

Risco de longo prazo

“Atualmente, a não aplicação de um timelock não tem consequências para a maioria das transações. Em alguns anos, quando a recompensa do bloco consistir principalmente em taxas de transação, poderá levar a um corte de comissão rentável ”, disse 0xb10c.

Portanto, o bug pode ser mais prejudicial no futuro da rede. Mas, no momento, é muito provável que seja um problema de "baixa prioridade" para a maioria dos serviços de carteira, porque isso não resulta em usuários perdendo dinheiro ou afetando os prazos estabelecidos no futuro, disse 0xb10c. Além disso, o bug afeta negativamente a privacidade do usuário.

O corpo principal envolvido na disseminação do bug está pronto para encontrar uma solução

Muitas das transações erradas detectadas pelo 0xb10c foram executadas por uma única entidade de tamanho significativo, que não foi indicada. O engenheiro disse que entrou em contato com ele e recebeu uma resposta "profissional", disse ele, encontrando uma solução para o problema.

No entanto, pode levar algum tempo para a solução ser implementada. 0xb10c espera que suas pesquisas aumentem a conscientização sobre o risco de ataques de custo zero, para que carteiras que não configuraram corretamente transações com bloqueio de tempo possam fazê-lo, tornando a rede Bitcoin um pouco mais robusta. "É difícil encontrar as respectivas implementações que criam essas transações", disse 0xb10c. "Alguns deles podem não ser de código aberto, o que torna ainda mais difícil."