🇪🇸 ¿Cómo se compara Casper con Ouroboros?

:es: Traducción al español de "How does Casper compare to Ouroboros?

Documento Original publicado por Aggelos Kiayias, Jefe Científico, el 9 de Agosto de 2018

Diferencias entre los protocolos Ethereum propuestos y el algoritmo de consenso de Cardano

TL;DR
(siglas de "muy largo, no lo leí)

En respuesta a las recientes discusiones en los medios sociales, hacemos una breve comparación de los protocolos de Prueba de Participación (Proof of Stake - PoS) de Ouroboros y Casper.

Ouroboros es un protocolo formalmente especificado y analizado con garantías de seguridad matemáticamente probadas basadas en supuestos claramente especificados. La descripción del protocolo, los modelos y las pruebas son todos públicos. Por lo tanto, las suposiciones subyacentes, las propiedades del protocolo de destino y las respectivas pruebas de corrección pueden ser examinadas públicamente. Ouroboros ofrece una firmeza basada en la participación con las mayores garantías posibles en cuanto a la cantidad de participación que respalda una operación honesta. También proporciona una base sólida sobre la cual se pueden ofrecer servicios tales como la firmeza casi instantánea de las transacciones en condiciones de red optimistas.

En cuanto a Casper, no conocemos ninguna fuente actualmente publicada que describa suficientemente el modo de funcionamiento del protocolo ni ninguna garantía demostrable al respecto. Aún así, desde lo que se ha presentado sobre Casper hasta ahora, en comparación con Ouroboros, podemos concluir con seguridad que Casper proporciona garantías mucho más débiles en términos de cuánto debe controlar el adversario para perturbar el protocolo. A continuación, comparamos los dos protocolos a lo largo de varias dimensiones; por falta de documentación adecuada, muchas de las propiedades de Casper deben ser asumidas a nuestro leal saber y entender.

En respuesta a una discusión aquí y aquí, damos una breve comparación entre el protocolo de prueba de participación (PoS) de Ouroboros y el PoS de Casper. Para Ouroboros, nos referimos a la versión original que subyace a la Capa de Contabilidad (Settlement Layer SL) Cardano (publicada en Crypto 2017), sin embargo, la mayoría de nuestros comentarios se aplican también a las versiones posteriores de Ouroboros Praos y Ouroboros Genesis. Para Casper, nos referimos principalmente al Gadget de Finalidad Amistosa con Casper (FFG) tal y como se describe en el documento, siendo la propuesta más reciente de Casper lo suficientemente descriptiva como para hacer una comparación completa (otras referencias incluyen Ethereum Mauve, Casper+Sharding v2.1, FFG-RPJ, Casper TBG/CBC).

Cualquier protocolo de PoS de libro contable debe satisfacer dos propiedades fundamentales: persistencia y vitalidad. La primera garantiza que el libro contable (ledger) sea definitivo e inmutable. El segundo garantiza que las transacciones emitidas por partes honestas se incluyan finalmente en el libro mayor (inmutable). Tales propiedades, por lo general, no pueden probarse incondicionalmente: se basarán en ciertas condiciones, algunas de ellas criptográficas, por ejemplo, que las firmas digitales no pueden falsificarse, mientras que otras están relacionadas con el comportamiento de los participantes, por ejemplo, que los actores que siguen el protocolo controlan la mayor parte de la participación. Existen otras propiedades deseables que un protocolo PoS debe satisfacer (como que la ejecución del protocolo según lo prescrito es la única estrategia racional para los participantes), pero la persistencia y la vitalidad según lo definido anteriormente constituyen el par mínimo de propiedades fundamentales necesarias para el consenso del libro contable.

Analicemos ahora algunas de las diferencias entre los dos protocolos y sus análisis.

Modelo de Ejecución y Falsificación de Reclamaciones

El protocolo de Ouroboros se analiza en un modelo que se describe en detalle: define sin ambigüedades todos los programas de los participantes, su ejecución e interacciones, su comunicación -incluidas las propiedades de la red- y la posible corrupción por parte de una entidad adversaria de cualquier conjunto de partes que controlan una minoría de la participación. Este modelo permite la formulación de garantías de seguridad matemáticamente precisas y satisfechas por cualquier ejecución, como las propiedades de persistencia y vitalidad probadas para Ouroboros. En particular, el modelado formal de Ouroboros permite realizar declaraciones precisas y cuantitativas sobre los límites de participación (stake) y los tiempos de liquidación; véase más adelante. Esto hace que todas las afirmaciones que hacemos sobre Ouroboros sean totalmente concretas; no hay nada que quede a criterio de la interpretación o de la perspectiva del lector. Sin un modelo de este tipo (notablemente ausente en el documento de Casper FFG o en cualquier otra fuente disponible relacionada con Casper), es imposible probar la exactitud de cualquier afirmación sobre el protocolo. Los protocolos de consenso, en general, son objetos complejos; diseñarlos sin el desarrollo de argumentos matemáticos rigurosos que establezcan las propiedades requeridas puede resultar precario, como ha demostrado la práctica previa en el diseño de sistemas seguros. Una buena intuición de diseño y el mejor esfuerzo no son suficientes cuando se supone que un protocolo de consenso de libro contable contiene activos por valor de miles de millones.

Una solución integral para el consenso del libro contable PoS

Teniendo en cuenta lo anterior, es importante apreciar que el protocolo de Ouroboros ha demostrado que proporciona persistencia y vitalidad bajo suposiciones claramente definidas, tales como una mayoría de participación honesta, que es la mínima suposición que se necesita en el entorno PoS. Por otra parte, Casper FFG, tal como se describe en el Documento, es una mejora sobre un “mecanismo de propuesta de bloques” preexistente, por ejemplo, una blockchain (cadena de bloques) PoW (a saber, Ethereum); en particular, sus garantías de seguridad como protocolo de consenso de libro contable dependen de la seguridad de este mecanismo de propuesta. Como observan los autores de Casper FFG, “un mecanismo de propuesta de bloques totalmente comprometido impedirá que Casper finalice nuevos bloques”, por lo que la asunción de poder de la mayoría honesta de la posesión sigue siendo necesaria para la vitalidad de Casper FFG. Del mismo modo, otras versiones del protocolo Casper, como Casper FFG-RPJ, están incompletas y/o no van acompañadas de ninguna prueba de seguridad.

Supuestos de Participación (Stake)

Se ha comprobado que Ouroboros logra persistencia y vitalidad bajo el supuesto de una mayoría honesta de toda la participación (stake) en el sistema, incluso en el caso de que algunas porciones significativas de las partes interesadas no participen en el protocolo (véase, por ejemplo, el Teorema 1 en el documento Ouroboros Génesis para la declaración más completa sobre la seguridad de Ouroboros). En cambio, Casper exige que una fracción de la participación depositada en ⅔ esté controlada por partes honestas (véase la sección 2.1 del Documento). Dado que la participación depositada está bloqueada y no puede utilizarse para otros fines mientras tanto, es razonable suponer que la participación depositada será una pequeña fracción de la participación total en el sistema. Naturalmente, es más difícil controlar grandes cantidades de participaciones, por lo que basar la seguridad en la participación total en el sistema, como en Ouroboros, es una opción más prudente. Como ejemplo concreto, en la versión actual de Ethereum (Ethereum Mauve paper o Casper+Sharding chain v2.1), se requiere un mínimo de 32 ETH por validador con 100-128 validadores por validador dependiendo de la referencia, sin ninguna otra restricción. De ello se deduce que si la participación total depositada entre todos los posibles validadores resulta ser mínima y no está restringida, entonces sólo unos pocos miles de ETH serían suficientes para registrar un conjunto de validadores de sybil que podrían alterar las propiedades de seguridad del consenso en el libro Contable.

Finalidad

Aunque la noción no está formalmente definida en el documento de Casper FFG, es fácil ver que la propiedad de la “firmeza basada en la participación” está subsumida por la persistencia, la propiedad que asegura que las transacciones se conviertan en parte permanente del libro contable inmutable del público; el adjetivo basado en la participación sobre la firmeza utilizado en Casper FFG se refiere al hecho de que la condición bajo la cual se debe alcanzar la firmeza se basa en la participación en vez de en la suposición de, por ejemplo, de poder de hash. Como se mencionó anteriormente, no se puede considerar que ningún protocolo resuelva el problema del consenso en el libro contable sin proporcionar persistencia (y por lo tanto firmeza). De hecho, todos los protocolos PoS proporcionan tales propiedades sólo con una alta probabilidad - si por ninguna otra razón, la criptografía siempre puede fallar con una probabilidad (muy) pequeña (por ejemplo, alguien puede adivinar su clave). De hecho, sabemos que Bitcoin y (pre-Casper) Ethereum proporcionan firmeza (demostrada por los trabajos de GKL15, GKL17 y PSS17) asumiendo la mayoría honesta de la potencia computacional), al igual que Ouroboros, asumiendo la mayoría honesta de la participación como se muestra en KRDO17, DGKR18, BGKRZ18.

