El mundo está construido sobre contratos. Ningún individuo o empresa en la tierra puede funcionar en la sociedad actual sin el uso y la reutilización de contratos.
La tarea de crear, mantener y hacer cumplir los contratos se ha vuelto tan complicada que se han tenido que configurar sistemas judiciales y legales completos en nombre de “derecho contractual” para apoyarlo.
De hecho, la mayoría de todos los contratos son supervisados por un tercero “confiable” para asegurarse de que las partes interesadas sean atendidas de acuerdo con las condiciones recibidas.
Hay contratos que incluso hablan de un tercero beneficiario. Dichos contratos tienen la intención de tener un efecto en un tercero que no sea una parte activa (o participante) del contrato.
Resolver y discutir sobre las obligaciones contractuales ocupa la mayor parte de la mayoría de las batallas legales en las que están involucradas las demandas civiles.
Sin duda, una forma mejor de ocuparse de los contratos produciría importantes beneficios para individuos y empresas por igual. Sin mencionar el enorme papeleo que ahorraría al gobierno en nombre de verificaciones y certificaciones. Para ello surgen los contratos inteligentes o smart contracts.
Los contratos inteligentes se pueden aplicar en diferentes industrias y campos, como hogares inteligentes, comercio electrónico, bienes raíces y gestión de activos, etc.
En este post vamos a explicar la definición de smart contracts, sus tipos, usos, ventajas e inconvenientes.
En este artículo hablamos de:
- ¿Qué es un smart contract o contrato inteligente?
- Origen del contrato inteligente
- Tipos de smart contracts
- ¿Cómo funcionan?
- ¿Para qué se usan este tipo de contratos?
- Ventajas del smart contract
- Desventajas del smart contract
- Retos de futuro de los contratos inteligentes
- Pasos para crear un smart contract
- 1. Crear una billetera en MetaMask
- 2. Selecciona una red de prueba
- 3. Agrega algunos éteres ficticios en tu billetera
- 4. Usa Editor Remix para escribir el contrato inteligente en Solidity
- 5. Crea un archivo de extensión .sol
- 6. Código de contrato inteligente para crear tokens ECR20
- 7. Implementa tu contrato
- Ejemplos de smart contract
¿Qué es un smart contract o contrato inteligente?
Comencemos con lo que son exactamente los contratos inteligentes. Los contratos inteligentes son como los contratos habituales que te permitirán intercambiar propiedades, dinero, acciones o cualquier cosa valiosa de manera segura y transparente.
Con contratos inteligentes no necesitará ningún intermediario para hacer su obra.
Esa es la diferencia principal entre los contratos normales y los smart contracts.
Te lo explicaré con un ejemplo. Por lo general, para cualquier pago adicional, como abogados o médicos, tendrías que pagarlos y esperar el servicio o los documentos.
Pero eso no ocurre con los contratos inteligentes. Esta nueva tecnología no solo define las reglas, también las hace cumplir.
Origen del contrato inteligente
Los contratos inteligentes se pueden denominar como la aplicación más utilizada de la tecnología blockchain en los tiempos actuales.
El concepto de contratos inteligentes fue introducido por Nick Szabo, un estudioso legal y criptógrafo en el año 1994. Llegó a la conclusión de que cualquier libro mayor descentralizado puede usarse como contratos autoejecutables que, más adelante, se denominaron contratos inteligentes.
Estos contratos digitales podrían convertirse en códigos y permitir que se ejecuten en una cadena de bloques.
Aunque la idea de los contratos inteligentes surgió hace mucho tiempo, el mundo actual en el que vivimos funciona con contratos en papel.
Un sistema basado en blockchain posibilita la interacción entre todas las entidades en la red entre sí de forma distribuida, eliminando así el requisito de cualquier tercero de confianza.
En términos simples, Blockchain es una tecnología que almacena datos en un libro mayor distribuido. Los datos almacenados de registros y transacciones están disponibles para todas las partes en la red en tiempo real.
La tecnología Blockchain llamó la atención con la introducción de Bitcoin, la primera y más establecida criptomoneda hasta ahora. Además de la aplicación de la criptomoneda, Blockchain ha evolucionado y sus casos de uso se presentan en diferentes industrias.
Tipos de smart contracts
Estos son los principales tipos de smart contracts.
1. Contratos legales inteligentes
Estos son presumiblemente el tipo más obvio. La mayoría, si no todos los contratos son legalmente exigibles.
Sin entrar en muchos tecnicismos, un contacto legal inteligente es aquel que involucra recursos legales estrictos en caso de que las partes involucradas en el mismo no cumplan con su parte del trato.
El marco legal actual en diferentes países y contextos carece de soporte suficiente para contratos inteligentes y automatizados en blockchain y su estado legal no está claro.
Sin embargo, una vez que se hacen las leyes, se pueden hacer contratos inteligentes para simplificar los procesos que actualmente implican una estricta supervisión reguladora, como las transacciones en el mercado financiero e inmobiliario, los subsidios gubernamentales, el comercio internacional, etc.
2. DAOS
Las organizaciones autónomas descentralizadas , DAOS, pueden definirse libremente como comunidades que existen en la cadena de bloques.
La comunidad puede definirse mediante un conjunto de reglas a las que se llega y se codifica a través de contratos inteligentes. Cada acción de cada participante estaría sujeta a estos conjuntos de reglas con la tarea de imponer y alcanzar un recurso en caso de que se dejara un descanso al programa.
Multitudes de contratos inteligentes componen estas reglas y funcionan en conjunto con la vigilancia de los participantes.
Un DAO llamado Genesis DAO fue creado por los participantes de Ethereum en mayo de 2016. La comunidad estaba destinada a ser una plataforma de crowdfunding y capital de riesgo. En un período sorprendentemente corto de tiempo, lograron recaudar la asombrosa cantidad de 150 millones de dólares.
Sin embargo, los piratas informáticos encontraron lagunas en el sistema y lograron robar Ethers por valor de 50 millones de dólares de los inversores de crowdfund. El truco y sus consecuencias resultaron en una bifurcación de la cadena de bloques Ethereum en dos: Ethereum y Ethereum Classic.
3. Contratos lógicos de aplicación
Si has oído hablar de Internet de las cosas en conjunto con la cadena de bloques, lo más probable es que se trate de contratos de lógica de aplicaciones.
Dichos contratos inteligentes contienen código específico de la aplicación que funciona en conjunto con otros contratos y programas inteligentes en la cadena de bloques. Ayudan a comunicarse y validar la comunicación entre dispositivos (mientras están en el dominio de IoT).
Los contratos lógicos de aplicación son una pieza fundamental de cada contrato inteligente multifunción y, en su mayoría, siempre funcionan bajo un programa de gestión.
¿Cómo funcionan?
Para entender cómo funciona un contrato inteligente, pongamos un ejemplo en el que deseas vender una propiedad.
La venta de propiedades requiere mucho papeleo y comunicación con diversas partes. Además de la complejidad de la comunicación, también existe riesgo de fraudes.
Por eso, la mayoría de las personas que quieren vender propiedades usan los servicios de agentes inmobiliarios. Estos se responsabilizan de manejar el papeleo y los mercados. Actúan como intermediarios en el proceso general, trabajan en negociaciones y supervisan acuerdos.
El uso de contratos inteligentes en tales situaciones puede ser efectivo al reducir los costes.
Los contratos inteligentes están diseñados para funcionar según el principio basado en la condición, que transferirá la propiedad al comprador solo cuando se acuerden las condiciones para ese traspaso.
Tanto el dinero como el derecho de posesión de la propiedad pueden almacenarse en un sistema distribuido que las partes involucradas pueden ver en tiempo real. El hecho de que todos los participantes puedan ver la transferencia de dinero, limitará las posibilidades de fraude.
El Oráculo (Oracle)
Un oráculo es un middleware blockchain que crea una conexión segura entre contratos inteligentes y varios recursos fuera de la cadena que necesitan para funcionar.
Actúa como la capa intermedia entre una cadena de bloques y una API que traduce información para que la cadena de bloques la lea.
Una API es una forma definida de comunicarse con un sistema en particular y varía en diseño de un sistema a otro. Las empresas desarrollan sus propias API para permitir que otros sistemas aprovechen sus servicios y datos en sus aplicaciones.
Por ejemplo, Uber usa una API de GPS, una API de SMS y una API de pagos para sus servicios en lugar de crear cada una de esas aplicaciones.
Hay tres modelos de oráculo: oráculos codificados desde cero por y para una entidad particular, oráculos centralizados y oráculos descentralizados.
Oráculos codificados desde cero por y para una entidad particular
Se trata de codificar un oráculo desde cero para cada caso de uso. Este método presenta vulnerabilidades y también es ineficiente. Dado que las API vienen en una variedad de formas, lleva mucho tiempo y es costoso tener que investigar y codificar cada oráculo desde cero. No es práctico para las empresas que necesitan acceso a una variedad de datos, potencialmente con poca antelación.
Oráculos centralizados
En un servicio centralizado de Oracle, una empresa privada de terceros obtiene y alimenta datos en el contrato inteligente.
Si bien este servicio puede ser útil, el contrato inteligente debe confiar en que esta empresa no se verá comprometida (al filtrar información confidencial, ser hackeada, experimentar servidores caídos, etc.). Los oráculos desencadenan contratos inteligentes, y debe haber una fe significativa invertida en una empresa privada para determinar el resultado de contratos valiosos y urgentes.
Además, cuando se utiliza una infraestructura centralizada para oráculos, los contratos inteligentes pierden sus características clave de ser deterministas, a prueba de manipulaciones y confiables en su ejecución de extremo a extremo.
Función multifirma
La firma múltiple (multiseño) se refiere a requerir más de una clave para autorizar una transacción de Bitcoin. Se utiliza normalmente para dividir la responsabilidad por la posesión de bitcoins.
Las transacciones estándar en la red de Bitcoin se llaman “transacciones de firma única”, porque las transferencias necesitan solo una firma, la del propietario de la clave privada vinculada a la dirección de Bitcoin.
Pero la red Bitcoin permite transacciones mucho más complejas que exigen la firma de varias personas antes de poder transferir los fondos.
Esta tecnología multifirma es lo que hace que todas las transacciones sean extremadamente seguras.
Supongamos que has configurado el smart contract para 3 de 5 firmas autorizadas. Esto significa que cuando al menos 3 de cada 5 autorizados firman una transacción, solo entonces se convertirá en una transacción válida.
Dobles depósitos
Se trata de una característica de los contratos inteligentes por la que se elimina el intermediario del proceso.
Con ello se posibilita la realización de transferencias seguras a través de smart contract entre personas desconocidas que no tienen confianza la una en la otra.
Se establece la obligación de que cada una de las partes deposite fondos en una cadena de bloques para cumplir el contrato. Se establece un determinado plazo y si, transcurrido el mismo, las partes no llegan a un acuerdo, esos fondos son transferidos por el contrato inteligente a otra cadena de bloques para que nadie pueda sacarlos.
De esta manera se obliga a las partes a cumplir sus obligaciones contractuales.
Este sistema impide la existencia de engaños y favorece que las partes lleguen a acuerdos amistosos.
¿Para qué se usan este tipo de contratos?
Los principales casos de uso de smart contract en el mundo real son los siguientes.
Financiación comercial
La financiación comercial se beneficiará enormemente de la introducción de contratos inteligentes. Recientemente, Santander Innoventures dijo que cree que la tecnología blockchain generará más de 20 mil millones de dólares en ahorros por año para 2022.
Una gran cantidad de estos ahorros provendrá de contratos inteligentes que automatizan los flujos de trabajo de aprobación y borran los cálculos que en este momento requieren una gran cantidad de trabajo. Esta automatización no solo ayudará a reducir las horas de trabajo, sino que también reducirá drásticamente los errores y el tiempo necesario para que se realicen estos cálculos.
Registros
Casi todas las industrias previsibles del mundo podrán usar contratos inteligentes para ayudar a mejorar la velocidad y la seguridad de su mantenimiento de registros. Una industria en particular que se beneficia enormemente es la industria de la salud.
Actualmente, los sistemas informáticos de atención médica del mundo contienen cientos de millones de registros médicos de pacientes. A pesar del hecho de que estas organizaciones de atención médica han invertido enormes sumas de dinero en seguridad, los métodos actuales de acceso y almacenamiento son mucho más vulnerables a los ataques cibernéticos que sus equivalentes basados en blockchain.
La tecnología Blockchain podría permitir que bases de datos completas de registros de salud personales se cifren y mantengan de forma segura.
Una ventaja adicional es que la tecnología también facilita el uso de una clave privada que significa que solo ciertas personas pueden obtener acceso.
Algunos de los otros casos de uso de contratos inteligentes de blockchain incluyen su uso en la emisión de recetas, el almacenamiento de recibos, la gestión general de existencias, el almacenamiento de resultados de pruebas, etc.
Sector inmobiliario
Los contratos inteligentes tienen dos grandes usos cuando se trata del mercado inmobiliario.
En primer lugar, se pueden usar para registrar la propiedad. Dado que el uso de contratos inteligentes es más rápido y más rentable, esto los convierte en una alternativa mucho mejor a los sistemas existentes. También significa que se pueden usar para registrar la propiedad de todo tipo de propiedades, desde edificios y terrenos hasta teléfonos y relojes.
Dentro del mercado de la vivienda, los contratos inteligentes pueden eliminar la necesidad de servicios caros como los que brindan los abogados y los gestores inmobiliarios.
Esta nueva tecnología también significa que, por primera vez, los vendedores tienen la capacidad de manejar la transacción completamente por sí mismos.
Hipotecas
El mercado inmobiliario también se beneficiará de transacciones de hipotecas inteligentes basadas en contratos más baratas, más rápidas y más seguras. Esto no solo permitirá a los compradores obtener la propiedad más rápido, sino que también ayudará a que todo el proceso conlleve menos dolores de cabeza.
Las hipotecas de contratos inteligentes permitirían a ambas partes acordar digitalmente la venta antes de procesar el pago. Una vez hecho esto, el contrato actualizaría los detalles de propiedad para reflejar el cambio de propiedad.
Dado que el proceso requeriría una autorización de código de clave única en nombre del propietario original, hará que todo el proceso sea más seguro y reducirá los casos de fraude.
Seguros
La industria de seguros gasta decenas de millones de dólares cada año en el procesamiento de reclamaciones. No solo eso, sino que también pierde millones de dólares por reclamaciones fraudulentas.
Además de respaldar la póliza de seguro inicial, los contratos inteligentes también podrían ayudar a mejorar el proceso de procesamiento de reclamaciones de muchas maneras. Podrían permitir verificaciones de errores y determinar los importes de pago en función de un conjunto de criterios que tengan en cuenta el tipo de política que tenía la persona u organización.
Una vez más, la reducción de los tiempos de procesamiento, una reducción drástica de los errores y los costes más reducidos se encuentran entre los principales beneficios.
A largo plazo, los contratos inteligentes podrían usarse en conjunto con los vehículos habilitados para Internet de las Cosas para permitir las pólizas de seguro de pago por uso y la activación inmediata de reclamaciones después de un accidente.
La información como los permisos de conducir, los informes de accidentes y los detalles de la política podrían procesarse de inmediato para facilitar pagos rápidos que beneficiarían a ambas partes.
Investigación médica
La industria de la investigación médica se beneficiará de ventajas similares a la industria de la salud. En primer lugar, los datos altamente confidenciales, como los registros de pacientes, podrían transferirse entre departamentos / centros de investigación después de haber sido cifrados de forma segura a través de la tecnología blockchain.
Dado que muchos de los pacientes que participan en investigaciones médicas tienen afecciones médicas sensibles que a menudo desean mantener en privado, es esencial mantener estos registros seguros.
Del mismo modo, las compañías de investigación médica tienen una enorme cantidad de datos que incluyen resultados de pruebas y nuevas fórmulas de medicamentos que necesitan para mantenerse a salvo.
Esto podría garantizarse mediante el uso de contratos inteligentes en caso de que necesiten divulgar esta información a un tercero por cualquier motivo.
Votaciones
Las acusaciones de fraude electoral han surgido recientemente en las últimas elecciones presidenciales de Estados Unidos. A pesar de utilizar sistemas informáticos que, en algunos casos, cuestan millones de dólares, los estafadores encuentran formas cada vez más imaginativas de manipularlos.
Los contratos inteligentes son una solución simple y rentable para este problema. Se pueden usar para validar la identidad de un votante y registrar su voto. Esta información podría utilizarse para iniciar una acción después de que haya cesado toda votación.
Dado que los bloques dentro de una cadena de bloques son imposibles de alterar una vez que se han grabado, la manipulación de este registro no sería posible.
Transacciones
Los contratos inteligentes se pueden usar para una amplia gama de transacciones entre pares. Este razonamiento es lo que llevó a la creación del Proyecto Ethereum y otras empresas similares.
Los usuarios de todas las formas y tamaños pueden usar estas plataformas para crear y acordar contratos inteligentes. Estos contratos permanecen activos hasta que se cumplan las condiciones acordadas.
Una vez que el contrato inteligente comprueba que se hayan cumplido todas las condiciones, permite que se cumpla la parte restante del acuerdo. Por lo general, esta es la transferencia de dinero, pero este no es siempre el caso.
Hasta ahora, los contratos inteligentes se han utilizado para todo, hasta la venta de productos en Internet.