¿Qué es el Protocolo del Diente de León?

Bitcoin y otras criptomonedas emplean privacidad en ambos el nivel de blockchain y la capa de red. Las cadenas de bloques públicas son registros permanentes de transacciones digitales, por lo que las implementaciones de privacidad de la cadena de bloques se centran en ocultar los datos de las transacciones y anonimizar la identidad de los remitentes y receptores..

Las criptomonedas centradas en la privacidad, como Monero y Zcoin, incorporan características de anonimato a nivel de cadena de bloques, como Ring CT y pruebas de conocimiento cero para asegurarse de que las transacciones no se puedan rastrear. Sin embargo, la comunicación de red P2P / superpuesta también juega un papel vital en el anonimato de las interacciones en una red blockchain. Tanto Monero como Zcoin integran funciones de privacidad de la capa de red como Colina y I2P, pero estas características también vienen con un desarrollo prolongado y otras desventajas.

los Protocolo de diente de león es una solución de anonimato de capa de red que se propuso originalmente en 2017 para ayudar a mejorar la privacidad de la red P2P de Bitcoin. Posteriormente se descubrió que su propuesta original contenía varios fallas que podría llevar a su desanonimización con el tiempo debido a algunas suposiciones idealistas de posibles adversarios.

¿Qué es el Protocolo del Diente de León?

Finalmente, se propuso una versión mejorada del Protocolo del diente de león en mayo a principios de este año llamada Diente de león++. Dandelion ++ aborda las preocupaciones con el protocolo original y ya ha sido implementado por el equipo de investigación con una respuesta positiva de los equipos de desarrollo de Bitcoin. Dandelion ++ parece estar listo para ser incluido en un próximo lanzamiento de Bitcoin Core.

¿Qué es el diente de león?++?

Dandelion ++ es una solución de capa de red liviana y sencilla con anonimato formalmente garantizado que se puede implementar fácilmente con las criptomonedas existentes. Mejora explícitamente las suposiciones idealistas de la propuesta original de Dandelion y se diferencia de la mayoría de los protocolos de anonimato de comunicación de transmisión en su enfoque de los objetivos de uso y las métricas de análisis..

Para comprender mejor cómo funciona Dandelion ++, es esencial centrarse en cómo se transmiten las transacciones en Bitcoin y cómo funcionaba el protocolo original de Dandelion. En Bitcoin, cuando un usuario transmite una transacción desde un nodo, se propaga a los nodos conectados a ese nodo específico conocido como sus pares. El mensaje de la transacción se propaga posteriormente en una reacción en cadena en la que cada nodo difunde el mensaje a los nodos a los que están conectados. Esto se conoce como protocolo de chismes de Bitcoin y es la forma en que las transacciones pueden llegar a la mayoría de los nodos de la red muy rápidamente..

Bitcoin ahora implementa una forma de transmisión conocida como difusión en la que cada nodo distribuye transacciones con retrasos exponenciales e independientes a sus vecinos para mitigar la desanonimización de la dirección IP de un usuario. Si bien es eficaz, la difusión recientemente Se ha demostrado en varios estudios que no proporciona una protección adecuada del anonimato..

El origen de un mensaje de transacción y su dirección IP (que no se incluye en un mensaje de transacción de Bitcoin) pueden ser mapeados por observadores externos si controlar suficientes nodos o utilice un supernodo que esté conectado a un número significativo de nodos. Pueden mapear efectivamente la dirección de origen al observar qué nodos ven la transacción primero. El diente de leon++ papel identifica explícitamente cómo un estudio que utilizó un supernodo registró el tráfico retransmitido de todos los nodos P2P y observó los patrones de la transacción se propaga a lo largo del tiempo para finalmente deducir la dirección IP de origen. Al vincular la dirección IP con el seudónimo del remitente, un tercero puede desanonimizar a los usuarios y vincular más transacciones incluso si se utiliza una nueva clave pública para cada transacción..

El diente de león se propuso inicialmente para mitigar estas vulnerabilidades, pero se basó en garantías teóricas que no se mantuvieron en la práctica. La propuesta original de Dandelion hizo 3 suposiciones idealizadas:

  • Todos los nodos obedecen el protocolo
  • Cada nodo genera precisamente una transacción
  • Todos los nodos de Bitcoin ejecutan Dandelion

