Vulnerabilidade de transações duplicadas na história do Bitcoin: causas, impactos e análise de riscos futuros

robot
Geração do resumo em andamento

Bitcoin em transações duplicadas: um defeito interessante e de baixo risco

Visão Geral

As transações de Bitcoin normalmente utilizam saídas não gastas, referenciando o ID da transação anterior. Essas saídas só podem ser usadas uma vez, caso contrário, isso resultará em problemas de duplo gasto. No entanto, na história do Bitcoin, realmente ocorreram duas transações completamente idênticas. Essa situação pode acontecer porque as transações coinbase não têm entradas, mas geram moedas novas diretamente. Assim, duas transações coinbase diferentes podem enviar a mesma quantidade para o mesmo endereço, com a mesma construção, resultando na geração do mesmo ID de transação.

Esses dois conjuntos de transações duplicadas ocorreram entre 14 e 15 de novembro de 2010, com um intervalo de tempo de cerca de 16 horas. O ID do primeiro conjunto de transações duplicadas é d5d2....8599, embora tenha aparecido na blockchain mais tarde do que outra transação duplicada e3bf....b468.

Bitcoin的重复交易:一个风险极小的有趣Bug

Detalhes da Transação Repetida

Esses dois conjuntos de transações duplicadas aparecem em quatro blocos diferentes. Os exploradores de blocos podem ter comportamentos padrão diferentes ao exibir essas transações, alguns mostram blocos mais antigos, enquanto outros mostram blocos mais recentes.

Nos quatro blocos relacionados, apenas um bloco (91,812) contém outras transações, combinando 1 Bitcoin e 19 Bitcoin em uma saída de 20 Bitcoin.

Bitcoin de transações duplicadas: um Bug interessante com risco muito baixo

Estas saídas podem ser utilizadas?

O valor de cada transação repetida é de 50 BTC, envolvendo um total de 200 BTC( ou 100 BTC, dependendo da forma como é compreendido). Até agora, esses 200 BTC não foram utilizados. Teoricamente, quem possui a chave privada relevante pode usar essas moedas, mas uma vez usadas, os 50 BTC repetidos não poderão ser utilizados novamente e serão perdidos, portanto, na prática, apenas 100 BTC podem ser recuperados.

Bitcoin de transações duplicadas: um bug interessante com risco muito baixo

Problema de transações repetidas

Transações duplicadas podem causar confusão nas carteiras e exploradores de blocos, além de levar a fontes de Bitcoin não claras. Isso também pode ser usado em alguns ataques e exploração de vulnerabilidades, como depósitos fraudulentos em exchanges.

Solução

Para resolver o problema de transações duplicadas, foi implementado o soft fork BIP30 em março de 2012, que proíbe o uso de IDs de transação duplicados, a menos que a transação anterior tenha sido usada. Em setembro do mesmo ano, essa regra foi ainda mais modificada, aplicando-se a todos os blocos.

Em março de 2013, a bifurcação suave BIP34 exigiu que as transações coinbase incluíssem a altura do bloco, o que na verdade resolveu o problema de transações duplicadas. Desde então, o software principal do Bitcoin parou de verificar o BIP30, pois já não era mais necessário.

Bitcoin de transações duplicadas: um bug interessante com risco muito baixo

Questões potenciais futuras

Embora o BIP34 tenha resolvido a maior parte dos problemas, em alguns blocos antes da ativação do BIP34, o primeiro byte do scriptSig da transação coinbase coincide exatamente com a futura altura de bloco válida. Isso significa que, em certas alturas de bloco específicas no futuro, ainda é possível que ocorram transações duplicadas.

O próximo bloco onde podem ocorrer transações duplicadas é 1,983,702, previsto para ser gerado por volta de janeiro de 2046. No entanto, o custo de explorar essa vulnerabilidade é muito alto, exigindo queima de uma grande quantidade de Bitcoin, e não oferece praticamente nenhum benefício real para o atacante.

Bitcoin的重复交易:一个风险极小的有趣Bug

Conclusão

Considerando a dificuldade de copiar transações, os custos e a escassez de oportunidades para tal, esta vulnerabilidade não representa uma ameaça significativa à segurança do Bitcoin. No entanto, devido à sua singularidade e à possibilidade de persistir a longo prazo, continua a ser uma questão técnica interessante. Os desenvolvedores podem procurar resolver este problema de forma abrangente antes de 2046, possivelmente através de uma soft fork. Uma solução potencial é a aplicação obrigatória do compromisso SegWit.

Bitcoin de transações duplicadas: um Bug interessante com risco muito baixo

BTC2.54%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 2
  • Compartilhar
Comentário
0/400
SmartMoneyWalletvip
· 16h atrás
na cadeia os dados nunca mentem, 97% do risco foi bloqueado pelo BIP34.
Ver originalResponder0
AltcoinOraclevip
· 16h atrás
fascinante como o protocolo evolui... as minhas métricas proprietárias mostram 0,0021% de probabilidade de exploração real, para ser honesto
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)