En pocas palabras, Ouroboros proporciona firmeza basada en la participación y lo hace con la mayor garantía posible en términos de participación: contra una coalición maliciosa que controla cualquier cantidad de la participación total existente en el sistema, siempre y cuando esté por debajo del 50%. En el documento de Casper FFG, donde Casper opera sobre la blockchain Ethereum, la firmeza basada en participación se proporciona cada 100 bloques bajo el supuesto de que ⅔ de la participación depositada es honesta. Como ejemplo concreto, en la misma ventana de tiempo, que es un poco más de media hora en nuestro despliegue actual, podemos deducir de nuestro análisis formal que Ouroboros ofrecerá firmeza contra, digamos, un adversario de participación del 10% con una probabilidad de error inferior a 2^(-44). Esto es menos de 1/100000000000000000, uno de más de diez trillones. Para apreciar un número tan pequeño, considere que se espera que un asteroide grande golpee la tierra una vez cada 100 millones de años (Scientific American). Por lo tanto, es 10.000 veces más probable que un gran asteroide golpee la tierra el próximo mes que que Ouroboros reorganice su cadena para dejar caer una transacción en particular después de que haya sido incluida en el libro contable durante aproximadamente media hora.

Consenso Eventual vs. Finalidad (casi) instantánea

Los protocolos blockchain como Bitcoin y Ouroboros se denominan eventual-consensus ya que aseguran que la irreversibilidad de un bloque aumenta gradualmente con el número de bloques que se añaden sobre él. Esto significa que la firmeza es más matizada que un valor verdadero o falso, y se cuantifica por la probabilidad de revertir una transacción en función de la fuerza del adversario y del tiempo transcurrido desde que se agregó el bloque que contiene esa transacción. Este diseño permite que estos protocolos funcionen en los entornos adversarios más fuertes posibles y sigan siendo muy eficientes en cuanto al número de mensajes que deben intercambiarse; además, tienen la característica de que el receptor de una transacción puede decidir por sí mismo la importancia de la misma y ajustar sus propias nociones de estabilidad por transacción. Su desventaja es que no proporcionan una firmeza casi instantánea, o en otras palabras, una garantía rápida de que la transacción se concluirá. Esto puede ser una ventaja potencial de los protocolos clásicos de BFT que han inspirado el diseño de Casper FFG, así como de otros protocolos en el espacio, incluyendo Algorand.

