🇪🇸 Optimización y escala de la red en 2022 con John Woods | IOG 14 Ene 2022

:es: Transcripción al español de un fragmento de “Mid Month Development Update - January 2022”

Del minuto 00:02:24 al 00:12:29 del video original

Publicado en el canal de Youtube de IOHK el 14 de Enero 2022

Enlace a la versión doblada al español


Tim: Pero esta mejora para los SPOs, para Daedalus, es sólo el comienzo, ¿no es así John?, quizás puedas profundizar un poco más respecto a lo que dijo Kevin, nos da más libertad, más latitud.

John: Absolutamente Tim, me gustaría comparar el 1.3.3, nuestra última liberación del nodo Cardano, con lo que Steve Jobs hizo en Apple con Mac OS, años atrás, con Snow Leopard, soy un poco nerd de Apple, así que traigo eso. Mac OS, obviamente un fantástico sistema operativo, líder, al igual que Windows y Linux. Pero hubo un punto en el que agregaron tantas funciones que pensaron que tendrían que ir bajo el capot, sintonizar cosas. Y eso es realmente lo que hicimos con 1.3.3. Tomamos un nodo Cardano rico en funciones, y queríamos hacerlo sincronizar con cualquier computadora posible ahí fuera, no sólo estás máquinas de vanguardia que los SPOs típicamente tienen, queríamos que funcione para todo el mundo. Así que con el 1.3.3 tuvimos la oportunidad de sumergirnos bajo el capot, y realizar algunos elegantes y eficientes cambios. Para que las cosas, como Kevin ya describió, las cosas simplemente funcionarán genial sin importar qué computadora tengas. Así que esto nos da el cimiento para comenzar a realizar nuevamente mejoras a nuestra escala de capa uno. Así que con el advenimiento de 1.3.3, ahora tendremos una respuesta mucho más uniforme de propagación de bloque a través de la época, y lo que quiero decir con eso es simplemente que tenemos tiempos fiables, consistentes en cómo se propagan los bloques a través de la red, que por supuesto es lo que queremos. Cuando esos tiempos son bonitos y bajos, sin ningún comportamiento de pico causado por la vieja manera de realizar cálculos de recompensas, que ahora se fue. Esto nos da espacio para empezar a incrementar los parámetros para Plutus, e incrementar el tamaño del bloque, eso será algo que estaré intentando hacer en Enero, quiero comenzar a incrementar los recursos disponibles a los que los desarrolladores deberían tener acceso cuando están construyendo propagaciones en Plutus.

Pero esa es sólo la primera parte de la historia, 1.3.3 es sólo el comienzo. Dejame darte una lista de cosas que me gustarían atravesar, como que ponen un marco en lo que estamos intentando hacer este año. Este año es acerca de escalar la capa uno, este año quiero que la capa uno lo más rápida que pueda ser. La primera son mejoras de nodo, 1.3.3 fue el comienzo pero no nos estamos deteniendo ahí. En la próxima liberación vamos a tener todo un grupo de trabajo realizado acerca de cómo gestionamos y utilizamos memoria. La memoria por supuesto es muy importante, es un recurso dentro de tu computadora. Estamos mirando técnicas de compresión y para compartir memoria, que disminuirán enormemente el uso de memoria del nodo Cardano central, esperamos mejoras de hasta el 40%, realmente significante. Los cambios que estaremos realizando con la eficiencia del nodo también nos permitirán incrementar constantemente el tamaño del bloque, eso es algo que constantemente se incrementará durante el curso del año, mientras tengamos espacio para realizarlo. Lo mismo con los límites de recursos de Plutus, la memoria y CPU disponible para el Script Plutus, eso realmente contiene o define los tipos de cosas que podés realizar con un Script Plutus, queremos que Plutus sea tan articulado como sea posible, queremos que sea tan poderoso como sea posible. Así que para hacer eso tenemos que dar a los desarrolladores mayores límites de recursos. De nuevo, estos límites de recursos estarán cambiando a través del año e incrementándose.

