🇪🇸 Una introducción a las aplicaciones descentralizadas y a los contratos inteligentes

:es: Traducción al español de “An introduction to decentralized applications and smart contracts”

Publicado por el Equipo de la Fundación Cardano en el Foro Cardano el 30 de Septiembre de 2020


Una introducción a las aplicaciones descentralizadas

(Escrito por @ElliotHill de la Fundación Cardano)

Como descubrimos en nuestro artículo anterior, los libros contables distribuidos han evolucionado mucho más allá de las simples capas de valor, y ahora pueden utilizarse para construir y desplegar aplicaciones descentralizadas, o DApps, en la blockchain.

Estas aplicaciones están haciendo que la tecnología blockchain sea exponencialmente más útil para los usuarios empresariales y de negocios, que pueden aprovechar la naturaleza basada en la blockchain de las DApps para hacer que las transacciones sean más seguras y que se transfiera el valor con facilidad.

Aquí exploraremos qué son las DApps, definiremos su relación con los contratos inteligentes y descubriremos por qué el hecho de aportar fiabilidad y programación funcional a los contratos inteligentes podría ser la clave para desbloquear la adopción masiva de DApps por parte de las empresas de todo el mundo.

¿Qué son las aplicaciones descentralizadas?

En pocas palabras, las DApps son aplicaciones informáticas o programas que se ejecutan sobre un sistema informático distribuido como Cardano. Las DApps se alimentan de contratos inteligentes, que son programas deterministas usados para el acuerdo entre una o más partes.

Los contratos inteligentes permiten a las DApps interactuar con la blockchain y ejecutar transacciones sin necesidad de terceros. Como el Director de Educación de IOHK, Lars Brünjes, afirma en su libro ‘Plutus: Escribiendo contratos inteligentes fiables’, el poder de un contrato inteligente reside en su capacidad de servir como una entidad de confianza. Las partes que operan con el contrato inteligente pueden transferir fondos directamente al programa, sin el riesgo de que una sola parte se convierta en un mal actor o haga un mal uso de los fondos.

A veces, los términos “DApp” y “contrato inteligente” se usan indistintamente, y esto es técnicamente correcto. Sin embargo, normalmente se da a entender que las DApps tienen alguna forma de interfaz de usuario interactiva (UI), o interfaz de la web 3.0, lo que facilita al usuario medio o al usuario no técnico la interacción con la aplicación. Por otra parte, los desarrolladores podrían redactar y desplegar un contrato inteligente sin una interfaz de usuario o una interfaz de entrada dedicada.

Para comprender mejor esta distinción, exploremos un flujo de proceso para una simple e hipotética DApp, que llamaremos ‘Cardano Critters’. Un juego coleccionable en cadena, Cardano Critters utiliza tokens no fungibles, o NFT, para crear activos únicos y raros que cumplen una función en un mundo de juego virtual, además de tener cierto valor intrínseco como activo coleccionable.

La acuñación (la creación del activo), el comercio y la emisión de NFT de Cardano Critter se manejaría a través de un contrato inteligente, que en este caso interactuaría con la blockchain Cardano subyacente.

A su vez, la blockchain Cardano sirve como una base de datos distribuida para información como cuándo se acuñó el NFT, sus características únicas y su historial de propiedad. Los propietarios de estos activos pueden ser identificados por sus claves públicas.

Mientras que cualquier usuario podría ver y verificar la autenticidad del contrato inteligente subyacente por sí mismo al verlo en la cadena, lo más probable es que use una billetera Cardano para interactuar con la DApp a través de una interfaz web 3.0, a menudo visualmente similar a los sitios web 2.0 actuales.

Como resultado, la mayoría de los usuarios medios no necesitarán entender los principios técnicos de escribir un contrato inteligente para usar una DApp, lo cual es esencial para la adopción masiva. Sin embargo, las DApps no pueden existir sin contratos inteligentes.

Programación funcional para contratos inteligentes fiables

Nuestro ejemplo anterior de una blockchain NFT DApp es un escenario bastante simple y relativamente libre de riesgos, en otras palabras, no hay mucho en juego desde el punto de vista financiero o de los datos de los usuarios, en caso de que se explote el contrato inteligente.

