Bitcoin vulnerabilidade de transações repetidas: problemas históricos e desafios futuros

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

Existe um fenômeno interessante na rede Bitcoin: duas transações completamente idênticas. Essa situação é possível 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 Bitcoin para o mesmo endereço e serem construídas de forma completamente idêntica, tornando-as totalmente iguais. Como essas transações são iguais, seus IDs de transação ( TXID ) também coincidem, uma vez que o TXID é o resumo hash dos dados da transação.

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

Esses dois conjuntos de transações repetidas ocorreram entre 14 e 15 de novembro de 2010, com uma duração de cerca de 16 horas. O primeiro conjunto de transações repetidas foi inserido entre o segundo conjunto. Classificamos d5d2....8599 como a primeira transação repetida, pois se tornou uma cópia primeiro, embora tenha aparecido na blockchain após outra transação repetida e3bf....b468.

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

O valor total de Bitcoin envolvido nessas transações repetidas é de 200 BTC, ou talvez 100 BTC, dependendo da forma como é interpretado. Até o momento, esses Bitcoins não foram utilizados. Teoricamente, a pessoa que possui a chave privada correspondente pode usar esses Bitcoins, mas uma vez utilizados, os 50 BTC duplicados não poderão ser usados novamente e serão perdidos, portanto, na prática, apenas 100 BTC estão disponíveis.

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

Transações duplicadas são claramente problemáticas. Elas causam confusão nas carteiras e nos exploradores de blocos, além de tornar incerta a origem do Bitcoin. Isso também pode levar a alguns ataques e vulnerabilidades, como pagar alguém duas vezes com duas transações duplicadas, mas na verdade apenas metade dos fundos está disponível.

Para resolver este problema, os desenvolvedores propuseram várias propostas de melhoria:

  1. BIP30: um hard fork implementado em março de 2012, que proíbe o uso de TXID duplicados para transações, a menos que o TXID anterior já tenha sido utilizado.

  2. BIP34: ativado em março de 2013, exige que as transações coinbase incluam a altura do bloco, tornando todas as transações únicas.

  3. Em novembro de 2015, os desenvolvedores removeram a verificação BIP30, pois o BIP34 já tinha resolvido este problema.

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

No entanto, o BIP34 não é uma solução perfeita. Em alguns blocos antes da ativação do BIP34, houve casos em que o primeiro byte do scriptSig da transação coinbase correspondia exatamente à altura do bloco válido no futuro. O próximo bloco em que é possível que ocorram transações duplicadas é o 1,983,702, previsto para ser gerado por volta de janeiro de 2046.

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

Apesar disso, o custo e a dificuldade de explorar essa vulnerabilidade são muito altos. Tomando como exemplo o bloco 1.983.702, os mineradores precisariam gastar mais de 170 BTC(, o que equivale a cerca de 15 milhões de dólares) aos preços atuais, para realizar um ataque, e quase não haveria ganho real.

Considerando a dificuldade e o custo de replicar transações, bem como a escassez de oportunidades, esta vulnerabilidade não representa uma ameaça significativa à segurança do Bitcoin. No entanto, os desenvolvedores podem ainda procurar uma solução completa para este problema antes de 2046, podendo incluir a aplicação obrigatória do compromisso SegWit, entre outros.

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

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
  • 5
  • Partilhar
Comentar
0/400
SmartContractPlumbervip
· 15h atrás
Um 0day interessante, mas parece um caso de teste.
Ver originalResponder0
GateUser-a5fa8bd0vip
· 07-14 21:40
Velho bug. Como é que não o aproveitamos na altura?
Ver originalResponder0
consensus_whisperervip
· 07-14 21:39
É outra vez a vulnerabilidade antiga do Satoshi Nakamoto.
Ver originalResponder0
SchrodingerWalletvip
· 07-14 21:34
Dor no fígado, esse tipo de bug apareceu cedo.
Ver originalResponder0
gas_fee_therapyvip
· 07-14 21:12
Ah, é verdade que houve uma colisão de txid.
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)