Número cuatro es probablemente la que personalmente más me emociona, es Pipelining. Así que Pipelining es un mecanismo, técnicamente, para fusionar la validación y propagación de un bloque. Así que dejame ponerlo en términos más simples. Ahora mismo, un bloque es creado por un SPO, es un nuevo bloque en la blockchain, tenemos que validarlo, enviarlo a un par. El problema es que ellos también tienen que validar, enviarselo a otro par, así es cómo se difunde el bloque a través de la red. Eso está bien pero por supuesto toma tiempo realizar toda esa validación, cada salto, más validaciones, está comiendo tiempo, y está comiendo tiempo que nos gustaría utilizar para bloques más grandes y más límites Plutus, así que, ¿qué vamos a hacer? Vamos a exprimir este proceso de enviar y validar el bloque, como que estamos haciendo ambas cosas en paralelo, haciendo una tubería para ese proceso. Ahora, hay algunos detalles de implementación técnica, en términos de cómo vamos a asegurarnos que tenemos cubiertas todas nuestras puntas cuando se trata de implicaciones que podrían aparecer cuando están realizando esta especie de comportamiento paralelizado. Pipelining será algo que nos dará espacio significativo para, de nuevo, incrementar el rendimiento en la capa uno, y cuando digo significativo, espero algo así como un orden de magnitud.

Hablemos del número cinco, endosantes de entrada, no quiero ir muy profundo en esto, porque a diferencia de Pipelining que está terminando su arquitectura, y comenzando su implementación, los endosantes de entrada todavía como en la vertical de arquitectura barra investigación. Pero los endosantes de entrada serán, yo diría, una solución casi definitiva para la escalabilidad de la capa uno. Pondrá a Cardano en la cima del montón, cuando se trata de rendimiento para la capa uno. Es un mecanismo a través del cuál cambiamos bastante radicalmente el proceso de producción y propagación de bloques. Así que en vez de recoger transacciones de la Mempool, como actualmente hacemos, forjando un bloque y enviándolo a nuestros pares, que es el estado actual. En lugar de eso, los bloques serán creados basados en necesidad, firmados, contra firmados, estarán flotando alrededor de la red en una base cercana a segundo por segundo. Haré una inmersión profunda técnica sobre eso más adelante, es un poco difícil de explicar en este punto porque los investigadores continúan trabajando en ello, pero es algo que veremos hacia fines de este año, vendrá después de Pipelining y de los cambios que ya discutimos.

Por supuesto luego tenemos mejoras para Plutus, más allá de incrementar los recursos disponibles para el desarrollador Plutus, lo vamos a hacer más fácil para los desarrolladores Plutus. Así que el número seis son mejoras de Scripts Plutus, hablé de esto antes, entradas de referencia, esta idea de que podés referenciar una entrada sin destruirlo y recrearlo. Datos en línea, así que no tenés que preocuparte por traer los datos a las partes cuando estás interactuando con el Script. Y referencia de Script, similar a datos en línea, en el momento que traes el Script, cuando sea que quieras interactuar con él, pero serás capaz de apuntar a un script en Cadena. Así que estos son realmente acerca de reducir la fricción para desarrolladores, haciendo las transacciones más pequeñas y elegantes. Número siete es sobre almacenamiento en disco, estamos muy al tanto, de nuevo, volviendo a 1.3.3, hacer al nodo genial, estamos al tanto que ahora el nodo Cardano necesita un montón de RAM cuando está corriendo. Así que queremos comenzar a mover las cosas fuera del RAM, esa costosa y volátil memoria, dentro de almacenamiento en disco, que es un patrón muy común en ciencias de la computación. El almacenamiento en disco es algo que será como una mejora de calidad de vida para los usuarios del nodo Cardano.

