Ataques de distorção do tempo do Bitcoin: análise dos riscos potenciais e das soluções de reparo

robot
Geração do resumo em andamento

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

Recentemente, um desenvolvedor de Bitcoin propôs uma proposta de soft fork chamada "Grande Limpeza de Consenso", com o objetivo de corrigir várias vulnerabilidades e fraquezas que existem há muito tempo no protocolo Bitcoin. Uma das vulnerabilidades mais graves é chamada de "Ataque de Distorção Temporal", e este artigo irá explorá-la em profundidade.

Mecanismo de proteção de timestamp de bloco Bitcoin

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

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

  2. Regras futuras de tempo de bloco: O carimbo de tempo do bloco não pode estar adiantado mais de 2 horas em relação ao tempo médio dos pares do nó. A diferença máxima permitida entre o tempo do nó e o relógio do sistema local é de 90 minutos.

Estas regras visam evitar que os carimbos de tempo do bloco se desviem demasiado do tempo real. No entanto, um ataque de distorção temporal envolve a falsificação de carimbos de tempo, fazendo-os retroceder significativamente para o passado.

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, aproximadamente duas semanas. Ao calcular o ajuste de dificuldade de mineração, o protocolo compara a diferença de timestamp entre o primeiro e o último bloco na janela de 2016 blocos. No entanto, esta janela na verdade contém 2015 intervalos de blocos. Portanto, o tempo alvo correto deve ser 1,209,000 segundos, mas o protocolo do Bitcoin utilizou 1,209,600 segundos. Esse erro de 0,05% resulta em um intervalo de tempo alvo real de 10 minutos e 0,3 segundos.

Embora esse erro em si não tenha grande impacto, ele levantou um problema mais sério. O cálculo da dificuldade é baseado no primeiro e no último bloco dentro de cada janela de 2016 blocos, em vez da diferença entre o último bloco da janela anterior e o último bloco da janela atual. Esse método de cálculo cria a possibilidade de um ataque de distorção temporal.

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

Princípios 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 timestamps arbitrários dentro do intervalo permitido pelo protocolo. O atacante ajustará os timestamps da maioria dos blocos para avançar apenas um segundo em relação ao bloco anterior, enquanto cumpre as regras MTP. Para avançar o tempo o mais lentamente possível, os mineradores podem manter o mesmo timestamp em seis blocos consecutivos e, em seguida, aumentar em um segundo no próximo bloco.

Esta operação fará com que o tempo da blockchain fique cada vez mais atrasado em relação ao tempo real. No entanto, para aumentar o efeito do ataque, os mineradores usarão o carimbo de tempo do mundo real no último bloco de cada período de ajuste de dificuldade. O primeiro bloco do próximo período será então definido para um momento no passado, apenas um segundo antes do penúltimo bloco do período anterior.

Este tipo de ataque fará com que a dificuldade comece a diminuir após o segundo ciclo de ajuste. Os mineradores poderão então criar blocos a uma velocidade muito rápida, gerando uma grande quantidade de Bitcoin e possivelmente lucrando com a venda.

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

Análise de viabilidade de ataque

Apesar de teoricamente este ataque ser devastador, existem alguns desafios na sua implementação:

  1. Pode ser necessário controlar a maior parte do poder de cálculo.
  2. A existência de mineradores honestos aumentará a dificuldade do ataque.
  3. As regras MTP e o carimbo de tempo honesto podem limitar 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, o que pode dar à comunidade tempo suficiente para lançar uma correção de emergência.

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

Solução

Existem várias maneiras de corrigir esta vulnerabilidade:

  1. Alterar o algoritmo de ajuste de dificuldade, calcular a amplitude de tempo entre os blocos de diferentes janelas de 2016 e corrigir o erro de diferença.
  2. Cancelar a regra MTP, passando a exigir que o tempo avance em cada bloco.
  3. O tempo do primeiro bloco do novo ciclo de dificuldade não pode ser anterior a um número específico de minutos do último bloco do ciclo anterior.

Atualmente, a proposta de limpeza do grande consenso adotou um terceiro método, definindo um limite de tempo de 2 horas. Esta solução não só pode aliviar eficazmente o ataque de distorção temporal, como também minimiza ao máximo o risco de blocos inválidos inesperados.

De um modo geral, embora os ataques de distorção temporal representem uma ameaça séria em teoria, sua execução prática é bastante difícil. Através de atualizações de protocolo adequadas, temos esperança de eliminar completamente esse risco potencial e aumentar ainda mais a segurança e a estabilidade da rede Bitcoin.

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

BTC0.82%
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
  • 8
  • Repostar
  • Compartilhar
Comentário
0/400
ShamedApeSellervip
· 07-11 15:09
Dificuldade de redireccionamento é mexer no meu bolo ah
Ver originalResponder0
Web3ProductManagervip
· 07-11 10:40
analisando as métricas de retenção, esta correção de distorção temporal é crucial para os efeitos de rede do btc, para ser sincero
Ver originalResponder0
SandwichTradervip
· 07-08 19:46
Apresse-se a consertar, não fique a bombear.
Ver originalResponder0
bridge_anxietyvip
· 07-08 19:45
A segurança ainda é muito importante.
Ver originalResponder0
HodlVeteranvip
· 07-08 19:41
Os idiotas antigos caíram em inúmeras armadilhas, apenas para dar um empurrão aos novos.
Ver originalResponder0
FarmToRichesvip
· 07-08 19:41
O código bugou novamente~
Ver originalResponder0
nft_widowvip
· 07-08 19:28
Descobriu uma falha e ainda a esconde?
Ver originalResponder0
BearMarketBardvip
· 07-08 19:26
Mineração deve ser estável~
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)