¿Qué es un contrato inteligente?

Source: Wikimedia Commons

Los contratos inteligentes a menudo se mencionan junto con blockchain. Con el advenimiento de blockchain 2.0 (que es cuando blockchain obtuvo su primer caso de uso además de Bitcoin en 2014), los contratos inteligentes han sido una adición invaluable a la tecnología. Si bien son de naturaleza altamente técnica, no tienen por qué ser difíciles de entender.

En esta guía, lo llevaremos a través de los conceptos básicos de los contratos inteligentes. Aprenderá qué son, cómo funcionan, dónde son aplicables e incluso los conceptos básicos para escribir uno.

¿Qué es un contrato inteligente?

En el sentido más simple, los contratos inteligentes son solo una versión programada de su contrato habitual. Su propósito es activar automáticamente un contrato previamente liquidado cuando se hayan cumplido todas las condiciones previas. Dado que cada condición debe programarse manualmente para ejecutarse, esto puede reducir significativamente la cantidad de letra pequeña diseñada para favorecer a una de las partes, incluso a expensas de la otra.

Aunque los contratos inteligentes, como los llamamos ahora, se destacaron con las implementaciones programables de blockchain, son mucho más antiguos que eso. El informático, abogado y criptógrafo Nick Szabo propuso por primera vez los contratos inteligentes como concepto en los años 90. Los describió como "un conjunto de promesas, especificadas en forma digital, incluidos los protocolos dentro de los cuales las partes cumplen estas promesas". Fuera de sus implementaciones actuales, los contratos inteligentes están presentes en otros lugares: las máquinas expendedoras se consideran una versión rudimentaria de la tecnología, ya que siguen el principio general de que con la entrada correcta, se garantiza una determinada salida.

A pesar de su nombre, los contratos inteligentes no son necesariamente un acuerdo válido y vinculante a los ojos de la ley, como suelen ser los contratos tradicionales. Sin embargo, en la implementación de blockchain, no es necesario. La interpretación del Instituto Nacional de Estándares y Tecnología de EE.UU. Los define como una "colección de código y datos (a veces denominados funciones y estado) que se implementa mediante transacciones firmadas criptográficamente en la red blockchain". Esta es también la definición por la que operan Ethereum y cadenas de bloques similares.

Para aquellos que entienden qué es blockchain, puede parecer obvio cómo los contratos inteligentes encajan en la arquitectura de un blockchain. En un espacio completamente descentralizado, donde nadie tiene una cantidad significativa de poder, no hay lugar para intermediarios y terceros que manejen el cumplimiento y el consenso. Como explica nuestra guía antes mencionada, el consenso se alcanza a través de mecanismos preestablecidos que no dependen de la intervención humana. Lo mismo ocurre con el cumplimiento y la ejecución de programas: los contratos inteligentes son implementaciones programadas de estos conceptos que eliminan la necesidad de que las personas tengan ese tipo de poder.

¿Cómo funciona un contrato inteligente?

Sin embargo, saber qué es un contrato inteligente no explica necesariamente cómo funciona.

De manera más simple, los contratos inteligentes se componen de diferentes funciones que se definen en ellos. Los usuarios interactúan con ellos enviando una transacción que activa una determinada función. Cada una de estas funciones se define en detalle, por lo que los usuarios pueden comprender exactamente qué es lo que están a punto de hacer.

Los usuarios de la red definen contratos inteligentes. Cualquiera que pueda codificar en el lenguaje de contrato inteligente puede escribir el suyo, siempre que tenga suficientes monedas nativas para implementar. El costo en sí depende de la red en la que se está implementando y sus estipulaciones.

Un ejemplo del mundo real sería un acuerdo comercial. Una vez que ambas partes han resuelto los detalles (lo que cada uno recibe a cambio, las estipulaciones, cualquier factor que pueda hacerlos renegociar el trato), generalmente encontrarán un tercero neutral para asegurarse de que todo se haga al pie de la letra. Sin embargo, los terceros neutrales cuestan dinero, y no siempre se puede confiar en ellos para que permanezcan neutrales o simplemente para que no intenten sacar ventaja de la situación. La solución más sencilla sería eliminar por completo a este tercero. Pero, ¿Quién actuará entonces como mediador?

