Plutus: Comprender la concurrencia

 

La concurrencia puede o no mejorar el rendimiento, el desempeño o la capacidad de respuesta de un sistema. La cantidad de concurrencia limita el número máximo de operaciones simultáneas que se pueden realizar.

Para obtener mejoras reales de rendimiento en una blockchain basada en UTXO, los procesadores u otros actores deben ser capaces de realizar múltiples acciones simultáneamente. Cuanto mayor sea el nivel de concurrencia, mayor será el máximo paralelismo posible. Este enfoque se traduce entonces en una mejora del rendimiento y de la producción. También proporciona ventajas significativas sobre los sistemas basados en cuentas (como Ethereum).

 

El despliegue de DApps en los ledgers de UTXO es diferente

El enfoque de Cardano para el despliegue de DApp es diferente y, por lo tanto, requiere una curva de aprendizaje y un enfoque diferente. Esto es como trabajar con diferentes lenguajes de programación: hay un objetivo - desplegar una solución, pero tantos lenguajes de programación a utilizar para este propósito.

Maximizar la concurrencia es una habilidad que hay que aprender: los desarrolladores tienen que escribir el código de manera que se restrinjan severamente las oportunidades de contención (por ejemplo, evitando los estados compartidos y las dependencias accidentales). A continuación, el sistema debe traducir esta concurrencia en paralelismo. Algunos desarrolladores ya han identificado formas de abordar esto, mientras que otros todavía están desarrollando soluciones. Trasplantar simplemente las lecciones aprendidas en una blockchain no funcionará; aunque la curva de aprendizaje es un poco más pronunciada, los resultados hacen que merezca la pena.

En cualquier caso, es importante entender que para desplegar una DApp escalable en Cardano, un desarrollador no puede limitarse a utilizar un contrato de Ethereum adaptado. Cardano se basa en el modelo UTXO; no está basado en cuentas, lo que significa que un único estado en la cadena no cumplirá con la propiedad de concurrencia de Cardano. En su lugar, las DApps deben dividir su estado en la cadena entre muchos UTXOs. Esto aumentará la concurrencia en su aplicación, permitiendo así un mayor rendimiento.

Para saber más sobre escalabilidad, puedes leer cómo diseñar una aplicación Plutus escalable y para saber más sobre cómo organizar DApps en Cardano usando patrones, lee el patrón de libro de órdenes.

 

Encuentra una copia oficial de este documento aquí:

https://docs.cardano.org/plutus/concurrency

 

Más traducciones de Cardano en: https://cardanofortheworld.com/es-es/