Bitcoin corrige a vulnerabilidade de distorção do tempo
Recentemente, um desenvolvedor de Bitcoin propôs uma nova proposta de melhoria, destinada a corrigir várias falhas e vulnerabilidades que existem no protocolo Bitcoin há anos. Uma das vulnerabilidades mais graves é conhecida como "ataque de distorção do tempo", e este artigo irá explorá-la em profundidade.
Mecanismo de proteção do timestamp do bloco do Bitcoin
Antes de discutir o ataque de distorção temporal, vamos rever as duas principais regras atualmente usadas pelo Bitcoin para prevenir a manipulação do tempo:
Tempo mediano passado (MPT) regra: O timestamp do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.
Regras futuras para o tempo de bloco: o carimbo de tempo do bloco não pode estar mais de 2 horas à frente do tempo médio dos nós pares.
Estas duas regras evitam que o timestamp do bloco fique demasiado avançado ou atrasado. No entanto, o ataque de distorção de tempo explora as vulnerabilidades destas regras, falsificando timestamps para retroceder muito no tempo.
Erro de cálculo de Satoshi Nakamoto
O período de ajuste de dificuldade do Bitcoin contém 2016 blocos, aproximadamente duas semanas. Ao calcular o ajuste de dificuldade da mineração, o protocolo calcula a diferença de carimbos de tempo entre o primeiro e o último bloco da janela de 2016 blocos. No entanto, Satoshi Nakamoto cometeu um pequeno erro ao projetar: ele usou 2016 em vez de 2015 para calcular o tempo-alvo. Isso fez com que o tempo-alvo fosse 0,05% mais longo do que deveria, resultando em um intervalo de bloco alvo real do Bitcoin de 10 minutos e 0,3 segundos, em vez de 10 minutos inteiros.
Embora esse erro de 0,3 segundos não tenha um grande impacto por si só, ele gerou uma vulnerabilidade mais séria. O cálculo de dificuldade é baseado apenas nos dois blocos no início e no final de cada janela de 2016 blocos, o que cria a possibilidade de um ataque de distorção temporal.
Princípio do ataque de distorção temporal
O núcleo do ataque de distorção de tempo reside na manipulação dos carimbos de data/hora dos blocos. O atacante pode definir o carimbo de data/hora da maioria dos blocos para serem apenas 1 segundo mais tarde que o bloco anterior, enquanto a cada 6 blocos o carimbo de data/hora é avançado em 1 segundo, para satisfazer as regras do MPT. No último bloco de cada período de ajuste de dificuldade, o atacante definirá o carimbo de data/hora para o tempo do mundo real, enquanto o primeiro bloco do próximo período será definido de volta ao passado.
Esta operação fará com que o tempo da blockchain fique cada vez mais atrasado em relação ao tempo real, afetando assim o ajuste de dificuldade. A partir do segundo ciclo de ajuste, a dificuldade diminuirá drasticamente, permitindo que os atacantes criem blocos a uma velocidade extremamente rápida e obtenham uma grande quantidade de Bitcoin.
Impacto e viabilidade do ataque
Teoricamente, esse tipo de ataque pode ter consequências catastróficas. Em casos extremos, a dificuldade pode ser reduzida a mais de 10 blocos por segundo. No entanto, a implementação desse tipo de ataque também enfrenta vários desafios:
É necessário controlar a maior parte da potência de cálculo.
A presença de mineradores honestos aumentará a dificuldade de ataque.
O processo de ataque é completamente visível, podendo desencadear uma reparação de emergência.
Solução
Para corrigir esta falha, os desenvolvedores propuseram uma solução relativamente simples: exigir que o tempo do primeiro bloco do novo ciclo de dificuldade não seja anterior a um tempo específico do último bloco do ciclo anterior. O intervalo de tempo sugerido atualmente é de 2 horas, o que representa apenas 0,6% do tempo alvo do ciclo de ajuste de dificuldade, podendo limitar efetivamente a amplitude de manipulação da dificuldade.
Esta solução consegue defender eficazmente contra ataques de distorção temporal e, ao mesmo tempo, minimizar o risco de geração acidental de blocos inválidos. Ela está alinhada com as regras existentes sobre o tempo dos blocos futuros, permitindo que os mineradores corrijam o máximo erro de tempo permitido dentro de um bloco.
No geral, esta solução de correção mantém a segurança da rede Bitcoin enquanto minimiza as alterações nas regras existentes, sendo uma solução relativamente conservadora e eficaz.
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.
8 Curtidas
Recompensa
8
4
Compartilhar
Comentário
0/400
DataPickledFish
· 23h atrás
Já era hora de consertar isso. No mundo crypto, dizer que é seguro é só para se divertir.
Ver originalResponder0
NftRegretMachine
· 23h atrás
Bela coisa, agora o Bitcoin também pode atravessar.
Ver originalResponder0
New_Ser_Ngmi
· 23h atrás
Ah, enquanto o velho Nakamoto ainda está vivo, é melhor consertar isso.
Ver originalResponder0
SerumDegen
· 08-03 02:00
ngmi se você ainda acha que o btc está livre de bugs... já fui rekt por problemas de timestamp antes, para ser sincero
Bitcoin corrige a vulnerabilidade de distorção do tempo e melhora o algoritmo de dificuldade de redireccionamento
Bitcoin corrige a vulnerabilidade de distorção do tempo
Recentemente, um desenvolvedor de Bitcoin propôs uma nova proposta de melhoria, destinada a corrigir várias falhas e vulnerabilidades que existem no protocolo Bitcoin há anos. Uma das vulnerabilidades mais graves é conhecida como "ataque de distorção do tempo", e este artigo irá explorá-la em profundidade.
Mecanismo de proteção do timestamp do bloco do Bitcoin
Antes de discutir o ataque de distorção temporal, vamos rever as duas principais regras atualmente usadas pelo Bitcoin para prevenir a manipulação do tempo:
Tempo mediano passado (MPT) regra: O timestamp do bloco deve ser posterior ao tempo mediano dos 11 blocos anteriores.
Regras futuras para o tempo de bloco: o carimbo de tempo do bloco não pode estar mais de 2 horas à frente do tempo médio dos nós pares.
Estas duas regras evitam que o timestamp do bloco fique demasiado avançado ou atrasado. No entanto, o ataque de distorção de tempo explora as vulnerabilidades destas regras, falsificando timestamps para retroceder muito no tempo.
Erro de cálculo de Satoshi Nakamoto
O período de ajuste de dificuldade do Bitcoin contém 2016 blocos, aproximadamente duas semanas. Ao calcular o ajuste de dificuldade da mineração, o protocolo calcula a diferença de carimbos de tempo entre o primeiro e o último bloco da janela de 2016 blocos. No entanto, Satoshi Nakamoto cometeu um pequeno erro ao projetar: ele usou 2016 em vez de 2015 para calcular o tempo-alvo. Isso fez com que o tempo-alvo fosse 0,05% mais longo do que deveria, resultando em um intervalo de bloco alvo real do Bitcoin de 10 minutos e 0,3 segundos, em vez de 10 minutos inteiros.
Embora esse erro de 0,3 segundos não tenha um grande impacto por si só, ele gerou uma vulnerabilidade mais séria. O cálculo de dificuldade é baseado apenas nos dois blocos no início e no final de cada janela de 2016 blocos, o que cria a possibilidade de um ataque de distorção temporal.
Princípio do ataque de distorção temporal
O núcleo do ataque de distorção de tempo reside na manipulação dos carimbos de data/hora dos blocos. O atacante pode definir o carimbo de data/hora da maioria dos blocos para serem apenas 1 segundo mais tarde que o bloco anterior, enquanto a cada 6 blocos o carimbo de data/hora é avançado em 1 segundo, para satisfazer as regras do MPT. No último bloco de cada período de ajuste de dificuldade, o atacante definirá o carimbo de data/hora para o tempo do mundo real, enquanto o primeiro bloco do próximo período será definido de volta ao passado.
Esta operação fará com que o tempo da blockchain fique cada vez mais atrasado em relação ao tempo real, afetando assim o ajuste de dificuldade. A partir do segundo ciclo de ajuste, a dificuldade diminuirá drasticamente, permitindo que os atacantes criem blocos a uma velocidade extremamente rápida e obtenham uma grande quantidade de Bitcoin.
Impacto e viabilidade do ataque
Teoricamente, esse tipo de ataque pode ter consequências catastróficas. Em casos extremos, a dificuldade pode ser reduzida a mais de 10 blocos por segundo. No entanto, a implementação desse tipo de ataque também enfrenta vários desafios:
Solução
Para corrigir esta falha, os desenvolvedores propuseram uma solução relativamente simples: exigir que o tempo do primeiro bloco do novo ciclo de dificuldade não seja anterior a um tempo específico do último bloco do ciclo anterior. O intervalo de tempo sugerido atualmente é de 2 horas, o que representa apenas 0,6% do tempo alvo do ciclo de ajuste de dificuldade, podendo limitar efetivamente a amplitude de manipulação da dificuldade.
Esta solução consegue defender eficazmente contra ataques de distorção temporal e, ao mesmo tempo, minimizar o risco de geração acidental de blocos inválidos. Ela está alinhada com as regras existentes sobre o tempo dos blocos futuros, permitindo que os mineradores corrijam o máximo erro de tempo permitido dentro de um bloco.
No geral, esta solução de correção mantém a segurança da rede Bitcoin enquanto minimiza as alterações nas regras existentes, sendo uma solução relativamente conservadora e eficaz.