El mito de la anonimidad de Ethereum: cómo los investigadores desenmascararon al 15 % de los validadores
Una de las promesas centrales de la tecnología blockchain como Ethereum es un grado de anonimato. Los participantes, conocidos como validadores, se supone que operan detrás de un velo de seudónimos criptográficos, protegiendo su identidad en el mundo real y, por extensión, su seguridad.
Sin embargo, un artículo de investigación reciente titulado “Desanonimizando a los validadores de Ethereum: la red P2P tiene un problema de privacidad”, elaborado por investigadores de ETH Zurich y otras instituciones, revela una falla crítica en esta suposición. Demuestran un método simple y de bajo costo para vincular el identificador público de un validador directamente con la dirección IP de la máquina en la que se ejecuta.
En resumen, los validadores de Ethereum no son tan anónimos como muchos creen. Los hallazgos fueron lo suficientemente significativos como para que los investigadores recibieran una recompensa por errores de la Ethereum Foundation, reconociendo la gravedad de la fuga de privacidad.
Cómo funciona la vulnerabilidad: una falla en el gossip
Para entender la vulnerabilidad, primero necesitamos una visión básica de cómo se comunican los validadores de Ethereum. La red está compuesta por más de un millón de validadores que constantemente “votan” sobre el estado de la cadena. Estas votaciones se denominan attestations y se difunden a través de una red peer‑to‑peer () a todos los demás nodos.
Con tantos validadores, hacer que todos difundan cada voto a todos los demás saturaría la red al instante. Para resolver esto, los diseñadores de Ethereum implementaron una solución de escalado ingeniosa: la red se divide en 64 canales de comunicación distintos, conocidos como subnets.
- Por defecto, cada nodo (la computadora que ejecuta el software del validador) se suscribe a solo dos de esos 64 subnets. Su tarea principal es retransmitir diligentemente todos los mensajes que vea en esos dos canales.
- Cuando un validador necesita emitir un voto, su attestation se asigna aleatoriamente a uno de los 64 subnets para su difusión.
Aquí es donde reside la vulnerabilidad. Imagina un nodo cuya tarea es gestionar el tráfico de los canales 12 y 13. Todo el día, reenvía fielmente los mensajes de esos dos canales. Pero de repente, te envía un mensaje que pertenece al canal 45.
Esto es una pista poderosa. ¿Por qué un nodo manejaría un mensaje de un canal del que no es responsable? La conclusión más lógica es que el propio nodo generó ese mensaje. Esto implica que el validador que creó la attestation para el canal 45 está ejecutándose en esa misma máquina.
Los investigadores explotaron este principio exacto. Configurando sus propios nodos de escucha, monitorizaron los subnets desde los que sus pares enviaban attestations. Cuando un par enviaba un mensaje desde un subnet al que no estaba oficialmente suscrito, podían inferir con alta confianza que ese par alojaba al validador origen.
El método resultó sorprendentemente efectivo. Usando solo cuatro nodos durante tres días, el equipo localizó con éxito las direcciones IP de más de 161 000 validadores, lo que representa más del 15 % de toda la red de Ethereum.
Por qué importa: los riesgos de la desanonimización
Exponer la dirección IP de un validador no es un asunto trivial. Abre la puerta a ataques dirigidos que amenazan tanto a operadores individuales como a la salud de la red Ethereum en su conjunto.
1. Ataques dirigidos y robo de recompensas Ethereum anuncia qué validador está programado para proponer el próximo bloque con unos minutos de antelación. Un atacante que conozca la dirección IP de ese validador puede lanzar un Denial‑of‑Service (DDoS), inundándolo con tráfico y dejándolo fuera de línea. Si el validador pierde su ventana de cuatro segundos para proponer el bloque, la oportunidad pasa al siguiente validador en la fila. Si el atacante es ese siguiente validador, puede reclamar las recompensas del bloque y las tarifas de transacción (MEV) que deberían haber ido a la víctima.
2. Amenazas a la vivacidad y seguridad de la red Un atacante con recursos suficientes podría realizar estos ataques de “sniping” de forma repetida, ralentizando o incluso deteniendo toda la blockchain (un ataque de vivacidad). En un escenario más grave, el atacante podría usar esta información para lanzar ataques sofisticados de partición de red, provocando que diferentes partes de la red discrepen sobre la historia de la cadena y comprometiendo su integridad (un ataque de seguridad).
3. Revelación de una realidad centralizada La investigación también sacó a la luz algunas verdades incómodas sobre la descentralización de la red:
- Concentración extrema: El equipo encontró pares que alojaban una cantidad asombrosa de validadores, incluido un IP que ejecutaba más de 19 000. La falla de una sola máquina podría tener un impacto desproporcionado en la red.
- Dependencia de servicios en la nube: Aproximadamente 90 % de los validadores localizados operan en proveedores de nube como AWS y Hetzner, no en los equipos de stakers domésticos. Esto representa un punto significativo de centralización.
- Dependencias ocultas: Muchos pools de staking grandes afirman que sus operadores son independientes. Sin embargo, la investigación halló casos en los que validadores de diferentes pools competidores estaban ejecutándose en la misma máquina física, creando riesgos sistémicos ocultos.
Mitigaciones: ¿Cómo pueden protegerse los validadores?
Afortunadamente, existen formas de defenderse contra esta técnica de desanonimización. Los investigadores propusieron varias mitigaciones:
- Crear más ruido: Un validador puede optar por suscribirse a más de dos subnets —incluso a los 64 completos—. Esto dificulta mucho que un observador distinga entre mensajes retransmitidos y los generados por el propio nodo.
- Usar múltiples nodos: Un operador puede separar las funciones del validador en diferentes máquinas con distintas IPs. Por ejemplo, un nodo podría manejar attestations mientras que otro nodo privado se use solo para proponer bloques de alto valor.
- Peering privado: Los validadores pueden establecer conexiones privadas y de confianza con otros nodos para retransmitir sus mensajes, ocultando su origen real dentro de un pequeño grupo confiable.
- Protocolos de difusión anónima: Soluciones más avanzadas como Dandelion, que ofuscan el origen de un mensaje al pasarlo por un “stem” aleatorio antes de difundirlo ampliamente, podrían implementarse.
Conclusión
Esta investigación ilustra de manera contundente la compensación inherente entre rendimiento y privacidad en los sistemas distribuidos. En su afán por escalar, la red de Ethereum adoptó un diseño que comprometió el anonimato de sus participantes más críticos.
Al sacar a la luz esta vulnerabilidad, los investigadores han proporcionado a la comunidad de Ethereum el conocimiento y las herramientas necesarias para abordarla. Su trabajo constituye un paso crucial hacia la construcción de una red más robusta, segura y verdaderamente descentralizada para el futuro.