Smart Contracts

Bautista Diaz Geliot
Boske
Published in
9 min readApr 6, 2021

Introducción

Un contrato inteligente (de ahora en mas smart contract) es una herramienta de gestión de derechos que sirve para formalizar, ejecutar y asegurar acuerdos entre participantes no confiables a través de internet. Estos reducen los costos de formalidades, de hacer cumplir los acuerdos entre dos partes y de reglas de estatutos. Finalmente, son los responsables de crear los tokens.

Existe un gran problema en cuanto a la red blockchain que radica en cuan confiable es el sistema antes mencionado y que va de la mano con que tan seguros son los smart contracts. Una solución que se viene rápido a la cabeza es la de utilizar una entidad de confianza como intermediaria de los diferentes contratos, pagando honorarios por sus servicios. Es así como funcionan los modelos de negocios de muchos gigantes de la tecnología Web2 como Amazon, eBay, Airbnb, y Uber que tienen como característica principal la falta de un sistema de liquidación confiable y de sistemas de identidades centradas en el usuario. Los smart contracts combinados con sistemas de identidad descentralizados o centralizados en el usuario, pueden aportar una solución a estos dos problemas, formalizando las relaciones entre personas e instituciones y los activos que poseen, enteramente P2P, sin necesidad de intermediarios confiables.

Aunque el concepto de contratos inteligentes no es nuevo, las redes blockchain parecen ser el catalizador para la implementación de contratos inteligentes. Una forma más primitiva de un contrato inteligente es una máquina expendedora. Las reglas de una transacción están programadas en una máquina. Se selecciona un producto pulsando un número relacionado con el producto que se desea y se inserta dinero. Si los billetes/monedas insertados/as son suficientes, la máquina está programada para expulsar el producto. Si no, el cliente no recibiría el producto. Además, si la máquina se quedara sin el producto, el cliente recibiría su dinero de vuelta. Las máquinas expendedoras automáticas hicieron obsoletos a algunos vendedores ambulantes, pero también ampliaron el servicio, ofreciendo disponibilidad 24/7 en lugar de los horarios limitados de apertura de un vendedor operado por personas.

Acuerdos autoejecutables

Un smart contract es un acuerdo que se hace cumplir por sí mismo, formalizado como un software. El código contiene un conjunto de normas en las cuales las partes de ese smart contract se basan para acordar interactuar entre sí. Una vez que se cumplen las reglas predefinidas, el acuerdo se aplica automáticamente por consenso mayoritario de la red blockchain. Los smart contracts proporcionan mecanismos para la gestión eficiente de activos y derechos de acceso simbólico entre dos o más partes. Se puede pensar en ello como una caja criptográfica que desbloquea el valor o el acceso, siempre y cuando se cumplan determinadas condiciones predefinidas. Por lo tanto, los smart contracts ofrecen una forma pública y verificable de integrar las normas de gobernanza y la lógica empresarial en unas pocas líneas de código, que pueden auditarse y aplicarse con el consenso mayoritario de una red P2P.

Un smart contract puede invocarse desde identidades internas (otros smart contracts) y externas (fuentes de datos externos) a una red blockchain. Las fuentes de datos externas, denominadas “oráculos”, inyectan datos relevantes para el contrato inteligente procedentes del mundo fuera de la cadena en el contrato inteligente. Pueden hacer un seguimiento del cumplimiento del acuerdo en tiempo real y, por lo tanto, ahorrar costos, ya que el cumplimiento y el control se producen sobre la marcha. Concretamente, se reducen los costos de i) llegar a un acuerdo, ii) formalizar y iii) hacer cumplir la ley. Los contratos inteligentes también evitan el dilema principal-agente(1) de las organizaciones, proporcionando más transparencia y rendición de cuentas y reduciendo la burocracia.

El término “smart contract” en sí mismo es un poco desafortunado, ya que los mismos no son particularmente inteligentes ni reflejan contratos legales:

  • Un smart contract solo puede ser tan inteligente como las personas que lo codifican, teniendo en cuenta toda la información disponible en el momento de la codificación.
  • Si bien los smart contracts pueden tener el potencial de hacer cumplir los contratos legales si se cumplen determinadas condiciones, primero tenemos que resolver muchas cuestiones tecnojurídicas, lo que requerirá tiempo y un diálogo interdisciplinario entre abogados y desarrolladores de software.

Casos de uso de la industria