Pero con el auge de la financiación descentralizada, cada día se depositan miles de millones de dólares de activos en contratos inteligentes. Del mismo modo, también se están explorando aplicaciones basadas en blockchain para una miríada de casos de uso institucional y empresarial. Esos usuarios institucionales y empresariales exigen un nivel de garantía que, hasta la fecha, otras plataformas de contratos inteligentes no han podido ofrecer.

Si bien los contratos inteligentes han demostrado ser sumamente útiles, ya que ofrecen una funcionalidad que va más allá de los contratos digitales tradicionales, han estado sujetos a vulnerabilidades periódicas, que a menudo se traducen en la pérdida de activos digitales por valor de cientos o incluso millones de dólares. Si los contratos inteligentes y las DApps van a ser alguna vez útiles para las instituciones y empresas, no pueden ser vulnerables a esos ataques.

Por el contrario, los contratos financieros y empresariales inteligentes y sus DApps asociadas deben poder redactarse de forma rápida, fiable y utilizando un código de alta seguridad. Haskell, el lenguaje de programación central de la blockchain Cardano, resulta ser perfectamente adecuado para este mismo propósito.

Es por eso que múltiples instituciones financieras, desde Barclays hasta el Bank of America, utilizan Haskell y otros lenguajes de programación funcional para construir su infraestructura crítica, desde los algoritmos de negociación hasta los procesos de liquidación transfronterizos, apuntalando el sistema financiero actual tal como lo conocemos.

Tiene sentido que las DApps y los contratos inteligentes también se mantengan con estos mismos estándares y se escriban en lenguajes de programación funcional fiables como Haskell- o específicamente en lenguajes basados en Haskell como Plutus y Marlowe en Cardano, como exploraremos más adelante.

En la actualidad, la falta de garantías disponibles para la fiabilidad de los contratos inteligentes es un cuello de botella clave para la adopción seria (y generalizada) de la tecnología blockchain por parte de las instituciones, y varios investigadores han identificado la proliferación de la verificación formal como un paso clave para la adopción de contratos inteligentes.

Como resultado, es muy probable que la primera blockchain que ofrezca a las instituciones financieras y empresas garantías sobre la fiabilidad de los contratos inteligentes provoque un éxodo de las DApps institucionales de otras blockchains.

Para saber más sobre la necesidad de contratos inteligentes fiables y funcionales, vea esta presentación de los becarios de investigación de IOHK, el profesor Phillip Wadler y el profesor Simon Thompson, y el arquitecto técnico de IOHK, Manuel Chakravarty, en la Cumbre Virtual Cardano 2020: Edición Shelley.

La Plataforma Plutus y el DSL Marlowe - involucrate hoy

En Cardano, los contratos inteligentes y las DApps se habilitarán a través de la Plataforma Plutus, y para los contratos financieros, el lenguaje de dominio específico Marlowe (DSL).

La plataforma Plutus permitirá a los autores de contratos inteligentes escribir y desplegar fácilmente contratos inteligentes y construir DApps. La Plataforma Plutus incluye el kit de desarrollo de software (SDK) Plutus Haskell, que incluirá bibliotecas y herramientas de desarrollo para escribir aplicaciones de contratos inteligentes en Haskell. Los contratos inteligentes escritos en la Plataforma Plutus contendrán la lógica, que eventualmente les permitirá correr en Plutus Core, desplegable en la blockchain Cardano.

Si has considerado crear un contrato financiero inteligente o DApp en Cardano, ya puedes explorar el Marlowe Playground. El DSL Marlowe está diseñado para ser utilizado por profesionales financieros, a diferencia de otras plataformas de contratos inteligentes diseñadas exclusivamente para programadores experimentados. Por lo tanto, un profesional de las finanzas podría usar Marlowe para crear contratos inteligentes expresivos con relativa facilidad, lo que se hace aún más simple a través del editor de programación visual Blockly.

Sin importar su área de interés, lo invitamos a inscribirse en nuestra lista de espera del Portal del Desarrollador, donde tendrá acceso a contenido y artículos personalizados mientras anticipa el lanzamiento del Portal del Desarrollador. Puedes encontrar más información sobre el Portal de Desarrolladores aquí.

1 Like