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.
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.
Pingback:Video: ¿Qué es el Blockchain?¿Cómo funciona? - GREEN
Pingback:Smart Contract: ¿Qué futuras aplicaciones ofrecen? - GREEN
Pingback:Smart Contract: Perspectiva jurídica - GREEN
Pingback:Smart contracts: Escenarios de aplicación - GREEN
Pingback:Video: Caso de Uso - GREEN
Pingback:Video: ¿Smart Contracts, cómo funcionan? - GREEN
Pingback:DeFi: Fricciones de información y políticas públicas - GREEN
Pingback:Video: ¿Por qué utilizar Federated Learning? - GREEN
Pingback:Descentralización y Aplicaciones blockchain - GREEN