🇪🇸 3 nuevos CIPs que ofrecen nuevas y potentes funciones Plutus a los desarrolladores | IOG 17 Dic 2021

:es: Transcripción al español de un fragmento de “Mid Month Development Update – December”

Del minuto 00:12:22 al 00:18:35 del video original

Publicado en el canal de Youtube de IOHK el 17 de Diciembre 2021

Enlace a la versión doblada al español


Tim: John, optimizar Plutus obviamente va a ser otra parte clave de mejorar el rendimiento y eficiencia para las dApps Cardano. Han habido unos pocos CIPs presentados últimamente, ¿podés decirnos un poquito más acerca de ellos y qué intentan hacer?

John: Absolutamente, queremos que Plutus sea una manera fantástica para desarrollar dApps en Cardano. Queremos que los desarrolladores tengan un buen momento haciéndolo, y queremos eliminar fricción para desarrolladores. Lo que no queremos tener es una situación donde la gente tiene que hacer más trabajo que el necesario para construir geniales dApps DeFi en Cardano. Así que hemos estado escuchando a los desarrolladores, hemos estado hablando, estando en contacto, tenemos todo un equipo que ha pasado tiempo con la gran comunidad, en el espacio de código abierto. Hemos estado escuchando qué cosas son las que causan más fricción. Han habido tres nuevos CIPs, estas son propuestas de mejora Cardano, para mejorar la manera en que funciona Plutus, para hacer las cosas más fáciles para los desarrolladores. Voy a darte una bastante técnica, pero rápida mirada de los tres, y de hecho como que encajan juntos, los tres funcionan y se complementan entre sí, para hacer las cosas geniales. Una de las cosas que puede ser engorrosa para los desarrolladores, cuando construís dApps descentralizadas en Cardano, es que actualmente tienen que compartir los scripts fuera de línea, para que puedan ser incluídos en transacciones. Sundae y muchachos como ellos, ellos son capaces de construir sitios web, interfaces de usuario que manejan ese tipo de cosas para los usuarios finales, y eso es genial, obtienen una buena experiencia. Pero si vos sos un pequeño desarrollador o que quizás no tenga esa parte delantera, puede ser complicado compartir esos scripts con diferentes personas para que puedan interactuar con tu dApp descentralizada. Nuestro primer CIP se llama script de referencia, y lo que hace es básicamente permitir a alguien que pone scripts Plutus en la cadena, físicamente, y en vez de incluirlos en una transacción, en su lugar podés incluir un señalador en la transacción que sólo hace referencia a ese script en la cadena existencia. Así que eso es genial, yo no necesito saber, no necesito tener una copia de ese script para interactuar con él. Alguien simplemente necesita hacerme saber cuál es la dirección, y luego los usuarios a través de todo el mundo pueden utilizar el mismo script y apuntar a él. Esto realmente lo hace mucho más fácil para los desarrolladores. Otra cosa genial es que esto permite como un caso de uso, donde podrías tener, podría ser IO, cualquier otro desarrollador en el consorcio descentralizado de desarrolladores Cardano, podés poner scripts de referencia en cadena y permitir a la gente utilizarlos como librerías. Incluso podríamos decirle a la gente “bueno, estas son un conjunto de librerías que consideramos centrales para Plutus, hey, las ponemos aquí y cualquiera puede utilizarlas, y luego podemos publicar la dirección”. Podrías tener otra compañía, un grupo en el espacio que básicamente decide tomar las librerías y hacerlas disponibles para el público más amplio, y es realmente simple hacer eso una vez que estén estos cambios.

El segundo cambio se llama entradas de referencia, quizás hable brevemente acerca de esto. La gente probablemente sabrá que cuando estás utilizando Cardano estás utilizando el modelo UTxO extendido, esta idea de salidas no gastadas. Bueno, actualmente podrías ver cosas cómo oráculos siendo construídos como dApps. Y un oráculo podría por ejemplo decirte el precio del Euro versus el dólar. Y la manera en que el oráculo funciona por el momento es que almacenarán ese valor como parte de un dato en un UTxO. Así que tenés un UTxO con una pequeña pieza de estado que mantiene el valor actual de Euro Dólar. Ahora, si estás construyendo una dApp en cadena y querés utilizar esa pieza de información que está en la cadena para ejecutar un Swap, construir el precio de una opción o alguna otra genial tecnología derivada. Bueno, actualmente básicamente tenés que tomar ese UTxO, incluirlo en tu transacción, utilizarlo, y en la salida vas a tener que recrear el UTxO para que alguien más lo utilice con el mismo valor. Esto funciona pero es un poco subóptimo. Sería mejor si pudieras leer el valor sentado en el UTxO, como el valor de un oráculo o alguna otra pieza de datos, sin tener que gastar el UTxO en sí mismo. Y eso es lo que hace la referencia de entradas, permite a la gente referenciar el estado en un UTxO sin tener que gastar y recrear eso. De nuevo, esto simplemente eliminará fricción para nuestros desarrolladores, mejorará la concurrencia, porque ahora tenés mucha gente referenciando una entrada sin esperar la salida de la persona previa que lo estaba utilizando. Así que creo que es realmente una manera genial de mejorar Plutus. Y encaja bien con esta idea de scripts de referencia de la que acabo de hablar. Así que ahora podés mirar salidas en la cadena, referenciar scripts, y todas estas cosas se realizan en transacciones más y más pequeñas, así que realmente empujando la elegancia del lenguaje y de las interacciones.

Así que finalmente, el último cambio del que me gustaría habal se llama datos en línea. Antes he hablado brevemente de datos, que básicamente es una pequeña pieza de estado, podés pensarlo como un juego guardado, un alto puntaje, vive en el UTxO, son un poquito de datos. Eso es utilizado por desarrolladores dApps de diferentes maneras, a veces quizás para almacenar una llave pública, o para almacenar alguna clase de credencial, así que su dApp puede saber a quién se le permite realizar algo con la dApp. Bueno, por el momento, parecido a los scripts que describí antes, de hecho no almacenamos los datos en cadena, en su lugar almacenamos un hash de estos datos, y es la responsabilidad de la persona interactuando con el contrato para incluir el script y los datos en su transacción. Ahora, de nuevo, eso está bien, es un poco subóptimo. Así que lo que nos gustaría hacer es que los usuarios finales y desarrolladores puedan almacenar los datos físicamente en la cadena, no solamente el hash, pero los datos en sí mismos. Así que probablemente estés viendo un tema aquí, estás poniendo más en cadena, estamos liberando a los desarrolladores de la necesidad de monitorear y compartir scripts, los estamos liberando de la necesidad de monitorear y compartir datos. Y de hecho estamos aumentando nuestra concurrencia al permitir a la gente interactuar con los UTxOs de manera concurrente. Así que creo que si mirás holísticamente esas tres mejoras realmente van a empujar a Plutus hacia adelante y permitir a la gente hacer cosas más rápido, más fácil y mejor.

Tim: Gracias John por esa explicación

1 Like