Los casos de uso de smart contracts van desde simples a complejos. Pueden utilizarse para transacciones económicas sencillas, como el envío de dinero de A a B. También pueden utilizarse para registrar cualquier tipo de propiedad y derechos de propiedad, como los registros catastrales y la propiedad intelectual, o para gestionar el control de acceso inteligente para la economía colaborativa. Se pueden encontrar casos de uso en la banca, seguros, energía, gobierno electrónico, telecomunicaciones, industria musical y cinematográfica, bellas artes, movilidad, educación y muchos más. Cada acuerdo, proceso, tarea o pago puede ser gestionado colectivamente. Muchos intermediarios tradicionales, como abogados, corredores y banqueros, o administradores públicos, y plataformas de Internet podrían dejar de ser necesarios, o al menos algunos de sus servicios podrían quedar obsoletos: los automóviles podrían utilizar smart contracts para pagar sus propias facturas al pasar por una estación de servicio o cargar en un poste de carga eléctrica.

Los controles de acceso inteligentes entre dos pares que no confían el uno en el otro podría ofrecer una solución práctica para la economía colaborativa sin proveedores de plataformas centralizados, que actualmente poseen una parte desproporcionada de nuestros datos y, por tanto, también del valor económico creado.

Además, los smart contracts pueden utilizarse para acuerdos mucho más complejos entre una multitud de actores, a lo largo de la cadena de suministro de bienes o servicios, o para gobernar a un grupo de personas que comparten los mismos intereses y objetivos sin necesidad de instituciones centralizadas tradicionales. Las organizaciones autónomas descentralizadas (DAO) son un ejemplo de ello y probablemente representan la forma más común de contratos inteligentes complejos. El smart contract formaliza las reglas de gobierno de una organización, como los estatutos, estatutos y reglamentos, y reemplaza la gestión operativa diaria con un código autoaplicable.

Asimismo, los contratos inteligentes se pueden utilizar para crear y gestionar tokens criptográficos que pueden representar cualquier activo o derechos de acceso, e incluso incentivar comportamientos. Los tokens podrían convertirse en una de las aplicaciones más importantes de los contratos inteligentes, revolucionando potencialmente la gestión de activos tal como la conocemos.

Oráculos

Las redes blockachain y los smart contracts no pueden acceder a los datos desde fuera de su red. Para saber qué hacer, un smart contract a menudo necesita acceder a información del mundo exterior relevante para el acuerdo contractual, en forma de feeds de datos, también conocidos como “oráculos”. Estos oráculos son servicios que alimentan el smart contract con información externa que puede desencadenar acciones predefinidas del mismo, lo que a su vez induce cambios de estado en el ledger.

Tipos de oráculos:

  • Oráculos de software: manejan información procedente de fuentes en línea, como temperatura, precios de existencias o materias primas, horarios de llegada de vuelos o trenes, etc.
  • Oráculos de hardware: Algunos contratos inteligentes necesitan información directamente del mundo físico, por ejemplo, un auto que cruza una barrera donde los sensores de movimiento deben detectar el vehículo y enviar los datos a un contrato inteligente, o los sensores RFID en la industria de la cadena de suministro.
  • Oráculos entrantes: proporcionan datos del mundo exterior.
  • Oráculos salientes: brindan contratos inteligentes con la capacidad de enviar datos al mundo exterior.
  • Oráculos basados en el consenso: obtienen sus datos de los mercados de consenso y predicción humanos. Sin embargo, la utilización de una sola fuente de información podría resultar poco fiable, ya que se pueden manipular los mercados; tal vez se necesiten sistemas de calificación para los oráculos. La combinación de diferentes servicios de oráculos podría aumentar aún más la confianza de los datos si, por ejemplo, tres de cada cinco oráculos pudieran determinar el resultado de un acontecimiento.

El principal desafío con los oráculos es que la gente necesita confiar en estas fuentes externas de información, ya provengan de un sitio web o de un sensor. Dado que los oráculos son servicios de terceros que no forman parte del mecanismo de consenso de blockchain, no están sujetos a los mecanismos de seguridad subyacentes que proporciona esta infraestructura pública. El asegurar la robustez de esta “segunda capa” es de suma importancia. Se pueden utilizar diferentes herramientas criptográficas y técnicas de computación confiables como una manera de resolver estos problemas. Si la seguridad de oráculo no se proporciona adecuadamente, será una traba para la implementación generalizada de contratos inteligentes.

Caso de uso: comprar un auto de segunda mano