Estas suposiciones claramente no funcionaron en la práctica y son la razón por la que Dandelion ++ trató de abordarlas. El protocolo original de Dandelion funciona en 2 fases:

  1. Fase de tallo
  2. Fase de pelusa

La fase madre es la fase anónima en la que el protocolo está diseñado para reducir la posibilidad de volver a mapear la dirección IP del nodo original. En la fase madre, en lugar de que un nodo transmita una transacción a todos sus pares conectados, transmite el mensaje de la transacción a través de un gráfico de privacidad a un único par aleatorio basado en un algoritmo. Posteriormente, ese nodo solo transmite el mensaje de transacción a otro único par, y el patrón continúa hasta que finalmente (y al azar) uno de los nodos transmite el mensaje en el formato típico de difusión al resto de la red..

Aquí es donde comienza la fase de pelusa. Una vez que un solo nodo transmite el mensaje utilizando el método de difusión, el mensaje de transacción se propaga rápidamente a la mayoría de los nodos de la red. Sin embargo, resulta mucho más difícil rastrear hasta el nodo original, ya que el mensaje de transacción se transfirió a muchos nodos individuales a través de un gráfico de privacidad antes de propagarse de una manera que permitiría a un observador asignarlo a un solo nodo. En cambio, un observador solo podía mapear la propagación de transacciones de regreso a los varios nodos donde se transfirió el mensaje en la fase de raíz, confundiendo así la identidad real del remitente. En efecto, esto es abstractamente similar a cómo una firma de anillo ofusca al firmante real de una transacción..

Crédito de la imagen – Presentación de Giulia Fanti en Lisboa

El Zcoin Blog proporciona un excelente ejemplo de cómo funciona el protocolo Dandelion mediante el uso de chismes típicos de la escuela secundaria:

* FASE STEM *

  • Kathy: “Pssst, estoy enamorada de Nuwa. Por favor, no se lo digas a nadie “
  • George: “Dios mío, ¿sabías lo que me dijo Kathy? Ella está enamorada de Nuwa. Solo te lo dije, por favor no le digas a nadie “
  • Alice: “Betty, no vas a creer lo que el mejor amigo de Kathy, George acaba de decirme, ¡Kathy está enamorada de Nuwa!” Eres mi mejor amigo, así que solo te lo dije, ¡por favor no le digas a nadie, está bien! “

* COMIENZA LA FASE DE FLUFF *

  • Blabbermouth Betty: “¡Vaya, buenas noticias … Tengo buenas fuentes de que Kathy está muy enamorada de Nuwa … Por favor, díganle a todos que esto es tan emocionante!”

Los problemas principales con el protocolo original de Dandelion surgen de su subestimación de tipos específicos de adversarios debido a suposiciones de su conocimiento limitado. Dandelion ++ se centra especialmente en realizar cambios sutiles en las opciones de implementación de Dandelion, como la topología del gráfico y los mecanismos para reenviar mensajes..

Como resultado, estos pequeños cambios en el algoritmo aumentan exponencialmente el espacio de estado del problema para el análisis del anonimato. Dandelion ++ se basa en aumentar la cantidad de información que los adversarios deben aprender para desanonimizar a los usuarios.

Dandelion ++ se diferencia notablemente de Dandelion en su fase madre, en la que pasa las transacciones por rutas entrelazadas conocidas como cables antes de difundir el mensaje de la transacción a la red. Los cables pueden estar fragmentados, pero su intuición a la hora de seleccionar un nodo al que propagarse aún se limita a su vecindario local. Esta es una consideración importante al comparar soluciones de anonimato a nivel de red como Tor, que es un protocolo de enrutamiento de cebolla donde los clientes necesitan información de red actual y global para determinar las rutas de las transacciones..

Crédito de la imagen – Dandelion ++ Academic Paper