Por eso la gente siempre ha preferido la neutralidad que solo las máquinas pueden lograr. Los avances tecnológicos actuales aún no ven que las máquinas tengan sus propias preferencias e intereses, por lo que a menudo se cree que es la mejor solución para estos problemas. En otras palabras, programar un contrato inteligente permite a todas las partes involucradas discutir los detalles del comercio de manera pública y transparente (ya que los contratos inteligentes no pueden hacer algo que no esté codificado explícitamente), evitando así posibles actos ilícitos. Esto también reduce los costos generales, ya que implementar y luego activar un contrato inteligente es relativamente bajo en comparación con los costos de los abogados.

Los contratos inteligentes garantizan que todo se hará exactamente de la forma en que se codificó. Como no son programas muy complejos, estos códigos a menudo se pueden leer y comprender con algunos conocimientos básicos de programación. Esto es importante para mantener todo sobre el suelo y facilitar una buena relación de trabajo con otros participantes de la red.

¿Para qué se pueden utilizar los contratos inteligentes?

Una de las mayores ventajas de los contratos inteligentes es que se pueden usar para prácticamente cualquier cosa, siempre que se puedan programar. Por supuesto, algunos casos de uso son más comunes que otros. Algunos de los mejores ejemplos incluyen:

  • Identidad digital: en un momento de dudosa privacidad en Internet, existe una preocupación sobre qué datos está compartiendo con las empresas a cuyos sitios web accede. Esto se puede digitalizar fácilmente a través de contratos inteligentes, donde podría compartir sus preferencias con fines de curación de contenido sin revelar realmente su información personal.
  • Valores: el sector financiero en su conjunto sufre muchas fricciones entre las diferentes partes, especialmente cuando se trata de mantener y negociar valores. Al automatizar todo a través de contratos inteligentes, los intermediarios podrían eliminarse por completo. Luego, el programa se haría cargo, pagando dividendos y/u otros pagos automáticos, administrando la responsabilidad y racionalizando el flujo de trabajo.
  • Préstamos e hipotecas: estas cosas suelen ser una fuente de frustración para muchos. La implementación de pagos de contratos inteligentes significaría reducir el costo general que generalmente recae en el tercero, mantener una tasa de interés beneficiosa y garantizar que no haya letra pequeña que pueda aprovecharse. Además, la configuración de pagos mensuales automáticos puede simplificar aún más toda la prueba para todos los participantes.
  • Cadena de suministro: como uno de los casos de uso más conocidos de blockchain, los contratos inteligentes también son invaluables cuando se trata de la gestión de la cadena de suministro. Desde el seguimiento del inventario hasta las actualizaciones automáticas para todas las partes interesadas, la implementación de contratos inteligentes puede mejorar la transparencia y reducir significativamente el margen para posibles fraudes.
  • Depósito en garantía: al igual que con otras actividades que requieren la participación de terceros, el depósito en garantía es también una de las que se beneficiarían de la automatización. Con los contratos inteligentes, los fondos se guardan en un lugar seguro hasta que se cumplen todas las condiciones para su liberación. Esto casi puede eliminar el riesgo de robo y fraude y, al mismo tiempo, mantiene todo completamente transparente y, quizás sobre todo, asequible.
  • Sistemas de salud: los datos médicos son muy sensibles y la mayoría de las jurisdicciones tienen leyes que los protegen del acceso no autorizado. El uso de contratos inteligentes no solo puede proteger esos datos, sino que también permite a las personas decidir quién puede acceder a ellos. En última instancia, las personas podrían proporcionar a los investigadores médicos acceso a sus datos por una tarifa, eliminando una cantidad significativa de preocupaciones éticas para todas las partes involucradas.
  • Salarios: las empresas que mantienen empleados asalariados podrían ahorrar una cantidad significativa de dinero pagándoles de forma automática. Incluso si tienen que tomarse los días libres en cuenta, estos cambios se pueden modificar rápida y fácilmente. El concepto también podría funcionar con empleados por horas.

