🇪🇸 Avances en Ouroboros: Escalado para el Crecimiento Futuro | IOG 9 Jun 2022

:es: Transcripción al español de “Advances in Ouroboros: Scaling for Future Growth”

Publicado en el canal de Youtube de IOHK el 9 de Junio de 2022

Enlace a la versión doblada al español


El jefe científico de IOG, Aggelos Kiayias, desglosa los nuevos avances del algoritmo de consenso Ouroboros.

Hola, soy Aggelos Kiayias, soy un profesor en la Universidad de Edimburgo, director de laboratorio de tecnología blockchain, y jefe científico en Input Output Global. En este video voy a compartir con ustedes algunos de nuestros avances en la investigación relacionados con escalar el protocolo Ouroboros. Ouroboros es un protocolo de cadena más larga, que está basado en prueba de participación. Esto significa que comparte cualidades similares de descentralización con la blockchain Bitcoin. Por ejemplo, su habilidad por gestionar una continua fluctuación de población de participantes. Pero realiza esto sin el gasto energético necesario para protocolos basados en prueba de trabajo.

Se pensaba que los protocolos de cadena más larga tenían malas características de rendimiento, Intentemos entender por qué este es el caso. ¿Cuáles son los tipos de características de rendimiento en los que estamos interesados para un protocolo de consenso? Una manera simple de visualizar el rendimiento de un protocolo de consenso es pensar en él como una tubería, el ancho es el rendimiento, su alto es el tiempo de asentamiento, queremos rendimiento ancho y asentamiento corto. En este video me focalizaré en rendimiento, explicaré cuál es el asunto con protocolos de cadena más larga, y luego mostrar cómo igual podemos revertir la posición, y obtener gran rendimiento sin perder descentralización. En un protocolo de cadena más larga, el rendimiento, en términos de transacciones por segundo, está limitado por este F por B, donde f es el ratio de producción de bloques, por segundo y B es el número de transacciones que pueden entrar en un bloque. Por simplicidad aquí, estoy asumiendo que todas las transacciones aquí son del mismo tamaño. Así que podemos realizar una transacción, como unidad principal, acerca de qué es lo que será transmitido. Pero el argumento que realizaré será el mismo incluso si utilizamos una métrica diferente. Por esté límite, F por B, se desprende que una F más grande resultaría en un mejor rendimiento. Pero ahora la pregunta es, ¿cuán grande podemos dejar que sea F?

Esta es una pregunta que hemos estudiado en gran detalle, durante los años. Y gracias a nuestros últimos análisis que hemos publicado el año pasado. En el Simposio de seguridad de computación y comunicaciones ACM en 2021, hemos derivado esta fórmula, como condición necesaria y suficiente para la seguridad de este protocolos. Aquí, este delta mayúscula, es el delay de la red para la propagación de bloque. PA es el poder relativo de partes adversarias y PH es el poder relativo de partes honestas.

Para entender el impacto que esto tiene en F, el ratio de producción de bloque, necesitamos entender el delay de la red para bloques. Ahora, esta es una cuestión compleja, pero la abstracción simple que será útil y suficiente para nuestros propósitos que se aproximará a nuestro Delta de delay, es esta fórmula. Así que dejame que separe esto, aquí, ésta C mayúscula es el rendimiento real del enlace de comunicación, en términos de transacciones por segundo entre dos pares en la red. Por lo tanto B sobre C es el tiempo que necesitamos para empujar un bloque sobre un único enlace. Sin embargo, estamos en una red de par a par, con muchos pares conectados entre sí, y esto tendrá un cierto diámetro, D mayúscula. Así que en el peor de los casos también tenemos que multiplicar por este diámetro. Y finalmente, la D minúscula es un retraso fijo que tendremos independientemente de la cantidad de datos que necesitamos enviar. Juntando todo esto podemos derivar un límite más elevado para el rendimiento de un protocolo de cadena más larga. El rendimiento va a ser menor que esta cantidad. Y como ves, esto es independiente del tamaño del bloque. Y como es esperado, es proporcional con el rendimiento de enlace de comunicación e inversamente proporcional al diámetro de la red.

Para algunas configuraciones típicas de los parámetros aquí, sólo digamos 45 por ciento y 55 por ciento para las partes adversariales versus las honestas y un diámetro de cinco saltos en la red, obtenemos que el rendimiento de un protocolo de cadena más larga sería sólo del 8% del rendimiento disponible en los enlaces de comunicación. Esto significa que un protocolo de cadena más larga dejará el 92% del rendimiento disponible de comunicación sin uso. Un desperdicio terrible de hecho y aparentemente uno acerca del cuál no podemos hacer nada.

