Smart Contracts

Los códigos ejecutables o programas dentro de Ethereum se llaman smart contracts (contratos inteligentes), bajo la premisa de que un programa es similar a un contrato: una vez cumplidas ciertas condiciones se desencadenan acciones. Ethereum es una computadora mundial descentralizada que ejecuta smart contracts.

Un ejemplo de smart contract para soportar una apuesta por un partido de fútbol podría ser el siguiente:

El smart contract recibe a través de una transacción el importe de la apuesta (10 dólares) de cada uno de los dos jugadores participantes. El jugador A gana si el equipo XYZ gana o empata. El jugador B gana si el equipo XYZ pierde. El smart contract obtiene el resultado del partido de fútbol de una fuente confiable y predefinida, que podría ser otro smart contract, una página web en la que iría a buscar el resultado o de una persona delegada. Según el resultado del partido, el smart contract envía electrónicamente 20 dólares al ganador.

Respecto al término “Smart Contract”

Por un lado, el término smart contracts o contratos inteligentes puede ser engañoso, pues no son contratos ni son inteligentes. No son contratos porque no existe obligación legal para su cumplimiento. No son inteligentes porque si se diera alguna situación no contemplada en el smart contract, éste no sabría cómo resolverla, pues para un programa sólo existen las situaciones consideradas en su código.

Por otro lado, el origen de este concepto viene de principios de los 90, cuando Nick Szabo el inventor de Bit Gold, propuso el término indicando que «los smart contracts combinan protocolos con interfaces de usuario para formalizar y asegurar relaciones sobre redes de computadoras. Este esquema elimina la necesidad de pagar a intermediarios como auditores, contadores, abogados y notarios públicos, al ejecutarse los acuerdos a través de un programa de computadora».

Para efectos prácticos, consideremos que los smart contracts son programas que corren en Ethereum. Más adelante en el curso veremos cómo crear un smart contract.

Last updated