Los lenguajes de programación impiden la adopción masiva de DeFi

Las finanzas descentralizadas (DeFi) están creciendo rápidamente. El valor total bloqueado, una medida del dinero gestionado por los protocolos de DeFi, ha pasado de 10.000 millones de dólares a algo más de 40.000 millones en los últimos dos años, tras alcanzar un máximo de 180.000 millones de dólares.

Valor total bloqueado en DeFi en noviembre de 2022. Fuente: DefiLlama

¿El elefante en la habitación? Sólo en 2021 se perdieron más de 10.000 millones de dólares por hackeos y exploits. Alimentando ese elefante: Los lenguajes de programación de contratos inteligentes actuales no proporcionan características adecuadas para crear y gestionar activos – también conocidos como “tokens.” Para que DeFi se convierta en la corriente principal, los lenguajes de programación deben proporcionar características orientadas a los activos para que el desarrollo de contratos inteligentes DeFi sea más seguro e intuitivo.  

Los actuales lenguajes de programación de DeFi no tienen el concepto de activos

Las soluciones que podrían ayudar a reducir los perennes hacks de DeFi incluyen la auditoría del código. Hasta cierto punto, las auditorías funcionan. De los 10 mayores hacks de DeFi de la historia (más o menos), nueve de los proyectos no fueron auditados. Pero destinar más recursos al problema es como poner más motores en un coche con ruedas cuadradas: puede ir un poco más rápido, pero hay un problema fundamental en juego.  

El problema: los lenguajes de programación que se utilizan hoy en día para DeFi, como Solidity, no tienen ningún concepto de lo que es un activo. Los activos como los tokens y los NFT sólo existen como una variable (números que pueden cambiar) en un contrato inteligente como el ERC-20 de Ethereum. Las protecciones y validaciones que definen cómo debe comportarse la variable, por ejemplo, que no debe gastarse dos veces, que no debe ser drenada por un usuario no autorizado, que las transferencias siempre deben equilibrarse y llegar a cero, todo ello debe ser implementado por el desarrollador desde cero, para cada contrato inteligente.  

A medida que los contratos inteligentes se vuelven más complejos, también lo son las protecciones y validaciones necesarias. Las personas son humanas. Los errores ocurren. Los errores ocurren. El dinero se pierde.

Un ejemplo de ello: Compound, uno de los protocolos DeFi más importantes, fue explotado por valor de 80 millones de dólares en septiembre de 2021. ¿Por qué? El contrato inteligente contenía un “>” en lugar de un “>=”.

El efecto dominó

Para que los contratos inteligentes interactúen entre sí, como por ejemplo que un usuario cambie un token por otro diferente, se envían mensajes a cada uno de los contratos inteligentes para actualizar su lista de variables internas.

El resultado es un complejo acto de equilibrio. Garantizar que todas las interacciones con el contrato inteligente se gestionan correctamente recae por completo en el desarrollador de DeFi. Dado que no hay barandillas innatas incorporadas a Solidity y a la máquina virtual de Ethereum (EVM), los desarrolladores de DeFi deben diseñar e implementar todas las protecciones y validaciones necesarias por sí mismos.  

Así que los desarrolladores de DeFi pasan casi todo su tiempo asegurándose de que su código es seguro. Y lo comprueban dos y tres veces, hasta el punto de que algunos desarrolladores afirman que dedican hasta el 90% de su tiempo a las validaciones y las pruebas y sólo el 10% a la creación de características y funcionalidades.

Con la mayor parte del tiempo de los desarrolladores dedicado a luchar contra el código inseguro, y con la escasez de desarrolladores, ¿cómo ha crecido DeFi tan rápidamente? Aparentemente, existe una demanda de formas de dinero programable, autosuficiente, sin permisos y automatizada, a pesar de los retos y riesgos que supone proporcionarla hoy en día. Ahora bien, imagina cuánta innovación podría desatarse si los desarrolladores de DeFi pudieran centrar su productividad en las características y no en los fallos. El tipo de innovación que podría permitir a una industria incipiente de 46.000 millones de dólares perturbar una industria tan grande como, bueno, los 468 billones de dólares de las finanzas mundiales.  

Activos totales de las instituciones financieras mundiales de 2002 a 2020. Fuente: Statista

Innovación y seguridad

La clave para que DeFi sea a la vez innovadora y segura proviene de la misma fuente: Dar a los desarrolladores una forma fácil de crear e interactuar con los activos y hacer que los activos y su comportamiento intuitivo sean una característica nativa. Cualquier activo creado debe comportarse siempre de forma predecible y de acuerdo con los principios financieros de sentido común.

En el paradigma de programación orientado a los activos, crear un activo es tan fácil como llamar a una función nativa. La plataforma sabe lo que es un activo: .initial_supply_fungible(1000) crea un token fungible con un suministro fijo de 1000 (más allá del suministro, también hay disponibles muchas más opciones de configuración de tokens) mientras que funciones como .take y .put toman tokens de algún lugar y los ponen en otro.  

En lugar de que los desarrolladores escriban una lógica compleja instruyendo a los contratos inteligentes para que actualicen listas de variables con toda la comprobación de errores que ello conlleva, en la programación orientada a activos, las operaciones que cualquiera esperaría intuitivamente como fundamentales para DeFi son funciones nativas del lenguaje. Los tokens no se pueden perder o vaciar porque la programación orientada a los activos garantiza que no pueden hacerlo.  

Así es como se consigue tanto la innovación como la seguridad en DeFi. Y así es como se cambia la percepción del público en general de que DeFi es el salvaje oeste a que DeFi es donde tienes que poner tus ahorros, ya que de lo contrario, estás perdiendo.

Ben Far es jefe de asociaciones en RDX Works, el principal desarrollador del protocolo Radix. Antes de trabajar en RDX Works, ocupó puestos directivos en PwC y Deloitte, donde prestó servicios a clientes en asuntos relacionados con la gobernanza, la auditoría, la gestión de riesgos y la regulación de la tecnología financiera. Es licenciado en geografía y economía y tiene un máster en software cartográfico y analítico por la Universidad de Leeds.  

El autor, que reveló su identidad a Cointelegraph, utilizó un seudónimo para este artículo. Este artículo tiene fines de información general y no pretende ser ni debe ser tomado como un consejo legal o de inversión. Los puntos de vista, pensamientos y opiniones expresados aquí son únicamente del autor y no reflejan ni representan necesariamente los puntos de vista y opiniones de Cointelegraph.

Las inversiones en criptoactivos no están reguladas. Es posible que no sean apropiados para inversores minoristas y que se pierda el monto total invertido. Los servicios o productos ofrecidos no están dirigidos ni son accesibles a inversores en España.