🇪🇸 Las nuevas herramientas Aiken y Marlowe | Messari 11 May 2023

:es: Transcripción al español de un fragmento de “State of Cardano Q1 2023 Analyst Call

Del minuto 00:42:00 al 00:53:40 del video original

Publicado en el canal de Youtube Messari el 11 de Mayo 2023

Enlace a la versión doblada al español


Charles: Marlowe es el primer gran DSL que llega a la red que es de extremo a extremo, lleva cuatro años en desarrollo, fue un poco retenido porque tuvimos que averiguar cómo construir DSLs en este tipo de modelo. Pero ahora que tenemos la plantilla para ello, en realidad es mucho más fácil de implementar DSLs. El punto de Marlowe, si mirás muchos de estos complejos contratos financieros, tienden a hacer las mismas cosas una y otra y otra vez. Y si sólo estás escribiendo todo eso en lenguaje de programación de propósito general, terminas cometiendo un montón de errores, y esos errores se traducen en hackeos, como el hackeo Parity Multi Sig , o este tipo de cosas, incluso el mejor entre nosotros puede hacer eso porque es código complicado. Así que si tenés un DSL Turing incompleto que es bastante limitado pero muy eficaz para su ámbito. Entonces lo que podés hacer es decir que podés a un código mucho menos complejo y obtener pruebas formales de la corrección de ese código para todas las rutas de ejecución, porque es Turing incompleto. Así que eso se traduce en bases de código más pequeñas, en lugar de un montón de código Plutus, tenés un poco de código Marlowe y un poco de código Plutus, es eficaz para ambos. Hemos visto esto el mundo de las bases de datos, intentá programar un sistema de gestión de base de datos relacional, interactuar con él en Java o algo así, es realmente difícil. Pero en SQL, es super fácil, porque es una especie de pre construcción en torno a ese modelo, tenés una noción cómo hacer capas de esquemas con ello.

Marlowe es un un ejemplo, pero de ninguna manera es el único punto de entrada, lo que va a suceder es que va a haber otros DSLs entrando en el ecosistema ahora que esa plantilla está ahí, como un DSL legal o DSL para otros dominios, tal vez emisión de NFTs, este tipo de cosas,realmente simplifican todo el proceso de programación. Y de hecho, la Fundación está haciendo un trabajo realmente genial con Aiken. Se lo pasaré a Fred para que hable de algunas de las cosas en las que están trabajando.

Fred: Sí, por supuesto. Aiken es un lenguaje moderno de contratos inteligentes, escrito en Rust y bajo licencia Apache 2.0. Lo que estamos tratando de hacer aquí son dos cosas. Estamos tratando de ampliar el alcance de lo que realmente se puede hacer en términos de expresarte con diferentes lenguajes. También estamos tratando de impulsar el modelo de código abierto, ya tenemos más de 30 colaboradores de la comunidad Cardano en Aiken, es cierto que hay unos pocos colaboradores principales, pero ya tenemos, una hoja de ruta abierta, tenemos un proceso de contribución abierta, con claras directrices, etc. Sólo muestra lo que es realmente posible, que no estás encerrado en un lenguaje de programación, que tiene un montón de defectos, pero básicamente podés pensar en qué industria estás, en qué formación, qué tipo de auditorías necesitas, etc., y entonces podés expresarte. Creo que esa es una de las cosas realmente geniales, que básicamente está sucediendo aquí.

La otra parte que me han preguntado mucho es qué pasa con este Haskell, ya sabes, Cardano es tan difícil porque está basado en Haskell. Esta semana estuve en Londres, tuve la oportunidad de hablar en la cumbre de activos digitales del Financial Times Cumbre,junto con un líder de Estado nación y algunas otras cosas interesantes. Y me encontré con la Universidad de Oxford. ¿Y sabes lo que les enseñan el primer año de la Universidad de Oxford si no sabes acerca de informática, matemáticas, o, ya sabes, Blockchain? Bueno, enseñan Haskell, cierto. Y ya sabes, el CEO de la Fundación Cardano, su hija está en la universidad en Zurich, estudiando Haskell, ¿verdad? Así que me parece que hay dos mundos, una especie de viejo mundo Ethereum, expresado en Solidity. Luego tenemos este mundo actual de grandes empresas y universidades que está cada vez más cerca de lo que amamos y lo que apreciamos todos los días. Creo que no sólo verás un auge de diferentes lenguajes y diferentes formas de resolver problemas matemáticos y de ingeniería en Cardano, sino que también vamos a ver muchos más desarrolladores viniendo, con años y años de experiencia en Haskell, aunque Haskell no sea un lenguaje tan grande, se está desarrollando muy rápido y tiene muchas ventajas.