La lista de casos de uso de contratos inteligentes está lejos de ser exhaustiva. Sin embargo, solo sirve para mostrar la amplia gama de aplicaciones más allá de lo que muchas personas piensan cuando escuchan sobre la tecnología. Con la infraestructura adecuada, los contratos inteligentes podrían ir mucho más allá de los casos de uso descritos aquí.

Beneficios de los contratos inteligentes

Muchos de los beneficios que ofrecen los contratos inteligentes a la forma en que hace su negocio se pueden deducir de lo que hemos mostrado hasta ahora. Por otro lado, algunos van más allá de lo que puede parecer obvio al principio. Echemos un vistazo más de cerca a ellos.

  • Confianza: o, quizás más exactamente, la falta de confianza significa que no necesita confiar implícitamente en nadie de que se ejecutarán las condiciones que ha establecido. Como un contrato inteligente no tiene autonomía propia, puede estar seguro de que todo sucederá exactamente como está escrito.
  • Seguridad: la criptografía, el concepto sobre el que se basa la cadena de bloques (y los contratos inteligentes, por extensión), mantiene todo mucho más seguro que muchas otras soluciones tecnológicas.
  • Velocidad: el uso de contratos inteligentes es un paso importante respecto al manejo manual de todo lo que se puede automatizar. Especialmente en el caso de los intermediarios, que pueden tomarse su tiempo dependiendo de sus propias prácticas, mover todo a contratos inteligentes puede ser el ahorro de tiempo que su empresa necesita.
  • Ahorros: siguiendo la misma lógica que con el aspecto de la velocidad, eliminar la interferencia de terceros también le ahorra el dinero que pagaría por sus servicios.
  • Autonomía: no depender de intermediarios te da más poder para decidir, solo o con otra parte interesada, qué debe hacer exactamente tu contrato inteligente. Además, la posibilidad de que alguien se equivoque (o incluso manipule) se reduce significativamente con menos participantes.
  • Precisión: a menos que se haya preprogramado un error en el contrato inteligente, es físicamente incapaz de hacer nada más que lo que está escrito en su código.
  • Transparencia: no solo podrá leer el contrato inteligente y ver si se ha escrito de acuerdo con lo que deseaba o necesitaba, sino que el hecho de que esté almacenado en la cadena de bloques significa que todos los datos relevantes también serán visibles para posteridad. Para las empresas, esto puede acelerar los procesos de auditoría.
  • Facilidad de comprensión (y uso): es cierto que el código se puede escribir de formas increíblemente confusas. Sin embargo, el código de alta calidad será fácil de entender y usar, lo que significa que será mucho más fácil que estudiar documentos legales largos y densos.

Otros beneficios del uso de contratos inteligentes dependerán de su caso de uso personal. Lo más importante es que todos tienen una cosa en común: hacen que todo sea más fácil.

Posibles inconvenientes

Por supuesto, ninguna tecnología es una panacea. Esto es especialmente cierto para blockchain y contratos inteligentes. Como todavía son relativamente nuevos y abordan problemas de larga data en muchas industrias, a menudo se espera que puedan hacer mucho más de lo que realmente pueden. Aquí hay algunos problemas que pueden enfrentar los contratos inteligentes:

  • No es legalmente vinculante: a pesar de su nombre, los contratos inteligentes no son necesariamente contratos reales. Es posible que no se presenten en un tribunal de justicia, pero esto puede cambiar según el caso.
  • Incertidumbre regulatoria: en la misma línea, como la tecnología es tan nueva, a menudo no existen regulaciones gubernamentales. Dependiendo del tipo de transacción, es posible que no sean necesarios, pero también pueden ser críticos, por lo que abordar estos problemas legales puede ser una ardua tarea.
  • Impuestos: de manera similar, ¿Cómo se gravan las transacciones de contratos inteligentes? Si bien algunos pueden tener su precedente en las finanzas tradicionales, el ascenso de las criptomonedas ha puesto en juego algunos factores nuevos.
  • Abordar errores: ningún código es perfecto y los errores ocurren, incluso para los mejores programadores. Es posible que algunos de ellos no se noten hasta que sea demasiado tarde y las transacciones en la cadena de bloques sean irreversibles. En otras palabras, los errores pueden resultar costosos.
  • Rescisión de contratos: dado que los contratos inteligentes son bastante literales, a menudo no hay forma de rescindirlos como lo haría con un contrato tradicional, es decir, en un tribunal.
  • No todo el mundo puede leer código: en pocas palabras, no todo el mundo conoce los conceptos básicos de la codificación. Si bien, en teoría, los contratos inteligentes deberían ser más sencillos que los documentos en papel, ya que no permiten la letra pequeña. Sin embargo, si no puede leer el código, cualquiera puede escribir lo que quiera sin saberlo.
  • No pueden obtener información del mundo real: los contratos inteligentes no pueden acceder a información desde fuera de la cadena de bloques porque eso podría poner en peligro el consenso. Los llamados oráculos se utilizan para superar este obstáculo.

