Bitcoin transações duplicadas: uma falha interessante mas de baixo risco
No sistema Bitcoin, existe um fenômeno raro: dois conjuntos de transações completamente idênticas. Essa situação é possível porque as transações coinbase não têm entradas e geram novas moedas diretamente. Assim, duas transações coinbase diferentes podem enviar a mesma quantidade de moeda para o mesmo endereço e ser construídas de forma totalmente idêntica, tornando-as completamente equivalentes. Como o conteúdo dessas transações é o mesmo, os seus IDs de transação (TXID) também coincidirão, uma vez que o TXID é o valor hash dos dados da transação.
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 ( TXID:d5d2....8599) está inserida entre a segunda série. Embora d5d2....8599 tenha sido a primeira a se tornar uma cópia, é estranho que seu tempo de primeira aparição na blockchain seja posterior ao de outra transação duplicada e3bf....b468.
Transações duplicadas podem claramente causar alguns problemas. Elas podem levar à confusão nas carteiras e nos exploradores de blocos, além de dificultar o rastreamento da origem do Bitcoin. Mais grave ainda, isso pode ser usado para ataques. Por exemplo, um atacante pode pagar alguém duas vezes com duas transações duplicadas, mas, na verdade, o destinatário só pode receber metade dos fundos. Isso pode ser usado para atacar as exchanges, tentando deixá-las insolventes.
Para resolver este problema, os desenvolvedores de Bitcoin tomaram várias medidas:
Em março de 2012, foi implementado o soft fork BIP30, proibindo o uso de TXID duplicados para transações, a menos que o TXID anterior já tenha sido gasto.
Em setembro de 2012, Greg Maxwell alterou as regras para que a verificação BIP30 se aplicasse a todos os blocos, e não apenas aos blocos após 15 de março de 2012.
Ativação do soft fork BIP34 em março de 2013, exigindo que as transações coinbase incluam a altura do bloco, o que basicamente resolveu o problema de transações duplicadas.
Em novembro de 2015, os desenvolvedores removeram a verificação BIP30 dos nós, pois o BIP34 já tinha resolvido este problema.
No entanto, o BIP34 não é perfeito. Em alguns blocos antes da ativação do BIP34, o primeiro byte dos scriptSigs das transações coinbase coincidia exatamente com a altura do bloco que seria válido no futuro. Isso significa que ainda existe uma pequena possibilidade de gerar transações duplicadas.
O próximo bloco que pode ter transações duplicadas é 1,983,702, que se espera que seja gerado por volta de janeiro de 2046. Mas para explorar essa vulnerabilidade, os mineradores teriam que incorrer em custos enormes. Com o preço atual do Bitcoin, o custo do ataque pode ultrapassar 15 milhões de dólares, e quase não haveria retorno real.
As futuras vulnerabilidades potenciais no bloco só aparecerão em 2078, quando os custos de ataque podem ser ainda mais altos. Além disso, desde a atualização SegWit em 2017, as transações coinbase também incluem um compromisso com todas as transações no bloco, o que aumenta ainda mais a dificuldade de ataque.
Em suma, embora essa vulnerabilidade de transação repetida exista teoricamente, considerando a dificuldade, o custo e a oportunidade extremamente rara de explorá-la, ela não constitui uma ameaça de segurança principal para o Bitcoin. No entanto, essa questão ainda chamou a atenção dos desenvolvedores, que podem buscar uma correção completa dessa vulnerabilidade antes de 2046, possivelmente através de um soft fork.
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.
10 gostos
Recompensa
10
5
Partilhar
Comentar
0/400
AllInAlice
· 15h atrás
Velhos hábitos, quem ainda tem medo disso?
Ver originalResponder0
Ser_Liquidated
· 15h atrás
BTC nunca envelhece, ganhando dinheiro com a consciência tranquila.
Ver originalResponder0
SchrodingerPrivateKey
· 15h atrás
Já foi corrigido, é um velho calendário.
Ver originalResponder0
ForkMonger
· 16h atrás
nunca é tarde demais para um pouco de fud de governança...
Bitcoin repetição de transações: uma questão histórica interessante e um pequeno risco
Bitcoin transações duplicadas: uma falha interessante mas de baixo risco
No sistema Bitcoin, existe um fenômeno raro: dois conjuntos de transações completamente idênticas. Essa situação é possível porque as transações coinbase não têm entradas e geram novas moedas diretamente. Assim, duas transações coinbase diferentes podem enviar a mesma quantidade de moeda para o mesmo endereço e ser construídas de forma totalmente idêntica, tornando-as completamente equivalentes. Como o conteúdo dessas transações é o mesmo, os seus IDs de transação (TXID) também coincidirão, uma vez que o TXID é o valor hash dos dados da transação.
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 ( TXID:d5d2....8599) está inserida entre a segunda série. Embora d5d2....8599 tenha sido a primeira a se tornar uma cópia, é estranho que seu tempo de primeira aparição na blockchain seja posterior ao de outra transação duplicada e3bf....b468.
Transações duplicadas podem claramente causar alguns problemas. Elas podem levar à confusão nas carteiras e nos exploradores de blocos, além de dificultar o rastreamento da origem do Bitcoin. Mais grave ainda, isso pode ser usado para ataques. Por exemplo, um atacante pode pagar alguém duas vezes com duas transações duplicadas, mas, na verdade, o destinatário só pode receber metade dos fundos. Isso pode ser usado para atacar as exchanges, tentando deixá-las insolventes.
Para resolver este problema, os desenvolvedores de Bitcoin tomaram várias medidas:
Em março de 2012, foi implementado o soft fork BIP30, proibindo o uso de TXID duplicados para transações, a menos que o TXID anterior já tenha sido gasto.
Em setembro de 2012, Greg Maxwell alterou as regras para que a verificação BIP30 se aplicasse a todos os blocos, e não apenas aos blocos após 15 de março de 2012.
Ativação do soft fork BIP34 em março de 2013, exigindo que as transações coinbase incluam a altura do bloco, o que basicamente resolveu o problema de transações duplicadas.
Em novembro de 2015, os desenvolvedores removeram a verificação BIP30 dos nós, pois o BIP34 já tinha resolvido este problema.
No entanto, o BIP34 não é perfeito. Em alguns blocos antes da ativação do BIP34, o primeiro byte dos scriptSigs das transações coinbase coincidia exatamente com a altura do bloco que seria válido no futuro. Isso significa que ainda existe uma pequena possibilidade de gerar transações duplicadas.
O próximo bloco que pode ter transações duplicadas é 1,983,702, que se espera que seja gerado por volta de janeiro de 2046. Mas para explorar essa vulnerabilidade, os mineradores teriam que incorrer em custos enormes. Com o preço atual do Bitcoin, o custo do ataque pode ultrapassar 15 milhões de dólares, e quase não haveria retorno real.
As futuras vulnerabilidades potenciais no bloco só aparecerão em 2078, quando os custos de ataque podem ser ainda mais altos. Além disso, desde a atualização SegWit em 2017, as transações coinbase também incluem um compromisso com todas as transações no bloco, o que aumenta ainda mais a dificuldade de ataque.
Em suma, embora essa vulnerabilidade de transação repetida exista teoricamente, considerando a dificuldade, o custo e a oportunidade extremamente rara de explorá-la, ela não constitui uma ameaça de segurança principal para o Bitcoin. No entanto, essa questão ainda chamou a atenção dos desenvolvedores, que podem buscar uma correção completa dessa vulnerabilidade antes de 2046, possivelmente através de um soft fork.