Tanto Dandelion como Dandelion ++ proceden en ciclos asincrónicos. Cada nodo avanza cuando su reloj interno alcanza un cierto umbral. Para cada período, Dandelion ++ funciona en 4 componentes principales con ligeras optimizaciones:

  1. Gráfico de anonimato
  2. Reenvío de transacciones (propio)
  3. Reenvío de transacciones (retransmisión)
  4. Mecanismo a prueba de fallos

Anonimato Graph utiliza un gráfico aleatorio de 4 regulares en lugar de un gráfico lineal para la fase de anonimato. La elección de los relés Dandelion ++ por nodos es independiente de si sus vecinos salientes son compatibles con Dandelion.++.

El reenvío de transacciones (propio) es cuando cada vez que un nodo genera una transacción propia, reenvía la transacción a lo largo del mismo borde de salida en el gráfico 4-regular. Esto difiere de uno de los supuestos problemáticos en Dandelion donde se supone que los nodos solo generan una transacción.

El reenvío de transacciones (retransmisión) es el momento de probabilidad en la fase madre en el que un nodo recibe una transacción madre y elige retransmitir la transacción o difundirla a la red. La opción de difundir transacciones a la red es pseudoaleatorio. Además, un nodo es un difusor o un nodo de retransmisión para todas las transacciones retransmitidas..

El mecanismo a prueba de fallas es donde, para cada transacción de la fase madre, cada nodo rastrea si se ve nuevamente como una transacción de la fase fluff. Si no, el nodo difunde la transacción..

Los pequeños ajustes al algoritmo en estas etapas hacen que sea drásticamente más difícil mapear direcciones IP al observar la propagación de los mensajes de transacciones. El artículo de Dandelion ++ continúa identificando ataques específicos que podrían usarse contra el protocolo original de Dandelion, incluidos los ataques de aprendizaje de gráficos, los ataques de intersección, los ataques de construcción de gráficos y los ataques de agujero negro. Con cada vector de ataque, demuestran cómo Dandelion ++ los mitiga con análisis teóricos y simulaciones..

Dandelion ++ no aumenta significativamente la latencia de la red, y su viabilidad práctica se demostró en la red principal de Bitcoin. Proporciona una herramienta de anonimato de capa de red ligera y eficaz para reducir la posibilidad de mapear ataques para desanonimizar a los usuarios. A pesar de sus ventajas, Dandelion ++ no protege explícitamente contra ISP o adversarios de nivel AS que pueden usar ataques de enrutamiento para desanonimizar a los usuarios..

Comparando Dandelion ++ y Tor

Dandelion ++ tiene algunas ventajas notables sobre otras implementaciones de anonimato de red como Tor. Colina es la capa de superposición de red más destacada centrada en la privacidad y utiliza el enrutamiento de cebolla para ocultar la ubicación geográfica y las direcciones IP de los usuarios.

La integración de Tor a nivel de pila de red de sistemas de criptomonedas es sumamente desafiante. Monero es un excelente ejemplo de esto, ya que ha llevado más de cuatro años implementar su I2P similar a Tor Kovri proyecto en su red y todavía es un trabajo en progreso. Muchas redes de criptomonedas no tienen el tiempo ni la experiencia técnica para integrar este tipo de funcionalidad..

Los usuarios que enrutan sus transacciones a través de Tor tampoco es particularmente factible para los usuarios principales de Bitcoin que desconocen las deficiencias de privacidad de la red o carecen de la experiencia para enrutar las transacciones a través de Tor correctamente. Además, Tor puede ser lento debido al ancho de banda limitado en comparación con Dandelion++.

Lo mismo estudiar que identificó algunas preocupaciones de desanonimización de la transmisión de difusión en Bitcoin también destaca los ataques a los nodos donde terminan rechazando o poniendo en lista negra las conexiones Tor. Esto puede llevar a anonimizar transacciones y mapear también las direcciones IP de los usuarios..

Conclusión

Dandelion ++ es una mejora útil sobre el protocolo original de Dandelion. Su eventual integración en un próximo lanzamiento de Bitcoin Core parece probable y debería ofrecer mejoras significativas en la privacidad de la red P2P de Bitcoin. Los vectores de ataque de las criptomonedas continúan evolucionando, al igual que las soluciones. Dandelion ++ representa otro paso adelante en la protección del usuario privacidad en Bitcoin.