Correção de vulnerabilidade de ataque de distorção de tempo do protocolo Bitcoin: Análise da proposta de limpeza do Consenso

robot
Geração de resumo em curso

Vulnerabilidade de ataque de distorção temporal do protocolo Bitcoin e sua correção

No dia 26 de março de 2025, os desenvolvedores de Bitcoin propuseram uma proposta de soft fork chamada "Limpeza do Grande Consenso", com o objetivo de corrigir várias vulnerabilidades e fraquezas de longa data no protocolo Bitcoin. Uma das vulnerabilidades mais graves é conhecida como "Ataque de Distorção Temporal", e este artigo irá explorá-la em profundidade.

Mecanismo de proteção de timestamp de bloco do Bitcoin

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

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

  2. Regras de tempo de bloco futuro: o carimbo de data/hora do bloco não pode estar mais de 2 horas à frente do tempo médio dos pares do nó. A diferença máxima permitida entre o tempo fornecido pelo nó e o relógio do sistema local é de 90 minutos.

Estas regras visam garantir que o carimbo de tempo do bloco não fique demasiado atrasado nem demasiado adiantado. No entanto, o ataque de distorção temporal é precisamente alcançado através da falsificação de carimbos de tempo, fazendo com que retrocedam muito no passado.

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

O erro "falta um" de Satoshi Nakamoto

O período de ajuste da dificuldade do Bitcoin contém 2016 blocos, calculando-se com um objetivo de bloco de 10 minutos, o que equivale 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 de 2016 blocos relevante. No entanto, Satoshi Nakamoto cometeu um pequeno erro ao calcular o tempo alvo: ele usou 2016 em vez de 2015 como multiplicador.

Este erro fez com que o tempo alvo fosse 0,05% mais longo do que o que deveria ser, resultando em um intervalo de tempo real para a Bitcoin de 10 minutos e 0,3 segundos. Embora esse erro pareça insignificante, ele semeou as bases para falhas mais sérias.

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

Princípio do ataque de distorção temporal

O ataque de distorção temporal aproveita o erro de Satoshi Nakamoto no cálculo da dificuldade. O atacante manipula os carimbos de tempo dos blocos, fazendo com que a blockchain avance lentamente no tempo, enquanto cumpre as regras do MTP. Especificamente, o atacante pode:

  1. Para a maioria dos blocos, defina o carimbo de data/hora para um segundo antes do bloco anterior.
  2. A cada seis blocos, o carimbo de tempo é avançado um segundo.
  3. No último bloco de cada ciclo de ajuste de dificuldade, defina o carimbo de data/hora para o tempo do mundo real.
  4. O timestamp do primeiro bloco do próximo ciclo de ajuste de dificuldade volta novamente ao passado.

Esta operação leva a que o tempo da blockchain fique cada vez mais atrasado em relação ao tempo real, enquanto a dificuldade continua a aumentar. No entanto, após o segundo ciclo de ajuste, a dificuldade começará a descer, permitindo que os atacantes criem blocos a uma velocidade muito rápida, potencialmente criando uma grande quantidade de Bitcoin.

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

Viabilidade e Limitações do Ataque

Embora essa ataque tenha um potencial destrutivo em teoria, na prática enfrenta muitos desafios:

  1. É necessário controlar a maior parte do poder de cálculo.
  2. A presença de mineradores honestos aumentará a dificuldade de ataque.
  3. As regras MTP e o carimbo de data/hora dos mineradores honestos limitam o grau de retrocesso dos carimbos de data/hora maliciosos.
  4. O processo de ataque pode ser observado publicamente, dando à comunidade tempo para realizar reparos de emergência.

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

Solução

Para prevenir ataques de distorção temporal, a proposta sugere adicionar uma regra simples no início de um novo ciclo de dificuldade: requerer que o tempo do primeiro bloco do novo ciclo não seja anterior a um período de tempo específico antes do último bloco do ciclo anterior. O período de tempo atualmente discutido varia entre 10 minutos e 2 horas.

Na mais recente proposta de limpeza do grande consenso, este período foi definido como 2 horas. Esta limitação representa apenas 0,6% do tempo alvo do ciclo de ajuste de dificuldade, limitando efetivamente a capacidade de manipular a dificuldade para baixo.

Este método é mais simples do que modificar diretamente o algoritmo de ajuste de dificuldade e não requer um hard fork. Ele pode efetivamente prevenir ataques de distorção do tempo, minimizando o risco de blocos inválidos inesperados, enquanto mantém a conformidade com as regras atuais de carimbo de tempo dos futuros blocos.

Ao implementar esta correção, a rede Bitcoin será capaz de resistir melhor a potenciais ataques de manipulação de tempo, aumentando ainda mais a sua segurança e estabilidade.

Bitcoin segurança vulnerabilidade: 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
  • 4
  • Partilhar
Comentar
0/400
SchrodingerWalletvip
· 7h atrás
Vulnerabilidade corrigida, de forma simples e direta.
Ver originalResponder0
DefiEngineerJackvip
· 7h atrás
*na verdade* outro patch de segurança não trivial que prova a superioridade do pow... já vi exploits piores no pos, para ser honesto
Ver originalResponder0
ProbablyNothingvip
· 8h atrás
btc corrigiu a vulnerabilidade, agora está seguro, certo?
Ver originalResponder0
MemecoinResearchervip
· 8h atrás
correção de protocolo baseado, mas podemos obter significância estatística?
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)