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:
Tempo mediano passado (MPT) regra: o timestamp do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.
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.
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.
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.
Análise de viabilidade de ataque
Apesar de teoricamente este ataque ser devastador, existem alguns desafios na sua implementação:
Pode ser necessário controlar a maior parte do poder de cálculo.
A existência de mineradores honestos aumentará a dificuldade do ataque.
As regras MTP e o carimbo de tempo honesto podem limitar o grau de retrocesso dos carimbos de tempo maliciosos.
Se um minerador honesto gerar o primeiro bloco de qualquer janela de ajuste de dificuldade, o ataque desse ciclo falhará.
O processo de ataque é visível para todos, o que pode dar à comunidade tempo suficiente para lançar uma correção de emergência.
Solução
Existem várias maneiras de corrigir esta vulnerabilidade:
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.
Cancelar a regra MTP, passando a exigir que o tempo avance em cada bloco.
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.
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.
23 Curtidas
Recompensa
23
8
Repostar
Compartilhar
Comentário
0/400
ShamedApeSeller
· 07-11 15:09
Dificuldade de redireccionamento é mexer no meu bolo ah
Ver originalResponder0
Web3ProductManager
· 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
SandwichTrader
· 07-08 19:46
Apresse-se a consertar, não fique a bombear.
Ver originalResponder0
bridge_anxiety
· 07-08 19:45
A segurança ainda é muito importante.
Ver originalResponder0
HodlVeteran
· 07-08 19:41
Os idiotas antigos caíram em inúmeras armadilhas, apenas para dar um empurrão aos novos.
Ataques de distorção do tempo do Bitcoin: análise dos riscos potenciais e das soluções de reparo
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:
Tempo mediano passado (MPT) regra: o timestamp do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.
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.
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.
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.
Análise de viabilidade de ataque
Apesar de teoricamente este ataque ser devastador, existem alguns desafios na sua implementação:
Solução
Existem várias maneiras de corrigir esta vulnerabilidade:
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.