Skip to main content

Ataque Eclipse | Bitcoin Glossary | Mapping Bitcoin

Ataque Eclipse

Segurança

Ataque que isola um nó Bitcoin monopolizando todas as suas conexões com pares. Pode facilitar gasto duplo e impedir que o nó receba blocos e transações.

Visão Geral

Um ataque eclipse tem como alvo um Bitcoin específico controlando todas as suas conexões de pares de entrada e saída. Uma vez que o nó vítima está isolado da rede honesta, o atacante pode alimentá-lo com uma visão manipulada da blockchain, habilitando vários ataques secundários como gasto duplo, amplificação de mineração egoísta ou censura de transações.

Como Funciona

Operação normal:
┌──────┐    ┌──────┐    ┌──────┐
│Nó A  │◄──►│Vítima│◄──►│ Nó B │   (Conectado a pares honestos)
└──────┘    └──┬───┘    └──────┘
               │
          ┌────┴────┐
          │  Nó C   │
          └─────────┘

Ataque eclipse:
┌───────────┐    ┌───────────┐
│ Atacante  │◄──►│  Vítima   │◄──►│ Atacante  │
│  Nó 1    │    │    Nó     │    │   Nó 2    │
└───────────┘    └─────┬─────┘    └───────────┘
                       │
                 ┌─────┴──────┐
                 │  Atacante  │
                 │   Nó 3     │    (TODOS os pares são controlados pelo atacante)
                 └────────────┘

Metodologia do Ataque

  1. Reconhecimento: O atacante identifica o endereço IP do nó vítima
  2. Envenenamento da tabela de endereços: O atacante inunda a tabela de endereços da vítima com endereços IP controlados pelo atacante enviando muitas mensagens addr
  3. Reinicialização forçada: O atacante aguarda ou induz uma reinicialização do nó (por exemplo, via esgotamento de recursos)
  4. Monopolização de conexões: Quando a vítima reinicia e se conecta a pares, ela seleciona de sua tabela de endereços envenenada, conectando-se exclusivamente a nós do atacante

Consequências

  • Gasto duplo: O atacante pode mostrar à vítima uma versão diferente da cadeia, enganando comerciantes que executam esse nó para aceitar pagamentos inválidos
  • Desperdício de potência de mineração: Se a vítima for um minerador, pode minerar em uma cadeia obsoleta ou fabricada pelo atacante, desperdiçando hash power
  • Censura de transações: O atacante pode impedir que a vítima veja ou transmita transações específicas
  • Ataques de 0 confirmações: Transações não confirmadas são especialmente vulneráveis, pois a vítima não pode ver transações concorrentes

Mitigações no Bitcoin Core

O Bitcoin Core implementou várias contramedidas ao longo dos anos:

  • Seleção diversificada de pares: As conexões de saída são escolhidas de diferentes faixas de endereços IP (sub-redes /16 diferentes)
  • Conexões âncora: Duas conexões de apenas retransmissão de blocos são persistidas entre reinicializações
  • Limites de conexão por sub-rede: Limita quantos pares podem se conectar da mesma faixa de IP
  • Conexões exploradoras: Testam periodicamente endereços aleatórios para verificar se são nós honestos acessíveis
  • Limites de conexões de entrada: Impedem que um único IP abra muitas conexões

Melhores Práticas para Operadores de Nós

  • Executar nós com um IP estático e configurar pares confiáveis usando a opção addnode
  • Usar conexões Tor ou VPN junto com clearnet para diversificar caminhos de rede
  • Monitorar a diversidade de conexões de pares e observar padrões incomuns
  • Manter o Bitcoin Core atualizado para se beneficiar das mitigações mais recentes contra ataques eclipse