Bitcoin repetição de vulnerabilidades de transação: casos históricos e análise de riscos futuros

robot
Geração de resumo em curso

Bitcoin transações duplicadas: uma falha interessante mas de risco muito baixo

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 gastas uma vez, caso contrário, isso levará a problemas de gasto duplo. 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 novas moedas diretamente. Assim, duas transações coinbase diferentes podem enviar a mesma quantidade de moeda para o mesmo endereço e serem construídas de maneira completamente idêntica, tornando-as totalmente consistentes. Como o conteúdo da transação é o mesmo, seus IDs de transação também são idênticos.

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

As duas séries de transações duplicadas ocorreram entre 14 e 15 de novembro de 2010, com uma duração de cerca de 16 horas. A primeira série de transações duplicadas d5d2....8599, embora tenha se tornado uma cópia primeiro, na verdade apareceu na blockchain mais tarde do que outra transação duplicada e3bf....b468.

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

É interessante notar que diferentes exploradores de blocos têm comportamentos diferentes ao exibir essas transações duplicadas. Alguns mostram por padrão blocos mais antigos, enquanto outros mostram blocos mais recentes.

Nos quatro blocos envolvidos, apenas um bloco contém outras transações, combinando saídas de 1 BTC e 19 BTC em uma saída de 20 BTC.

Essas transações repetidas envolvendo 200 BTC ainda não foram gastas até hoje. Teoricamente, a pessoa que possui a chave privada relacionada pode gastar essas bitcoins, mas uma vez que forem gastas, os 50 BTC repetidos serão perdidos, portanto, na prática, apenas 100 BTC estão disponíveis. Quanto a qual bloco esses moedas serão gastas, ainda não é possível determinar.

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

Transações duplicadas trazem claramente muitos problemas. Elas causam confusão nas carteiras e exploradores de blocos, além de deixar as pessoas incertas sobre a origem do Bitcoin. Mais seriamente, isso também pode ser usado para atacar instituições como as exchanges.

Para resolver esse problema, foi implementada a bifurcação suave BIP30 em março de 2012, proibindo o uso de IDs de transação duplicados para transações. Em setembro de 2012, essa regra foi expandida para se aplicar a todos os blocos.

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

O BIP34, ativado em março de 2013, exige que as transações coinbase incluam a altura do bloco, o que ajudou a resolver ainda mais o problema das transações duplicadas. Assim, em novembro de 2015, o software principal do Bitcoin parou de verificar o BIP30.

No entanto, o BIP34 não é uma solução perfeita. Em alguns blocos anteriores à ativação do BIP34, o primeiro byte do scriptSig da transação coinbase coincide exatamente com a altura do bloco que será válida no futuro. Isso significa que ainda é possível que ocorram transações duplicadas, sendo que o próximo bloco possível é 1,983,702, que se espera que seja gerado por volta de janeiro de 2046.

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

No entanto, o custo de explorar esta vulnerabilidade é muito alto. Tomando como exemplo o bloco 1,983,702, os mineradores precisariam gastar cerca de 170 BTC em taxas, o que equivale a cerca de 15 milhões de dólares ao preço atual. E é muito provável que esses fundos não possam ser recuperados.

Tendo em conta a dificuldade e o custo da cópia de transações, assim como a raridade das oportunidades, esta vulnerabilidade não constitui uma ameaça significativa à segurança do Bitcoin. No entanto, os desenvolvedores continuam a trabalhar arduamente para encontrar uma forma de resolver este problema de forma definitiva, o que pode exigir a implementação de um soft fork.

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

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 6
  • Partilhar
Comentar
0/400
CafeMinorvip
· 11h atrás
Ter mais protocolos não significa necessariamente que é mais seguro~
Ver originalResponder0
MEVHunterBearishvip
· 07-18 00:45
Este bug foi realmente chato de corrigir...
Ver originalResponder0
CompoundPersonalityvip
· 07-18 00:42
Nos primeiros anos, havia uma vulnerabilidade que realmente assustava as pessoas.
Ver originalResponder0
screenshot_gainsvip
· 07-18 00:42
O código é sempre uma armadilha.
Ver originalResponder0
fren_with_benefitsvip
· 07-18 00:34
Por que o desenvolvedor está a fazer confusão novamente~
Ver originalResponder0
RugPullSurvivorvip
· 07-18 00:27
Estranho, ainda há este bug
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)