El smart contract no es nuevo
Si está remotamente interesado en el ecosistema de la blockchain, probablemente ya haya oído hablar del "contrato inteligente". Una tecnología bastante opaca y confusa al principio, pero terriblemente eficaz una vez que se comprende su potencial. Sin embargo, estos contratos tienen importantes limitaciones para su adopción masiva tanto en el ámbito comercial como en el de consumo. Veamos un contrato como ningún otro.
Este concepto fue introducido en 1996 por Nick Szabo, informático, abogado y criptógrafo estadounidense, que quería reducir el nivel de riesgo entre las partes contratantes. Escribe en su artículo “Formalizing and Securing Relationships on Public Networks” :
"Los contratos inteligentes reducen los costes de transacción mentales y computacionales impuestos por los mandantes, los terceros o sus herramientas. Las fases contractuales de búsqueda, negociación, compromiso, ejecución y decisión constituyen el ámbito de los contratos inteligentes. Este artículo cubre todas las fases, en particular el rendimiento. Los contratos inteligentes combinan protocolos e interfaces de usuario para facilitar todas las etapas del proceso de contratación. Esto proporciona nuevas formas de formalizar las relaciones que son mucho más funcionales que sus ancestros inanimados escritos en papel".
La idea principal del contrato inteligente es poder registrar contratos directamente en lenguaje informático. Estos no serían ejecutados por individuos (terceros de confianza), sino que se activarían automáticamente cuando se cumplan las condiciones. Hasta ahora, nada nuevo. En la actualidad, los terminales de pago pueden considerarse contratos inteligentes.
La tarjeta bancaria y el cajero automático son una especie de contrato inteligente
Tomemos el ejemplo del cajero automático. Cuando elige la cantidad a retirar del cajero, por ejemplo 50 euros, e introduce su tarjeta de crédito, los algoritmos informáticos detectarán (automáticamente) su cuenta bancaria en función de la tarjeta introducida, y entonces recibirá (si está autorizado) los fondos a través de la ranura situada en la parte inferior del cajero.
Usted podría decirme "¡Pero al fin y al cabo el smart contract no es nada nuevo!" Sí, pero en el caso de nuestro cajero, el tercero de confianza es el banco (un organismo de control centralizado) mientras que con la aparición de la blockchain y su conjunto de ordenadores conectados, el tercero de confianza se traslada del banco a la red descentralizada, es decir, a todos los ordenadores que la componen. Aunque el contrato inteligente no es conceptualmente nuevo, el validador de transacciones es tecnológicamente inédito. La siguiente sección será un poco técnica pero necesaria para cubrir todos los aspectos de los contratos inteligentes. Que no cunda el pánico, he inventado algunos casos de uso a continuación.
Contratos inmutables respaldados por código informático
Los contratos inteligentes son esencialmente acuerdos automatizados y autoejecutables cuyos términos entre el creador del contrato y el destinatario están escritos en líneas de código en la blockchain, lo que los hace inmutables e irreversibles. Podemos pensar en el contrato inteligente como la versión digital de un contrato estándar en papel. Sólo que esta vez, la aplicación y ejecución del contrato no requiere la intervención humana, sino la de la cadena de bloques. Estos contratos han sido ampliamente popularizados por Ethereum, la segunda blockchain más popular del mundo por detrás de Bitcoin.
Escribir un contrato en la blockchain permite que se replique en muchos ordenadores que componen la red, lo que garantiza que los términos del contrato se faciliten y se ejecuten de forma transparente y segura. Además, una red descentralizada le permite ser resistente a las averías y a los posibles ataques de los hackers, ya que la blockchain no tiene un único punto central. Como estamos empezando a entender en esta saga, una entidad centralizada (un banco, una empresa, una organización) está más expuesta al hackeo de datos en comparación con una red global descentralizada, porque en este caso no habría que hackear una sola base de datos sino todas las bases de datos de la mitad de los ordenadores de la red. Habría que generar una cantidad colosal de energía, lo que por el momento tiene el efecto de desanimar a cualquier hacker. Con casi 15.000 validadores en la red de Bitcoin, el hackeo parece extremadamente complicado, si no imposible, y la historia demuestra que Bitcoin ha demostrado ser irrompible desde su creación en 2008.
Número de nodos validadores en la red Bitcoin
Fuente: Bitnodes
Volvamos a nuestros contratos inteligentes. Los "smart contracts" suelen utilizarse para automatizar la ejecución de un acuerdo, de modo que todas las partes puedan estar seguras de que las reglas se cumplen sin necesidad de intermediarios humanos. Cada parte se compromete a cumplir con las obligaciones legales acordadas en el acuerdo escrito una vez firmado el contrato. Los eventos que son sencillos de automatizar, como la activación de un pago o el registro de un envío de paquetes, pueden ser objeto de un smart contract.
El funcionamiento de un contrato inteligente:
Cómo funciona el contrato inteligente
Fuente: ihodl.com
Veamos con más detalle esta infografía.
Cómo funciona un contrato inteligente
Para entender cómo funciona un contrato inteligente, considere el contrato con la siguiente declaración: "Si se produce el evento X, ENTONCES se producirá el evento Y". En otras palabras, si se cumplen las condiciones, se puede cumplir el acuerdo entre las partes. Tomaremos varios ejemplos para que quede claro:
El mercado tailandés de la berenjena con un smart contract
- Un supermercado pide al agricultor en cuestión que le entregue 1000 berenjenas.
- Se lleva a cabo una negociación formal entre el productor y el supermercado para determinar el precio de venta.
- Una vez determinado el precio, las dos partes determinan las siguientes condiciones en un contrato inteligente:
- Fecha de entrega: 02/02/2022
- Cantidad: 1000
- Precio de venta por unidad: 0,50 dólares
- Factura: 500 dólares
Vamos a poner un ejemplo sencillo, pero podríamos imaginar condiciones adicionales como descuentos en el precio de venta si la entrega no se cumple a tiempo o la cancelación del pedido si la calidad no está a la altura. Continuemos.
El supermercado deposita la suma asociada: $1000 dentro del contrato inteligente y se liberará SI y solo SI se cumplen las condiciones (mencionadas anteriormente). Una vez que las berenjenas hayan sido depositadas y comprobadas por el supermercado, los fondos se entregarán inmediatamente al productor.
Digamos que Tommy quiere comprar la casa de vacaciones de Etienne en Salamanca. Este acuerdo se forma en la blockchain de Ethereum mediante un contrato inteligente. Este contrato inteligente contiene un acuerdo entre las partes contratantes.
En términos más sencillos, el acuerdo será así: "CUANDO Tommy pague a Etienne 200 éteres, ENTONCES Tommy se convertirá en el propietario de la casa". Una vez que se ha establecido este acuerdo de contrato inteligente, no se puede cambiar, lo que significa que Tommy puede sentirse seguro al pagar a Etienne 200 Ether por la casa.
Sin el uso de un contrato inteligente en este escenario, Tommy y Etienne tendrían que pagar numerosas tasas a terceras empresas. Incluyendo el banco, un abogado y un agente inmobiliario. Como pequeño inciso conceptual, es obvio que hay una noción de confianza implicada, tanto entre los dos individuos como en la red que alberga el propio contrato inteligente, pero volveremos a ello un poco más abajo.
Fuente: Chainlink.com
¿Transacción compleja = contrato híbrido?
En la actualidad, es de esperar que para los contratos complejos se prefiera un contrato híbrido que utilice texto y código. El texto debe especificar claramente el código del contrato inteligente con el que se asocia, y las partes deben tener plena visibilidad de qué variables se pasan al contrato inteligente, cómo se definen y qué eventos desencadenarán la ejecución del código.
En definitiva, entendemos que en el caso de un contrato inteligente, en una transacción compleja al menos, es difícilmente imaginable un mundo sin terceros de confianza. Se pueden prever pequeñas operaciones transaccionales, pero en el contexto de las relaciones complejas, la necesidad de terceros de confianza parece inevitable, sobre todo para los no iniciados en la programación.
Para ello, y al pensar en los contratos inteligentes, es importante no limitarse a pensar en cómo se pueden portar los conceptos y estructuras existentes a esta nueva tecnología. Más bien, la verdadera revolución de los contratos inteligentes vendrá de paradigmas totalmente nuevos que aún no hemos considerado.
Obsérvese que la confianza en un contrato es en realidad la confianza en un sistema que rodea y garantiza el contrato: la ley, los representantes de la ley y, más generalmente, el Estado. En la actualidad, estas son las entidades en las que nos apoyamos para garantizar la seguridad de los contratos. El paso de esta confianza a un protocolo descentralizado poblado por mineros suena a utopía digital lejana, a vudú. ¿Pero por cuánto tiempo? Nos vemos pronto con un nuevo episodio de la saga que desvelará una nueva faceta de la Web 3.0.
- Episodio 1: ¿La web 3.0 se enfrenta a los GAFAM?
- Episodio 2: La web 3.0 está a un clic de proteger nuestros datos personales
- Episodio 3: La Web 3.0, ¿el siguiente paso lógico?
- Episodio 4: Web 3.0, ¿una confianza sin límites?
- Episodio 5: La Web 3.0, el doble gasto y los generales bizantinos
- Episodio 6: Web 3.0, las diferentes blockchains y el agricultor camboyano