Vulnerabilidade de ataque de distorção de tempo do protocolo BTC: os desenvolvedores propuseram uma solução de defesa

robot
Geração de resumo em curso

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

O desenvolvedor de Bitcoin Antoine Poinsot apresentou uma nova proposta de melhoria a 26 de março de 2025, com o objetivo de corrigir várias vulnerabilidades e fraquezas que existem há muito tempo no protocolo Bitcoin. Esta proposta de soft fork, denominada "Limpeza do Grande Consenso", não só resolve o problema de transações duplicadas que discutimos anteriormente, mas também propõe uma solução para uma vulnerabilidade mais grave - o "Ataque de Distorção do Tempo".

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

Mecanismo de proteção de carimbo de tempo do bloco Bitcoin

Antes de discutir os ataques de distorção temporal, precisamos entender as regras de proteção contra manipulação temporal no atual protocolo Bitcoin:

  1. Regra do tempo médio passado (MPT): O carimbo de tempo do bloco deve ser posterior ao tempo médio dos 11 blocos anteriores.

  2. Regras futuras de tempo de bloco: o carimbo de tempo do bloco não pode exceder 2 horas acima do tempo mediano entre pares de nós, e a diferença máxima permitida entre o tempo do nó e o relógio do sistema local é de 90 minutos.

Estas regras têm como objetivo evitar que os timestamps dos blocos se desviem demasiado do tempo real, mas devido à necessidade de considerar a sincronização inicial da blockchain, não é possível proibir completamente timestamps passados.

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

Erro de cálculo de Satoshi Nakamoto

O período de ajuste de dificuldade do Bitcoin contém 2016 blocos, o que equivale teoricamente a cerca de duas semanas. No entanto, ao calcular o ajuste de dificuldade da mineração, o protocolo utilizou um método não muito preciso. Ele calcula a diferença de timestamp entre o primeiro e o último bloco na janela de 2016 blocos, mas na verdade deveria calcular a intervalos de 2015 blocos. Isso faz com que o tempo alvo seja 0,05% mais longo do que deveria, resultando em um intervalo alvo real do Bitcoin de 10 minutos e 0,3 segundos, em vez dos exatos 10 minutos.

Este pequeno erro não é significativo na operação real, pois desde o nascimento do Bitcoin, o intervalo médio entre blocos tem permanecido abaixo de 10 minutos, principalmente devido ao crescimento contínuo da potência de cálculo.

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

Princípio do ataque de distorção temporal

O ataque de distorção do tempo aproveita este erro de Satoshi Nakamoto no cálculo da dificuldade. O atacante, manipulando os timestamps dos blocos, pode fazer com que o tempo da blockchain fique progressivamente atrasado em relação ao tempo real, de acordo com as regras do protocolo. Especificamente, o atacante irá:

  1. Para a maioria dos blocos, definir o carimbo de data/hora para apenas 1 segundo depois do bloco anterior.
  2. A cada seis blocos, o carimbo de data/hora é avançado em 1 segundo, para estar em conformidade com as regras do MPT.
  3. No último bloco de cada ciclo de ajuste de dificuldade, defina o timestamp para o tempo do mundo real.
  4. O timestamp do primeiro bloco do novo ciclo de ajuste de dificuldade voltou ao passado, atrasando-se 1 segundo em relação ao penúltimo bloco do ciclo anterior.

Esta operação fará com que a dificuldade comece a descer após o segundo ciclo de ajuste, permitindo que os atacantes criem blocos a uma velocidade extremamente rápida, obtendo uma grande quantidade de Bitcoin.

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

Impacto e viabilidade do ataque

Teoricamente, esse ataque pode causar consequências graves, mas sua implementação enfrenta muitos desafios:

  1. É necessário controlar a maior parte da potência de cálculo da rede.
  2. A existência de mineiros honestos aumentará a dificuldade de ataque.
  3. O processo de ataque é visível publicamente, podendo desencadear uma correção de emergência.
  4. É necessário um período contínuo de quatro semanas para que a redução da dificuldade seja implementada, dando tempo para a resposta.

Solução

Para corrigir esta falha, a proposta de Poinsot sugere que, no início de cada novo ciclo de ajuste de dificuldade, o carimbo de tempo do primeiro bloco não deve ser anterior a 2 horas após o último bloco do ciclo anterior. Esta regra simples pode efetivamente limitar o grau em que a dificuldade pode ser manipulada para baixo, ao mesmo tempo que mantém flexibilidade suficiente para acomodar as oscilações normais da rede.

Esta solução de reparo é mais simples e conservadora em comparação com outras possíveis abordagens (como modificar completamente o algoritmo de ajuste de dificuldade ou cancelar a regra MTP), sendo capaz de minimizar o risco de blocos inválidos acidentais enquanto previne efetivamente ataques de distorção temporal.

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

Ver original
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.
  • Recompensa
  • 7
  • Partilhar
Comentar
0/400
CryptoComedianvip
· 6h atrás
Quanto mais o código é alterado, mais bugs são encontrados, vamos começar a trabalhar de novo.
Ver originalResponder0
NftDeepBreathervip
· 6h atrás
Esta descoberta da vulnerabilidade foi demasiado tardia!
Ver originalResponder0
liquidation_watchervip
· 6h atrás
Mineração não é tão simples assim.
Ver originalResponder0
AirdropSweaterFanvip
· 6h atrás
A segurança é o mais importante.
Ver originalResponder0
alpha_leakervip
· 6h atrás
Finalmente alguém está de olho na data/hora.
Ver originalResponder0
DuckFluffvip
· 6h atrás
data/hora também pode ser jogado de forma obscura?
Ver originalResponder0
Anon4461vip
· 6h atrás
Finalmente consertei este bug
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)