Ataques de distorção temporal do Bitcoin: análise de ameaças potenciais e soluções de reparo

robot
Geração do resumo em andamento

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

Em março de 2025, um desenvolvedor de Bitcoin propôs uma proposta de soft fork chamada "Grande Limpeza de Consenso". Esta atualização visa corrigir várias vulnerabilidades e fraquezas que existem há muito tempo no protocolo Bitcoin, incluindo o problema de transações duplicadas que discutimos anteriormente. Este artigo se concentrará em uma vulnerabilidade ainda mais séria - "Ataque de Distorção Temporal".

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

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

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

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

  2. Regras de tempo de bloco no futuro: O carimbo de data/hora do bloco não pode exceder 2 horas além do tempo médio dos pares de nó. A diferença máxima permitida entre o tempo do nó e o relógio do sistema local é de 90 minutos.

As regras MPT evitam que os timestamps dos blocos sejam muito retroativos, enquanto as regras dos blocos futuros impedem que os timestamps sejam excessivamente antecipados. Vale a pena notar que não é possível impor restrições tão rigorosas aos timestamps passados como se faz com os timestamps futuros, uma vez que isso pode afetar o processo de sincronização inicial da blockchain. O ataque de distorção temporal é precisamente realizado através da falsificação de timestamps que retrocedem muito.

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

Erros mínimos no algoritmo de ajuste de dificuldade

O período de ajuste da dificuldade do Bitcoin inclui 2016 blocos, com um intervalo de bloco alvo 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 dos carimbos de tempo entre o primeiro e o último bloco na janela de 2016 blocos relevante. Esta janela na verdade contém 2015 intervalos de bloco (2016 menos 1). Portanto, o tempo alvo relevante que deve ser utilizado teoricamente deve ser 60 segundos × 10 minutos × 2015 intervalos = 1,209,000 segundos.

No entanto, o protocolo Bitcoin usa o número 2016 ao calcular o objetivo. 60 segundos × 10 minutos × 2016 = 1,209,600 segundos. Este é um pequeno erro de "um a menos", que provavelmente foi causado pela confusão entre o número de blocos e o número de intervalos entre blocos.

Este erro faz com que o tempo alvo seja 0,05% mais longo do que deveria. Em outras palavras, o intervalo real do bloco alvo do Bitcoin não é de 10 minutos, mas sim de 10 minutos e 0,3 segundos. Esta pequena diferença não é significativa na prática, uma vez que, desde o nascimento do Bitcoin, o intervalo médio entre blocos tem permanecido em cerca de 9 minutos e 36 segundos, significativamente abaixo de 10 minutos. Isso deve-se principalmente ao crescimento contínuo do poder de computação da rede desde 2009.

Princípio do ataque de distorção temporal

O ataque de distorção temporal foi descoberto pela primeira vez por volta de 2011 e aproveitou este pequeno erro no cálculo de dificuldade. Supondo que a mineração seja completamente centralizada, os mineradores podem definir timestamps arbitrários dentro dos limites permitidos pelo protocolo. Neste tipo de ataque, os mineradores definem o timestamp da maioria dos blocos para ser apenas 1 segundo mais tarde que o bloco anterior, fazendo com que a blockchain avance lentamente no tempo, enquanto cumpre as regras do MPT. Para retardar o avanço do tempo o máximo possível, os mineradores podem manter o mesmo timestamp em seis blocos consecutivos e, em seguida, aumentar em 1 segundo no sétimo bloco, repetindo esse ciclo.

Essa operação fará com que o tempo da blockchain fique gradualmente atrás do tempo real, enquanto a dificuldade aumenta continuamente, tornando a mineração cada vez mais difícil. No entanto, para aumentar o efeito do ataque, os mineradores definirão o timestamp do último bloco de cada ciclo de ajuste de dificuldade para o tempo do mundo real. E o primeiro bloco do próximo ciclo será definido de volta para o passado, apenas 1 segundo depois do penúltimo bloco do ciclo anterior. Essa prática ainda está de acordo com as regras do MPT, pois um único valor anômalo não afetará significativamente a mediana de 11 blocos.

Dessa forma, a dificuldade após o primeiro período não será afetada. Mas a partir do segundo ciclo de ajuste, a dificuldade começará a ser reduzida. Neste momento, os mineradores podem criar blocos a uma velocidade muito rápida, potencialmente gerando uma grande quantidade de Bitcoin, o que pode resultar em lucros ao vender essas moedas.

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

Análise de Viabilidade do Ataque

Apesar de teoricamente este ataque ter um impacto devastador, implementar é enfrentado com vários desafios:

  1. Pode ser necessário controlar a maior parte do poder de cálculo da rede.
  2. A existência de mineradores honestos aumentará a dificuldade de ataque.
  3. As regras MTP e os carimbos de data/hora honestos podem limitar o grau de retrocesso de carimbos de data/hora maliciosos.
  4. Se um minerador honesto gerar o primeiro bloco de qualquer janela de ajuste de dificuldade, o ataque nesse ciclo falhará.
  5. O processo de ataque é visível para todos, o que pode dar tempo suficiente para lançar uma correção de soft fork de emergência.

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

Potenciais Soluções

A correção desta vulnerabilidade é relativamente simples, mas pode exigir alterações no protocolo de soft fork. Algumas possíveis soluções incluem:

  1. Modificar o algoritmo de ajuste de dificuldade, calcular a diferença de tempo entre as janelas de blocos de 2016 e corrigir completamente o erro "faltando um".
  2. Cancelar a regra MTP, exigindo que o timestamp de cada bloco seja estritamente crescente.
  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 (faixa recomendada de 10 minutos a 2 horas).

No mais recente proposta de limpeza do grande consenso, os desenvolvedores tendem a adotar um limite de tempo de 2 horas. Este limite é cerca de 0,6% do tempo alvo do ciclo de ajuste de dificuldade, podendo efetivamente suprimir a capacidade de manipulação da dificuldade para baixo.

Independentemente da solução final adotada, corrigir esta vulnerabilidade irá fortalecer ainda mais a segurança e a estabilidade da rede Bitcoin, estabelecendo uma base mais sólida para o seu desenvolvimento a longo prazo.

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

BTC-2.2%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 7
  • Repostar
  • Compartilhar
Comentário
0/400
MysteryBoxOpenervip
· 08-01 13:07
Tantos bugs? Dia após dia.
Ver originalResponder0
WhaleSurfervip
· 07-31 23:38
Estão novamente a usar estas táticas de ataque elaboradas.
Ver originalResponder0
TokenTherapistvip
· 07-29 20:38
Está a fazer das suas novamente.
Ver originalResponder0
ZenZKPlayervip
· 07-29 20:20
btc é realmente seguro? ... Depois de ver isso, estou um pouco inseguro.
Ver originalResponder0
CryptoPunstervip
· 07-29 20:15
Este ataque tornou-se cada vez mais complicado, até o tempo começou a ser usado como armadilha.
Ver originalResponder0
PositionPhobiavip
· 07-29 20:13
Teoria muita, prática pouca
Ver originalResponder0
GateUser-3824aa38vip
· 07-29 20:12
Teoria é muita, mas você realmente se atreve a mexer no btc?
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)