Revelação e solução da vulnerabilidade de ataque de distorção temporal do protocolo Bitcoin

robot
Geração de resumo em curso

Vulnerabilidade de ataque de distorção temporal no protocolo Bitcoin

No dia 26 de março de 2025, um desenvolvedor de Bitcoin propôs uma nova proposta de melhoria, com o objetivo de corrigir várias vulnerabilidades e fraquezas de longa data no protocolo Bitcoin através de um soft fork. Uma das vulnerabilidades dignas de nota é conhecida como "ataque de distorção temporal", que é o tema que este artigo irá explorar em profundidade.

Mecanismo de proteção de timestamp do Bitcoin

Antes de discutir o ataque de distorção temporal, precisamos entender as regras atuais de proteção contra manipulação do tempo do Bitcoin:

  1. Tempo mediano passado (MPT) regra: o carimbo de tempo do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.

  2. Regras de tempo de bloco no futuro: o carimbo de data/hora do bloco não pode estar mais de 2 horas à frente do tempo médio dos pares de nós. Além disso, 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 a manipulação excessiva dos timestamps dos blocos. No entanto, devido à necessidade de sincronização inicial da blockchain, não é possível implementar regras semelhantes às dos blocos futuros para impedir completamente o uso de timestamps passados. Os ataques de distorção temporal exploram precisamente isso, atacando através da falsificação de timestamps que remontam muito ao passado.

Bitcoin segurança vulnerabilidade: ataque de distorção temporal

Erro de cálculo no protocolo

O período de ajuste de dificuldade do Bitcoin inclui 2016 blocos, o que equivale teoricamente a cerca de duas semanas. Ao calcular o ajuste da dificuldade de mineração, o protocolo calcula a diferença de timestamp entre o primeiro e o último bloco na janela dos 2016 blocos relevantes. No entanto, existe um pequeno, mas importante, erro nesse processo de cálculo.

O cálculo correto deve ser: 60 segundos * 10 minutos * 2015 intervalos = 1,209,000 segundos. Mas o que realmente foi utilizado foi: 60 segundos * 10 minutos * 2016 = 1,209,600 segundos. Este erro de diferença leva a que o tempo alvo seja 0.05% mais longo do que deveria, resultando em um intervalo de tempo alvo real para Bitcoin de 10 minutos e 0.3 segundos.

Embora esse erro de 0,3 segundos pareça insignificante, ele está associado a outro problema mais sério. O cálculo da dificuldade é baseado no primeiro e no último bloco dentro de cada janela de 2016 blocos, e não na diferença entre o último bloco da janela anterior e o último bloco da janela atual. Essa forma de cálculo cria a possibilidade de ataques de distorção temporal.

Bitcoin segurança vulnerabilidades: ataque de distorção temporal

Princípio do ataque de distorção temporal

O ataque de distorção do tempo foi descoberto pela primeira vez por volta de 2011. Neste tipo de ataque, assume-se que a mineração está completamente centralizada, e o atacante pode manipular o timestamp dos blocos da seguinte maneira:

  1. Para a maioria dos blocos, defina o carimbo de data/hora para avançar apenas um segundo em relação ao bloco anterior.
  2. A cada seis blocos, mantém-se o mesmo carimbo de tempo, e depois acrescenta-se um segundo ao próximo bloco.
  3. No último bloco de cada período de ajuste de dificuldade, defina a marca temporal para o tempo do mundo real.
  4. O timestamp do primeiro bloco do novo ciclo de ajuste de dificuldade foi definido para o passado, um segundo antes do penúltimo bloco do ciclo anterior.

Esta operação faz com que o tempo da blockchain fique cada vez mais atrasado em relação ao tempo real, levando a uma diminuição constante da dificuldade, permitindo que os atacantes criem blocos a uma velocidade extremamente rápida, potencialmente gerando uma grande quantidade de Bitcoin.

Bitcoin segurança vulnerabilidade: ataque de distorção temporal

Impacto e viabilidade do ataque

Teoricamente, esse ataque pode levar a consequências catastróficas. Em casos extremos, a dificuldade pode ser continuamente reduzida até que mais de 6 blocos sejam gerados por segundo. No entanto, a implementação desse ataque enfrenta vários desafios:

  1. É necessário controlar a maior parte da capacidade de cálculo da rede.
  2. A existência de mineradores honestos aumentará a dificuldade de ataque.
  3. O processo de ataque é completamente visível, podendo desencadear uma correção de emergência.
  4. As regras MTP e o carimbo de tempo dos mineradores honestos limitarão os efeitos do ataque.

Bitcoin segurança vulnerabilidade: ataque de distorção temporal

Potenciais soluções

A forma de corrigir esta vulnerabilidade é relativamente simples, mas pode exigir alterações no protocolo de soft fork. Uma solução proposta atualmente é:

Exige-se que o tempo do primeiro bloco do novo ciclo de dificuldade não seja anterior a um tempo específico antes do último bloco do ciclo anterior (sugere-se 2 horas). Esta regra simples pode prevenir efetivamente ataques de distorção de tempo, ao mesmo tempo que minimiza o risco de blocos inválidos inesperados.

Esta limitação de 2 horas representa cerca de 0,6% do tempo alvo do ciclo de ajuste de dificuldade, limitando bastante a capacidade de manipular a dificuldade para baixo. Embora isso ainda permita que os atacantes manipulem a dificuldade para baixo em cerca de 0,6% a cada ciclo, isso é apenas uma alteração única, que não pode ser acumulada.

De modo geral, embora o ataque de distorção temporal represente uma ameaça séria em teoria, a sua execução prática é bastante difícil. Através de atualizações apropriadas do protocolo, essa vulnerabilidade potencial pode ser efetivamente mitigada, aumentando ainda mais a segurança e a estabilidade da rede Bitcoin.

Bitcoin segurança vulnerabilidade: ataque de distorção temporal

BTC0.63%
Ver original
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.
  • Recompensa
  • 4
  • Partilhar
Comentar
0/400
P2ENotWorkingvip
· 12h atrás
Fazendo nada, quem pode resolver vem falar comigo.
Ver originalResponder0
FlashLoanLordvip
· 12h atrás
Já devia ter corrigido este problema.
Ver originalResponder0
HodlBelievervip
· 12h atrás
Blockchain banqueiro/ especialista em avaliação de risco/ análise técnica do preço de fecho diário durante 4 anos

Do ponto de vista da gestão de riscos de base, é uma correção necessária
Ver originalResponder0
PerennialLeekvip
· 12h atrás
Tantos bugs, não vou mais jogar! Vamos embora, vamos embora.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)