Charles: Sí, y sólo para añadir a eso, lo que es realmente genial sobre Cardano es que a medida que avanzamos a un modelo de múltiples cadenas con todas estas cadenas laterales, y vamos a un modelo con DSLs, así como diferentes objetivos compilados, como Aiken, tenés una sintaxis más Rust , otros están tratando de hacer JavaScript, hay una variante TypeScript, creo que es Plutus TS o algo as, sintaxis estilo Python.Lo que termina sucediendo es que a través de la adopción de los desarrolladores, estos estándares de la comunidad comienzan a crecer. El sistema del Tesoro les permite crecer como las malas hierbas y luego terminan siendo ciudadanos de primera clase. Al igual que si nos fijamos en el ecosistema Java, Java es la parte menos interesante del ecosistema Java. Tenés Cog, Scala, Closure, Giulia y todos los otros idiomas que existen en eso. Y la JVM como que organiza, mantiene el rendimiento y les da algunas capacidades base. Pero cada uno de estos ecosistemas son diferentes herramientas para diferentes tipos de desarrolladores. Así que si estás construyendo sistemas concurrentes masivos a gran escala como Twitter, Netflix, Scala es una herramienta ideal, si estás haciendo la computación científica, Giulia es una gran herramienta para eso. Si estás haciendo desarrollo de aplicaciones. Cog es una gran herramienta, pero todas van al mismo lugar, la JVM, el ecosistema Cardano está empezando a desarrollarse en esa dirección en particular. La otra cosa es que no podés ignorar el efecto de inteligencia artificial en el desarrollo. Así que si nos fijamos en Google Bard, y nos fijamos en Copilot y otras tecnologías que están entrando en el mercado, en los próximos 24 a 36 meses, estos grandes modelos de lenguaje se volverán tan buenos en programación que pasarán de ser programadores principiantes bastante buenos, no tan buenos intermedios, terriblemente avanzados a principiantes excepcionales, medios excepcionales, bastante buenos avanzados y son políglotas. Así que podés decir “reescribí este programa de Python a Haskell, optimizalo, ponele un front end de elm”. Y lo hará, en su mayor parte, hasta alrededor del 90, 95% de lo que necesitas. Así que si nos estamos moviendo a un mundo donde tenés una IA, co conductor, co piloto, como que te está ayudando a construir tu aplicación, en los próximos cinco o 10 años, es menos sobre el lenguaje y es más acerca de la intención. Se trata más del diseño del protocolo. Es más acerca de tu base de clientes y este tipo de cosas, tu velocidad, tu capacidad hacer control de calidad de estas cosas, tu capacidad para desplegar estas cosas va a subir enormemente, independientemente de la herramienta de desarrollo particular que esté ahí.

