Bitcoin repetição de transação vulnerabilidade: eventos históricos raros e análise de riscos futuros

Bitcoin no sistema: uma vulnerabilidade rara e interessante

As transações de Bitcoin normalmente utilizam saídas não gastas, referenciando o ID da transação anterior. Essas saídas podem ser usadas apenas uma vez, caso contrário, pode resultar em um problema de gasto duplo. No entanto, na história do Bitcoin, houve duas ocorrências de transações exatamente iguais. Essa situação é possível porque as transações coinbase não têm entradas, mas geram moedas novas diretamente. Portanto, duas transações coinbase diferentes podem enviar a mesma quantidade de Bitcoin para o mesmo endereço, resultando em transações completamente idênticas. Como essas transações têm conteúdo idêntico, seus IDs de transação também coincidem.

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

Esses dois conjuntos de transações duplicadas ocorreram entre 14 e 15 de novembro de 2010, com um intervalo de tempo de aproximadamente 16 horas. O ID do primeiro conjunto de transações duplicadas começa com d5d2 e termina com 8599; o segundo conjunto começa com e3bf e termina com b468. Curiosamente, embora d5d2....8599 tenha se tornado uma cópia primeiro, ele apareceu pela primeira vez na blockchain mais tarde do que e3bf....b468.

Bitcoin de transações repetidas: um Bug interessante com risco extremamente baixo

O volume total de Bitcoin envolvido nessas transações repetidas é de 200 BTC, com cada transação sendo de 50 BTC. Até o momento, esses Bitcoins ainda não foram utilizados. Teoricamente, a pessoa que possui a chave privada relacionada pode gastar esses Bitcoins, mas uma vez utilizados, os 50 BTC duplicados serão perdidos, portanto, o Bitcoin efetivamente disponível pode ser apenas 100 BTC.

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

Transações duplicadas podem causar problemas para carteiras e exploradores de blocos, além de obscurecer a origem do Bitcoin. Mais grave ainda, isso pode ser utilizado para atacar instituições como as exchanges, resultando em perdas de fundos. Para resolver esse problema, em março de 2012 foi implementado o soft fork BIP30, que proíbe o uso de IDs de transações duplicadas, a menos que a transação anterior já tenha sido utilizada. Em setembro do mesmo ano, essa regra foi ainda mais ampliada para todos os blocos.

Bitcoin de transações repetidas: um Bug interessante com risco extremamente baixo

A bifurcação suave BIP34 ativada em março de 2013 exige que as transações coinbase incluam informações sobre a altura do bloco, o que reduz ainda mais a probabilidade de ocorrência de transações duplicadas. No entanto, existem transações coinbase em alguns blocos anteriores ao BIP34, cujo primeiro byte do scriptSig coincide exatamente com a altura do bloco que será válida no futuro, o que significa que o risco de transações duplicadas ainda existe, embora seja extremamente raro.

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

O próximo bloco que pode ter transações duplicadas é 1,983,702, previsto para ser gerado por volta de janeiro de 2046. Para explorar essa vulnerabilidade, os mineradores precisam arcar com um custo elevado, incluindo queimar uma grande quantidade de Bitcoin como taxa de transação. Considerando os custos e a dificuldade, essa vulnerabilidade não representa uma ameaça significativa à segurança do sistema Bitcoin.

Apesar disso, os desenvolvedores têm trabalhado para resolver esse problema ao longo dos anos. As possíveis soluções incluem a imposição do compromisso SegWit, que pode exigir a implementação por meio de um hard fork. Embora esta vulnerabilidade seja quase impossível de ser explorada na prática, ela destaca a complexidade do sistema Bitcoin e os potenciais problemas legados.

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

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 6
  • Partilhar
Comentar
0/400
BlockchainBouncervip
· 16h atrás
O bug de 2010 é realmente nostálgico.
Ver originalResponder0
RiddleMastervip
· 19h atrás
Esse bug já deveria ter sido corrigido.
Ver originalResponder0
¯\_(ツ)_/¯vip
· 19h atrás
Este bug tem alguma coisa.
Ver originalResponder0
FUD_Vaccinatedvip
· 19h atrás
Bem, em 2010 já começaram a explodir bugs.
Ver originalResponder0
FlashLoanPrincevip
· 19h atrás
As moedas virtuais também podem ser negociadas repetidamente?
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)