Bitcoin transações duplicadas: um problema técnico interessante, embora de baixa probabilidade
As transações de Bitcoin geralmente 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 levará a um problema de duplo gasto. No entanto, na história do Bitcoin, realmente houve dois conjuntos de transações exatamente idênticas. Essa situação pode ocorrer 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 para o mesmo endereço, sendo construídas exatamente da mesma forma, resultando em transações idênticas. Como o conteúdo das transações é o mesmo, seus IDs também correspondem.
As duas séries de transações repetidas 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 repetidas (d5d2....8599) tornou-se a cópia, mas estranhamente apareceu pela primeira vez na blockchain após outra transação repetida (e3bf....b468).
A ocorrência de transações duplicadas traz alguns problemas para o sistema. Elas podem confundir carteiras e exploradores de blocos, além de dificultar a determinação da origem do Bitcoin. Isso também pode ser explorado para ataques, como pagar a alguém duas vezes com duas transações duplicadas, mas na verdade apenas metade dos fundos estão disponíveis.
Para resolver este problema, em 2012 os desenvolvedores do Bitcoin propuseram e implementaram a bifurcação suave BIP30, que proíbe o uso de IDs de transação duplicados, a menos que o ID de transação anterior tenha sido gasto. Em setembro de 2012, esta regra foi ainda mais modificada, aplicando-se a todos os blocos, exceto as duas transações duplicadas mencionadas anteriormente.
Em março de 2013, o BIP34 entrou em vigor, exigindo que as transações coinbase incluíssem informações sobre a altura do bloco. Isso parece ter resolvido completamente o problema de transações duplicadas, uma vez que agora todas as transações devem ser únicas. No entanto, em alguns blocos anteriores à ativação do BIP34, o primeiro byte do scriptSig das transações coinbase coincidia exatamente com a altura do bloco que se tornaria válida no futuro. Isso significa que o problema de transações duplicadas ainda pode surgir no futuro.
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, para explorar essa vulnerabilidade, os mineradores precisariam gastar enormes custos, enquanto os lucros seriam limitados. Com o preço atual do Bitcoin, esse tipo de ataque poderia custar mais de 15 milhões de dólares.
Embora esta vulnerabilidade não pareça ser uma das principais ameaças à segurança do Bitcoin, os desenvolvedores ainda estão trabalhando em soluções de correção. Uma possível abordagem é a imposição do compromisso SegWit. De um modo geral, trata-se de um problema técnico de baixa probabilidade, mas muito interessante, que reflete a complexidade do sistema Bitcoin e o seu processo de evolução a longo prazo.
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.
16 Curtidas
Recompensa
16
5
Compartilhar
Comentário
0/400
OffchainWinner
· 9h atrás
Tsk tsk, na história, apenas houve esta única vez de transação duplicada.
Ver originalResponder0
GetRichLeek
· 07-16 01:09
Uau, que coisa! Já tinha cavado este buraco em 2010. Se soubesse, na altura teria comprado um pouco e apanhar uma faca a cair também não teria sido mau.
Ver originalResponder0
PerpetualLonger
· 07-16 00:57
comprar na baixa são apenas tigres de papel, a fé é que pode aquecer a Carteira
Ver originalResponder0
SellTheBounce
· 07-16 00:57
O sistema antigo voltou a dar bugs, quem comprar na baixa é mesmo corajoso.
Ver originalResponder0
OnchainGossiper
· 07-16 00:50
Esse bug é tão absurdo, no final do texto deixa a expectativa no ar.
O enigma das transações duplicadas na história do Bitcoin: causas, impactos e riscos futuros
Bitcoin transações duplicadas: um problema técnico interessante, embora de baixa probabilidade
As transações de Bitcoin geralmente 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 levará a um problema de duplo gasto. No entanto, na história do Bitcoin, realmente houve dois conjuntos de transações exatamente idênticas. Essa situação pode ocorrer 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 para o mesmo endereço, sendo construídas exatamente da mesma forma, resultando em transações idênticas. Como o conteúdo das transações é o mesmo, seus IDs também correspondem.
As duas séries de transações repetidas 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 repetidas (d5d2....8599) tornou-se a cópia, mas estranhamente apareceu pela primeira vez na blockchain após outra transação repetida (e3bf....b468).
A ocorrência de transações duplicadas traz alguns problemas para o sistema. Elas podem confundir carteiras e exploradores de blocos, além de dificultar a determinação da origem do Bitcoin. Isso também pode ser explorado para ataques, como pagar a alguém duas vezes com duas transações duplicadas, mas na verdade apenas metade dos fundos estão disponíveis.
Para resolver este problema, em 2012 os desenvolvedores do Bitcoin propuseram e implementaram a bifurcação suave BIP30, que proíbe o uso de IDs de transação duplicados, a menos que o ID de transação anterior tenha sido gasto. Em setembro de 2012, esta regra foi ainda mais modificada, aplicando-se a todos os blocos, exceto as duas transações duplicadas mencionadas anteriormente.
Em março de 2013, o BIP34 entrou em vigor, exigindo que as transações coinbase incluíssem informações sobre a altura do bloco. Isso parece ter resolvido completamente o problema de transações duplicadas, uma vez que agora todas as transações devem ser únicas. No entanto, em alguns blocos anteriores à ativação do BIP34, o primeiro byte do scriptSig das transações coinbase coincidia exatamente com a altura do bloco que se tornaria válida no futuro. Isso significa que o problema de transações duplicadas ainda pode surgir no futuro.
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, para explorar essa vulnerabilidade, os mineradores precisariam gastar enormes custos, enquanto os lucros seriam limitados. Com o preço atual do Bitcoin, esse tipo de ataque poderia custar mais de 15 milhões de dólares.
Embora esta vulnerabilidade não pareça ser uma das principais ameaças à segurança do Bitcoin, os desenvolvedores ainda estão trabalhando em soluções de correção. Uma possível abordagem é a imposição do compromisso SegWit. De um modo geral, trata-se de um problema técnico de baixa probabilidade, mas muito interessante, que reflete a complexidade do sistema Bitcoin e o seu processo de evolução a longo prazo.