Transcripción al español de un fragmento de “Surprise AMA 04/02/2023”
Del minuto 00:59:17 al 01:06:45 del video original
Publicado en el canal de Youtube de Charles Hoskinson el 2 de Abril de 2023
Enlace a la versión doblada al español
¿Por qué el modelo UTxO extendido es mejor que Account para blockchain?
Se trata de paralelismo, concurrencia y tu habilidad de procesar transacciones fuera de cadena. Cuando estás en un modelo estilo Account, todo el sistema tiene que actualizarse a sí mismo constantemente, mantener el registro, es como una variable global acerca de qué está ocurriendo para el estado del sistema. Cuando estás en el modelo estilo UTxO, está esta noción de mantener registro del UTxO actual, pero, vos como usuario no tenés que saberlo. Sólo tenés que saber tu parte fragmentada de ello, las cosas relevantes para tu billetera particular. Debido a ello comenzás a tener esta hermosa naturaleza donde cosas que ocurren en cadena, fuera de cadena, son isomórficas entre sí. En otras palabras, básicamente las cosas pueden ir fuera por un tiempo, un montón de transacciones pueden ocurrir, y cuando vuelve, no sos sorprendido por algún cambio, que vos no pensabas que iba a cambiar sin tu permiso o conocimiento. Así que podés realizar fuertes garantías en las pruebas, matemáticas e ingeniería. ¿Dónde es relevante eso?, rollups, realmente relevante cuando hablás de canales de estado de pago, cuando hablás de transacciones de cadenas laterales. Cuando estábamos realizando el modelo contable Cardano, dijimos que queríamos algo que sería fácil de fragmentar, paralelizar, altamente concurrente, y fue el modelo que tuvimos que inventar.
Ahora, la desventaja es parecido a cuando vas de un procesador de único núcleo a múltiples procesadores, la manera en que escribís código, para sacar ventaja de estas capacidades, es fundamentalmente diferente. Podés emular, en modelo estilo Account, en UTxO extendido, pero si lo hacés de manera muy ingenua, obtenés esa situación de una transacción por bloque en la estuvimos cuando apareció Alonzo. Ahora, desde ese momento se ha solucionado, la gente supo cómo escribir código apropiadamente, comenzaron a obtener un resultado asombroso. Lo que es genial también es que podés hacer muchas cosas en una transacción, en account hacés una cosa por transacción, en el modelo account pensás en TPS, con el modelo UTxO extendido pensás en TPT, transacciones por transacciones. Sólo para mostrarles esto muchachos muy rápidamente, hay un encantador sitio web, nos aseguramos que están arriba, sí, lo están, voy a compartir pantalla, ¿están listos para esta porquería?, wuaaaa. Ahí vamos, extended UTxO.org. Esto está directamente conectado con la blockchain Cardano, aparecerá en línea en un segundo. Básicamente esto muestra, en tiempo real, bloques en la red Cardano. Cada uno de esos pequeños bloques de hecho es una transacción, y todas esas salidas son diferentes cosas que están ocurriendo al mismo tiempo, si yo resalto una de estas, ves que es un script de Plutus, estos son NFTs, esos son Ada moviéndose, es una única transacción, mirá todos los diferentes eventos que ocurrieron. Esta es una mirada en tiempo real de la red Cardano, Sand Stone, felicitaciones, Sand, hiciste este bloque, tiene un script gordo dentro, eso de ahí es Charlie 3, es una transacción de oráculo, aparentemente alguien movió un NFT y tenés algo que se mueve aquí, estos son 16 NFTs, siendo dropeados al mismo tiempo, esto es una transacción. Felicitaciones al tipo que hizo esto, esto es imposible de hacer en el modelo account, no tienen una representación como esta.
Lo que termina ocurriendo es que eventualmente desarrollás capacidades para realizar más y más salidas. Ergo por ejemplo experimentó con 5 mil salidas, y cada salida puede tener docenas de eventos dentro. Un montón de cosas interesantes ocurriendo, una transacción podrían ser 5 mil transacciones. Y hablamos de rollups, podés comenzar a hablar de tomar todas estas cosas, y en lugar de que sean movimientos individuales de Ada, de NFTs, wow, hay un montón de scripts en este bloque, o scripts, potencialmente podés hacer que todas estas cosas sean scripts de propósito especial, tener toneladas de rollups fuera de cadena. Así que recursivamente lo que termina ocurriendo es que el sistema obtiene una escala enorme, decenas de miles, cientos de miles de eventos de transacciones reales por minuto, HV Ada, h3 men.
Lo hace más fácil porque los rollups esencialmente son transacciones agrupadas, ¿cierto?, para que luego sean validadas en cadena. ¿Por qué es más fácil agruparlas?
Podés tomar todas estas cosas en la salida, y hacer un rollup en una única salida. Todas estas cosas serían sólo un script. Luego podés tener el script que lo represente, cada una de estas puede ser un script. Esa es la cosa genial acerca de UTxO extendido. Y no podés hacer esto con account, no es posible.
¿Entonces por qué decidieron ir con Account,?
Porque el modelo de desarrollo es significativamente más simple. Programar UTxO es mucho más difícil de hacer, es como programación funcional versus imperativa. Nosotros somos muchachos de programación funcional, estamos muy acostumbrados a este tipo de pensamiento, Bitcoin también hace esto. Por cierto, esta es la única manera en que Bitcoin podría hacer contratos inteligentes, es la manera en que nosotros los hacemos, le mostramos a Bitcoin cómo hacerlo, pero supongo que nunca hemos innovado. Así que, creo que es un modelo genial, está construido guante en mano para Hydra, para transacciones de cadenas laterales, rollups, cosas fuera de cadena. Está muy claro cómo, con el tiempo, optimizás el modelo UTxO. Ergo ha realizado un trabajo genial, nosotros continuamos haciendo un trabajo genial, y cada versión de Plutus, con una actualización del UTxO, se volverá más eficiente. Así que podés escalar horizontalmente, y físicamente podés realizar más transacciones en un bloque, de eso se trata endosantes de entrada, y podés escalar verticalmente, donde utilizas las transacciones más eficientemente, y podés hacer escala fuera de cadena, donde podés representar algo en cadena que es una prueba de muchas cosas que ocurrieron fuera de cadena, esas son cosas estilo rollups, Hydra. Y podés tener modelos completamente diferentes, de eso se tratan las cadenas laterales. Esas tres cosas juntas, lo horizontal, lo vertical, fuera de cadena, cadenas laterales, este tipo de cosas, son lo que realmente hacen genial a la salsa secreta. Simplemente es inevitable, con el tiempo obtendrá más velocidad, más capacidades. Ya hemos pasado por un muy difícil modelo de desarrollo cuando salió Alonzo, a un modelo bastante funcional, un ecosistema bastante funcional, en cerca de la mitad de tiempo que le tomó a Ethereum. Si nos das uno o dos años más, será exponencialmente mejor, habrá tantas más capacidades dentro del sistema.
Hay una buena pregunta a continuación, ¿cuánto incrementará Hydra el TPS?, esa no es la pregunta correcta, la pregunta correcta es ¿cómo utilizás Hydra como software intermedio, en tu aplicación, para que puedas hacer un montón de las cosas costosas fuera de cadena, y luego cuando volvés a cadena utilizás menos recursos en cadena? Así que hay dos direcciones en que podés realizarlo, o podés hacerlo todo en cadena, hacerla una cadena muy cargada, con un montón de poder de computación, o, podés tratar de encontrar una manera de hacer un montón fuera de cadena, en un sistema inteligente, agruparlo, traerlo a cadena, que es como a dónde está yendo todo el mundo. Eso es lo que está haciendo Hydra, es software intermedio para proporcionar esa capacidad.