Si está interesado en blockchain , seguramente ha oído hablar de contratos inteligentes. Los contratos inteligentes son partes de software que gestionan la transferencia de monedas o activos digitales entre partes después de que se cumplan ciertas condiciones. Básicamente es un acuerdo digital que no necesita ningún intermediario porque se ejecuta en función de sus valores programados.
El contrato toma la información provista como una entrada a la que asigna valor mediante el uso de las reglas establecidas en el contrato y la ejecución de las cláusulas. Estos contratos se ejecutan en la tecnología blockchain, la tecnología subyacente en la que se basan bitcoin y otras criptomonedas.
Los contratos inteligentes son como la versión blockchain de una interfaz de programación de aplicaciones (API) para una plataforma web habitual. Una interfaz de programación de aplicaciones (API) permite la interacción del usuario con una aplicación mediante el empleo de un conjunto de procedimientos.
¿Qué hacen los contratos inteligentes?
El contrato inteligente es el enlace entre la base de datos descentralizada de blockchain y la aplicación front-end, que se representa en blockchain como una aplicación descentralizada (dApp). Un dApp puede tener más de un contrato inteligente que puede encargarse de realizar diferentes funciones para interactuar con la cadena de bloques.
Los contratos inteligentes se pueden desarrollar para ser utilizados para más que solo transacciones. Estos contratos se pueden utilizar para realizar transacciones en una variedad de sectores, tales como legal, seguros, bienes raíces y mucho más.
Cómo evolucionaron los contratos inteligentes
Nick Szabo , acreditado por poner las bases de la criptomoneda, fue el primero en proponer el concepto de contratos inteligentes en 1994. Cuando apareció el concepto, no había plataformas que pudieran admitir contratos inteligentes, por lo que obviamente no les interesaba.
En 2008, se creó la primera moneda criptográfica, Bitcoin, y, junto con ella, la tecnología blockchain. Esta nueva tecnología proporcionó el entorno adecuado para el desarrollo de código de contrato inteligente.
Al principio, blockchain se usaba principalmente para realizar transacciones y crear nuevas monedas, pero cuando Ethereum apareció en la escena, todo cambió. Ethereum fue la primera plataforma blockchain en desarrollar código especialmente diseñado para el desarrollo de dApp.
Este fue el cambio de juego que provocó la aparición de muchas otras plataformas, como NEO y EOS. La creciente popularidad de las tecnologías blockchain también atrajo la atención a los contratos inteligentes y sus posibles casos de uso, lo que a su vez resultó en una expansión en las blockchains basadas en dApp.
Aplicaciones de contrato inteligente y Blockchain
Blockchain es ideal para contratos inteligentes, ya que se puede almacenar en un entorno inmutable y seguro. Los datos de un contrato inteligente se cifran en un libro mayor compartido, lo que significa que la información almacenada en los bloques nunca se puede perder.
Además, al integrar la tecnología blockchain en contratos inteligentes, los desarrolladores no se limitan a almacenar solo un tipo de datos en una blockchain. Además de la flexibilidad para los tipos de datos, también pueden implementar una amplia variedad de opciones de transacción cuando implementan el contrato inteligente.
Contrato inteligente: el funcionamiento interno
Interdependencia
Un contrato inteligente puede funcionar solo, pero también se puede implementar junto con otros contratos inteligentes. Se pueden programar de una manera que los haga depender unos de otros. Por ejemplo, un contrato inteligente se puede programar para que se inicie solo cuando otro contrato inteligente se haya ejecutado con éxito y, una vez que se complete, puede activar otro contrato para que se inicie.
Teóricamente, al usar solo contratos inteligentes, podría ejecutar sistemas y organizaciones completos. Esto se aplica hasta cierto punto a varios sistemas de criptomonedas, donde las condiciones de gobierno de la red están predefinidas, lo que hace que funcione de forma autónoma e independiente.
Objetos de contrato inteligentes
Cada contrato inteligente consta de tres partes integrales, que también se conocen como objetos:
- El primer objeto se llama signatarios , que son las dos o más partes que usan el contrato inteligente; dan su consentimiento o desacuerdo con respecto a los términos propuestos mediante firmas digitales.
- El segundo objeto representa el tema del acuerdo . La existencia de este objeto está limitada solo dentro del entorno del contrato inteligente. De lo contrario, los contratos inteligentes tendrían que poder acceder libremente al objeto.
- El tercer objeto del contrato inteligente son los términos específicos . Según estos términos, el contrato se ejecutará solo. Deben describirse en términos matemáticos detallados e implementarse en un lenguaje de programación que sea compatible con la cadena de bloques del contrato inteligente.
Ambiente
Para poder existir, los contratos inteligentes deben tener un entorno adecuado específico en el que puedan operar. El primer criterio del entorno es admitir el uso de la criptografía de clave pública, que permite cerrar la transacción a través de los códigos criptográficos que se generan de forma exclusiva para cada usuario. Este es el sistema que se utiliza al acceder a fondos criptográficos desde una billetera.
La segunda condición que debe cumplirse es tener una base de datos abierta y descentralizada , a la que tengan acceso todas las partes contratantes. La base de datos debe ser confiable y totalmente automatizada.
Por último, los datos digitales ingresados del contrato inteligente deben provenir de una fuente completamente confiable . Esto implica el empleo de certificados de seguridad SSL raíz, HTTPS y varios protocolos para una conectividad segura.
Codificación de contrato inteligente
Solidity es un lenguaje de programación en el que se basa un contrato inteligente y el lenguaje de programación nativo de Ethereum, creado en 2015. Tiene una sintaxis que tiene similitudes con la de JavaScript, y fue creado especialmente para compilar código para la máquina virtual Ethereum.
La herramienta más conveniente para el desarrollo de contratos inteligentes se considera Remix, un IDE en línea. Simplemente copie el código fuente y péguelo en Remix y el código debería compilarse automáticamente.
Las ventajas de los contratos inteligentes
Los contratos inteligentes proporcionan a sus partes un cierto grado de confianza y sirven como un agente neutral al firmar los acuerdos. Además, como el proceso está automatizado, se ahorra mucho tiempo ya que no se necesita la participación física directa en las transacciones.
Al encriptarse y distribuirse entre los nodos, el contrato inteligente no se perderá ni cambiará sin permiso. Otro beneficio es que la mayoría de los intermediarios son eliminados, ya que el usuario es el que hace el contrato.
Un contrato inteligente también puede tener características de seguridad integradas. El sistema generaba automáticamente copias de seguridad y duplicados en caso de que algo le ocurriera al original. La criptografía es lo que hace que estos documentos sean altamente seguros. Los hackers tendrían que dedicar una gran cantidad de tiempo, esfuerzo y dinero para romperlos.
Los contratos inteligentes también aumentan la velocidad y la eficiencia, ya que no hay más procesamiento manual del papeleo involucrado.
Las desventajas de los contratos inteligentes
Sin embargo, los contratos inteligentes tienen algunas desventajas. La novedad de esta tecnología puede hacer que los consumidores desconfíen de ella, ya que aún no la entienden.
Los contratos inteligentes son códigos, y estos códigos están escritos por personas. Como tal, existe una alta probabilidad de que un código de contrato inteligente tenga muchos errores debido a errores humanos. Contrariamente a la creencia popular, los codificadores también son humanos, y también cometen errores. Algunos errores, desafortunadamente, fueron muy costosos (ver incidente DAO).
Si los datos ya están registrados en la cadena de bloques, es muy difícil hacer modificaciones. Esto puede conducir a más errores del sistema y debilitar la seguridad.
Otro problema es que los contratos inteligentes no tienen un estatus legal claro. Actualmente, no existe una regulación gubernamental oficial que se aplique a ellos.
Se requiere mucha experiencia en ingeniería para hacer contratos inteligentes perfectamente operativos. Los codificadores experimentados que contraen contratos inteligentes a prueba de fallas y los implementan en tecnología y procesos existentes son difíciles de encontrar; y costoso
Incluso si es un programador decente, no puede simplemente hacer su propio contrato inteligente y usarlo para un negocio inmobiliario. Aún necesitaría consultoría de TI de algún tipo.
Pensamientos finales
Los contratos inteligentes tienen el potencial ilimitado de cambiar la forma en que hacemos acuerdos y acuerdos. Sin embargo, a pesar de esto, esta tecnología aún está en su etapa de desarrollo, y se necesita mucha más experiencia. El problema con estos contratos es que pueden tener errores que pueden comprometer un sistema completo. Un ejemplo muy destacado de eso es el hackeo de DAO en el que se perdieron fondos debido a un error de código en el contrato inteligente que contenía el dinero.
De todos modos, los contratos inteligentes siguen siendo una tecnología joven, que con el tiempo se puede perfeccionar para servirnos de formas que nunca imaginamos.
Fuente:
Alexis Valera, A. V. (2019, 11 septiembre). ¿Qué son los contratos inteligentes? Recuperado 12 septiembre, 2019, de https://www.criptomonedaseico.com/tutoriales/que-son-los-contratos-inteligentes/