Traducción al español de “From Classic to Hydra: the implementations of Ouroboros explained”
Publicado por Kieran Costello en el blog de IOHK el 23 de Marzo de 2020
Ouroboros es el protocolo de consenso de Cardano. Aquí, explicamos lo que hace y cómo está evolucionando
Con la reciente actualización BFT en la red principal de Byron, y el recién publicado artículo Hydra, probablemente habrán oído hablar mucho de Ouroboros: el innovador protocolo de consenso de prueba de participación utilizado por Cardano. Desarrollado como una alternativa más eficiente en energía y sostenible a la prueba de trabajo, sobre la cual se construyen las anteriores criptomonedas - Bitcoin y, actualmente, Ethereum -, Ouroboros fue el primer protocolo de consenso blockchain que se desarrolló a través de una investigación revisada por pares.
Liderado por Aggelos Kiayias en la Universidad de Edimburgo, Ouroboros y sus posteriores implementaciones - BFT, Praos, Genesis, Hydra - proporcionan una nueva línea de base para resolver algunos de los mayores desafíos del mundo, de forma segura y a escala.
Sin embargo, el reconocimiento comienza con la educación, y no podemos confiar en lo que una tecnología logra para transmitir el cómo. En este artículo, presentamos una visión general del cómo de Ouroboros. Examinaremos los tangibles y cubriremos lo que cada implementación introduce, para fomentar la comprensión del protocolo por parte de la comunidad, e ilustrar por qué es tan cambiante. Un análisis detallado de cada implementación se puede encontrar en los correspondientes documentos a continuación. Sin embargo, para una explicación más amplia de Ouroboros y sus implementaciones, siga leyendo.
Unas palabras sobre los protocolos de consenso, y por qué Ouroboros es diferente
Es razonable asumir que cualquiera que sea nuevo en el espacio podría confundirse con el término “protocolo de consenso”. En pocas palabras, un protocolo de consenso es el sistema de leyes y parámetros que gobiernan el comportamiento de los libros de contabilidad distribuidos: un conjunto de reglas por las que cada participante de la red juega.
Las blockchain públicas no están controladas por ninguna autoridad central. En su lugar, se utiliza un protocolo de consenso para permitir que los participantes de la red distribuida se pongan de acuerdo sobre la historia de la red capturada en la blockchain: para llegar a un consenso sobre lo que ha sucedido, y continuar a partir de una única fuente de verdad.
Esa única fuente de verdad proporciona un registro único. Por eso a veces se hace referencia a las blockchain como “sin confianza”: en lugar de exigir a los participantes que confíen los unos en los otros, la confianza se construye en el protocolo. Los actores desconocidos pueden interactuar y realizar transacciones entre sí sin depender de un intermediario para mediar, o para que haya un intercambio de datos personales como requisito previo.
Ouroboros es un protocolo de prueba de participación, que se distingue de la prueba de trabajo. En lugar de depender de “mineros” para resolver ecuaciones computacionalmente complejas para crear nuevos bloques -y recompensar al primero que lo haga- la prueba de participación selecciona a los participantes para crear nuevos bloques basándose en su participación (en el caso de Cardano, la cantidad de ada que controlan) en la red.
Las redes que usan Ouroboros son mucho más eficientes energéticamente que las que usan pruebas de trabajo - y, a través de Ouroboros, Cardano es capaz de lograr una eficiencia energética sin precedentes. Al mismo nivel de descentralización - por ejemplo, 100 stake pools, lo que supera la red actual de bitcoin - Cardano podría consumir tan sólo 0,01567GWh (gigavatios-hora) por año. Bitcoin, por su parte, requeriría 67.000 GWh por año (según las estadísticas actuales). Esto se basa en la capacidad de Ouroboros para funcionar con un Raspberry Pi, que tiene un consumo de energía de 15 a 18W (vatios). En teoría, esto equivale a más de cuatro millones de veces la eficiencia energética. La diferencia resultante en el uso de la energía puede ser análoga a la que existe entre un hogar y un país pequeño: uno se puede escalar al mercado de masas; el otro no.
Ahora, veamos más de cerca cómo funciona el protocolo de Ouroboros, y lo que añade cada nueva implementación.
Ouroboros Classic
Empezamos con Ouroboros: la primera implementación del protocolo de Ouroboros, publicado en 2017. Esta primera implementación (denominada Ouroboros Classoc) sentó las bases del protocolo como un rival energéticamente eficiente para la prueba de trabajo, introdujo el marco matemático para analizar la prueba de participación e introdujo un novedoso mecanismo de incentivo para recompensar a los participantes en un entorno de prueba de participación.
Sin embargo, más que esto, lo que separaba a Ouroboros de otras blockchain y, concretamente, de los protocolos de prueba de participación era su capacidad de generar una aleatoriedad imparcial en el algoritmo de selección de líderes del protocolo, y las consiguientes garantías de seguridad que proporcionaba. La aleatoriedad impide la formación de patrones, y es una parte fundamental para mantener la seguridad del protocolo. Siempre que se pueda predecir un comportamiento, puede ser explotado - y aunque Ouroboros asegura la transparencia, evita la coacción. Significativamente, Ouroboros fue el primer protocolo de blockchain que se desarrolló con este tipo de análisis riguroso de seguridad.
Cómo funciona Ouroboros
Una explicación completa de cómo funciona el Ouroboros se puede encontrar en su documento de investigación. En resumen, Ouroboros divide la blockchain en franjas y épocas. En Cardano, cada franja dura 20 segundos y cada época -que es una agregación de franjas- representa aproximadamente cinco días de franjas.
El reconocimiento de que los ataques son inevitables es fundamental en el diseño de Ouroboros. Como tal, el protocolo tiene incorporada una tolerancia para evitar que los atacantes propaguen versiones alternativas de la blockchain, y asume que un adversario puede enviar mensajes arbitrarios a cualquier participante en cualquier momento. De hecho, se garantiza la seguridad del protocolo siempre que más del 51% de la apuesta esté controlada por participantes honrados (es decir, los que siguen el protocolo).
Para cada puesto se elige un líder de turno, que se encarga de añadir un bloque a la cadena y pasarlo al siguiente líder de turno. Para protegerse contra los intentos de subversión del protocolo por parte de los adversarios, cada nuevo líder de la franja debe considerar los últimos bloques de la cadena recibida como transitorios: sólo se considera resuelta la cadena que precede al número preestablecido de bloques transitorios. Esto se denomina también retraso de liquidación. Entre otras cosas, esto significa que un interesado puede desconectarse y seguir sincronizado con la blockchain, siempre y cuando no sea por más tiempo que el retraso de liquidación.
Dentro del protocolo Ouroboros, cada nodo de la red almacena una copia de la transacción mempool - donde las transacciones se añaden si son coherentes con las transacciones existentes - y la blockchain. La blockchain almacenada localmente se reemplaza cuando el nodo se da cuenta de que existe una cadena alternativa más larga y válida.
El inconveniente de Ouroboros Classic era que era susceptible a los atacantes adaptables - una amenaza significativa en un entorno del mundo real que se resolvió con Ouroboros Praos - y no tenía una forma segura de que un nuevo participante arrancara de la blockchain, lo que se resolvió con Ouroboros Genesis.
Ouroboros BFT
Ouroboros BFT fue el siguiente. Ouroboros BFT (Tolerancia a la Falla Bizantina) es un simple protocolo que fue usado por Cardano durante el reinicio de Byron, que fue la transición del antiguo código base de Cardano al nuevo. Ouroboros BFT ayudará a preparar la red de Cardano para la liberación de Shelley y, con ello, su descentralización.
En lugar de requerir que los nodos estén en línea todo el tiempo, Ouroboros BFT asume una red federada de servidores - la blockchain - y una comunicación sincrónica entre los servidores, proporcionando un consenso de libro mayor de una manera más simple y determinista.
Entre las ventajas adicionales se incluyen la prueba instantánea de liquidación, la liquidación de transacciones a velocidad de red -lo que significa que el determinante de las transacciones es la velocidad de su conexión de red a un nodo de OBFT- y la confirmación instantánea en un solo viaje de ida y vuelta de la comunicación. Cada uno de estos resultados se traduce en importantes mejoras de rendimiento.
Ouroboros Praos
Ouroboros Praos se basa en - y proporciona mejoras sustanciales de seguridad y escalabilidad a - Ouroboros Classic.
Al igual que Ouroboros Classic, Ouroboros Praos procesa los bloques de transacciones dividiendo las cadenas en franjas, que se agregan en épocas. Sin embargo, a diferencia de Ouroboros Classic, Praos se analiza en un entorno semisincrónico y es seguro contra los atacantes adaptables.
Supone dos posibilidades: que los adversarios puedan retrasar los mensajes de los participantes honestos durante más tiempo que una franja, y que un adversario pueda enviar mensajes arbitrarios a cualquier participante en cualquier momento.
Mediante la selección del líder privado y las firmas seguras de evolución de claves, Praos garantiza que un adversario fuerte no pueda predecir el próximo líder de la franja y lanzar un ataque centrado (como un ataque DDoS) para subvertir el protocolo. Praos también es capaz de tolerar retrasos en la entrega de mensajes controlados por el adversario y una corrupción gradual de los participantes individuales en una población de interesados en evolución, lo que es fundamental para mantener la seguridad de la red en un entorno mundial, siempre que se mantenga una mayoría honesta de interesados.
Ouroboros Génesis
Luego, tenemos Ouroboros Génesis. Génesis mejora aún más a Ouroboros Praos al añadir una nueva regla de selección en cadena, que permite a las partes arrancar desde un bloque de génesis - sin, significativamente, la necesidad de puntos de control confiables o suposiciones sobre la disponibilidad pasada. Génesis también proporciona una prueba de la componibilidad universal del protocolo, que demuestra que el protocolo puede componerse con otros protocolos en configuraciones arbitrarias en un entorno real, sin perder sus propiedades de seguridad. Esto contribuye significativamente a su seguridad y sostenibilidad, y a la de las redes que lo utilizan.
Ouroboros Hydra
El último es Ouroboros Hydra. Hydra es una arquitectura de escalabilidad fuera de la cadena que aborda tres desafíos clave de escalabilidad: alta producción de transacciones, baja latencia y mínimo almacenamiento por nodo.
El recientemente publicado informe técnico Hydra propone y describe la introducción de canales estatales multipartitos, que ofrece un procesamiento de transacciones paralelo para mejorar drásticamente la salida de transacciones por segundo (TPS) de Cardano, y la confirmación instantánea de las transacciones. Reflejando el nombre de la implementación, el documento se refiere a los hermanos de fuera de la cadena - canales estatales - como cabezas, lo que hace que el libro de cuentas tenga varias cabezas.
Ouroboros Hydra permite a Cardano escalar horizontalmente, aumentando el rendimiento al incorporar nodos adicionales, en lugar de verticalmente, mediante la adición de hardware más potente. Las primeras simulaciones muestran que cada cabeza es capaz de realizar hasta 1.000 TPS. Con 1.000 cabezas, esto podría ser tan alto como 1.000.000 TPS. Una vez implementado, Ouroboros Hydra permitirá a Cardano escalar a niveles inigualables - al nivel de, por ejemplo, los sistemas de pago globales.
Aunque Hydra se está diseñando conjuntamente con el protocolo de Ouroboros y el libro de contabilidad de Cardano, también puede emplearse en otros sistemas, siempre que compartan las características necesarias con Cardano.
El futuro de Ouroboros
Ouroboros, llamado así por el símbolo del infinito, es la columna vertebral del ecosistema de Cardano. El protocolo sirve como base y punto de partida para los sistemas de autopropagación que se transforman y crecen cíclicamente, suplantando los sistemas existentes - financieros y de otro tipo - y desintermediando las estructuras de poder de las que dependen. Es el comienzo de un nuevo estándar, definido no desde el centro sino desde los márgenes.
Su futuro es como su pasado: un esfuerzo incansable para explorar, iterar y optimizar, e impulsar un cambio positivo a través de una investigación rigurosa. Cada paso en su viaje - después de Hydra viene Ouroboros Crypsinous y Ouroboros Chronos - es una nueva evolución, y nos lleva más cerca de nuestra visión de un mundo más justo, más seguro y más sostenible.