Skip to Content

En primera línea: Contratos inteligentes

Blogs Shaun Aghili, DBA, CIA, CRMA, CISA Jul 28, 2021

Los orígenes de los contratos inteligentes se remontan a finales de la década de 1990, cuando Nick Szabo propuso el concepto de contratos inteligentes basados en blockchain, en un artículo, "Formalización y protección de asociaciones en redes públicas", publicado en la revista First Monday. Un contrato inteligente es un programa descentralizado y seguro que utiliza un mecanismo de cadena de bloques (blockchain) como su marco de ejecución descentralizado predeterminado, debido a sus principales beneficios de privacidad. Representa un acuerdo que es automáticamente ejecutable, semánticamente correcto, seguro y exigible.

En otras palabras, un contrato inteligente es un protocolo electrónico que implementa y exige el cumplimiento de términos contractuales. Su principal objetivo es cumplir con las condiciones del contrato sin necesidad de intermediarios financieros, como un banco. Sus otros objetivos económicos incluyen la reducción del cumplimiento y otros costos transaccionales relacionados. Los auditores internos deben comprender y revisar cómo sus organizaciones diseñan y utilizan dichos sistemas.

Los contratos inteligentes tienen muchos usos, que incluyen:

  • Comercio electrónico. Los contratos inteligentes se pueden utilizar para facilitar el comercio entre compradores y vendedores sin la necesidad de un tercero. El pago se liberará por contrato inteligente al vendedor cuando el comprador haya confirmado la recepción de los bienes o servicios.
  • Internet de las cosas y propiedad inteligente. Los contratos inteligentes permiten que los nodos en Internet compartan o accedan a propiedades digitales sin la necesidad de un tercero de confianza.
  • Gestión de derechos digitales. Los contratos inteligentes se pueden aplicar a tareas de gestión de derechos digitales, como los derechos de propiedad de la música, utilizando la tecnología blockchain. Por ejemplo, los contratos inteligentes pueden hacer cumplir los pagos a los propietarios de música cuando su música se utilice con fines comerciales. También se puede garantizar la distribución de pagos entre los múltiples propietarios de obras musicales.

Otros posibles usos de los contratos inteligentes incluyen el voto electrónico, pagos de hipotecas, el procesamiento de reclamaciones de seguros, el monitoreo de la cadena de suministro y la gestión de identidades. Al diseñar un sistema distribuido descentralizado, la organización debe considerar algunas características de los contratos inteligentes.

Los contratos inteligentes son inmutables. Una vez que se ha implementado un contrato inteligente, no se puede modificar más. Como tal, si hay una falla en la lógica de la aplicación de contrato, esta falla no se puede rectificar con un parche de software.

Los contratos inteligentes son transparentes. Los registros almacenados en la cadena de bloques son accesibles para todos y, dado que el contrato inteligente es un componente de la cadena de bloques, cualquiera puede ver el código fuente del contrato inteligente. Por lo tanto, los contratos inteligentes no deben implementar métodos y algoritmos que deban mantenerse en secreto.

La información relacionada con los contratos inteligentes siempre está disponible. Aparte de los códigos de contrato inteligente, todos los usuarios de blockchain pueden ver el valor que tiene las variables del contrato, sus datos históricos y todas las transacciones relacionadas del contrato. Como tal, los contratos inteligentes no deben usarse para almacenar datos privados y registros protegidos.

Los auditores internos deben revisar si existen controles adecuados para los contratos inteligentes. Los desarrolladores deben usar estrategias de programación defensivas, como verificar protocolos, medir la cobertura de la prueba, hacer cumplir la integración continua y realizar auditorías de seguridad en el contrato, para garantizar que los usuarios no puedan explotar errores y vulnerabilidades.

Además, los desarrolladores deberían considerar el uso de un "interruptor de desactivación" (kill switch), que es un fragmento de código que desactiva permanentemente un contrato inteligente defectuoso. La implementación de una opción de cancelación del contrato inteligente podría garantizar que todos los fondos involucrados con el contrato inteligente se transmitan al propietario del contrato y evitar que usuarios negocien con el referido contrato en el futuro. Sin embargo, incluso si se desactiva un contrato inteligente, el código y los detalles del contrato inteligente permanecerán en la cadena de bloques.

Los contratos inteligentes son un método rentable y confiable para implementar y administrar los contratos de una organización. Su transparencia y autonomía pueden reducir eficazmente los tiempos de procesamiento y automatizar aún más las tareas que antes requerían la interacción humana. A medida que las tareas de gestión de contratos y adquisiciones de la organización se vuelven cada vez más automatizadas, los auditores internos deben aprender más sobre los atributos, usos y posibles vulnerabilidades del código de los contratos inteligentes.

Shaun Aghili, DBA, CIA, CRMA, CISA

Master of Information Systems Security and Assurance Management, Concordia University

Dr. Shaun Aghili is a professor of management and a blockchain researcher in the Master of Information Systems Security and Assurance Management programs at the Concordia University of Edmonton in Alberta.