Vulnerabilidade de distorção temporal no protocolo Bitcoin e suas soluções de reparo
Recentemente, os desenvolvedores do Bitcoin apresentaram uma nova proposta de soft fork, destinada a corrigir várias vulnerabilidades e fraquezas de longa data no protocolo Bitcoin. Uma das vulnerabilidades mais graves é chamada de "ataque de distorção temporal", e este artigo irá explorá-la em profundidade.
Mecanismo de proteção de carimbo de tempo do bloco do Bitcoin
Antes de discutir ataques de distorção temporal, precisamos entender as regras de proteção contra manipulação temporal no atual protocolo Bitcoin:
Tempo mediano passado (MPT) regra: o carimbo de tempo do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.
Regras de tempo de bloco futuro: o timestamp do bloco não pode ultrapassar 2 horas acima do tempo médio dos pares de nós. A diferença máxima permitida entre o tempo do nó e o relógio do sistema local é de 90 minutos.
Estas regras visam prevenir que os carimbos de tempo do bloco se desviem demasiado do tempo real, mas ainda existem algumas vulnerabilidades que podem ser exploradas.
O erro de cálculo de Satoshi Nakamoto
O período de ajuste de dificuldade do Bitcoin é de 2016 blocos, aproximadamente duas semanas. Ao calcular o ajuste de dificuldade de mineração, o protocolo compara a diferença de timestamp entre o primeiro e o último bloco na janela de 2016 blocos. No entanto, Satoshi Nakamoto cometeu um pequeno erro ao calcular o tempo objetivo:
Este erro de 0,05% leva o intervalo real de Bitcoin para 10 minutos e 0,3 segundos, em vez de 10 minutos exatos. Embora este erro em si não tenha um grande impacto, combinado com outro defeito de design, provoca um risco de segurança mais grave.
Princípio do ataque de distorção temporal
O ataque de distorção temporal aproveita um erro de Satoshi Nakamoto no cálculo da dificuldade. O atacante manipula os carimbos de data/hora dos blocos, fazendo com que o tempo da blockchain fique muito atrás do tempo real, afetando assim o ajuste da dificuldade. Os passos específicos são os seguintes:
A maioria dos carimbos de tempo de bloco é apenas 1 segundo anterior ao bloco anterior, ou 1 segundo a cada 6 blocos.
O último bloco de cada período de ajuste de dificuldade usa a marca temporal real.
O carimbo de data/hora do primeiro bloco do próximo período volta ao passado, 1 segundo antes do penúltimo bloco do período anterior.
Esta operação está em conformidade com as regras do MPT, mas levará a uma redução contínua da dificuldade. Um atacante pode gerar rapidamente um grande número de blocos e obter uma grande quantidade de recompensas em Bitcoin.
Viabilidade de Ataque e Defesa
Apesar de esta ameaça de ataque ser enorme em teoria, existem alguns desafios na sua implementação:
É necessário controlar a maior parte da potência de cálculo.
A presença de mineradores honestos aumentará a dificuldade do ataque.
O processo de ataque pode ser observado, dando à comunidade tempo de reação.
Para defender-se contra esse tipo de ataque, os desenvolvedores propuseram uma solução simples: estipular que o tempo do primeiro bloco do novo período de dificuldade não deve ser anterior a um número específico de minutos do último bloco do período anterior. Atualmente, o intervalo de tempo sugerido é de 2 horas, o que limitará efetivamente a magnitude da redução da dificuldade.
Conclusão
O ataque de distorção de tempo revela uma vulnerabilidade importante no protocolo do Bitcoin. Embora a sua implementação seja bastante difícil, o impacto potencial não pode ser ignorado. Através da implementação de novas regras de limitação de carimbo de data/hora, é possível mitigar efetivamente esse risco, aumentando ainda mais a segurança e a estabilidade da rede Bitcoin. Com o avanço da proposta de limpeza do grande consenso, esperamos ver essa vulnerabilidade ser corrigida, estabelecendo uma base mais sólida para o desenvolvimento a longo prazo do Bitcoin.
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.
12 gostos
Recompensa
12
4
Partilhar
Comentar
0/400
BlockchainThinkTank
· 15h atrás
Parece ser um problema antigo, já foi estudado em 2018. Recomendo cautela.
Análise e solução para a vulnerabilidade de distorção temporal do protocolo Bitcoin
Vulnerabilidade de distorção temporal no protocolo Bitcoin e suas soluções de reparo
Recentemente, os desenvolvedores do Bitcoin apresentaram uma nova proposta de soft fork, destinada a corrigir várias vulnerabilidades e fraquezas de longa data no protocolo Bitcoin. Uma das vulnerabilidades mais graves é chamada de "ataque de distorção temporal", e este artigo irá explorá-la em profundidade.
Mecanismo de proteção de carimbo de tempo do bloco do Bitcoin
Antes de discutir ataques de distorção temporal, precisamos entender as regras de proteção contra manipulação temporal no atual protocolo Bitcoin:
Tempo mediano passado (MPT) regra: o carimbo de tempo do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.
Regras de tempo de bloco futuro: o timestamp do bloco não pode ultrapassar 2 horas acima do tempo médio dos pares de nós. A diferença máxima permitida entre o tempo do nó e o relógio do sistema local é de 90 minutos.
Estas regras visam prevenir que os carimbos de tempo do bloco se desviem demasiado do tempo real, mas ainda existem algumas vulnerabilidades que podem ser exploradas.
O erro de cálculo de Satoshi Nakamoto
O período de ajuste de dificuldade do Bitcoin é de 2016 blocos, aproximadamente duas semanas. Ao calcular o ajuste de dificuldade de mineração, o protocolo compara a diferença de timestamp entre o primeiro e o último bloco na janela de 2016 blocos. No entanto, Satoshi Nakamoto cometeu um pequeno erro ao calcular o tempo objetivo:
Cálculo correto: 60 segundos * 10 minutos * 2015 intervalos = 1,209,000 segundos Uso real: 60 segundos * 10 minutos * 2016 = 1,209,600 segundos
Este erro de 0,05% leva o intervalo real de Bitcoin para 10 minutos e 0,3 segundos, em vez de 10 minutos exatos. Embora este erro em si não tenha um grande impacto, combinado com outro defeito de design, provoca um risco de segurança mais grave.
Princípio do ataque de distorção temporal
O ataque de distorção temporal aproveita um erro de Satoshi Nakamoto no cálculo da dificuldade. O atacante manipula os carimbos de data/hora dos blocos, fazendo com que o tempo da blockchain fique muito atrás do tempo real, afetando assim o ajuste da dificuldade. Os passos específicos são os seguintes:
Esta operação está em conformidade com as regras do MPT, mas levará a uma redução contínua da dificuldade. Um atacante pode gerar rapidamente um grande número de blocos e obter uma grande quantidade de recompensas em Bitcoin.
Viabilidade de Ataque e Defesa
Apesar de esta ameaça de ataque ser enorme em teoria, existem alguns desafios na sua implementação:
Para defender-se contra esse tipo de ataque, os desenvolvedores propuseram uma solução simples: estipular que o tempo do primeiro bloco do novo período de dificuldade não deve ser anterior a um número específico de minutos do último bloco do período anterior. Atualmente, o intervalo de tempo sugerido é de 2 horas, o que limitará efetivamente a magnitude da redução da dificuldade.
Conclusão
O ataque de distorção de tempo revela uma vulnerabilidade importante no protocolo do Bitcoin. Embora a sua implementação seja bastante difícil, o impacto potencial não pode ser ignorado. Através da implementação de novas regras de limitação de carimbo de data/hora, é possível mitigar efetivamente esse risco, aumentando ainda mais a segurança e a estabilidade da rede Bitcoin. Com o avanço da proposta de limpeza do grande consenso, esperamos ver essa vulnerabilidade ser corrigida, estabelecendo uma base mais sólida para o desenvolvimento a longo prazo do Bitcoin.