Sin embargo, la firmeza casi instantánea también suele conllevar importantes inconvenientes en términos del modelo de seguridad, como un requisito mucho mayor de participación honesta o, lo que es más importante, un alto grado de presencia en línea garantizada que deben ofrecer los participantes que siguen el protocolo. Esto perjudica la disponibilidad dinámica de los participantes (ver abajo), que es uno de los sellos distintivos de la era bitcoin de los protocolos de consenso. Por otra parte, la firmeza casi instantánea puede construirse como un servicio sobre Ouroboros y esto es algo que publicaremos a su debido tiempo. Además, podemos argumentar que ésta es la mejor manera de avanzar: utilizar el protocolo de consenso final de Ouroboros, que es seguro bajo las mayores garantías posibles basadas en participación, como la base sólida sobre la que se pueden construir de forma segura servicios tales como la liquidación casi instantánea en condiciones de red optimistas.

Incentivos y disponibilidad dinámica

Casper FFG se inspira en los protocolos de consenso estándar de BFT anteriores a la era de Bitcoin y, como tal, no puede manejar la incertidumbre en cuanto al número de entidades participantes una vez que se fija el conjunto de validadores. Esto significa que el protocolo no puede funcionar en los entornos de “sleepy setting” y “dynamic availability”, en los que un número significativo de partes que se supone deben actuar en el protocolo no están disponibles debido a las condiciones de la red, fallos de hardware o simplemente falta de interés. Esta es una preocupación significativa en un entorno descentralizado donde la ejecución del protocolo no está destinada a ser dejada en manos de unos pocos actores de poder centralizado, sino que se distribuye proporcionalmente entre un gran número de actores más pequeños. El documento de Casper-FFG reconoce esto como el escenario de “Choque Catastrófico” y observa que en este caso “no se pueden finalizar puntos de control futuros”. Los autores proponen una mitigación en la forma de la llamada “fuga de inactividad”. Esta idea sólo se describe informalmente como drenante “el depósito de cualquier validador que no vote por los puntos de control, hasta que eventualmente el tamaño de sus depósitos disminuya lo suficiente como para que los validadores que están votando sean una supermayoría”. Desafortunadamente, esta modificación a su vez negaría cualquier ventaja potencial que Casper pueda reclamar frente a las divisiones de red, como también reconocen los autores: “La fuga de inactividad introduce la posibilidad de que se finalicen dos puntos de control conflictivos sin que ningún validador sea recortado”. Esto también afecta a los incentivos para el funcionamiento del protocolo. Ouroboros permite una agregación natural e impulsada por incentivos de las participaciones en pools de participación que se llevará a cabo a lo largo de un período de tiempo utilizando nuestro mecanismo de recompensa de pools de participación, sin forzar el comportamiento de las partes interesadas en una estructura predeterminada, mientras que Casper tiene que imponer un número preestablecido de validadores de bloques.

