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.
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.
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.
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.
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.
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.
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.
15 gostos
Recompensa
15
6
Partilhar
Comentar
0/400
BlockchainBouncer
· 16h atrás
O bug de 2010 é realmente nostálgico.
Ver originalResponder0
RiddleMaster
· 19h atrás
Esse bug já deveria ter sido corrigido.
Ver originalResponder0
¯\_(ツ)_/¯
· 19h atrás
Este bug tem alguma coisa.
Ver originalResponder0
FUD_Vaccinated
· 19h atrás
Bem, em 2010 já começaram a explodir bugs.
Ver originalResponder0
FlashLoanPrince
· 19h atrás
As moedas virtuais também podem ser negociadas repetidamente?
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.
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.
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.
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.
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.
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.