Resumen: Ouroboros Genesis. Traducción al español.🇪🇸

IOHK ha publicado recientemente su último trabajo de investigación, Ouroboros Genesis. Pueden leer su anuncio aquí.

Para más detalles sobre el diseño del protocolo, Génesis de Ouroboros, y explicaciones de las ejecuciones del protocolo, les recomiendo encarecidamente que vean el video completo. El artículo de investigación también está disponible para el público, y pueden leerlo aquí.
Aquí, hice todo lo posible para resumir el video de presentación del profesor Aggelos, principalmente cubriendo los temas introductorios como los orígenes del protocolo y su evolución hacia el Génesis.

El Concepto de Libro Contable Robusto

Comienza con el concepto de libros de transacciones robustos, que es el problema que Bitcoin resuelve. La definición formal del `libro robusto de transacciones’ puede encontrarse en este documento

. El documento enlazado tiene por objeto definir un modelo y un objetivo que debe cumplir un protocolo de libro mayor. De ahí surgieron muchos otros documentos que analizaban otros aspectos como la definición de la propiedad, la sincronía parcial y las definiciones de la composición.

¿Qué se necesita para realizar el libro de contabilidad?

Bitcoin puede hacer realidad el libro de contabilidad, ya que su protocolo fue la inspiración para definirlo. A pesar de esta característica notable del protocolo para proporcionar consenso en este contexto, existen desventajas significativas en cuanto a la escalabilidad y la eficacia energética. Esto nos lleva a la pregunta: ¿es posible realizarlo de una manera más eficiente sin comprometer sus suposiciones básicas? Y posteriormente llevando a Prueba de Participacion (Proof of Stake PoS). Esta era una alternativa discutida en el reino de Bitcoin para reemplazar la Prueba de Trabajo (Proof of Work PoW). (Nota: para el resto de este mensaje en el foro, me referiré a la Prueba de Participacion como POS, y también usaré POW para la Prueba de Trabajo.)

Un poco de información sobre PoW

Si se observa la forma en que funciona el protocolo blockchain en Bitcoin, es similar a una elección. Se elegirá la próxima entidad que producirá el bloque, que se añadirá a la cadena de bloques. La elección, en cierto sentido, se basa en la probabilidad proporcional a su poder de hash. Más poder, más posibilidades de ser elegido.
Aquí, el profesor Aggelos hace notar que pueden ocurrir “colisiones”. Esto sucede en un sistema que está descentralizado y que no tiene correlación entre las partes que ejecutan el protocolo. Pero que el protocolo está diseñado para absorber tales colisiones (o desacuerdos momentáneos entre las partes). Modificar esto es de lo que se trata el POS.

Un poco de información sobre PoS

POS, utiliza una participacion/inversion o un “recurso virtual” en lugar de tener poder (un poder físico). Este es el núcleo de la idea del PoS. Además, los mineros son sustituidos por aquellos que tienen’interés’. Esto se notifica en el libro contable. Una vez que tenemos esto, entonces necesitamos un proceso aleatorio que sea capaz de emular la misma idea de elección que viene naturalmente en el dominio de los PoW. Esta idea resultó ser poderosa y motivadora para que la gente propusiera una serie de protocolos para implementar el concepto de POS.

Enfoques POS

En la actualidad, existen dos enfoques principales. Ambos se clasifican como POS porque la participación se basa en su inversion

  • POS blockchain → básicamente de la misma manera que funciona la blockchain de Bitcoin, mientras que el uso de POS no pone en peligro ninguna de las características que proporciona el protocolo POW. Ejemplos de esto incluyen: Ouroboros, Blancanieves, NXT, y un número de otros

  • El otro enfoque es POS BFT (Byzantine Fault Tolerant) → este enfoque puede ser actualizado para operar en el entorno POS.

Ejemplo de esto: Algorand

“Bitcoin Folklore”

PoW no llegó sin controversia. El folklore era que las blockchain de POS son imposibles de trabajar. Las principales deficiencias que se plantearon fueron las siguientes:

  • Simulación sin costes

Esto sugiere que en ausencia de PoW, PoS es una prueba de un recurso virtual. No hay nada que te impida hacerlo una y otra vez, quizás en paralelo en múltiples ocasiones. Las diferencias fundamentales entre POW y POS, es el hecho de que en el caso de POW, todas las partes deben comprometerse a la ejecución de un protocolo y avanzar en esa ejecución, utilizando su algoritmo POW. Este no es el caso en PoS. Porque es’casi’ económico ejecutar el protocolo POS. En principio, no hay virtualmente nada en juego y uno sería capaz de avanzar en múltiples ejecuciones diferentes del protocolo para que pueda encontrar el que sea más favorable. Eso podría llevar a…

  • Ataques de largo alcance

En los ataques a larga distancia, hay un nodo víctima que intenta distinguir entre dos historias alternativas sin acceso a información reciente. Si usted está constantemente en línea, usted tiene un buen entendimiento de lo que se comunica en la red. Pero imagina que te unes a la red después de un gran paréntesis o que eres un nuevo nodo, entonces te enfrentas al problema del bootstrapping. ¿Cómo se sincroniza con esa cadena de bloqueo sin información reciente?

Arrancando desde Génesis

Un nuevo integrante está tratando de encontrar “cuál es la historia correcta”, pero no tiene ninguna información sobre el protocolo. Hay partes honestas que proporcionan una cadena de bloques y un “adversario” que proporciona otra. La única información que tiene el nuevo integrante es el bloque génesis y se enfrenta a la decisión de elegir la cadena de bloqueo correcta. En el mundo de los PoW, lo que se puede demostrar es que la cadena principal (mantenida por participantes honestos) es la que va a tener más bloques. Esto significa que la cadena del adversario será sustancialmente más corta y esto permitirá que el nuevo integrante se conecte con la cadena correcta. Esta es una idea poderosa, pero se basa en la suposición de que la mayoría está formada por integrantes honestos que siguen el protocolo, no por adversarios.

Disponibilidad dinámica

El siguiente modelo para entender cómo funcionan los bloques y protocolos es lo que el profesor Aggelos y su equipo de investigación han denominado Disponibilidad Dinámica. Este es el escenario en el que analizamos el protocolo de blockchain que sugiere un entorno que:

  • Las partes se unirán y abandonarán a su antojo
  • El número de partes en línea y fuera de línea cambiará dinámicamente con el tiempo (pueden perder la Sincronización del reloj o la conexión de red)
  • Y no habrá conocimiento previo en ningún momento.

Todo esto es la motivación de la nueva versión, Ouroboros Genesis, basada en Ouroboros Praos. La nueva versión del protocolo trata el problema de la disponibilidad dinámica. La intención es ver si es factible producir una blockchain POS que sea capaz de trabajar de forma nativa en el mismo entorno que Bitcoin. Y la principal novedad es que diseñaron una nueva regla de selección de cadena que permite a las partes arrancar desde la génesis.

Volvamos a entender a Ouroboros

Ouroboros fue diseñado junto con la prueba formal de que realiza la funcionalidad de un libro contable robusto. La estrategia de pruebas incluye las propiedades de las estructuras de datos subyacentes de la blockchain: se trata de propiedades que se comparten con el análisis POW de Bitcoin. Prefijo común, calidad de la cadena, crecimiento de la cadena son las propiedades fundamentales que el trabajo previo ha identificado como bloques de construcción importantes para la seguridad de los protocolos de cadena de bloques.

Así que ahora la pregunta es… ¿podemos aplicar esta lógica a la configuración del PoS?

Lo que ha hecho Ouroboros es demostrar que el problema de un adversario que reutiliza la oportunidad de emitir un bloque en múltiples rutas de una bifurcacion (debido a la simulación sin costes) puede ser superado.

Hay 3 cantidades que son importantes cuando se estudia la ejecución de un protocolo como este. Cada ruta que vea en la ejecución tendrá estas 3 cantidades:

  1. Gap = Encuentra esto mirando una ruta determinada en la ejecución y luego mirando cuán lejos está de la principal.

  2. Reserva = Observe cierto camino, y vea cuántas franjas (slot) están todavía en control total del adversario y que el adversario podría usar para avanzar ese camino hacia adelante.

  3. Alcance = Reste la brecha de la reserva para ver cuál es el alcance de ese camino. Ejemplo: El alcance de -1 es demasiado corto (por 1) para ganar el camino principal. Si te encuentras en tal situación, y eres un nodo honesto que usa la regla de la cadena más larga, entonces no serás engañado por el adversario.

Entonces, al final, mira la ejecución completa. Nos fijamos en 2 conceptos:

  1. Alcance: alcance máximo en todo momento
  2. Margen: cuál es el segundo mejor alcance desarticulado

Cuando se analiza esto, se desea que el margen esté siempre por debajo de cero. Ese sería un escenario en el que el adversario no sería capaz de engañar a una parte honesta que intenta conectarse en la ejecución de este protocolo.

Así que alcance y margen son las dos cantidades fundamentales que son interesantes cuando se analizan las ejecuciones de protocolos. El equipo de investigadores puede demostrar que el adversario ganará si y sólo si el margen es de al menos 0. Lo que es interesante ahora es que estas dos cantidades juntas, definen un paseo al azar. Incluso aquellos que son más complejos que el paseo aleatorio analizado en Bitcoin, todavía tiene buenas características que pueden ser utilizadas para probar la seguridad.

Volviendo a la pregunta original

Cuando se trata de 2 cadenas, que se han bifurcado en un momento dado, y hay que elegir la cadena correcta. Si la bifurcacion es algo reciente, ya sea por un ataque de corto alcance o por un desacuerdo entre nodos que se produce naturalmente debido a las condiciones de la red, entonces se aplicará la regla de la cadena más larga. Pero si la bifurcacion es más grande que los bloques k, se aplicará la siguiente regla de plenitud. → Ir al momento en que la cadena se bifurca, y poco después, aislar una cierta región de bloques. Dentro de un cierto rango de tiempo, mire cuál de las dos cadenas es más densa. El participante va a seguir la cadena que es más densa dentro de ese rango de tiempo. Esta regla es todavía bastante simple de implementar, lo que significa que es muy fácil de programar y funciona para mejorar la regla de la cadena más larga.

Intuición para la Regla de la Plenitud y lo que se probó en el protocolo.

Si la mayoría de las partes siguen el protocolo, entonces en cualquier segmento de tiempo suficientemente largo, la cadena correspondiente será más densa (especialmente después de una bifurcacion). Pudieron probar que las cadenas de bloqueo adversarias poco después del punto de divergencia exhibirán una distribución de bloques menos densa. Utilice esta regla para determinar cuál es la cadena de bloqueo correcta a la que conectarse.

Es la primera vez que estos investigadores pueden decir, POS blockchain puede operar en el mismo entorno de disponibilidad dinámica en el que sabemos que los blockahins basados en Bitcoin POW están operando.

Más por venir en la investigación de Ouroboros

  • Estructura de incentivos, delegación, grupos de interés del protocolo
  • Cadenas laterales, actualizaciones de software y sostenibilidad del ecosistema Contratos inteligentes y lenguaje específico del dominio
  • las partes se unirán y abandonarán a su antojo
  • Ver cómo las blockchain PoS se fragmentan y pueden ser escalables

Si usted está interesado en aprender sobre PoS de Ouroboros, aqui esta el video:

Resumen original en idioma inglés gracias a @maki.mukai
Ver Resumen original aquí

5 Likes

Muchas gracias por la traducción.