La importancia de cada uno de estos inconvenientes, al igual que los beneficios que enumeramos, depende de para qué esté utilizando realmente los contratos inteligentes. Aún así, conocer estos pros y contras ayuda a tomar una decisión informada si está pensando en utilizar contratos inteligentes.

¿Qué son los oráculos?

Al hablar de blockchain y contratos inteligentes, declaramos varias veces que el objetivo de ambos, entre otras cosas, es eliminar la dependencia de terceros. Sin embargo, hay algunas situaciones en las que esto no se puede evitar. Una de esas situaciones es cuando necesita información del mundo real para incorporarla a los contratos inteligentes sin tener que buscarla manualmente de forma constante.

Los oráculos de blockchain son terceros. Actúan como el enlace entre los datos en cadena, que es la cadena de bloques, y fuera de la cadena, o lo que llamamos el mundo real. Esto ayuda a ampliar el alcance de los contratos inteligentes. Sin oráculos, los contratos inteligentes sólo podrían operar con la información que pueden obtener de la propia cadena de bloques, que no es mucha.

Para evitar que los datos sean manipulados, los oráculos también suelen estar descentralizados. Esto significa que todos están enviando los mismos datos y los datos que la mayoría envió se toman como correctos. Si se descubre que un oráculo es muy incompatible con el resto con demasiada frecuencia, se puede considerar malicioso y castigado. Hay muchos tipos diferentes de oráculos, y el tipo que se implemente dependerá de lo que la red y sus usuarios necesiten.

Cómo escribir un contrato inteligente

Para escribir un contrato inteligente, deberá estar familiarizado con al menos un lenguaje de programación utilizado para este propósito. En la cadena de bloques Ethereum, puede elegir entre dos lenguajes amigables para los desarrolladores: Solidity y Vyper. También necesitará gas: cuanto más compleja sea una transacción en el contrato inteligente, más gas necesitará. Cada transacción especifica la cantidad de gas que está dispuesto a pagar para ejecutar algún código, por lo que la tarifa total pagada equivale al total de gas utilizado multiplicado por el precio del gas.

La forma de redactar un contrato inteligente dependerá principalmente de lo que quieras que haga. Cuanto más simple sea, más rápido podrá hacerlo, incluso si sus conocimientos de programación son bastante básicos. Hay una gran cantidad de tutoriales en línea para ayudarlo a comenzar.

El contrato deberá compilarse antes de implementarse en la cadena de bloques. La compilación también ayudará a determinar si ha escrito todo correctamente y si está funcionando como debería.

Para obtener más información, puede consultar el sitio web de Ethereum, que contiene muchas explicaciones paso a paso de cómo funcionan sus contratos inteligentes.

Conclusión

Como muestra esta guía, los contratos inteligentes son una forma de automatizar cosas que de otro modo tendrían que hacerse manualmente, con toda la seguridad, transparencia e inmutabilidad que siempre ofrece la tecnología blockchain. Si bien tienen algunos inconvenientes, los contratos inteligentes aún resuelven problemas genuinos, lo que significa que saber cómo usar uno (¡E incluso escribir uno usted mismo!) Puede ser una habilidad invaluable. Para empezar, sin embargo, simplemente entender cómo funcionan es un excelente punto de partida para el resto.


Other Bitcoin Guides