¿Qué es un long range attack en crypto y cómo puedes prevenirlo?

¿Qué es un long range attack?
Un long range attack es un ataque a blockchains que se lleva a cabo principalmente dentro de redes Proof of Stake (PoS), como Cardano y Ethereum. En un long range attack, un actor malicioso intenta crear una versión alternativa de la blockchain iniciando el ataque desde un bloque muy antiguo. El atacante intenta hacer esto construyendo una nueva chain desde ese punto, que eventualmente puede volverse más larga que la chain ‘legítima’ actual. Dado que muchas blockchains consideran que la chain más larga es la correcta, una historia alternativa de este tipo podría ser aceptada como válida en teoría.
Un long range attack es especialmente adecuado para sistemas PoS, ya que los validadores no necesitan utilizar poder computacional, sino que hacen stake de sus tokens. Cuando claves privadas antiguas de validadores que ya no están activos caen en manos de un atacante (por ejemplo, porque fueron vendidas o filtradas), el atacante puede utilizarlas para construir una chain alternativa desde un punto en el pasado, sin los altos costes asociados a Proof-of-Work.
Un long range attack se realiza principalmente para invalidar transacciones anteriores, permitir el doble gasto (double spending) o engañar a la red.
Puntos clave:
- Un long range attack es un ataque dentro de redes Proof-of-Stake en el que un atacante construye una blockchain alternativa desde un punto muy antiguo utilizando claves de validadores antiguas.
- Al volver a firmar bloques históricos y crear una chain alternativa más larga, un atacante puede intentar reemplazar la chain válida y reescribir el historial de transacciones.
- Mecanismos como checkpoints, slashing y weak subjectivity han sido desarrollados para prevenir este tipo de ataque y garantizar la integridad de la blockchain.
- La gestión segura de claves privadas y evitar que las claves antiguas de validadores caigan en manos equivocadas desempeña un papel crucial en la reducción del riesgo de long range attacks.
¿Cómo funciona un long range attack?
El atacante inicia el long range attack obteniendo claves privadas antiguas de validadores que estuvieron activos en el pasado. Esto puede ocurrir, por ejemplo, cuando los validadores han vendido su stake o no han protegido adecuadamente sus claves. Dado que estas claves fueron válidas en su momento, pueden utilizarse para volver a firmar bloques históricos.
A continuación, el atacante selecciona un bloque muy antiguo e intenta construir una chain alternativa desde ese punto. Esto es posible dentro de la tecnología blockchain porque el consenso en muchos sistemas se basa en la validez de firmas criptográficas y en la longitud de la chain, en lugar de una línea temporal absoluta. Como hay poca o ninguna competencia en esta chain antigua, el atacante puede producir bloques con relativa rapidez. En algunos casos, esta chain alternativa puede llegar a ser más larga que la chain actual.
Los nuevos nodes que se unen a la red y no tienen un historial completo o reciente pueden ser engañados. Pueden considerar que la chain más larga es la correcta y, por lo tanto, aceptar la chain maliciosa. Esto puede provocar double spending, transacciones reescritas y una pérdida de confianza en la red.
¿Cómo puedes prevenir un long range attack?
Se han desarrollado varios mecanismos para ayudar a prevenir un long range attack en una blockchain. La solución con mayor impacto es el uso de los llamados ‘checkpoints’. Estos son puntos (bloques) integrados en el código de una blockchain que se consideran definitivos y ya no pueden reescribirse. Los nodes no aceptan chains alternativas que diverjan antes de estos checkpoints.
Otra solución conocida es el uso de mecanismos de slashing. Se trata de una penalización financiera que puede imponerse a los validadores que intentan cometer fraude dentro de la blockchain, por ejemplo firmando bloques inválidos o chains en conflicto. Esto hace que participar en un ataque sea económicamente poco atractivo.
Otra medida importante es el uso de weak subjectivity. Esto significa que los nuevos nodes no confían únicamente en la chain más larga, sino que también necesitan un estado reciente y confiable de la blockchain (por ejemplo, a través de una fuente confiable o un checkpoint). Esto dificulta que un atacante reescriba el historial de la blockchain.
Los propios validadores también pueden tomar medidas, como almacenar de forma segura sus claves privadas. De esta manera se evita que los atacantes accedan a claves antiguas de validadores y se reduce el riesgo de un long range attack.
Otros ataques comunes
Además de los long range attacks, existen muchas otras formas de ataques dentro del mundo de crypto y blockchain. El ataque más conocido en crypto es el 51% attack, en el que una parte intenta obtener la mayoría del poder computacional (en Proof-of-Work) o del stake (en Proof-of-Stake) para así obtener el control de la blockchain y manipular transacciones.
También existe el Sybil attack, un ataque en el que una parte maliciosa crea múltiples identidades falsas para obtener una influencia desproporcionada sobre la red. Esto puede utilizarse, por ejemplo, para alterar los mecanismos de consenso.
Otros ataques son:
- Eclipse attack: Un node se aísla del resto de la red y solo se conecta con nodes maliciosos. Esto permite al atacante manipular la información que recibe el node.
- Replay attacks: Las transacciones se ejecutan nuevamente en múltiples chains sin que el usuario lo pretenda, a menudo después de un fork.
- Smart contract attacks: Los errores en el código de un smart contract se explotan para robar fondos.
Reflexión final
Un long range attack es un tipo de ataque avanzado que es especialmente relevante en redes Proof-of-Stake, en el que un atacante intenta reescribir el historial de la blockchain utilizando claves antiguas de validadores. Aunque esto representa una amenaza teórica seria, los protocolos modernos de blockchain muestran que este riesgo puede gestionarse eficazmente mediante mecanismos como checkpoints, slashing y weak subjectivity. Estas soluciones garantizan que las chains alternativas maliciosas no sean fácilmente aceptadas como válidas, especialmente por nuevos nodes.
Al mismo tiempo, este tipo de ataque resalta la importancia de aplicar buenas prácticas de seguridad y un comportamiento responsable por parte de los validadores, especialmente en lo que respecta a la gestión de claves. Cuando las claves privadas se gestionan de forma segura y los protocolos están correctamente configurados, la probabilidad de un long range attack exitoso se reduce significativamente. En última instancia, este tipo de ataque subraya lo importante que es que las redes blockchain no solo sean eficientes, sino también robustas y estén bien protegidas frente a amenazas tanto conocidas como avanzadas.