(a) Comprar un auto en la Web2

  • Bruno quiere vender un auto. El usa internet para encontrar una página donde pueda publicar su auto usado y definir los términos de la venta. Allí, el creará una lista donde define los términos y las condiciones requeridos para efectuar la transacción.
  • Alicia quiere comprar un auto. Ella también usará internet para encontrar un servicio como eBay para comprar un auto usado. Una vez que ella encuentra el auto que quiere comprar (suponemos que es el de Bruno), ambos coordinan por mensaje, por teléfono, y en persona para resolver las cuestiones finales, definir los términos, y firmar el contrato.
  • Contrato: Alicia esta de acuerdo en pagar $20.000 por el auto. Una vez que Bruno recibe el depósito, el transferirá el auto a Alicia dándole los documentos del auto y las llaves.
  • Un tercero de confianza es requerido para la verificación de la transacción. Para que se llegue a un acuerdo se deben cumplir los términos del contrato. Dependiendo del país en que se realice la operación habrán uno, dos o mas terceros involucrados en la cuestión. Resulta ser un proceso largo y complicado. Finalmente, se aplican tarifas de intermediario.

(b) Comprar un auto en la Web3

  • Bruno quiere vender un auto. El se identifica a sí mismo con la dirección blockchain 757382. Usa un smart contract para definir los términos de venta, y lo firma con su clave privada.
  • Alicia quiere comprar un auto. Ella encuentra el auto de Bruno publicado en internet. Ella firma el contrato con su clave privada, y transfiere $20.000 desde su dirección blockchain 389157 hacia la dirección de Bruno 757382.
  • Smart contract: si $20.000 se acreditan en la dirección blockchain 757382, luego automáticamente se transfiere el ID del auto 73849Z, y se otorga acceso a la cerradura inteligente a la dirección blockchain 389157.
  • El smart contract es verificado por cada nodo de la red blockchain para chequear que Bruno sea efectivamente el dueño del auto y que Alicia tenga suficientes fondos como para pagarle a Bruno.
  • Si la red esta de acuerdo en que ambas condiciones son verdad, Alicia automáticamente obtiene el código de acceso a la cerradura inteligente del garage. La red blockchain registra a Alicia como la nueva dueña del auto. Finalmente, Bruno tiene $20.000 más en su cuenta y Alicia $20.000 menos.
  • Bruno deja el auto y las llaves en un garage cerrado con una cerradura inteligente controlada por un smart contract. El auto tiene su propia dirección de blockchain 73849Z registrada en el ledger. La cerradura inteligente del garage se comunica con la red blockchain o el distributed ledger para verificar que el auto este estacionado en el garage indicado.
  • Alicia ahora puede buscar el auto desbloqueando la cerradura inteligente con su clave privada.
  • Problema! Si alguien roba el auto y se proclama dueño del auto de Alicia, cualquiera puede inspeccionar en la red blockchain y verificar que la única dueña del ID del auto con dirección 73849Z es Alicia, y no el “ladrón” en cuestión.

Gracias a los smart contracts, ahora podemos evitar la interferencia manual de determinadas instituciones como las autoridades automovilísticas, las compañías de seguros y, en algunos países, también los notarios, siempre y cuando los entornos normativos lo permitan. Cada computadora que ejecute el protocolo blockchain será capaz de comprobar si alguien es el propietario legítimo de un auto o no. Robar autos no será tan fácil como lo es hoy, una vez que los autos estén equipados con llaves digitales utilizando smart contracts para el control de acceso. Determinados procesos automatizados requerirán también la convergencia de smart contracts con datos procedentes de programas y equipos externos, como sería el caso de las fotografías tomadas en el garaje para controlar el estado del vehículo. Como propietario del auto, también se puede utilizar los smart contracts para autorizar a otras personas a conducir su propio auto, registrando su identidad de blockchain con el smart contract del auto en cuestión.

Notas

(1) Dilema principal-agente: el dilema principal-agente ocurre cuando alguien (el agente) tiene el poder de tomar decisiones que impactan a otra persona o institución (el principal), pero no lo hace en su mejor interés, como la relación entre políticos y votantes, o gerentes y accionistas.

Agregados

Referencias

  • Texto inspirado en el libro “Token Economy Book”, Shermin Voshmgir, capítulo 4.
  • Gráficos extraídos del libro “Token Economy Book”, Shermin Voshmgir, capítulo 4.

--

--

Bautista Diaz Geliot
Boske
Writer for

Licenciado en Economía UTDT. Maestría en Finanzas UTDT.