Así que creo que estamos muy bien preparados para manejar ese tipo de cosas, porque hay algunas grandes decisiones de diseño en Cardano como el determinismo local, el modelo UTxO extendido y otras cosas por el estilo, que básicamente hacen que sea mucho más fácil para las herramientas automatizadas entender y predecir el comportamiento. El no determinismo es la perdición de la IA porque es realmente difícil para ella razonar sobre todos los diferentes casos extremos y las cosas que podrían ir mal y priorizarlas. Cuando tenés determinismo, podés razonar muy rápidamente y decir: “Bien, estas son las cosas que querés hacer y cómo querés hacerlas”. Así que creo que somos los más adecuados para un ecosistema políglota tanto fuera como dentro de cadena. Creo que estamos realmente bien adaptados para un fuerte juego DSL, que realmente va a simplificar la experiencia del desarrollador y aumentar la velocidad del desarrollador. Creo que estamos realmente bien adaptados para ser un líder en el movimiento de la IA, donde eso viene para que el código generado por la IA se ejecute eficazmente en nuestro sistema. Así que creo que lo estamos haciendo muy bien. Es cierto además que Haskell tiende a enseñarse en muchas instituciones de élite. Lo enseñan en cursos de ingreso, en el MIT, Universidad de Edimburgo, Oxford, como mencionó Fred. Así que son muy buenos desarrolladores. Tienden a crecer con esas primeras herramientas funcionales, porque eso es mucho más puro y alineado con el rigor matemático que tienen estos programas de élite. Y eso significa que esos programadores tienden a gravitar hacia los sistemas que los tienen. Y eso significa que en realidad tenemos una ventaja en el mundo de la alta seguridad. Y en el mundo del alto nivel de formalismo, ¿dónde es eso relevante? Fortune 500. Gov tech, estos otros lugares. De hecho, acabo de tener una reunión con el grupo de ciber seguridad de USA., parte de la Casa Blanca, y una de los asesoras científicas habló muy amablemente con nosotros, porque ella es un gran fan de lenguajes seguros, una gran fan de los métodos formales, una gran fan de cosas rigurosas, está pensando desde una perspectiva de ciber seguridad. Y ella dice: “Mira, tenemos estos adversarios realmente viciosos como China y Rusia, cualquier defecto en nuestro código lo van a explotar”. Así que no se trata necesariamente de ser el primero en el mercado, o la velocidad de desarrollo más rápida, se trata de escribirlo de la manera correcta, incluso si se necesita un poco más de tiempo y esfuerzo. Así que realmente, en el mercado, sólo hay unos pocos sistemas que realmente tienen el nivel de formalismo que tenemos. ciertamente está Tezos, y otros, pero con mucho, somos el jugador más grande en ese mercado. Así que cuando se habla de clientes de alto valor que tienen cientos de millones, o billones de clientes, lo que hemos desarrollado en ese conjunto de verticales, del lado Haskell, Plutus, es el mayor atractivo para ellos, son grandes conversaciones para tener.

Fred: Sí, y tal vez una observación, estaba siguiendo el chat, que no sé si todo el mundo es consciente de ell. Pero con el nodo 8.0, que acaba de ser lanzado, en realidad hicimos una pequeña actualización de la interfaz de línea de comandos, que en realidad permite a los operadores de stake pool votar o hacer una encuesta, más específicamente, en cadena utilizando una credencial de verificación o identificador digital. Así que el certificado que realmente utilizan para identificar y publicar en la blockchain, como identificador, con ello tenemos la capacidad de alcanzar más de 3 mil stake pools, que comiencen a dar una indicación acerca de dónde ven el óptimo perfecto para los parámetros del protocolo. Así que para la primera encuesta que estamos haciendo, vamos a hablar principalmente sobre el parámetro K y la tarifa de pool. ¿Y por qué es esto importante en términos de lo que Charles está diciendo? Bueno, esto es realmente importante porque los operadores de stake pool son las personas que ejecutan la red, ¿verdad? Y al hacer un retraso en la votación, lo que significa que los operadores de stake pool emiten su voto, a continuación, los titulares de ADA tendrán la oportunidad de decir, básicamente, “Oh, espera un segundo, el operador de stake pool al que estaba delegando está teniendo una opinión diferente a la que yo tengo”, lo que significa que en realidad son capaces de quitar un poco de Ada y poner otro stake pool, son capaces de decir, “Oh, esto es realmente genial”. Pueden duplicar el Ada ahí, tenemos la habilidad de sintonizar la red, basados en lo que los operadores de stake pool comienzan a ver. Y de esta manera, estamos descentralizando la toma de decisiones para optimizar la red. Y entonces empezamos a encender eso con algunos dReps, como el trabajo que la Universidad de Zurich está haciendo en torno a centralización y descentralización, en torno a diferentes incentivos y la teoría de juegos. Lo que estamos consiguiendo es una especie de sistema social para la gobernanza descentralizada, incluso antes o en el proceso de conseguir las herramientas finales.

Creo que esto es bastante único con Cardano, no sólo la votación, pero la capacidad para nosotros para hacer estos ajustes de protocolo. sobre la marcha, sin una bifurcación dura extra. Esto es algo que la gente realmente no aprecia, pero lo que realmente hace es que permite grandes modelos operativos, permite que ocurran muchos cambios, sintoniza la red a medida que avanzamos.