O que é um long range attack em crypto e como você pode preveni-lo?

O que é um long range attack?
Um long range attack é um ataque a blockchains que é realizado principalmente dentro de redes Proof of Stake (PoS), como Cardano e Ethereum. Em um long range attack, um agente malicioso tenta criar uma versão alternativa da blockchain iniciando o ataque a partir de um bloco muito antigo. O atacante tenta fazer isso construindo uma nova chain a partir desse ponto, que eventualmente pode se tornar mais longa do que a chain ‘legítima’ atual. Como muitas blockchains consideram a chain mais longa como a correta, uma história alternativa desse tipo pode, em teoria, ser aceita como válida.
Um long range attack é particularmente adequado para sistemas PoS, porque os validadores não precisam usar poder computacional, mas sim fazer stake de seus tokens. Quando antigas chaves privadas de validadores que atuaram no passado caem nas mãos de um atacante (por exemplo, porque foram vendidas ou vazadas), o atacante pode usá-las para construir uma chain alternativa a partir de um ponto no passado, sem os altos custos associados ao Proof-of-Work.
Um long range attack é realizado principalmente para invalidar transações anteriores, permitir o double spending (double spending) ou enganar a rede.
Pontos principais:
- Um long range attack é um ataque dentro de redes Proof-of-Stake no qual um atacante constrói uma blockchain alternativa a partir de um ponto muito antigo utilizando chaves antigas de validadores.
- Ao reassinar blocos históricos e criar uma chain alternativa mais longa, um atacante pode tentar substituir a chain válida e reescrever o histórico de transações.
- Mecanismos como checkpoints, slashing e weak subjectivity foram desenvolvidos para prevenir esse tipo de ataque e garantir a integridade da blockchain.
- O gerenciamento seguro de chaves privadas e a prevenção de que chaves antigas de validadores caiam em mãos erradas desempenham um papel crucial na redução do risco de long range attacks.
Como funciona um long range attack?
O atacante inicia o long range attack obtendo chaves privadas antigas de validadores que estavam ativos no passado. Isso pode acontecer, por exemplo, quando validadores venderam seu stake ou não protegeram adequadamente suas chaves. Como essas chaves foram válidas no passado, elas podem ser usadas para reassinar blocos históricos.
Em seguida, o atacante seleciona um bloco muito antigo e tenta construir uma chain alternativa a partir desse ponto. Isso é possível na tecnologia blockchain porque o consenso em muitos sistemas é baseado na validade de assinaturas criptográficas e no comprimento da chain, em vez de uma linha do tempo absoluta. Como há pouca ou nenhuma concorrência nessa chain antiga, o atacante pode produzir blocos relativamente rápido. Em alguns casos, essa chain alternativa pode se tornar mais longa do que a chain atual.
Novos nodes que entram na rede e não possuem um histórico completo ou recente podem ser enganados. Eles podem considerar a chain mais longa como a correta e, assim, aceitar a chain maliciosa. Isso pode levar a double spending, transações reescritas e perda de confiança na rede.
Como você pode prevenir um long range attack?
Diversos mecanismos foram desenvolvidos para ajudar a prevenir um long range attack em uma blockchain. A solução com maior impacto é o uso dos chamados ‘checkpoints’. Esses são pontos (blocos) incorporados no código de uma blockchain que são considerados finais e não podem mais ser reescritos. Os nodes não aceitam chains alternativas que divergem antes desses checkpoints.
Outra solução conhecida é o uso de mecanismos de slashing. Trata-se de uma penalidade financeira que pode ser aplicada a validadores que tentam cometer fraude dentro da blockchain, por exemplo assinando blocos inválidos ou chains conflitantes. Isso torna economicamente pouco atrativo participar de um ataque.
Outra medida importante é o uso de weak subjectivity. Isso significa que novos nodes não confiam apenas na chain mais longa, mas também precisam de um estado recente e confiável da blockchain (por exemplo, por meio de uma fonte confiável ou um checkpoint). Isso dificulta que um atacante reescreva o histórico da blockchain.
Os próprios validadores também podem adotar medidas, como armazenar com segurança suas chaves privadas. Dessa forma, evita-se que atacantes tenham acesso a chaves antigas de validadores e reduz-se o risco de um long range attack.
Outros ataques comuns
Além dos long range attacks, existem muitas outras formas de ataques no mundo crypto e blockchain. O ataque mais conhecido no universo crypto é o 51% attack, no qual uma parte tenta obter a maioria do poder computacional (no Proof-of-Work) ou do stake (no Proof-of-Stake) para assumir o controle da blockchain e manipular transações.
Há também o Sybil attack, um ataque em que uma parte maliciosa cria múltiplas identidades falsas para obter influência desproporcional sobre a rede. Isso pode ser usado, por exemplo, para interferir nos mecanismos de consenso.
Outros ataques são:
- Eclipse attack: Um node é isolado do restante da rede e conectado apenas a nodes maliciosos. Isso permite que o atacante manipule as informações que o node recebe.
- Replay attacks: Transações são executadas novamente em múltiplas chains sem que o usuário tenha a intenção, frequentemente após um fork.
- Smart contract attacks: Falhas no código de um smart contract são exploradas para roubar fundos.
Considerações finais
Um long range attack é um tipo avançado de ataque particularmente relevante em redes Proof-of-Stake, no qual um atacante tenta reescrever o histórico da blockchain utilizando chaves antigas de validadores. Embora isso represente uma ameaça teórica séria, os protocolos modernos de blockchain mostram que esse risco pode ser gerenciado de forma eficaz por meio de mecanismos como checkpoints, slashing e weak subjectivity. Essas soluções garantem que chains alternativas maliciosas não sejam facilmente aceitas como válidas, especialmente por novos nodes.
Ao mesmo tempo, esse tipo de ataque destaca a importância de boas práticas de segurança e comportamento responsável por parte dos validadores, especialmente no que diz respeito ao gerenciamento de chaves. Quando as chaves privadas são gerenciadas com segurança e os protocolos estão configurados corretamente, a probabilidade de um long range attack bem-sucedido é significativamente reduzida. Em última análise, esse tipo de ataque reforça a importância de que redes blockchain não sejam apenas eficientes, mas também robustas e bem protegidas contra ameaças tanto conhecidas quanto avançadas.