Bitcoin em transações duplicadas: uma falha interessante, mas de risco extremamente baixo
As transações de Bitcoin geralmente utilizam saídas não gastas referenciando o ID da transação anterior. Estas saídas só podem ser utilizadas uma vez, caso contrário, isso resultará em um problema de duplicação de pagamentos. No entanto, na história do Bitcoin, realmente ocorreram dois conjuntos de transações completamente idênticas. Isso se deve ao fato de que as transações coinbase não têm entradas, apenas moedas recém-geradas. Portanto, duas transações coinbase podem enviar a mesma quantidade para o mesmo endereço, de forma completamente idêntica, resultando assim no mesmo ID de transação.
Estas duas séries de transações duplicadas ocorreram entre 14 e 15 de novembro de 2010, com uma duração de aproximadamente 16 horas. A primeira série de transações duplicadas foi intercalada entre a segunda série. Classificamos as transações cujo ID começa com d5d2 como a primeira transação duplicada, embora tenha aparecido mais tarde na blockchain.
Essas transações repetidas têm cada uma o valor de 50 BTC, totalizando 200 BTC, ou pode-se entender como 100 BTC. Até o momento, esses 200 BTC não foram usados. Teoricamente, quem possui a chave privada relacionada pode usar esses Bitcoins, mas apenas 100 BTC podem ser recuperados, enquanto os outros 100 BTC não poderão ser utilizados. Quanto a qual bloco esses moedas foram utilizadas, pode ser impossível determinar.
Transações duplicadas podem causar confusão nas carteiras e nos exploradores de blocos, e também podem ser usadas para ataques. Por exemplo, pagar duas vezes a alguém com duas transações duplicadas, mas o destinatário acaba recebendo apenas metade do dinheiro. Isso pode ser usado para atacar a exchange, tentando causar problemas com seus fundos.
Para resolver este problema, em março de 2012 foi implementado o BIP30, um hard fork que proíbe o uso de IDs de transação duplicados, a menos que a transação anterior tenha sido usada. Em setembro de 2012, esta regra foi ainda mais modificada, aplicando-se a todos os blocos, mantendo apenas os dois conjuntos de transações duplicadas mencionados anteriormente.
O BIP34 ativado em março de 2013 exige que as transações coinbase incluam a altura do bloco, o que basicamente resolveu o problema de transações duplicadas. Desde então, os nós pararam de realizar a cara verificação BIP30.
No entanto, antes da ativação do BIP34, ainda havia algumas transações coinbase cujo scriptSig tinha o primeiro byte correspondente exatamente à altura do bloco que seria válido no futuro. O próximo bloco onde transações duplicadas podem ocorrer é 1,983,702, previsto para ser gerado em janeiro de 2046. Mas explorar essa vulnerabilidade tem um custo muito alto, exigindo queimar cerca de 170 BTC, o que, ao preço atual, ultrapassa os 15 milhões de dólares.
Considerando a dificuldade e o custo de copiar transações, bem como a raridade de aproveitar oportunidades, esta vulnerabilidade não é um dos principais problemas de segurança do Bitcoin. No entanto, a longo prazo, os desenvolvedores podem resolver completamente este problema até 2046 através de métodos como hard forks.
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.
6 Curtidas
Recompensa
6
5
Compartilhar
Comentário
0/400
GasFeeCrier
· 1h atrás
Já era tempo de corrigir esse bug do btc há 13 anos.
Ver originalResponder0
StakeWhisperer
· 13h atrás
Bitcoin está em rumores novamente.
Ver originalResponder0
GasWaster
· 08-04 05:30
lmao imagina preocupar-se com duplicatas de tx quando estou aqui a pagar 3x Taxa de gás em transações falhadas smh
Ver originalResponder0
HackerWhoCares
· 08-04 05:30
50 moedas de btc, só de pensar já dói o coração.
Ver originalResponder0
hodl_therapist
· 08-04 05:12
Fiquei tonto de tanto negociar. Quando é que há informação favorável?
Bitcoin vulnerabilidade de transação duplicada: rara, mas com impacto potencialmente profundo
Bitcoin em transações duplicadas: uma falha interessante, mas de risco extremamente baixo
As transações de Bitcoin geralmente utilizam saídas não gastas referenciando o ID da transação anterior. Estas saídas só podem ser utilizadas uma vez, caso contrário, isso resultará em um problema de duplicação de pagamentos. No entanto, na história do Bitcoin, realmente ocorreram dois conjuntos de transações completamente idênticas. Isso se deve ao fato de que as transações coinbase não têm entradas, apenas moedas recém-geradas. Portanto, duas transações coinbase podem enviar a mesma quantidade para o mesmo endereço, de forma completamente idêntica, resultando assim no mesmo ID de transação.
Estas duas séries de transações duplicadas ocorreram entre 14 e 15 de novembro de 2010, com uma duração de aproximadamente 16 horas. A primeira série de transações duplicadas foi intercalada entre a segunda série. Classificamos as transações cujo ID começa com d5d2 como a primeira transação duplicada, embora tenha aparecido mais tarde na blockchain.
Essas transações repetidas têm cada uma o valor de 50 BTC, totalizando 200 BTC, ou pode-se entender como 100 BTC. Até o momento, esses 200 BTC não foram usados. Teoricamente, quem possui a chave privada relacionada pode usar esses Bitcoins, mas apenas 100 BTC podem ser recuperados, enquanto os outros 100 BTC não poderão ser utilizados. Quanto a qual bloco esses moedas foram utilizadas, pode ser impossível determinar.
Transações duplicadas podem causar confusão nas carteiras e nos exploradores de blocos, e também podem ser usadas para ataques. Por exemplo, pagar duas vezes a alguém com duas transações duplicadas, mas o destinatário acaba recebendo apenas metade do dinheiro. Isso pode ser usado para atacar a exchange, tentando causar problemas com seus fundos.
Para resolver este problema, em março de 2012 foi implementado o BIP30, um hard fork que proíbe o uso de IDs de transação duplicados, a menos que a transação anterior tenha sido usada. Em setembro de 2012, esta regra foi ainda mais modificada, aplicando-se a todos os blocos, mantendo apenas os dois conjuntos de transações duplicadas mencionados anteriormente.
O BIP34 ativado em março de 2013 exige que as transações coinbase incluam a altura do bloco, o que basicamente resolveu o problema de transações duplicadas. Desde então, os nós pararam de realizar a cara verificação BIP30.
No entanto, antes da ativação do BIP34, ainda havia algumas transações coinbase cujo scriptSig tinha o primeiro byte correspondente exatamente à altura do bloco que seria válido no futuro. O próximo bloco onde transações duplicadas podem ocorrer é 1,983,702, previsto para ser gerado em janeiro de 2046. Mas explorar essa vulnerabilidade tem um custo muito alto, exigindo queimar cerca de 170 BTC, o que, ao preço atual, ultrapassa os 15 milhões de dólares.
Considerando a dificuldade e o custo de copiar transações, bem como a raridade de aproveitar oportunidades, esta vulnerabilidade não é um dos principais problemas de segurança do Bitcoin. No entanto, a longo prazo, os desenvolvedores podem resolver completamente este problema até 2046 através de métodos como hard forks.