Al igual que muchas ideas en la industria de blockchain, una confusión general envuelve los llamados «contratos inteligentes».

Una nueva tecnología hecha posible por cadenas de bloques públicas, los contratos inteligentes son difíciles de entender porque el término en parte confunde la interacción central descrita.

Mientras que un contrato estándar describe los términos de una relación (generalmente uno exigible por ley), un contrato inteligente hace cumplir una relación con el código criptográfico.

Dicho de otra manera, los contratos inteligentes son programas que se ejecutan exactamente como lo configuran sus creadores.

La idea fue concebida originalmente por el científico y criptógrafo Nick Szabo como una especie de máquina de venta digital. En su famoso ejemplo, describió cómo los usuarios podían ingresar datos o valores, y recibir un artículo finito de una máquina, en este caso un refrigerio del mundo real o un refresco.

En un ejemplo simple, los usuarios de ethereum pueden enviar 10 ether a un amigo en una fecha determinada utilizando un contrato inteligente.

En este caso, el usuario crearía un contrato y enviaría los datos a ese contrato para que pudiera ejecutar el comando deseado.

Ethereum es una plataforma diseñada específicamente para crear contratos inteligentes.

Pero estas nuevas herramientas no están destinadas a ser utilizadas de forma aislada. Se cree que también pueden formar los componentes básicos para las «aplicaciones descentralizadas» («¿Qué es un Dapp?«) E incluso las empresas autónomas descentralizadas completas.

¿Cómo funcionan los contratos inteligentes?

Vale la pena señalar que Bitcoin fue el primero en admitir contratos inteligentes básicos en el sentido de que la red puede transferir valor de una persona a otra. La red de nodos solo validará las transacciones si se cumplen ciertas condiciones.

Pero, bitcoin se limita al caso de uso de la moneda.

Por el contrario, ethereum reemplaza el lenguaje más restrictivo de bitcoin (un lenguaje de scripting de alrededor de cien scripts) y lo reemplaza por un lenguaje que permite a los desarrolladores escribir sus propios programas.

Ethereum permite a los desarrolladores programar sus propios contratos inteligentes, o «agentes autónomos», como los llama el artículo de ethereum. El lenguaje es «Turing-complete», lo que significa que admite un conjunto más amplio de instrucciones computacionales.

Los contratos inteligentes pueden:

  • Funciona como cuentas de «firma múltiple», por lo que los fondos se gastan solo cuando un porcentaje requerido de personas está de acuerdo
  • Administrar acuerdos entre usuarios, por ejemplo, si uno compra un seguro del otro.
  • Proporcionar utilidad a otros contratos (similar a cómo funciona una biblioteca de software)
  • Almacene información sobre una aplicación, como información de registro de dominio o registros de membresía.

Cuando alguien hace una apuesta simple sobre la temperatura en un caluroso día de verano, puede provocar una secuencia de contratos bajo el capó.

Un contrato usaría datos externos para determinar el clima, y ​​otro contrato podría liquidar la apuesta según la información que recibió del primer contrato cuando se cumplen las condiciones.

La ejecución de cada contrato requiere tarifas de transacción adicionales, que dependen de la cantidad de potencia computacional requerida.

Como se explica en nuestra guía «Cómo funciona Ethereum», ethereum ejecuta un código de contrato inteligente cuando un usuario u otro contrato le envía un mensaje con tarifas de transacción suficientes.

La máquina virtual de Ethereum luego ejecuta contratos inteligentes en ‘bytecode’, o una serie de unos y ceros que la red puede leer e interpretar.