Smart Contract: Introducción al contractware

Un Smart Contract (SC) es un programa almacenado en una Blockchain que se ejecuta cuando se cumplen unas condiciones predeterminadas. Es una colección de código (sus funciones) y datos (su estado) que reside en una dirección específica en la Blockchain.

Los SC funcionan siguiendo simples declaraciones «if/when…then…» que se escriben en el código de Blockchain. Una red de ordenadores ejecuta las acciones cuando se cumplen y verifican unas condiciones predeterminadas.

  • Condiciones: Dentro de un SC, puede haber tantas estipulaciones como sean necesarias para satisfacer a los participantes de que la tarea se completará satisfactoriamente. Para establecer las condiciones, los participantes deben determinar cómo se representan las transacciones y sus datos en la Blockchain, acordar las reglas «if/when…then…» que rigen esas transacciones.
  • Acciones: Estas acciones podrían incluir la liberación de fondos a las part Focus keyphrase in Subheadings es correspondientes, el registro de un vehículo, el envío de notificaciones o la emisión de un billete. La Blockchain se actualiza cuando se completa la transacción. Esto significa que la transacción no puede ser modificada, y sólo las partes a las que se les ha concedido permiso pueden ver los resultados

Aunque al principio pueda parecer complicado, el concepto de SC existe desde hace varias décadas (1997), pero en ese momento era imposible hacerlo realidad con la infraestructura tecnológica existente. Para que los SC se puedan ejecutar, es necesario que existan las transacciones programables y un sistema financiero que las reconozca, digitalmente nativo.  El creciente interés por esta tecnología puede atribuirse en gran medida a la implementación de SC en Blockchain. Hasta la llegada de Blockchain, la ejecución autónoma de los contratos no era posible, porque las partes solían compartir bases de datos separadas. Con los SC, Blockchain se convierte en algo más que un sistema inmutable de mantenimiento de registros, transformándose en una plataforma de transacciones en toda regla. Se pueden utilizar para automatizar la ejecución de un acuerdo, de modo que todos los participantes puedan estar inmediatamente seguros del resultado, sin que intervenga ningún intermediario ni se pierda tiempo.

Existen dos tipos diferentes de smart contracts:

  • Instalados (installed). Instalan la lógica empresarial en los validadores de la red antes de que se inicie la red.
  • En cadena (on-chain). Implementan la lógica empresarial como una transacción enviada a la cadena de bloques y luego llamada por transacciones posteriores. En este tipo de contratos, se almacenan dentro de la ledger por lo que heredan las propiedas de inmutabilidad y evita puntos de fallo único

Los principales retos que tiene esta tecnología son mejorar la semántica de los contratos inteligentes, la integración con los procedimientos que se den y se quieran regular con SC; además de su rango de aplicabilidad, debido a que es una tecnología joven, su legalidad y su flexibilidad.

Procesamiento de Smart Contract

En general, la capa de contrato inteligente funciona muy de cerca con la capa de consenso. Específicamente, la capa de contrato inteligente recibe una propuesta de la capa de consenso. Esta propuesta (Entradas) especifica qué contrato ejecutar (ID del contrato), los detalles de la transacción, incluidas la identidad y las credenciales de la entidad que solicita la ejecución del contrato (Solicitud de transacción), y cualquier dependencia de la transacción.

La capa de contrato inteligente (a través del intérprete de contrato) utiliza el estado actual del libro (ledger) y la entrada de la capa de consenso para validar la transacción. Esto es, el intérprete de contrato, el bloque en el medio de la figura, se carga con el estado actual del libro y el código de contrato inteligente. Cuando el intérprete de contrato recibe una solicitud, inmediatamente verifica y luego rechaza cualquier solicitud no válida.

Smart Contract Business Logic

Mientras procesa la transacción, la capa de contrato inteligente utiliza la capa de servicios de identidad para autenticar y autorizar a la entidad que solicita ejecutar el contrato inteligente. Esto asegura dos cosas: que la entidad sea conocida en la red blockchain y que la entidad tenga el acceso adecuado para ejecutar el contrato inteligente. La identidad se puede proporcionar a través de varios métodos: identidades simples basadas en claves, identidades y credenciales administradas a través del libro mayor, credenciales anónimas o servicios de identidad administrados desde una autoridad de certificación externa.

Después de procesar la transacción, la capa de contrato inteligente devuelve si la transacción fue aceptada o rechazada (Salidas). Si se aceptó la transacción, la capa de contrato inteligente también devuelve una certificación de corrección, un delta de estado y cualquier sugerencia opcional de pedido requerida para los servicios de consenso. El delta de estado incluye los conjuntos de cambios y cualquier efecto secundario que debería tener lugar cuando los pares confirman con éxito la transacción. El paquete de salida se envía al servicio de consenso para el compromiso final con la cadena de bloques.

9 comentarios

  1. Pingback:Video: ¿Qué es el Blockchain?¿Cómo funciona? - GREEN

  2. Pingback:Smart Contract: ¿Qué futuras aplicaciones ofrecen? - GREEN

  3. Pingback:Smart Contract: Perspectiva jurídica - GREEN

  4. Pingback:Smart contracts: Escenarios de aplicación - GREEN

  5. Pingback:Video: Caso de Uso - GREEN

  6. Pingback:Video: ¿Smart Contracts, cómo funcionan? - GREEN

  7. Pingback:DeFi: Fricciones de información y políticas públicas - GREEN

  8. Pingback:Video: ¿Por qué utilizar Federated Learning? - GREEN

  9. Pingback:Descentralización y Aplicaciones blockchain - GREEN

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *