Traducción al español de “On the Ouroboros Design: How rigour and engineering are essential for critical infrastructure”
Publicado por Aggelos Kiayias en el blog IOHK el 11 de Enero de 2018
Una entrada de blog en el sitio web de Steemit apareció recientemente haciendo una serie de reclamaciones con respecto a Ouroboros. El artículo contiene varias inexactitudes de hecho. Por ejemplo, se afirma que “DPOS” en el documento de Ouroboros significa “prueba delegada de participación”, mientras que, de hecho, DPOS significa “prueba dinámica de participación”, o que el protocolo requiere una proporción “2/3+” de partes que son honestas, mientras que en realidad sólo requiere una mayoría honesta, es decir, que la participación controlada por las partes que siguen el protocolo es superior a la mitad de la participación total.
Para aquellos que están interesados en el protocolo de Ouroboros y que aprecian su filosofía general, creemos que es apropiado dar aquí una respuesta a este artículo haciendo a lo largo del camino algunos puntos más amplios. Al tiempo que señalamos las inexactitudes en el blog, aprovechamos la oportunidad para destacar algunos de los enfoques generales seguidos en el diseño de Ouroboros y en los esfuerzos de investigación relacionados que se están llevando a cabo actualmente en IOHK.
Ouroboros es un protocolo de prueba de participación (PoS, por sus siglas en inglés) que utiliza la delegación en el espíritu de la idea PoS tal y como se discutió en el foro Bitcoin a partir de 2011. Las referencias que influyeron en su diseño se enumeran en nuestro documento. PoS es un concepto poderoso que ha inspirado una serie de otros esfuerzos antes, durante y después del primer artículo de Ouroboros. Entre todos los demás sistemas de blockchain (cadena de bloques) PoS implementados que transportan activos reales, Ouroboros es único en el sentido de que fue diseñado en conjunto con un modelo de seguridad formal y una prueba matemática de que implementa un sólido libro mayor de transacciones. Esto marca un cambio fundamental en la metodología de diseño del sistema de blockchain.
Los sistemas de blockchain están en un período de transición de curiosidades a infraestructura crítica; como tal, el enfoque demasiado típico de la industria del software de lanzar un “producto mínimo viable” tan pronto como sea posible y luego arreglar los errores a medida que aparecen, no es apropiado. Las fallas de la infraestructura crítica tienen un impacto significativo en la vida de las personas y, por lo tanto, requieren una rigurosa disciplina de ingeniería con los más altos estándares posibles. El objetivo principal es la fiabilidad, en lugar de un rendimiento máximo de acuerdo con una métrica elegida arbitrariamente. El rendimiento es importante, por supuesto, pero el rendimiento requerido es una función del dominio de la aplicación final y, desde el punto de vista de la fiabilidad, lo importante es el rendimiento en el peor de los casos, no la tasa máxima del escenario ideal.
Como todos los demás protocolos en el espacio de la blockchain, Ouroboros requiere cierto grado de sincronización. El intervalo de producción de bloques debe ser coherente con el plazo probable para completar los intercambios de información requeridos. La franja horaria de 20 segundos en Ouroboros representa una opción conservadora para que un bloque de transacciones atraviese el diámetro de una red peer-to-peer, donde los pares pueden estar distribuidos geográficamente de manera significativa, el sistema está operando en un pico de carga de transacciones y la interconexión es significativamente menos que perfecta. Es improbable que un bloque de transacciones atraviese sistemáticamente una red global mucho más rápido que eso, y como resultado cualquier solución que lo haga significativamente mejor (o pretenda hacerlo significativamente mejor) está equivocada, o bien proporciona un nivel más débil de descentralización o seguridad, es decir, resuelve un problema más fácil que Ouroboros. Existe un equilibrio entre lograr un servicio robusto, global y participativo que ofrezca un rendimiento efectivo sostenido incluso bajo un ataque adversarial, y crear una solución de alto rendimiento y participación limitada (en cuanto a alcance geográfico o requisitos de recursos de red) que haga suposiciones demasiado optimistas sobre la estabilidad de la red.
La irreversibilidad, la propiedad de que las transacciones persisten y son inmutables en un protocolo blockchain, tiene que ser presentada en función del nivel de la fuerza adversaria. Esto es cierto en el papel Bitcoin de Nakamoto y también en el papel Ouroboros; véase la sección 10.1 para conocer el tiempo real necesario para la confirmación de las transacciones. Por lo tanto, hay que tener mucho cuidado con las declaraciones sobre la irreversibilidad que no cuantifican el nivel de poder adversario. Por ejemplo, Ouroboros confirmará una transacción con una garantía del 99,9% en sólo cinco minutos contra un adversario que posea el 10% de la participación total, que en la actual capitalización de mercado de la blockchain Cardano ascendería a más de dos mil millones de dólares. Los protocolos de acuerdo bizantinos pueden proporcionar una irreversibilidad más “en blanco y negro”, en otras palabras, se puede garantizar que el protocolo sea irreversible dentro de un cierto plazo de tiempo, siempre que exista una mayoría honesta o una supermayoría dependiendo del protocolo. Sin embargo, la penalización por desempeño y descentralización sufrida es muy alta si se permite que el nivel de adversidad se acerque a la barrera 1/2, que es el nivel de adversidad que Ouroboros puede soportar.
La cuestión del posible dominio del proceso de consenso por parte de un pequeño grupo de partes interesadas que poseen una gran parte de la participación es importante, pero no es aplicable a la versión actual del sistema Cardano (la versión de Byron). Lo que hemos demostrado para Ouroboros es que puede facilitar un libro mayor de transacciones “justo” (donde lo justo aquí significa que el libro mayor puede registrar justamente todas las acciones significativas que son realizadas por los participantes del protocolo a pesar de la presencia de un adversario). Esto nos permitió neutralizar una serie de desviaciones racionales del protocolo (por ejemplo, el equivalente a los ataques egoístas de la minería en el entorno PoS) y proporcionar un argumento de equilibrio de Nash que muestra cómo el protocolo puede soportar muchos tipos diferentes de mecanismos para incentivar el comportamiento de los participantes. Actualmente, la investigación de IOHK está trabajando activamente para finalizar la estructura de incentivos que se incorporará en el lanzamiento de Shelley de Cardano, donde se apoyarán los pools de participación (stake pools) y se incentivará adecuadamente el comportamiento de la delegación para que ofrezca una descentralización efectiva del poder. El quid de nuestra metodología es la ingeniería de un nuevo mecanismo de recompensa para los participantes racionales que proporcione incentivos apropiados para dividir sus derechos de delegación. Los objetivos son, en primer lugar, evitar la concentración de poder en un pequeño grupo de participantes -como podría ocurrir con un mecanismo de recompensa ingenuo en una población distribuida de partes interesadas de Pareto- y, en segundo lugar, proporcionar incentivos apropiados para asegurar el número deseado de delegados. Estamos muy entusiasmados con este trabajo; será el primero de este tipo en la zona y, como antes, lo divulgaremos ampliamente, incluyendo todos los detalles técnicos, y lo presentaremos para su revisión por pares.
Esto nos lleva a la ventaja final distintiva de la filosofía de Cardano. La revisión científica por pares se ha ido perfeccionando a lo largo de los siglos. La forma en que es implementada por la Conferencia Internacional de Criptología (también llamada Crypto), donde se presentó Ouroboros, y las otras conferencias más importantes en el área, se esfuerza por eliminar los conflictos de interés y producir el más alto nivel de objetividad. El método de revisión se conoce como “doble ciego”, es decir, los trabajos se presentan de forma anónima y los revisores son expertos que también permanecen en el anonimato para los autores. El comité de expertos que revisa los trabajos presentados cada año está formado por dos copresidentes del programa nombrados por la Asociación Internacional de Investigación Criptológica, la organización preeminente de investigación criptológica fundada en 1982.
Ser invitado a servir en el comité como experto es un reconocimiento importante del compromiso a largo plazo de un individuo con el área de la criptografía (e incluso se mantiene un recuento preciso de cuántas veces se ha servido). Los protocolos de blockchain encajan perfectamente en la literatura científica de criptografía y, por lo tanto, esta comunidad debe realizar una revisión científica por pares. Por supuesto, aceptamos comentarios de cualquier persona. Es por eso que publicamos documentos (whitepapers) muy detallados con afirmaciones precisas y específicas que no dejan lugar a dudas sobre lo que se afirma, y apreciamos cualquier discusión de hecho sobre cualquiera de estas afirmaciones. Recomendamos encarecidamente a otros proyectos que también presenten sus trabajos para su revisión científica por pares. Disfrutarán de los beneficios de una crítica rigurosa, fundada y objetiva y tendrán la oportunidad de mostrar las ventajas y la novedad de su enfoque.