🇪🇸 Ouroboros Genesis: mayor seguridad en un entorno dinámico

:es: Traducción al español de “Ouroboros Genesis: enhanced security in a dynamic environment”

Publicado por Christian Badertscher en el blog de IOHK el 8 de Febrero de 2023


Ouroboros Genesis llegará a Cardano en 2023. La principal característica de Genesis es permitir a los participantes unirse a la red de forma segura sin necesidad de confiar en que los pares seleccionados proporcionen una instantánea correcta del estado actual de la blockchain. Siga leyendo

Ouroboros Genesis es un protocolo blockchain de prueba de participación (PoS) que amplía su predecesor, Ouroboros Praos.

Recordemos primero que Ouroboros es un protocolo PoS estilo Nakamoto con capacidad de recuperación incorporada ante una participación potencialmente muy fluctuante. Esto significa que es resistente a los muchos desafíos que pueden surgir de problemas de red, configuración incorrecta de los nodos, o condiciones de carrera que pueden causar el tiempo de inactividad de los nodos. Se ha demostrado que Ouroboros es seguro siempre que menos de la mitad de la participación activa total esté en manos de actores maliciosos. E incluso si esta suposición se incumpliera temporalmente, Ouroboros se autorrecuperaría rápidamente después de que la condición de mayoría honesta volviera a cumplirse. Un trabajo de investigación de 2020 de IOG analiza esta situación.

Una cuestión importante y a menudo olvidada en los sistemas PoS dinámicos ha sido durante mucho tiempo: ¿cómo pueden las partes unirse o reincorporarse de forma segura al sistema bajo la misma suposición de seguridad, y en particular sin depender de pares de confianza que sirvan una versión correcta de la blockchain actual? Esta pregunta se ha considerado un gran inconveniente para los sistemas PoS - hasta que un trabajo de investigación de 2018 de IOG propuso una solución a este problema. Este post explica la importancia y la idea principal detrás de Genesis.

La importancia de la disponibilidad dinámica

La disponibilidad dinámica en un entorno blockchain puede considerarse como una propiedad que permite a los nodos productores de bloques conectarse y desconectarse sin previo aviso. Al mismo tiempo, el sistema se mantiene operativo para cualquier nivel de participación y sigue siendo seguro mientras (entre los nodos activos) más del 50% de los recursos, como la potencia de cálculo en Bitcoin o la participación en Cardano, estén controlados por participantes honestos. El mecanismo de consenso, cuyo objetivo es poner de acuerdo a todos los nodos, utiliza esos recursos para elegir líderes con derecho a ampliar la blockchain con un bloque que contenga transacciones válidas.

En este contexto, la disponibilidad dinámica proporciona una mayor viveza a la red, y es esencial para un sistema verdaderamente descentralizado, ya que no se puede suponer que todos los nodos estén constantemente en línea. Sin embargo, para que esta historia sea completa, los nodos deben poder reincorporarse fácilmente al sistema, simplemente observando la red y conociendo el bloque génesis. Cualquier otro supuesto de confianza, como el requisito de puntos de control servidos por pares de confianza, va en contra de la visión de la descentralización.

En 2018, la investigación de IOG presentó y analizó el algoritmo Génesis de Ouroboros que cumple de manera demostrable los requisitos anteriores en un modelo criptográfico fuerte. El algoritmo Génesis es esencialmente Praos, con una novedosa regla de selección de cadena añadida que permite a las partes unirse de forma segura y arrancar la blockchain desde cero sin requerir asesoramiento de confianza, o cualquier otra ayuda como el conocimiento de la disponibilidad pasada.

Garantías de seguridad mediante la regla de selección de cadenas

