El desarrollo de la industria blockchain y cómo defenderse de los ataques a DeFi
Hoy en día, el mercado de blockchain en su conjunto está en su infancia, y el mercado de las finanzas descentralizadas (DeFi) es su parte más prometedora. Según datos de DefiLlama, en 2021, el mercado DeFi tenía alrededor de 200.000 millones de dólares de liquidez bloqueada en contratos inteligentes. Si vemos este capital como una inversión inicial, este mercado parece una empresa muy prometedora. No hay muchas empresas mundiales que puedan presumir de una capitalización semejante. Pero todo mercado joven tiene sus problemas iniciales. En el caso de DeFi, el principal problema es la falta de desarrolladores cualificados de blockchain.
Esta industria es muy joven y tiene una base de usuarios relativamente pequeña. La mayoría de la gente, en el mejor de los casos, ha oído hablar de DeFi sin tener ni idea de lo que es. Pero como ocurre con toda nueva empresa prometedora, rápidamente se crea un gran interés especulativo. Desgraciadamente, la preparación del personal lleva mucho más tiempo, especialmente cuando se trata de ámbitos tan intensos en conocimientos como el desarrollo de blockchain y contratos inteligentes. Esto significa que algunos equipos de proyecto tendrán que hacer concesiones y contratar a personal menos experimentado.
Este problema crea inevitablemente un riesgo creciente de lagunas de seguridad en el código de estos proyectos. Y luego tenemos que lidiar con sus consecuencias en la pérdida de capital de los usuarios. Para entender brevemente la magnitud de este problema, puedo decir que alrededor del 10% de la liquidez total de DeFi bloqueada ha sido robada por los hackers. No debería sorprender a nadie que el público en general prefiera mantenerse alejado de un sistema financiero que supone tales peligros para sus fondos.
¿Cómo han cambiado los ataques a DeFi recientemente?
Los ataques a DeFi se han centrado durante mucho tiempo en los ataques de reentrada. Podemos recordar el famosohackeo de The DAO de 2016 que resultó en la pérdida de 150 millones de dólares en capital de los inversores y llevó al hard fork de Ethereum. Desde entonces, esta vulnerabilidad ha sido explotada muchas veces en diferentes contratos inteligentes.
La función de devolución de llamada es utilizada activamente por los protocolos de préstamo: Permite que los contratos inteligentes comprueben el saldo de las garantías de los usuarios antes de conceder un préstamo. Todo este proceso ocurre dentro de una transacción, lo que ha dado a los hackers una solución para robar dinero de tales contratos inteligentes. Cuando se envía una solicitud de préstamo, la función de devolución de llamada comprueba primero el saldo de la garantía, luego concede el préstamo si la garantía es suficiente y después cambia el saldo de la garantía del usuario dentro del contrato inteligente.
Para engañar al contrato inteligente, los hackers devuelven la llamada a la función callback para iniciar este proceso desde el principio. Como la transacción no se ha finalizado en la cadena de bloques, la función concede otro préstamo por el mismo saldo de garantía. A pesar de que la solución a este problema lleva bastante tiempo en escena, muchos proyectos siguen siendo víctimas de él.
A veces, equipos de proyectos con poca habilidad para escribir contratos inteligentes deciden tomar prestado el código base de otro proyecto DeFi de código abierto para desplegar su propio contrato inteligente. Normalmente lo hacen con proyectos reputados que han sido auditados y tienen grandes bases de usuarios y han demostrado estar construidos de forma segura. Pero pueden decidir hacer pequeñas modificaciones en el código prestado para añadir funcionalidades que quieren tener en su contrato inteligente, sin siquiera cambiar el código original. Esto puede dañar la lógica del contrato inteligente, algo de lo que los desarrolladores no suelen darse cuenta.
Esto es lo que permitió a los hackers robar alrededor de 19 millones de dólares de Cream Finance en agosto de 2021. El equipo de Cream Finance tomó prestado el código de otro protocolo DeFi y añadió un token de devolución de llamada en su contrato inteligente. Aunque se pueden prevenir los ataques de reentrada implementando el patrón “controles, efectos, interacciones” que prioriza el cambio de saldo sobre la emisión de fondos, algunos equipos siguen sin salvaguardar sus plataformas de estos exploits.
Los ataques de préstamos flash permiten a los hackers robar fondos de forma diferente y han ido creciendo en popularidad desde el boom de DeFi de 2020. La idea principal de los ataques de préstamos flash es que no es necesario tener una garantía para tomar prestados fondos de un protocolo porque la paridad financiera sigue estando garantizada por el hecho de que el préstamo se toma y se devuelve en una sola transacción. Y no tendrá lugar si no se devuelve el préstamo con intereses en una sola transacción. Pero los atacantes han sido capaces de realizar con éxito ataques de préstamo flash en muchos protocolos.
Al hacerlos, utilizan múltiples protocolos para pedir prestado y arrastrar la liquidez hasta el acto final en el que amplifican el precio de un token a través de oráculos o pools de liquidez y lo utilizan para estafar un pump-and-dump y desaparecer con la liquidez en un conjunto de algunas criptomonedas diferentes importantes como Ether (ETH), Wrapped Bitcoin (wBTC) y otras. Algunos ataques famosos de préstamos flash incluyen el ataque Pancake Bunny, donde el protocolo perdió 200 millones de dólares, y otro ataque Cream Finance, en el que se robaron más de 100 millones de dólares.
¿Cómo defenderse de los ataques a DeFi?
Para construir un protocolo DeFi seguro, lo ideal es confiar únicamente en desarrolladores de blockchain con experiencia. Deben contar con un equipo profesional que dirija con habilidad la construcción de aplicaciones descentralizadas. También es prudente recordar que hay que utilizar bibliotecas de código seguras para el desarrollo. A veces, las bibliotecas menos actualizadas pueden ser la opción más segura que las que tienen las bases de código más nuevas.
Las pruebas son otra cosa crucial que todos los proyectos serios de DeFi deben hacer. Como director general de una empresa de auditoría de contratos inteligentes, siempre trato de cubrir el 100% del código de nuestros clientes y hago hincapié en la importancia de la protección descentralizada de las claves privadas utilizadas para llamar a las funciones de los contratos inteligentes con acceso restringido. Lo mejor es utilizar la descentralización de la clave pública a través de una multifirma que impida que una entidad tenga el control total del contrato.
En definitiva, la educación es una de las claves que permitirá que los sistemas financieros basados en blockchain sean más seguros y fiables. Y la educación debería ser una de las principales preocupaciones de quienes buscan empleo en DeFi porque puede ofrecer recompensas apetecibles a todos los que puedan hacer una contribución viable.
Este artículo no contiene consejos ni recomendaciones de inversión. Cada movimiento de inversión y negociación implica un riesgo, los lectores deben realizar su propia investigación al tomar una decisión.
Los puntos de vista, pensamientos y opiniones expresados aquí pertenecen únicamente al autor y no reflejan ni representan necesariamente los puntos de vista y opiniones de Cointelegraph.
Dmitry Mishunin es el fundador y director general de la empresa de seguridad y análisis DeFi HashEx y tiene una larga experiencia en el campo de la seguridad de la cadena de bloques. Ha dedicado mucho tiempo a actividades científicas, como la investigación de sistemas informáticos, blockchain y vulnerabilidades en DeFi. Bajo la dirección de Dmitry, HashEx se ha convertido en uno de los líderes en el campo de las auditorías de contratos inteligentes.
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.