Compartilhe este artigo

Risco de gasto duplo permanece após o fork do Bitcoin em 4 de julho

Uma bifurcação na rede Bitcoin levantou questões sobre como os principais participantes da rede de pagamento processam e confirmam transações.

O atraso na implementação de uma atualização do Bitcoin CORE por um pequeno número de mineradores da rede resultou na adição de blocos de transações inválidos ao blockchain do Bitcoin neste fim de semana.

O resultado foi uma bifurcação na rede que criou duas versões do blockchain do Bitcoin , que continuou por seis blocos em 4 de julho. Mais três blocos inválidos foram adicionados ao blockchain em uma repetição do problema no dia seguinte.

A História Continua abaixo
Não perca outra história.Inscreva-se na Newsletter Crypto Long & Short hoje. Ver Todas as Newsletters

Como resultado, os desenvolvedores do CORE emitiu um aviso no Bitcoin.org solicitando que os provedores de carteiras examinem mais detalhadamente as transações recebidas devido ao risco de que os fundos possam ser gastos duas vezes como resultado da discrepância entre as cadeias.

A publicação, que ainda está ativa no site, aconselha essas entidades a aguardar mais 30 confirmações antes de considerar as transações válidas.

Raiz do problema

No centro da questão está, sem dúvida, a natureza descentralizada do blockchain do Bitcoin e o grau de controle que seus participantes têm sobre como contribuem para a verificação de transações no livro-razão distribuído da moeda digital.

Essa capacidade dos usuários de ter algum controle sobre como eles interagem com a rede, por exemplo, faz com que os mineradores sejam capazes de negligenciar mudanças de software e que a rede continue funcionando mesmo que eles o façam.

Como precaução, os desenvolvedores do CORE passaram a esperar que a maioria dos mineradores implementassem as mudanças. Neste caso, BIP66 – um soft fork do Bitcoin projetado para tornar a rede menos dependente da análise de assinatura do OpenSSL – declarou que certos blocos de transação criados sem essa atualização seriam considerados inválidos quando a maioria – 950 de 1.000 blocos – fossem minerados com a versão mais recente.

Em teoria, o risco de um problema era baixo, com apenas 5% da rede executando a versão desatualizada do BIP66. No entanto, na prática, três pools executando versões leves de elementos de software foram capazes de processar seis blocos consecutivos que deveriam ser inválidos, criando duas versões do blockchain do Bitcoin , a mais longa das quais estava operando em um software mais antigo.

Neste caso, certos pools de mineração foramMineração SPV, o que significa que eles não estavam validando a versão completa do blockchain do Bitcoin . Por sua vez, esses blocos inválidos estavam sendo considerados válidos por provedores de carteiras de Bitcoin e exploradores de blocos executando versões SPV de software em oposição a nós completos com todo o histórico do livro-razão.

Fabio Federici, CEO do provedor de inteligência de blockchain Coinalytics, explicou ao CoinDesk:

"Os clientes do SPV estavam alegando que Siga as regras do BIP66, mas não estavam realmente aplicando-as. Uma grande parte da rede de mineração não está sendo executada em nós completos, o que validaria cada transação."

Embora iniciado pelo F2Pool, se os outros pools de mineração estivessem executando um nó completo para processar todo o blockchain do Bitcoin , os blocos inválidos deveriam ter sido detectados mais rapidamente.

Consenso comum

Embora não seja incomum com atualizações de software, a situação foi digna de nota, pois o bloco inválido foi posteriormente construído pela rede de mineração maior.

Peter Gray, fundador da API de desenvolvimento de Bitcoin Coinkite, observou que problemas com atualizações de software são comuns, resultantes das atualizações contínuas feitas na rede de pagamento.

"Acho que é útil lembrar às pessoas que bifurcações acontecem toda semana no Bitcoin. Normalmente, apenas um único bloco fica órfão em uma semana típica, e não é um bug ou ataque ou algo assim; é apenas a maneira como o Bitcoin funciona", disse Gray.

As empresas de mineração que resolveram blocos inválidos perderam renda como resultado da necessidade de corrigir o problema, com o Bitcoin.org estimando que US$ 50.000 em receita foram efetivamente retidos do F2Pool, AntPool e BTC Nuggets, o três pools de mineraçãoque efetivamente criou e propagou brevemente a cadeia inválida.

As recompensas nunca foram pagas, pois os ganhos de 25 BTC por bloco foram enviados para uma carteira de Bitcoin que invalidou os blocos após sincronizar com a cadeia válida.

Efeitos posteriores

Em seu aviso, o Bitcoin.org disse que os clientes cujas transações de Bitcoin foram confirmadas antes da meia-noite (UTC) de 6 de julho não foram afetados pela falha, embora transações realizadas após esse horário tenham pontuações de confirmação "significativamente menos confiáveis".

Bitcoin.org explicadoa confirmação deblocos inválidosé devido ao fato de os clientes de software não atualizarem para o Bitcoin CORE 0.9.5 ou posterior e alertou que carteiras leves usando SPV e carteiras da web eram particularmente vulneráveis ​​ao bug.

Alertando que o problema continuava sem solução, o Bitcoin.org pediu aos usuários que "esperassem 30 confirmações a mais" do que o normal antes de aceitar uma transação como válida. Ele também recomendou que os mineradores mudassem para um pool que validasse blocos de transação usando um nó completo e que os mineradores individuais usassem o Bitcoin CORE 0.10.2.

Quanto aos principais resultados, aqueles que forneceram comentários sugeriram que o evento deveria ser usado como um lembrete da necessidade de os principais participantes da rede Bitcoin executarem nós completos.

"A principal conclusão é a distribuição de nós completos versus nós SPV. Todos devem executar um nó completo, e talvez T faça sentido economicamente ou haja outros benefícios de um cliente SPV, mas isso vem com o risco", Federici continuou.

Yessi Bello-Perez contribuiu com a reportagem.

Imagem de bifurcação na estradavia Shutterstock

Pete Rizzo

Pete Rizzo foi editor-chefe da CoinDesk até setembro de 2019. Antes de ingressar na CoinDesk em 2013, ele foi editor da fonte de notícias sobre pagamentos PYMNTS.com.

Picture of CoinDesk author Pete Rizzo