Ahora dejame que vaya a nuestra investigación en marcha que muestra cómo podemos resolver esta limitación de rendimiento. Ouroboros está utilizando una infraestructura de red que aplica presión trasera cuando hay sobrecarga de transacciones. El sistema absorbe dentro de los bloques lo que es factible mientras que una gran cantidad de transacciones esperarán su turno para ser empujados dentro de una mempool de un productor y ser procesada. Bajo gran carga las transacciones tendrán que esperar. Dejame que te presente la primera innovación que tenemos, el concepto de endosante de entrada permite a segmentos de mempools ser liberados en la red antes de considerar que entren a un bloque de la cadena principal. Esto significa que los productores de bloques liberarán espacio en sus mempools y pueden obtener más espacio para introducir transacciones, mientras que sus mempools estarán flotando en forma de lo que llamamos bloques de entrada en la red de par a par. Para obtener lo máximo de esto, esta segmentación de mempools necesitarán ocurrir simultáneamente a través de toda la población de productores de bloques. Por esta razón tenemos que asegurarnos que la superposición de bloques de entrada sea minimizada. Lograremos esto utilizando técnicas de codificación que están inspiradas por las comunicaciones de amplio espectro. La validez de los bloques entrantes es chequeada como en bloques de cadena más larga regulares, pero también será chequeada a través de la emisión de un certificado Mithril. Esto transformará al bloque entrante en un conjunto verificado de transacciones agrupadas que serán incluído en la cadena principal sólo por referencia. Estos certificados de bloques entrantes son creados comúnmente y espontáneamente. Esto significa que el conjunto de transacciones dentro de un bloque de entrada es validado y los scripts son ejecutados fuera de la huella crítica de validación de bloque de cadena principal.

Las oportunidades de bloques de cadena más larga sólo se utilizan para organizar estos bloques entrantes. Para facilitar esto del lado de productor de bloque hay una mempool de entrada de bloque separada, que es mantenida y acepta cualquier bloque de entrada que flota en la red. Y con esta convención, los bloques de la cadena principal ahora serán llamados bloques de ranking dado que su propósito principal será rankear los bloques de entrada dados. Con esto, el libro contable final será determinado por las transacciones almacenadas en bloques de entrada, y recordá que ahora estas están pre validadas, la serialización que será ofrecida por la cadena más larga permitirá la resolución de cualquier doble gasto que puedan estar presentes en bloques de entrada. Y tené en mente que dado el alto ratio de producción que tendremos para bloques de entrada, tales doble gastos no pueden ser excluidos. Esto también mostra el poder que nos da el modelo UTxO extendido.

Ejecución de script y validación ocurre con este nuevo diseño fuera de la huella crítica de validación de cadena principal, mientras que la resolución de doble gasto permanece nativa a la cadena principal. Pero ahora se convierte en un proceso de bajo peso que sólo necesita confiar en detectar y resolver conflictos en el gráfico UTxO. Con este mecanismo en su sitio logramos desacoplar el mecanismo de cadena más larga del pesado trabajo de llevar transacciones y procesarlas. Mientras que la validación de scripts estará cargando al sistema al mínimo grado posible. Y de manera más importante, para nuestro tema de alto rendimiento, ahora podemos completar la red ociosa fuera de lo que es utilizado por el protocolo de cadena más larga y maximizar el uso de la blockchain Ouroboros hacia los límites físicos teóricos de la red.

Esto completa este rápido vistazo acerca de qué podemos lograr con Ouroboros Leios, la nueva versión del protocolo Ouroboros que incorpora todos estos mecanismos que presenté en este video, y actualmente está en desarrollo. Como podés ver, la actual blockchain Ouroboros se convierte en el cimiento que será capaz de lograr una performance de rendimiento casi óptima de una manera completamente descentralizada. Además, ya podemos observar que utilizando nuestras técnicas de nuestra investigación previa, sobre combinadores de libros contables, podemos introducir blockchains de rankeo adicionales para disminuir el tiempo de establecimiento para los bloques entrantes. Como resultado, será posible lograr alto rendimiento y rápido establecimiento al mismo tiempo. Sin embargo, la manera exacta en que haremos esto será tema de una comunicación futura. Muchas gracias por mirar este video, pronto nos veremos nuevamente.

Dejo un resumen que armé en español de la 1ra parte del video para procesar más fácilmente las fórmulas que se exponen.

2 Likes

Hola, buen trabajo explicativo, gracias por compartir. A la espera estoy de más contenido como esté. Cordiales saludos, Juan.

Seba, agradecido también a ti por incansable y excelente trabajo. Un abrazo.

1 Like