Cardano tiene PoS (prueba de participación) como su protocolo de consenso y Ouroboros es el algoritmo.
Ouroboros Classic fue la primera implementación, luego Ouroboros BFT (Byzantine Fault Tolerance) que fue la transición para el lanzamiento de Shelley y, con ello, su descentralización.
La siguiente innovación fue Ouroboros Praos, que se basa en Ouroboros Classic pero proporcionó mejoras sustanciales de seguridad y escalabilidad.
Ouroboros Génesis evoluciona a Ouroboros Praos y permite que las partes inicien desde un bloque de génesis, sin la necesidad de puntos de control de confianza o suposiciones sobre la disponibilidad pasada.
Por último Ouroboros Hydra que será una arquitectura de escalabilidad fuera de la cadena, aborda tres retos clave: alto rendimiento de las transacciones, baja latencia y mínimo almacenamiento por nodo.
Eras
La unidad de medida más amplia que divide a la blockchain de Cardano, son las eras, que establecen cambios en el funcionamiento de la red, a través de hard forks para su implementación.
Las eras se van implementando de acuerdo a la hoja de ruta, y en forma simultánea entre ellas, donde los tiempos dependen del desarrollo y el éxito en la testnet.
Byron fue su fundación, desde 2017 hasta julio de 2020, que inició Shelley, con la tarea de descentralización, permitiendo en la red la acción de pooles privados para firmar bloques.
Luego Goguen, con el objetivo del desarrollo de contratos inteligentes, iniciando en fases, con el primer hard fork Allegra a fines del 2020, luego Mary en marzo 2021 y por último será Alonzo a mediados de 2021.
Paralelamente se está desarrollando la gobernanza de la era Voltaire, con el proyecto Catalyst, votación de propuestas de la comunidad para repartir fondos para el desarrollo de éstas.
La era Basho, referida a la escalabilidad, tiene como principal implementación a Hydra, una solución de segunda capa sobre el protocolo de Cardano para acelerarlo.
Bloques, epochs y slots
Ouroboros divide el tiempo en épocas. Cada epoch dura 5 días, e incluye actualmente 432.000 slots, (5 días x 24 horas x 60 minutos x 60 segundos).
Por término medio, se espera que se nomine un nodo cada 20 segundos, lo que supone un total de 21.600 nominaciones por epoch. Si los líderes de slot elegidos al azar producen bloques, cada uno de ellos se añadirá a la cadena. Los demás bloques candidatos se descartarán.
Así en cada época se crean aproximadamente 21.600 bloques, pero debido a la aleatoriedad que se implementa en el protocolo se pueden crear más o menos bloques.