Verificar un smart contract es comprobar que su código coincide con el código fuente publicado oficialmente. Un contrato no verificado en un explorador como Etherscan puede estar ejecutando instrucciones ocultas, como drenar tus fondos. Es el paso más básico para no caer en estafas en DeFi, pero no el único.

Hablando con Carlos, que lleva invirtiendo en cripto desde 2017, me contaba que su mayor preocupación ya no es el precio del Bitcoin. Lo que le quita el sueño es perder dinero por interactuar con un smart contract mal escrito. O peor, malintencionado. Me dijo: "en 2021 me salvé de una rug pull por los pelos, solo porque me pareció raro que el código no apareciera en Etherscan".

Y tiene razón. La verificación de smart contracts es la puerta de entrada a cualquier interacción segura en DeFi. Ignorarla es como firmar un contrato legal sin leer la letra pequeña. Solo que aquí la letra pequeña son cientos de líneas de Solidity que cualquiera puede examinar. Si no lo haces, estás confiando a ciegas.

Lo que realmente significa verificar un contrato

Cuando un proyecto despliega un contrato en Ethereum (o en cualquier EVM-compatible), el código que ves en el explorador no es el código original. Es bytecode. Una serie de números y letras que solo una máquina entiende. Verificar es subir el código fuente original a la plataforma (Etherscan, BscScan, PolygonScan, etc.) para que cualquiera pueda compararlo.

Si el código no está verificado, hay varias posibilidades. Todas malas.

Punto clave

Un contrato no verificado no es necesariamente una estafa. Pero es una bandera roja enorme. Proyectos serios como Uniswap, Aave o Curve tienen todos sus contratos verificados desde el día uno.

Carlos me explicó su proceso personal. No es un experto en programación, pero aprendió lo básico. "Yo no leo el código entero -me dijo-. Pero sé que si busco 'rug pull' o 'honeypot' en el código, el contrato no debería contener funciones que limiten mis ventas o que permitan al dueño cambiar las reglas a mitad de partido."

Señales de alarma básicas (que cualquiera puede detectar)

No necesitas ser un desarrollador senior para encontrar cosas raras. Cosas que te deben hacer sospechar:

  • Funciones de mint sin límite: Si el contrato permite al dueño crear tokens hasta el infinito, tu inversión se diluye cuando quiera
  • Función de transferOwnership: Normal en proyectos legítimos, pero si se ejecuta después del lanzamiento, puede significar que el control pasa a una wallet anónima
  • Blacklist o whitelist: Funciones que permiten bloquear direcciones. Muy habitual en scams de tokens
  • Tasas ocultas en las transferencias: Algunos contratos cobran un porcentaje en cada compraventa que va al dueño

Lo interesante es que todo esto está a la vista. En el código verificado. El problema es que la mayoría de la gente no lo mira.

Auditorías: no son un cheque en blanco

"Antes confiaba ciegamente en las auditorías", me decía Carlos. "Ahora sé que son solo una pieza del puzle." Y acierta de lleno. Una auditoría de seguridad externa es una revisión del código por parte de un equipo especializado. Empresas como Trail of Bits, OpenZeppelin, Hacken o CertiK hacen esto.

Pero una auditoría no es un sello de aprobación eterno. Tiene limitaciones importantes:

  • Auditan una versión del código. Si el proyecto actualiza el contrato después, la auditoría ya no vale
  • Pueden pasar por alto vulnerabilidades. Pasa más a menudo de lo que parece
  • Algunos proyectos compran logos de auditorías de baja calidad y los ponen en la web sin que la revisión haya sido seria

Para mí, una auditoría es como una ITV. Te dice que el coche no se va a desintegrar en la autopista hoy. Pero no te garantiza que no te choques por imprudente.

Cómo leer un informe de auditoría

La mayoría de la gente ve el logo en la web y da por bueno el proyecto. Error. Si realmente quieres proteger tu inversión, abre el informe. Mira la sección de "hallazgos". Busca si encontraron vulnerabilidades críticas o altas. Si aparecen marcadas como "resueltas", comprueba que el proyecto publicó el commit con la corrección. Un informe que menciona 20 problemas y dice "resueltos" sin mostrar pruebas huele mal.

La comunidad y los desarrolladores: el factor humano

