Seguro que más de una vez has oído hablar de los Smart Contracts o Contratos Inteligentes. Qué si van a revolucionar el mundo, van a acabar completamente con ciertas industrias o van a reemplazar el sistema financiero de hoy en día.
Contenidos
¿Qué son los Smart Contracts?
Un contrato inteligente es una pequeña aplicación que se puede ejecutar por sí misma y obligar al cumplimiento de ciertas reglas programadas. Su objetivo principal es la automatización y eliminación de intermediarios. Estas aplicaciones se almacenan dentro de una blockchain, como por ejemplo la red Ethereum.
Los Smart Contracts permiten realizar transacciones seguras, rastreables e irreversibles sin necesidad de intermediarios. Esto ofrece una seguridad superior a los contratos legales tradicionales y reduce los costos de intermediación.
Los contratos inteligentes eliminan el factor humano a la hora de tomar decisiones, que generalmente es lo más propenso a errores. Y esto precisamente los convierte en un complemento e incluso en algunos casos un reemplazo de los contratos tradicionales.
¿Cómo funcionan los smart contracts?
Estos contratos inteligentes también permiten almacenar, enviar y recibir fondos, así como contactar con otros contratos automáticamente. Siguen una semántica sencilla If … Then. Es decir, si ocurre un cierto evento predefinido, entonces ejecuta cierta acción.
Los contratos inteligentes pueden utilizar información de la blockchain o información externa.
Existen casos basados en información externa del mundo real, por ejemplo, el caso de las apuestas y eventos deportivos, donde el resultado de cada evento se tiene que trasladar de forma segura a la blockchain. Esto puede parecer algo sin importancia, pero la realidad es que la ventaja de la fiabilidad y veracidad de los contratos se puede ver afectada si las fuentes de datos no son confiables o pueden ser alteradas.
Para atajar este problema se utilizan los llamados oráculos, sistemas que crean puentes de conexión entre los datos del mundo real y los datos proveídos al blockchain. Existen proyectos que se encargan de que eso ocurra, por ejemplo ChainLink (socio del Foro Económico Mundial), que con un fuerte sistema de incentivos y penalizaciones a los proveedores de datos, permite que la información llegue a las cadenas de bloques de forma muy confiable.
Ethereum, el gran precursor de los smart contracts
La red de ethereum permite a cualquier desarrollador escribir sus propios contratos inteligentes en la red. Utiliza un lenguaje de programación relativamente sencillo llamado Solidity que se creó para este fin.
Sin embargo Ethereum no inventó los Smart Contracts, que fueron mencionados por primera vez en una publicación de Nick Szabo en 1995. Muchos creen que Nick es en realidad la persona detrás del pseudónimo de Satoshi Nakamoto, creador de Bitcoin.
De hecho, Bitcoin también permite ejecutar contratos inteligentes en un lenguaje llamado sCrypt. Sin embargo, en la red bitcoin los contratos son mucho menos flexibles que en Ethereum, hecho que se hizo a propósito por razones de seguridad.
Blockchains que usan smart contracts
Las redes crypto que usan contratos inteligentes más populares son:
- Ethereum
- Cardano
- Binance smart chain
- Tezos
- Tron
- EOS
- Avalance
- Polkadot
- Solana
Para qué sirven los smart contracts
Los casos de uso de los contratos inteligentes son muy amplios y pueden mejorar muchos sectores, entre los usos principales de los smart contract están:
- Facilitar pagos por internet a bajo costo y de forma instantánea,
- Mejorar la trazabilidad y seguridad de cadenas de suministro,
- Crear transparencia en plataformas de recaudación de fondos o donaciones,
- Sistemas de votación (gobernanza y función pública),
- Análisis y concesión de préstamos, seguros y finanzas en general (DeFi o finanzas descentralizadas).
Problemas y riesgos de los Smart Contracts
No todo es color de rosa en el mundo de los smart contracts, tienen sus riesgos:
Bugs en el código
Uno de los problemas más difíciles de resolver son los bugs o errores de código en los contratos. Como en cualquier otro tipo de programa, pueden aparecer problemas inesperados, que en el caso de los smart contracts, al ser inmutables, conllevan una problemática mayor en comparación con el desarrollo de software tradicional.
Uno de los casos más resonados, fue el hack de DAO, cuando se robó el equivalente a más de 60 millones de USD en Ether utilizando una vulnerabilidad de un Smart Contract. Esto causó grandes discusiones en la comunidad de ethereum, que terminó por bifurcar el proyecto con un “hard fork” en lo que hoy conocemos como Ethereum y Ethereum Classic. Tras este ataque la seguridad aumentó mucho, con múltiples revisiones y auditorías de los grandes proyectos, debido a la desconfianza generada.
Cambios en la blockchain
Un Smart Contract puede funcionar perfectamente de la forma esperada, sin embargo, cambios en la red blockchain subyacente, pueden resultar en comportamientos inesperados. Esto es algo bastante poco probable ya que también se intenta hacer todo con la máxima compatibilidad posible, pero no deja de ser algo a considerar. Un ejemplo, sería un upgrade de la blockchain de Ethereum.
Dificultades para convertir información del mundo real
Existen casos en los que es muy difícil traducir los datos del mundo real a la red blockchain sin la intervención humana, incluso para los ya mencionados servicios de oráculos. En ciertos casos, se necesita la supervisión y no se puede automatizar datos del mundo real.
Veamos ahora un breve resumen de los beneficios e inconvenientes de los Smart Contracts. El cuadro esquematizado sería algo como esto:
Ventajas de los smart contracts
- Velocidad, eficiencia y precisión. Una vez se cumplen las condiciones, el contrato se ejecuta inmediatamente. Como estos smart contracts son digitales y están completamente automatizados, no es necesario realizar el papeleo administrativo de un contrato tradicional. También se eliminan posibles errores humanos como por ejemplo al rellenar documentos.
- Credibilidad y transparencia. No hay un tercero involucrado en el proceso y los registros están encriptados y disponibilizados a los participantes del contrato. Esto aporta transparencia y evita que la información se pueda modificar con fines poco éticos o para un beneficio personal. A su vez esto aporta una fuerte herramienta contra el fraude.
- Seguridad. Los contratos inteligentes viven dentro de una red blockchain. Los registros de transacciones están encriptados, lo que hace que sean muy difíciles de hackear. Dentro de una red blockchain, cada registro depende del anterior, lo que obligaría a modificar la cadena entera de bloques para modificar un solo registro.
- Ahorro. Eliminando la necesidad de intermediarios para realizar la transacción, estamos consecuentemente reduciendo tiempo, tasas y posibles retrasos.
- Inmutable. Una vez un contrato está en la blockchain, no se pueden alterar sus reglas, evitando ataques que cambien la lógica.
- Distribuido. No existe un solo ordenador que controle el contrato, si no que cada nodo del blockchain tiene una réplica del mismo contrato con el mismo estado.
Desventajas de los smart contract
- Bugs.
- Cambios de protocolo.
- Dificultad para convertir información del mundo real.