¿Qué es un Sybil Attack y cómo funciona este ataque en las redes blockchain?

¿Qué es un Sybil Attack?
Un Sybil Attack es un ataque en el que una persona o grupo se hace pasar por muchos participantes diferentes en una red. El atacante, por ejemplo, crea varias cuentas, direcciones de wallet, nodos o ID de peer e intenta así obtener más influencia de la que tendría normalmente un solo participante.
Por tanto, el problema no está solo en el número de cuentas. Se trata de que la red crea que todas esas identidades son independientes entre sí, cuando en realidad están controladas por la misma parte. Si un sistema trata cada identidad como un voto, peer o participante de confianza separado, un atacante puede aprovecharse de ello.
El término Sybil Attack se hizo conocido por una investigación de 2002 sobre redes peer-to-peer. Por tanto, un Sybil Attack no fue concebido específicamente para blockchain, pero dentro de crypto sí es importante. Muchas blockchains y dApps son sistemas abiertos en los que resulta relativamente sencillo crear nuevas identidades digitales o direcciones. Si la red no controla de otra manera cuánta influencia puede tener una sola parte, eso puede suponer un riesgo.
Ejemplo: Suponga que una votación en una dApp funciona según el principio una dirección de wallet, un voto. Si no hay controles adicionales, una sola persona puede crear cien direcciones y emitir cien votos. Para el sistema, parecen cien participantes distintos, mientras que en realidad están controlados por la misma persona.
Puntos clave
- En un Sybil Attack, un solo atacante se hace pasar por muchos participantes independientes.
- El ataque funciona sobre todo contra sistemas que simplemente cuentan cuentas, direcciones o nodos.
- Un atacante puede, por ejemplo, manipular votaciones, rewards, reputación o conexiones entre peers.
- Tener muchas identidades adicionales no da automáticamente más poder de consenso en Proof of Work y Proof of Stake.
- Las redes limitan el riesgo, entre otras cosas, con costes, stake, peer-scoring y controles de acceso.
¿Cómo funciona un Sybil Attack?
Un Sybil Attack suele comenzar con la creación o recopilación de muchas identidades seudónimas. Seudónimo significa aquí que una identidad digital, como un ID de nodo, una cuenta o una dirección de wallet, no revela automáticamente qué persona u organización está detrás.
Después, el atacante hace que esas identidades participen simultáneamente en la red. El objetivo es obtener mucha influencia sobre algo que el sistema mide o distribuye por identidad. Esto puede referirse, por ejemplo, a conexiones de red, acceso a determinados recursos, votos u otras formas de participación.
En la práctica, esto puede ocurrir, por ejemplo, a través de conexiones entre peers. Un nodo suele conectarse con otros nodos, también llamados peers. Si un atacante ofrece muchos peers que controla, un nodo puede acabar conectado principalmente a esos peers. El atacante puede entonces, por ejemplo, ralentizar el tráfico de red, filtrarlo o hacer que el nodo obtenga una visión distorsionada de lo que ocurre en el resto de la red.
Esto también puede ser un problema en la redundancia. La redundancia significa que varios participantes independientes realizan el mismo trabajo o verifican la misma información para obtener mayor seguridad. Si en realidad todos esos participantes están controlados por el mismo atacante, ese control adicional es mucho menos valioso.
Un Sybil Attack no requiere que cada identidad falsa se ejecute en un ordenador distinto. Una sola parte puede gestionar varias identidades desde la misma infraestructura o desde distintos entornos técnicos. La esencia del ataque es que la red trate esas identidades como participantes separados e independientes.
Es importante saber que un Sybil Attack no rompe automáticamente el mecanismo de consenso de una blockchain. Eso depende de cómo se distribuya la influencia dentro de la red. En algunos sistemas, una sola identidad puede tener bastante peso, mientras que en otros la influencia está vinculada, por ejemplo, a la capacidad de cómputo, al stake o a otros recursos escasos.
¿Qué consecuencias tiene un Sybil Attack para las redes blockchain?
Un Sybil Attack exitoso puede tener varias consecuencias. Un atacante puede, por ejemplo, intentar:
- manipular votaciones o gobernanza;
- recibir airdrops, rewards o subvenciones adicionales;
- aislar nodos o influir en el tráfico de red;
- manipular artificialmente sistemas de reputación;
- sobrecargar la capacidad de la red y dificultar el uso a los usuarios normales;
- engañar a sistemas que asumen que varias identidades también representan varios participantes independientes.
Un Sybil Attack puede afectar especialmente a la fiabilidad y disponibilidad de la capa peer-to-peer. La capa peer-to-peer es la parte de la red en la que los nodos transmiten entre sí transacciones, bloques y otros mensajes. Si un nodo está conectado principalmente a peers de un atacante, la información importante puede llegar tarde, de forma incompleta o no llegar en absoluto.
En una red gossip, los nodos difunden mensajes progresivamente a otros peers. Un gran grupo de peers maliciosos puede alterar ese proceso, por ejemplo, no reenviando los mensajes, retrasándolos o aislando un nodo objetivo.
A este intento de aislamiento se le llama eclipse attack. En él, un atacante intenta rodear un nodo con peers que controla él mismo. Como resultado, el nodo obtiene una visión distorsionada de lo que ocurre en la red, porque el atacante determina en gran medida qué información le llega.
Las identidades Sybil también pueden sobrecargar los recursos de la red. Piense en grandes cantidades de conexiones, solicitudes o mensajes. Como consecuencia, una red puede volverse más lenta o los participantes normales pueden tener más dificultades para intervenir. Por eso, las redes suelen utilizar límites para mensajes y solicitudes, y los peers que se comportan de forma indebida pueden ser restringidos o bloqueados.
También puede haber problemas por encima de una blockchain. Una DAO, una dApp u otro sistema que, por ejemplo, cuente una dirección como un voto puede ser vulnerable al abuso Sybil. En ese caso, un atacante puede usar varias direcciones para influir de forma injusta en una votación, una puntuación de reputación, la distribución de rewards u otro mecanismo.
Un Sybil Attack no es lo mismo que un ataque del 51%. En un ataque del 51%, un atacante intenta obtener el control de una mayoría de un recurso relevante, como hashpower o stake. En un Sybil Attack, el objetivo es usar muchas identidades que en realidad están controladas por la misma parte. Por tanto, crear muchos nodos o direcciones por sí solo no basta para tomar el control de la producción de bloques o del consenso de una blockchain.
¿Por qué las redes descentralizadas son vulnerables a los Sybil Attacks?
Las redes descentralizadas son especialmente vulnerables cuando tratan las identidades digitales como participantes independientes sin una barrera o control adicional. Esto se debe a que las redes abiertas permiten que cualquiera se una sin que una parte central tenga que confirmar quién es realmente esa persona.
Ese carácter abierto es precisamente una parte importante de crypto. Por lo general, puede crear una dirección, ejecutar un nodo o conectarse a un protocolo sin permiso. Eso reduce la barrera de entrada y ayuda a limitar la censura, pero también hace que para un atacante sea relativamente fácil crear muchas identidades digitales adicionales.
Una clave pública, una dirección o un ID de peer puede demostrar que alguien controla la clave criptográfica correspondiente. Sin embargo, no demuestra que detrás de cada clave haya una persona única, una organización distinta o un ordenador diferente.
Dicho de forma sencilla: la red puede ver que existen cien direcciones, pero no puede determinar por sí sola si esas cien direcciones están gestionadas por cien participantes distintos o por una sola parte. Precisamente ahí es donde un Sybil Attack intenta aprovecharse.
Las blockchains permissioned suelen tener una barrera más alta, porque los participantes primero deben ser admitidos antes de obtener determinados roles o permisos. Sin embargo, estas redes tampoco están automáticamente protegidas contra Sybil Attacks. Si el control de acceso es débil, un atacante puede obtener varias identidades.
¿Cómo pueden las redes blockchain detectar Sybil Attacks?
Las redes blockchain no siempre pueden reconocer un Sybil Attack con certeza, pero sí pueden señalar patrones sospechosos. Para ello, los nodos pueden, por ejemplo, observar el comportamiento de los peers y la forma en que se distribuyen las conexiones dentro de la red.
Algunas señales sospechosas pueden ser, por ejemplo:
- enviar muchos mensajes inválidos;
- no reenviar mensajes con frecuencia inusual;
- infringir repetidamente las reglas de la red;
- realizar un número inusualmente alto de solicitudes en poco tiempo;
- muchos peers que se conectan desde la misma dirección IP o la misma infraestructura.
Algunas redes utilizan para ello peer-scoring. Un nodo asigna localmente a otros peers una puntuación en función de su comportamiento. Un peer que reenvía mensajes válidos y respeta las reglas de la red puede obtener una mejor puntuación. Un peer que causa problemas repetidamente puede recibir una valoración más baja. Según el protocolo, un nodo puede decidir confiar menos en ese peer, cortar la conexión o ignorar mensajes futuros.
La IP-colocación también puede ser una señal. Si un número llamativo de peers procede de la misma dirección IP o del mismo entorno de red, eso puede indicar que son menos independientes de lo que parecen. Sin embargo, no es una prueba concluyente de un Sybil Attack. Los participantes legítimos pueden usar la misma infraestructura, mientras que un atacante puede distribuir sus identidades entre distintas direcciones IP y servidores.
Algunos sistemas también analizan la estructura de una red de cuentas o peers. Un gran grupo de identidades que está conectado principalmente entre sí o que se comporta de forma muy similar puede resultar sospechoso. Tampoco estos patrones constituyen automáticamente una prueba de ataque.
Por ello, la detección suele ser solo una parte de la protección Sybil. Una red también debe contar con medidas para limitar la influencia de identidades sospechosas, por ejemplo, cortando conexiones, eligiendo otros peers, frenando solicitudes o haciendo que la participación dependa de un recurso escaso.
¿Cómo pueden prevenirse los Sybil Attacks?
Prevenir por completo los Sybil Attacks en una red abierta no suele ser realista, pero sí puede hacerse mucho más difícil y menos eficaz. A esto se le llama resistencia Sybil: el diseño garantiza que muchas identidades adicionales no aporten automáticamente mucha más influencia.
La regla principal es sencilla: no vincule la influencia solo al número de cuentas, direcciones o nodos. Es preferible vincularla a algo escaso o difícil de falsificar. Piense en trabajo de cómputo, stake, admisión verificada o reputación que deba construirse a lo largo del tiempo.
La capa de red también necesita protección. Algunas medidas posibles son, por ejemplo:
- conectarse con un grupo diverso de peers;
- evaluar a los peers con peer-scoring;
- establecer límites al tamaño de los mensajes y a la velocidad de las solicitudes;
- comprobar los mensajes antes de reenviarlos;
- cortar conexiones o aplicar penalizaciones en caso de abuso.
Además, también debe analizarse el diseño de una aplicación. Una regla como una dirección de wallet, un voto es demasiado débil para una decisión importante de una DAO, especialmente cuando crear nuevas direcciones es barato. En ese caso, un sistema puede utilizar, por ejemplo, peso de voto, admisión u otros umbrales.
La protección suele funcionar mejor en varias capas. Proof of Work, por ejemplo, puede ayudar a proteger el consenso frente a Sybil Attacks, pero no evita automáticamente que un nodo se conecte principalmente a peers maliciosos. El control de identidad puede limitar el número de cuentas, pero introduce otros riesgos y compromisos.
¿Qué papel desempeñan Proof of Work y Proof of Stake?
Proof of Work y Proof of Stake hacen que un Sybil Attack contra el consenso sea mucho más difícil, porque la influencia no depende simplemente del número de identidades, sino de un recurso escaso y costoso.
En Proof of Work, la influencia depende del trabajo de cómputo demostrable. En la práctica, esto significa que un atacante no obtiene suficiente con mil direcciones IP o nodos adicionales. Para tener más influencia sobre la producción de bloques, se necesita más hashpower, y esa capacidad de cómputo cuesta dinero y energía.
En Proof of Stake, la influencia de los validadores depende de la cantidad de stake que aportan. En Ethereum, los validadores depositan ETH en un contrato de depósito para participar en el consenso. En determinadas formas de abuso demostrable del protocolo, una parte de ese stake puede ser confiscada. A esto se le llama slashing.
Dividir la misma cantidad de stake entre muchas identidades de validador no da automáticamente más poder total de consenso. La influencia económica sigue vinculada a la cantidad total de stake. Naturalmente, una parte que posea una gran proporción de todo el stake sí puede tener mucha influencia.
Por tanto, PoW y PoS protegen sobre todo la capa de consenso frente a Sybil Attacks. No resuelven automáticamente todos los demás riesgos Sybil. La detección de peers, el gossip, los sistemas de reputación y las votaciones con una cuenta por voto pueden seguir necesitando protección adicional.
¿Qué papel desempeñan los controles de identidad y los sistemas de reputación?
Los controles de identidad dificultan la creación indiscriminada de muchas identidades. Un sistema puede, por ejemplo, vincular una identidad digital a una verificación, a un rol determinado o a permisos de acceso específicos. Esto encaja especialmente bien con las blockchains permissioned, en las que los participantes primero deben ser admitidos.
Ese control también tiene una desventaja. Los sistemas deben protegerse además contra registros automatizados masivos, documentos falsificados, identidades sintéticas, robo de identidad y material visual manipulado. Además, unos controles de identidad estrictos pueden reducir la privacidad, la accesibilidad y la resistencia a la censura.
Un sistema de reputación funciona de otra manera. En él, una cuenta no obtiene mucha influencia de inmediato, sino que la va construyendo mediante un comportamiento bueno, prolongado y verificable. Una cuenta nueva tiene entonces menos peso que un participante que lleva tiempo comportándose de forma fiable.
Eso solo ayuda si alguien no puede simplemente empezar de nuevo con una cuenta nueva después de un mal comportamiento. A esto se le llama whitewashing. Un sistema de reputación puede dificultarlo mediante, por ejemplo, una aportación inicial, un tiempo de espera, un historial acumulado u otras señales que no puedan recrearse de inmediato.
La reputación y las relaciones entre cuentas pueden aportar señales útiles, pero no son una solución completa. La protección depende de la calidad de los datos utilizados y de hasta qué punto un atacante puede manipular esas señales.
Ejemplos de Sybil Attacks en crypto
Los Sybil Attacks y el abuso Sybil aparecen con frecuencia en crypto, especialmente en sistemas en los que varias cuentas pueden aportar ventajas adicionales. Esto se observa, por ejemplo, en airdrops, rewards y mecanismos de voto o financiación.
Un ejemplo conocido es Gitcoin Grants. Gitcoin utiliza quadratic funding, en el que el número de donantes individuales puede influir en la cantidad de fondos de matching que recibe un proyecto. Los atacantes pueden intentar usar varias cuentas para hacer parecer que un proyecto cuenta con el apoyo de más personas únicas. Gitcoin ha detectado actividad Sybil sospechosa en varias rondas de grants e introducido medidas para dar menos influencia a esas cuentas.
El comportamiento Sybil también es frecuente en los airdrops. Para la distribución de tokens de LayerZero, en 2024 se buscó activamente wallets gestionadas por la misma persona u organización. El objetivo era evitar que un solo usuario recibiera una parte desproporcionadamente grande de la distribución de tokens mediante un gran número de wallets.
Un ejemplo concreto procede de CyberConnect. Allí se encontró un grupo de más de 1.700 direcciones cuyos costes de transacción habían sido financiados desde una sola dirección. Después, las direcciones pudieron participar por separado en un programa de rewards. Para el sistema, parecían muchos participantes distintos, mientras que la actividad indicaba que las direcciones estaban siendo gestionadas conjuntamente.
Estos ejemplos muestran que un Sybil Attack no siempre pretende tomar el control del consenso de una blockchain. A menudo, el atacante intenta más bien abusar de las reglas económicas de una aplicación haciendo que una sola parte parezca muchos usuarios diferentes.
Conclusión
Un Sybil Attack gira en torno a un problema simple pero importante: una red ve muchas identidades digitales, mientras que en realidad puede haber solo un atacante detrás de ellas. Esto es especialmente peligroso cuando una red blockchain, una dApp o una DAO simplemente cuenta identidades y las trata automáticamente como independientes.
Para el consenso, Proof of Work y Proof of Stake aportan resistencia Sybil, porque la influencia depende del hashpower o del stake y no del número de nodos o cuentas. Para la capa peer-to-peer y las aplicaciones, además, hacen falta otras medidas, como conexiones diversas entre peers, peer-scoring, límites y buenas reglas sobre votación y reputación.
En resumen: la participación abierta sigue siendo valiosa para crypto, pero requiere un diseño en el que las identidades adicionales no aporten automáticamente más influencia. Cuanto más difícil sea obtener más poder con cuentas, direcciones o nodos nuevos y baratos, mejor resistirá una red un Sybil Attack.