Aleatoriedad

Mientras que el protocolo original de Ouroboros no utiliza VRFs para generar aleatoriedad en el protocolo (en su lugar utiliza un protocolo de lanzamiento de monedas de salida-salida garantizado basado en el intercambio de secretos verificable), las versiones de seguimiento Praos y Genesis lo hacen para mejorar el rendimiento. Los VRFs propuestos para su uso en Ouroboros Praos y Génesis han demostrado ser seguros bajo supuestos criptográficos estándar (como el supuesto Computacional Diffie Hellman), mientras que el análisis de seguridad que hemos realizado asegura la resiliencia de Ouroboros a la manipulación de la aleatoriedad (ver Ouroboros Praos y Ouroboros Genesis).

Supuestos de la red

Ouroboros se analiza en el entorno “parcialmente síncrono”, donde los mensajes se entregan a la mayoría de las partes que ejecutan el protocolo dentro de un intervalo de tiempo limitado por un retardo de red Δ que las partes desconocen. El orden de los mensajes es contradictorio y no se garantiza que dos partes honestas reciban los mensajes en el mismo orden. El adversario puede inyectar mensajes arbitrarios selectivamente a cualquiera de las partes. Casper no hace ninguna afirmación explícita sobre el entorno de red en el que opera, sin embargo, al describir las defensas contra las revisiones de largo alcance alude a un tipo de modelo similar.

Trituración (Sharding)

Esta propiedad se refiere a la capacidad de un protocolo de consenso de una base de datos o libro contable para escalar su potencia de procesamiento a medida que más nodos (o capacidad de procesamiento) entran en el sistema, idealmente con una aceleración lineal en el número de nodos añadidos. Ouroboros Hydra, la versión escalable de Ouroboros está en desarrollo y será publicada en su momento siguiendo nuestro modo habitual de discurso, es decir, la publicación de un artículo completo que contiene formulaciones matemáticas completas del problema que resolvemos, una descripción completa de nuestra solución de protocolo, así como declaraciones concretas sobre las propiedades del protocolo que van acompañadas de todas las pruebas necesarias. Actualmente, la versión de Casper que permite el sharding, (Casper+Sharding v2.1), está incompleta incluso en términos de descripción del protocolo, y como tal, no puede permitir ninguna prueba de seguridad.

Conozca más sobre Ouroboros.

El esfuerzo en equipo es un sello de la investigación de IOHK y este artículo en el blog no es una excepción. Agradezco a Christian Badertscher, Matthias Fitzi, Peter Gaži, Alexander Russell, Jeremy Wood y Vassilis Zikas por sus diversas sugerencias, comentarios y correcciones al texto anterior.

Material gráfico, Mike Beeple

1 Like