Ocho y nueve como que están relacionadas, cadenas laterales y Hydra. Un canal de par a par, que permite a la gente hacer transacciones de par a par en un canal de par a par, un canal fuera de línea, y establecerlas en la cadena principal. Hydra es una parte principal de nuestro plan de escalabilidad, especialmente para ciertos tipos de transacciones e interacciones en Cardano. Pero por supuesto también tenemos cadenas laterales, y podría haber muchos muchos diferentes casos de usos para ellas. Algunos ejemplos son monedas estables, todo el camino hasta potencialmente tener una cadena lateral que puede ejecutar contratos inteligentes de otras plataformas. Así que estoy muy emocionado acerca de cómo eso nos permitirá sacar carga de la capa uno en la red principal y ponerla en una cadena lateral, mientras tanto disfrutamos de la veracidad que proporciona esa capa uno principal. Incluso estamos mirando computación fuera de cadena, que es una manera potencial de realizar transacciones más rápidas y económicas a través de un modelo de confianza.

Y finalmente en el número once de mi lista de geniales maneras de mejorar Cardano para 2022 es Mithril. No estoy seguro si realmente hablamos antes acerca de Mithril, es tecnología utilizando criptografía bastante exótica. Se llama umbral basado en stake múlti firma. Pero en última instancia lo que Mithril nos permite hacer es permitir a una computadora o dispositivo que no tiene una gran capacidad computacional, tal como un teléfono o un Raspberry Pi, permitir a una computadora como esa ser capaz de validar toda la cadena. Ahora, por supuesto no pueden validar toda la capa uno de la cadena Cardano, bloque por bloque, porque eso sería muy costoso computacionalmente. Lo que Mithril hace es comprobar puntos de chequeo en la cadena, pone un palo en el piso y dice “hey, hasta acá está bien”, y quizás avanza otros 400 bloques, otro palo, “está bien hasta aquí”. Y lo que podemos hacer utilizando alguna magia criptográfica es que podemos hacer que uno de estos dispositivos livianos tome todos estos palos del suelo, los compruebe rápidamente y sabe que la cadena es válida, sin tener que hacer ese trabajo ellos mismos. Ese es el tipo de cosas en las que estamos pensando, pero en última instancia el 2022 es acerca de escalar la capa uno, vamos a hacer que Cardno sea realmente competitivo.

Tim: Un año muy ocupado por delante con esas optimizaciones John. También va a estar muy ocupado en la red, al menos en los primeros días, ¿no es así?, necesitamos reconocer eso.

John: Absolutamente, y estamos al tanto de esto, las cosas que mencioné, desde la liberación 1.3.3 que acabamos de sacar, que nos da espacio para los ajustes de parámetros de la red que quiero hacer este mes, todo el camino a cesantía, endosantes de entrada, computación de cadenas laterales. Nosotros un viaje en el que ir, no va a tomar mucho tiempo, vamos a comenzar a ver algunas de estas cosas desplegándose en el primer trimestre, cosas principales como Pipelining en el segundo trimestre, y más tarde en el tercer y cuarto trimestre algunas de las otras cosas más exóticas como cesantías y endosantes de entradas. Pero en última instancia Cardano es una red sin permiso, cualquiera puede lanzar cualquier aplicación en cualquier momento. Adicionalmente, hay mucha emoción alrededor de Cardano, todo un conjunto de diferentes verticales, desde NFTs a dApps, a Dexes. Estamos viendo un enorme número de proyectos que están cerca de completar el desarrollo, e inminentemente lanzarán. Y si eso ocurre, en Enero o Febrero, antes de que despleguemos algunos de estos cambios de escalabilidad, vemos emoción, dApps lanzando juntas, al mismo tiempo, sí, podés esperar que la red principal esté ocupada. Y sí quizás tengas que esperar unos minutos extra para que transacción sea procesada dependiendo cuán ocupada esté en un momento dado. Sin embargo, tenemos un plan realmente sólido para escalar y también creemos que ahora mismo la red está en una posición en la que es segura, robusta y también con bastante rendimiento. Pero vamos a estar haciendo estos cambios para asegurarnos que nosotros crecemos a medida que crecen las dApps.

Tim: Gracias John.