¿Qué es un sybil attack? ¿Cómo se pueden evitar?

DefiantApp
5 min readOct 25, 2022

Por @ramen

Sybil Attack

Un sybil attack es un riesgo de seguridad donde una persona intenta controlar una red tomando muchas identidades distintas. Un ejemplo muy simple podría ser una persona que crea muchas cuentas de twitter para participar de un sorteo y tiene más chances de ganar. En el contexto de una blockchain, un sybil attack sucede cuando una persona o entidad se pone a correr muchos nodos diferentes dentro de una misma red. Esto podría hacer que una red parezca descentralizada cuando en realidad no lo es. Veamos de qué se tratan los sybil attacks y como se puede evitar, tanto a nivel de blockchain como de protocolos.

¿Cuáles son los riesgos de un sybil attack?

Una blockchain es una red distribuida en la cual todas las decisiones se toman por consenso. Por ello, son especialmente susceptibles a sybil attacks. En la red de Bitcoin, por ejemplo, cada aproximadamente 10 minutos un minero propone un nuevo bloque. En ese momento, todos los nodos votan para decidir si el bloque es válido y si debería ser agregado a la red. Si muchos nodos son controlados por una sola persona, una decisión que parecía haber resultado de una votación comunitaria, en realidad fue influenciada por un individuo.

Por otro lado, los sybil attacks son riesgosos ya que están estrechamente relacionados con los ataques del 51%. Este último concepto hace referencia a una situación donde un individuo o entidad toman control del 51% del poder de cómputo de la red. Al hacerlo, pueden decidir qué transacciones o bloques van a ser agregados a la blockchain. Esto les permite censurar usuarios y hasta realizar doble gasto.

Si una persona quiere realizar un ataque del 51%, le conviene distribuir su poder de cómputo en varios nodos para no llamar la atención. Así, el daño no se va a notar hasta que sea demasiado tarde.

¿Cómo se pueden mitigar los sybil attacks?

Satoshi Nakamoto, en el whitepaper de Bitcoin, describió un algoritmo de consenso llamado Proof of Work (PoW), o prueba de trabajo, para mitigar los sybil attacks y ataques del 51%. Este consiste en pedirle como requerimiento a los mineros realizar un trabajo computacional antes de dejarlos verificar transacciones y subir bloques a la blockchain. Este trabajo implica que ellos inviertan en hardware especializado y energía eléctrica. Después, si sus bloques son validados por el resto de los mineros, reciben una recompensa.

Entonces, para correr un nodo minero, se necesita primero invertir recursos económicos. Volviendo al ejemplo de las redes sociales, es como si para crear una cuenta de twitter haya que pagar un fee. De esa manera, probablemente no valga la pena crear muchas cuentas para participar de un sorteo porque el riesgo supera a la recompensa. Lo mismo pasa con la blockchain de Bitcoin.

¿Puede haber sybil attacks a un protocolo descentralizado?

Hasta ahora, estuvimos hablando de ataques hacia blockchain enteras. Otra posibilidad, tal vez más probable, son los ataques a protocolos individuales. La gran mayoría de las aplicaciones descentralizadas tienen tokens de gobernanza que se usan para decidir el rumbo a seguir. En general, cualquier miembro de la comunidad tiene la oportunidad de hacer una propuesta de mejora. Los holders del token de gobernanza son los que votan a favor o en contra, por cada token tienen un voto.

Este es un ejemplo de una votación llegaba a cabo por la comunidad del proyecto de NFTs Bored Ape Yacht Club (BAYC). En esta propuesta, se considera la posibilidad de migrar el ecosistema de los Bored Apes a otra red debido a la falta de escalabilidad de Ethereum.

Al final de la votación, el 53.6% del poder de voto estuvo a favor de mantener el ecosistema de BAYC en Ethereum. Aunque a simple vista ya se puede ver que hay unas pocas billeteras que concentran mucho poder, no hay ninguna que pueda por sí sola ganar la votación. Sin embargo, es posible que dos o más billeteras de la lista estén controladas por una misma persona. En ese caso, ese individuo estaría efectuando un sybil attack.

El problema con la gobernanza de aplicaciones descentralizadas es un tema muy discutido en el ecosistema DeFi. Afortunadamente, hay varias soluciones actualmente en desarrollo con el objetivo de evitar este tipo de ataques hacia protocolos descentralizados. Veamos alguna de ellas.

  • Proof of Humanity (PoH)

PoH es un protocolo que pretende construir una lista de humanos resistente a sybil attacks. Esto quiere decir que una persona no se puede registrar 2 veces en la lista. Para lograrlo, PoH utiliza un sistema de verificación social.

Para formar parte de PoH, tenemos que proveer los siguientes datos: nombre, foto de frente, vídeo nuestro sosteniendo un papel que indique nuestra dirección de Ethereum y diciendo la frase “Certifico que soy una persona humana real y que no estoy actualmente en este registro”. Una vez que presentamos esto, nuestro perfil pasa a estar pendiente de ser validado. Después de que algún miembro actual de PoH acepte nuestro registro y este no sea disputado por nadie más durante los próximos 3 días y medio, vamos a ser aceptados.

Cualquier protocolo descentralizado podría requerir un perfil en Proof of Humanity para participar en su gobernanza. Así, estarían evitando que un individuo tome distintas identidades y controle las votaciones sin que nadie se de cuenta.

  • Worldcoin

Worldcoin toma un camino alternativo hacia la validación de “humanidad” que no se basa en verificación social, sino en tecnología. Su objetivo es crear un sistema resistente a sybil attacks sin necesidad de que sus miembros revelen su identidad. Para esto, crearon un dispositivo llamado Orb que puede escanear la retina de una persona y crear un código único. Si el código no se encuentra en la base de datos, el usuario es agregado.

Aunque el sistema empleado por Worldcoin es más privado y más confiable que PoH, tiene una limitación de escalabilidad. Al requerir un contacto físico, llevaría mucho tiempo y dinero hacerlo de forma masiva.

En pocas palabras, un sybil attack ocurre cuando un individuo o entidad toma varias identidades distintas dentro de una red para ganar influencia. Tanto las blockades como las aplicaciones descentralizadas pueden sufrir sybil attacks. En el primer caso, se usan algoritmos de consenso como Proof of Work para poner una barrera económica que desincentiva este tipo de ataques. En el caso de los sybil attacks a la gobernanza de aplicaciones descentralizadas, todavía no hay un estándar para combatirlos. Sin embargo, ya hay varios proyectos funcionales trabajando en ello.

--

--

DefiantApp

El hogar de la #GeneraciónD 📲 Crypto self-custodial wallet 🌐 Bitcoin, Ethereum, BSC, Polygon, RSK, Avalanche, Fantom, Celo y 🖼 NFTs