Los smart contracts no escriben solos. Detrás hay personas. Y las personas pueden ser honestas o no. Carlos lo tiene claro: "si no sé quién está detrás de un proyecto, no pongo un euro".

Es una lección dura. Algunos de los mayores scams de la historia tenían contratos verificados y auditorías. Lo que no tenían eran desarrolladores con reputación que arriesgar. FTX no cayó por un smart contract mal hecho. Cayó porque la gente que lo gestionaba no era de fiar.

Cosas que puedes hacer para evaluar al equipo:

  • Busca sus perfiles en LinkedIn, Twitter, GitHub. ¿Han trabajado antes en proyectos serios?
  • Mira si publican contenido técnico regularmente. Un equipo que solo aparece en AMAs de marketing es sospechoso
  • Revisa si han sido auditados previamente. Un desarrollador que ha trabajado en protocolos conocidos es más fiable que un anónimo con un NFT de mono en la foto de perfil
Ejemplo real

Recuerdo el caso de un yield farming en 2021. Contrato verificado. Auditoría de una firma conocida. Equipo con nombres falsos. Tres meses después, explotaron la función de migración y se llevaron todo. La comunidad perdió millones. La lección: la verificación del código no suple la verificación de las personas.

DeFi y la zona gris fiscal

Aquí entra un tema que a Carlos le preocupa cada vez más. "Me da igual hacer dinero si luego Hacienda me llama y no sé cómo justificarlo". Y lleva razón. La fiscalidad de DeFi es un campo minado. No hay criterio fiscal claro de la AEAT para la mayoría de operaciones en DeFi. Pool de liquidez, farming, staking, préstamos... todo está en zona gris.

Cuando interactúas con un smart contract, cada operación genera un hecho imponible potencial. Si mueves fondos de un protocolo a otro, estás permutando un activo por otro. Eso tributa. Si recibes un airdrop, tributa como ganancia patrimonial en el momento de recibirlo. Si haces staking, las recompensas tributan.

Pero aquí viene lo complicado: ¿cómo valoras lo que recibes cuando el token no tiene liquidez real? ¿Cómo declaras una pérdida en un pool que se ha ido a cero? Son preguntas sin respuesta oficial clara. Por eso cada caso requiere análisis individual.

Ante la duda, consulta con un asesor fiscal especializado. Es mejor gastar dinero en una consulta que pagar una sanción que puede ser significativa.

Un detalle sobre los rastreadores de wallets

Para mí, una buena práctica es saber qué contratos estás aprobando. Cuando usas DeFi, sueles dar permiso al contrato para mover tus tokens. El famoso "approve". Si apruebas un contrato malicioso, puede vaciar tu wallet aunque no interactúes más. Hay herramientas como Revoke.cash que te permiten revocar permisos. Úsalas. Cada cierto tiempo, revisa qué contratos tienen acceso a tus fondos y revoca los que no uses.

El checklist de verificación para tu próxima inversión

Si quieres tomarte esto en serio, haz esto antes de meter dinero en cualquier protocolo DeFi:

  1. Abre el explorador de bloques (Etherscan, BscScan, etc.) y busca el contrato del token o del protocolo
  2. Comprueba si el código está verificado. Si no, no sigas
  3. Revisa el informe de auditoría si existe. Busca vulnerabilidades no resueltas
  4. Busca al equipo. Nombres reales, experiencia previa, reputación
  5. Lee el hilo en Twitter de gente que ya ha interactuado. Busca quejas o advertencias
  6. Comprueba la liquidez. Si está bloqueada en un contrato de timelock, mejor. Si el equipo puede retirarla en cualquier momento, es una bandera roja
  7. Revoca permisos antiguos antes de empezar

Carlos me dijo algo que me quedó grabado: "Yo antes pensaba que los hackers eran los malos que te robaban. Ahora sé que la mayoría de veces, el que te roba es el propio proyecto, con un contrato diseñado para engañarte". Y tiene toda la razón.

Los smart contracts no son magia. Son código. Y el código se puede verificar. Se puede auditar. Se puede entender. Si no pones el mínimo esfuerzo en comprobarlos, estás delegando tu seguridad financiera en completos desconocidos. Y en DeFi, eso suele acabar mal.