Bitcoin Trading Copying Phenomenon: A Low-Risk but Interesting Special Case
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 levaria a um problema de duplicação de pagamentos. No entanto, existem dois conjuntos de transações idênticas no sistema Bitcoin. Isso acontece porque as transações coinbase não têm entradas, mas geram novas moedas. Portanto, duas transações coinbase diferentes podem enviar a mesma quantia para o mesmo endereço, de maneira completamente idêntica, resultando em transações idênticas. Como o conteúdo das transações é o mesmo, seus IDs de transação também corresponderão, uma vez que o ID da transação é o hash dos dados da transação. A menos que ocorra uma colisão de hash, não é possível ter IDs de transação duplicados, e colisões de hash nunca ocorreram no Bitcoin ou em qualquer outro sistema.
As duas séries de transações duplicadas ocorreram entre 14 e 15 de novembro de 2010, com um intervalo de tempo de cerca de 16 horas. A primeira série de transações duplicadas (d5d2....8599), embora apareça na blockchain mais tarde que a outra série, é considerada a primeira cópia.
A partir da captura de tela do explorador de blocos, pode-se ver que a primeira transação duplicada aparece em dois blocos diferentes. Curiosamente, o comportamento padrão de diferentes exploradores de blocos ao exibir essas transações duplicadas é diferente. Nos quatro blocos relevantes, apenas um bloco contém outras transações.
O total de Bitcoin envolvido nessas transações duplicadas é de 200 BTC, mas na verdade apenas 100 BTC são realmente existentes. Até agora, esses 200 BTC não foram utilizados. Teoricamente, se alguém tiver a chave privada relevante, pode usar esses Bitcoins. Mas uma vez utilizados, os 50 BTC duplicados não poderão ser usados novamente. Quanto a partir de qual bloco será deduzido ao usar, pode ser incerto.
Transações duplicadas podem causar confusão para carteiras e exploradores de blocos, e também podem ser usadas para ataques fraudulentos. Para resolver esse problema, em março de 2012 foi implementada a bifurcação suave BIP30, que proíbe o uso de IDs de transações duplicadas, a menos que a transação anterior tenha sido utilizada. Em setembro do mesmo ano, essa regra foi ainda mais modificada para se aplicar a todos os blocos, mas manteve as duas transações duplicadas iniciais como exceção.
O BIP34 ativado em março de 2013 exige que as transações coinbase incluam a altura do bloco, o que resolveu em grande parte o problema de transações duplicadas. No entanto, em alguns blocos anteriores à ativação do BIP34, o primeiro byte do scriptSig da transação coinbase correspondia exatamente à altura do bloco que se tornaria válida no futuro, o que significa que ainda existe a possibilidade de duplicação.
O próximo bloco que pode ter transações duplicadas é 1,983,702, previsto para ser gerado em torno de janeiro de 2046. O custo de explorar essa vulnerabilidade é muito alto, podendo ultrapassar 15 milhões de dólares, e quase não traz benefícios reais para o atacante. Os próximos blocos vulneráveis só aparecerão em 2078.
Considerando a dificuldade e o custo de explorar esta vulnerabilidade, bem como a escassez de oportunidades, o problema de transações duplicadas não constitui uma ameaça principal à segurança do Bitcoin. No entanto, dada a duração envolvida e a singularidade do problema, ainda é um tópico que provoca reflexão. Os desenvolvedores do Bitcoin podem procurar resolver este problema de forma abrangente antes de 2046, possivelmente através de um hard fork. Uma solução possível é a execução obrigatória do compromisso SegWit.
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.
13 Curtidas
Recompensa
13
3
Repostar
Compartilhar
Comentário
0/400
RektDetective
· 08-12 13:26
Em 2010, naquela época, um btc custava apenas alguns cêntimos.
Repetições raras de transações na história do Bitcoin: Discussão sobre riscos potenciais futuros e soluções
Bitcoin Trading Copying Phenomenon: A Low-Risk but Interesting Special Case
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 levaria a um problema de duplicação de pagamentos. No entanto, existem dois conjuntos de transações idênticas no sistema Bitcoin. Isso acontece porque as transações coinbase não têm entradas, mas geram novas moedas. Portanto, duas transações coinbase diferentes podem enviar a mesma quantia para o mesmo endereço, de maneira completamente idêntica, resultando em transações idênticas. Como o conteúdo das transações é o mesmo, seus IDs de transação também corresponderão, uma vez que o ID da transação é o hash dos dados da transação. A menos que ocorra uma colisão de hash, não é possível ter IDs de transação duplicados, e colisões de hash nunca ocorreram no Bitcoin ou em qualquer outro sistema.
As duas séries de transações duplicadas ocorreram entre 14 e 15 de novembro de 2010, com um intervalo de tempo de cerca de 16 horas. A primeira série de transações duplicadas (d5d2....8599), embora apareça na blockchain mais tarde que a outra série, é considerada a primeira cópia.
A partir da captura de tela do explorador de blocos, pode-se ver que a primeira transação duplicada aparece em dois blocos diferentes. Curiosamente, o comportamento padrão de diferentes exploradores de blocos ao exibir essas transações duplicadas é diferente. Nos quatro blocos relevantes, apenas um bloco contém outras transações.
O total de Bitcoin envolvido nessas transações duplicadas é de 200 BTC, mas na verdade apenas 100 BTC são realmente existentes. Até agora, esses 200 BTC não foram utilizados. Teoricamente, se alguém tiver a chave privada relevante, pode usar esses Bitcoins. Mas uma vez utilizados, os 50 BTC duplicados não poderão ser usados novamente. Quanto a partir de qual bloco será deduzido ao usar, pode ser incerto.
Transações duplicadas podem causar confusão para carteiras e exploradores de blocos, e também podem ser usadas para ataques fraudulentos. Para resolver esse problema, em março de 2012 foi implementada a bifurcação suave BIP30, que proíbe o uso de IDs de transações duplicadas, a menos que a transação anterior tenha sido utilizada. Em setembro do mesmo ano, essa regra foi ainda mais modificada para se aplicar a todos os blocos, mas manteve as duas transações duplicadas iniciais como exceção.
O BIP34 ativado em março de 2013 exige que as transações coinbase incluam a altura do bloco, o que resolveu em grande parte o problema de transações duplicadas. No entanto, em alguns blocos anteriores à ativação do BIP34, o primeiro byte do scriptSig da transação coinbase correspondia exatamente à altura do bloco que se tornaria válida no futuro, o que significa que ainda existe a possibilidade de duplicação.
O próximo bloco que pode ter transações duplicadas é 1,983,702, previsto para ser gerado em torno de janeiro de 2046. O custo de explorar essa vulnerabilidade é muito alto, podendo ultrapassar 15 milhões de dólares, e quase não traz benefícios reais para o atacante. Os próximos blocos vulneráveis só aparecerão em 2078.
Considerando a dificuldade e o custo de explorar esta vulnerabilidade, bem como a escassez de oportunidades, o problema de transações duplicadas não constitui uma ameaça principal à segurança do Bitcoin. No entanto, dada a duração envolvida e a singularidade do problema, ainda é um tópico que provoca reflexão. Os desenvolvedores do Bitcoin podem procurar resolver este problema de forma abrangente antes de 2046, possivelmente através de um hard fork. Uma solução possível é a execução obrigatória do compromisso SegWit.