En DeFi, los depósitos, los préstamos y los intercambios se realizan automáticamente mediante contratos inteligentes: no hay revisión manual ni servicio de atención al cliente que pueda recuperar el dinero enviado por error. Si el contrato está bien escrito, es la regla más fiable; si está mal escrito, las vulnerabilidades también se «ejecutarán» al pie de la letra.
$ETH está en Ethereum, una de las primeras cadenas de bloques públicas compatibles con contratos inteligentes de propósito general. Precio actual: 2128.02 (24 h: -0.12%).
【El código es la ley, y las vulnerabilidades también】
Una vez desplegado en la cadena, el contrato inteligente se ejecuta automáticamente según el código. Esto aporta transparencia y previsibilidad: cualquiera puede leer el código y, si el contrato no se puede actualizar, las reglas no cambiarán porque alguien cambie de opinión.
Por el contrario, si alguien descubre y explota una vulnerabilidad en el código, los fondos pueden transferirse en unas pocas transacciones y ser muy difíciles de recuperar. The DAO, en 2016, es un ejemplo: atacaron el contrato debido a una vulnerabilidad de reentrada y, posteriormente, Ethereum tomó medidas mediante una bifurcación dura. La cadena original, que no se bifurcó, continuó como Ethereum Classic (ETC).
【¿Qué se audita exactamente?】
Una auditoría de seguridad es una revisión que un equipo de seguridad externo realiza, en un momento determinado, sobre una versión concreta del código. El informe de auditoría suele enumerar los problemas detectados, la gravedad de cada uno y si el equipo del proyecto ya los ha corregido.
Entre los aspectos que se suelen revisar están la reentrada, los errores en el control de permisos, los problemas de precisión en los cálculos y la posibilidad de manipular oráculos. Las auditorías ayudan a detectar y reducir este tipo de vulnerabilidades comunes, pero están limitadas por el tiempo, los recursos humanos y el alcance de la revisión.
【¿Por qué siguen ocurriendo problemas después de una auditoría?】
En primer lugar, la auditoría solo abarca el código incluido en el alcance especificado; los contratos que quedan fuera y las funciones añadidas posteriormente no están cubiertos. Si el código se modifica después de la auditoría o la versión que se implementa no coincide con la auditada, las conclusiones no pueden aplicarse directamente.
En segundo lugar, algunos riesgos no están en el propio código: los oráculos u otros protocolos de los que depende el protocolo pueden fallar; pueden robar la clave de administrador que permite realizar actualizaciones; o pueden manipular la interfaz web para inducir a los usuarios a firmar transacciones maliciosas. Todo esto puede ocasionar pérdidas.
【¿Qué pueden hacer los usuarios comunes?】
Al leer un informe de auditoría, fíjate en la fecha, el alcance y los problemas que aún no se han corregido; no te quedes solo con las palabras «auditado». También puedes comprobar si el contrato puede actualizarse unilateralmente y si los permisos de actualización están controlados mediante firmas múltiples y un bloqueo temporal.
Por lo general, se considera que los protocolos con más tiempo en funcionamiento y que han soportado grandes cantidades de fondos son más fiables, pero eso no significa que no tengan vulnerabilidades. Por eso, en DeFi deposita solo fondos cuya pérdida puedas soportar, distribuye las cantidades grandes entre distintos protocolos y recuerda revocar los permisos de los protocolos que ya no utilices.
【En pocas palabras】
La auditoría es el punto de partida de la seguridad, no el final. Es más sensato considerar el riesgo de los contratos inteligentes como un costo inevitable de participar en DeFi que confiar en las palabras «auditado». No apuestes todos tus ahorros a un solo proyecto.
¿Qué otro tema te gustaría ver? Cuéntanos en los comentarios.