Génesis tiene una estructura similar a Ouroboros Praos. De hecho, considerando el caso de que todas las partes estén siempre disponibles, los dos protocolos se comportan de forma idéntica. Sin embargo, cuando se trata de la disponibilidad dinámica, las partes que se incorporan recientemente necesitan asesoramiento en Praos: para poder extender con seguridad la cadena más larga. Los recién llegados deben conocer primero el estado actual (verdadero) del libro mayor, por ejemplo, preguntando a los pares de confianza. Si un atacante puede servir una cadena falsa a esos recién llegados, es posible impedir que se unan y contribuyan a la seguridad y el rendimiento del sistema. Entonces, ¿cómo evita Génesis esos consejos de confianza? La innovación técnica reside en la novedosa regla de selección de cadenas.

En pocas palabras, piense en la selección de cadena como un filtro. Este filtro, cuando se le presentan todas las cadenas de bloques observadas en la red, detecta la más útil para el sistema. En principio, en el consenso Nakamoto, el enfoque es ir con la cadena más larga. Aunque esto está bien para Bitcoin, en el caso PoS la simple regla de la cadena más larga no es una buena idea: un adversario podría bifurcarse desde una cadena honesta y seguir creando bloques de forma privada. Después de una cantidad sustancial de tiempo (del orden de varias épocas), el adversario será esencialmente el accionista mayoritario en su cadena privada y por lo tanto será capaz de crear bloques mucho más rápido que la cadena honesta, superándola eventualmente en longitud. Praos y otros algoritmos PoS evitan ser engañados en una cadena adversaria introduciendo puntos de control que todas las cadenas deben cumplir. Como se ha mencionado anteriormente, la introducción de estos puntos de control tiene el inconveniente de que las partes que se unen necesitan asesoramiento de confianza.

Entonces, ¿qué se puede hacer? La idea clave es que cuando un adversario se bifurca de una cadena honesta y extiende la cadena de forma privada, no puede evitar el hecho de que cualquier cadena privada tiene un segmento inicial de slots, justo después del punto de bifurcación, que es menos denso (tiene menos bloques) que la cadena que los participantes honestos crean para ese segmento. Esto puede aprovecharse para distinguir lo bueno de lo malo y, por tanto, también para deshacerse de los mencionados puntos de control rodantes introduciendo una nueva regla de selección de cadenas.

Supongamos que un recién llegado parte del bloque génesis como cadena inicial. Cada vez que aparece una nueva cadena en la red, este recién llegado compara la cadena local con la nueva en función de la densidad en ese segmento concreto después de que las dos cadenas empiecen a bifurcarse entre sí. El recién llegado adopta la nueva cadena sólo si es más densa en ese segmento, y sigue iterando este proceso con otras cadenas recién recibidas. De la observación anterior se deduce que cuando el recién llegado observa la cadena real apoyada por la mayoría honesta de la participación activa en la red, adopta esta cadena. En consecuencia, el recién llegado bloquea el estado de la cadena de bloques exactamente igual que otros participantes ya activos.

Para conocer el argumento técnico completo, consulte el documento de investigación de 2018 y vea una presentación sobre Ouroboros Genesis de Aggelos Kiayias.

En resumen, la regla de selección de cadena permite a Ouroboros manejar sin problemas los cambios en el número de partes activas de forma descentralizada arrancando desde el bloque génesis y manteniéndose seguro, siempre y cuando los participantes honestos tengan la mayoría de la participación activa.

¿Cuándo en Cardano?

Cardano se ejecuta actualmente en Ouroboros Praos y los equipos ya están trabajando en el rediseño del consenso. Existe un prototipo parcial de Genesis en funcionamiento, cuyo rendimiento se está ajustando y que está siendo auditado para detectar nuevos vectores de ataque. Los equipos también han trabajado en una implementación autónoma de la lógica de desconexión de Génesis, que es el componente principal de la implementación. Esta lógica está actualmente en fase de pruebas y requiere esfuerzos adicionales de integración.

Si le interesa conocer el proceso de desarrollo, consulte esta hoja de ruta de Genesis. Para mantenerse al día, siga las actualizaciones técnicas del equipo de consenso y los canales de IOG.

Olga Hryniuk ha contribuido a esta entrada del blog.

1 Like