Bitcoin pretende corrigir a vulnerabilidade de ataque de distorção de tempo, com um plano de Soft Fork à vista.

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

Os desenvolvedores de Bitcoin, Antoine Poinsot, propuseram uma nova proposta de melhoria em 26 de março de 2025, com o objetivo de corrigir várias falhas e fraquezas de longa data no protocolo Bitcoin através de um soft fork. Esta proposta, conhecida como "Limpeza do Grande Consenso", não só resolve o problema de transações duplicadas que foi discutido anteriormente, mas também apresenta uma solução para uma falha mais séria - o "Ataque de Distorção Temporal".

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

Mecanismo de proteção de timestamp do Bitcoin

Antes de discutir o ataque de distorção temporal, vamos revisar as regras atuais de proteção contra manipulação temporal do Bitcoin:

  1. Regra do tempo mediano passado (MPT): o carimbo de data/hora do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.

  2. Regras de tempo de bloco no futuro: o timestamp do bloco não pode exceder o tempo médio dos pares de nós em mais de 2 horas. 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 têm como objetivo prevenir que os timestamps dos blocos se desviem demasiado do tempo real, seja para o passado ou para o futuro. No entanto, o ataque de distorção temporal é realizado através da falsificação de timestamps que estão muito à frente do tempo real.

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

O erro "um a menos" de Satoshi Nakamoto

O período de ajuste de dificuldade do Bitcoin inclui 2016 blocos, o que teoricamente equivale a cerca de duas semanas. Ao calcular o ajuste da dificuldade de mineração, o protocolo calcula a diferença de timestamps entre o primeiro e o último bloco desses 2016 blocos. No entanto, esses 2016 blocos na verdade contêm apenas 2015 intervalos de blocos. O tempo alvo correto deveria ser 60 segundos × 10 minutos × 2015 = 1,209,000 segundos, mas o protocolo do Bitcoin usa o número 2016, resultando em um tempo calculado de 1,209,600 segundos. Esse pequeno erro faz com que o tempo alvo seja 0,05% mais longo do que deveria ser.

Embora esse erro pareça insignificante, ele levanta uma questão mais séria. O cálculo de 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 de tempo.

Princípio do ataque de distorção temporal

O ataque de distorção do tempo foi descoberto pela primeira vez em 2011. Neste tipo de ataque, assume-se que a mineração é completamente centralizada, e os mineradores podem definir os timestamps à vontade, dentro dos limites permitidos pelo protocolo. O atacante ajusta os timestamps da maioria dos blocos para serem apenas um segundo à frente do bloco anterior, ou avança um segundo apenas a cada seis blocos, de modo a avançar o tempo o mais lentamente possível.

Esta operação fará com que o tempo da blockchain fique progressivamente atrás do tempo real, enquanto a dificuldade continua a aumentar. Para reforçar o efeito do ataque, no último bloco de cada período de ajuste de dificuldade, o atacante ajustará o carimbo de data/hora para o tempo do mundo real. O primeiro bloco do próximo período será então definido para um momento no passado, um segundo antes do penúltimo bloco do período anterior.

Desta forma, o atacante pode reduzir significativamente a dificuldade de mineração após o segundo ciclo de ajuste, permitindo criar blocos a uma velocidade muito rápida e obter uma grande quantidade de Bitcoin.

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

Viabilidade e Desafios do Ataque

Embora teoricamente esse tipo de ataque possa ter graves consequências, a sua implementação real enfrenta múltiplos desafios:

  1. É necessário controlar a maior parte da potência de cálculo.
  2. A existência de mineradores honestos aumentará a dificuldade de ataque.
  3. As regras MTP e o carimbo de tempo honesto limitarão o grau de retrocesso dos carimbos de tempo maliciosos.
  4. Se um minerador honesto gerar o primeiro bloco de qualquer janela de ajuste de dificuldade, o ataque desse ciclo falhará.
  5. O processo de ataque é visível para todos e pode desencadear uma correção de soft fork de emergência.

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

Solução

Existem várias maneiras de corrigir esta vulnerabilidade:

  1. Alterar o algoritmo de ajuste de dificuldade, calcular o intervalo de tempo entre os blocos de diferentes janelas de 2016 e corrigir o erro de "um a menos".
  2. Cancelar a regra MTP, exigindo que o tempo de cada bloco deve avançar.
  3. Definir novas regras de limite, exigindo que o tempo do primeiro bloco do novo ciclo de dificuldade não seja anterior a um número específico de minutos do último bloco do ciclo anterior.

A proposta de "limpeza do grande consenso" de Poinsot adotou um terceiro método, sugerindo um limite de tempo de 2 horas. Esta solução pode efetivamente mitigar ataques de distorção de tempo e, ao mesmo tempo, minimizar o risco de geração acidental de blocos inválidos.

De um modo geral, a comunidade Bitcoin está a responder ativamente a esta ameaça potencial, aprimorando continuamente o protocolo através de soft forks, para garantir a segurança e a estabilidade a longo prazo da rede.

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

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
  • 5
  • Partilhar
Comentar
0/400
SatoshiSherpavip
· 07-14 18:42
Consertar bugs realmente é como consertar bugs.
Ver originalResponder0
FUD_Whisperervip
· 07-14 18:38
Já corrigiu o bug? Já era tempo de o fazer.
Ver originalResponder0
OldLeekConfessionvip
· 07-14 18:38
Este bug já foi corrigido há 4 anos?
Ver originalResponder0
GweiWatchervip
· 07-14 18:35
Este bug já devia ter sido corrigido há muito tempo, não consigo mais assistir a isso.
Ver originalResponder0
PumpingCroissantvip
· 07-14 18:34
Só em 2025 é que irá ser corrigido. Este bug vai demorar muito a ser resolvido.
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)