🎯 Principiantes

Introducción a smart contracts: código es ley pero código también tiene bugs

Smart contracts es función más poderosa de blockchain también fuente más grande de riesgo. Este artículo explica原理 de smart contracts, 4 tipos de bugs comunes, cómo识别 contratos seguros y principios de安全 para operaciones DeFi.

2026-07-12 · Demonjoy — México

Depositaste dinero en protocolo Aave, segundo día escuchas que某些 contrato fue atacado por hacker pérdida数百 millones — empiezas doubt: código es ley? Pero si código tiene bugs?

I. Qué es smart contract

1.1 Definición

Smart contract es programa自动执行 deployado en blockchain — cuando条件 se cumple ejecuta automáticamente, no需要 intervención humana. Como vending machine: insertas moneda选择 producto, máquina entrega automáticamente, no需要 vendedor.

1.2 Características核心

  • Inalterable: después de deployar código no puede ser modificado (除非有 diseño especial)
  • Auto-ejecución: condición cumple ejecuta automáticamente, nadie puede阻止
  • Transparente público: código en blockchain任何人 puede查看
  • Sin intermediario: no需要信任 tercera parte

1.3 Poder de smart contracts

Sin smart contracts, blockchain solo es工具 de contabilidad. Con smart contracts, blockchain变 plataforma de computing — DeFi, NFT, DAO, gaming todos dependen de smart contracts para运行.

II. Ideal de “código es ley” vs realidad

2.1 Ideal

En mundo perfecto, smart contract代码 ejecuta reglas精确, sin espacio干预 humano, sin posibilidad corrupción, sin problema de信任.

2.2 Realidad

Código puede tener bugs, y bugs después de deployar no puede modificar. Pérdidas causadas por bugs de smart contracts históricamente:

  • The DAO (2016): $60M robado,导致 ETH fork
  • Parity wallet (2017): $150M bloqueado无法 retirar
  • Poly Network (2021): $610M robado (luego devuelto)
  • Wormhole (2022): $326M robado

Entendimiento clave: código es ley significa — si código写错了, “ley”本身是错误, y不可 modificar.

III. 4 tipos de bugs comunes en smart contracts

3.1 Ataque de重入 (Reentrancy)

Atacante反复 llama misma función durante ejecución de contrato, extraer fondos múltiple veces antes de更新余额. Evento The DAO fue ataque de重入. Prevención: usar模式 check-effect-interact.

3.2 Overflow de整数

Cálculo numérico超过 valor máximo de tipo de variable,导致 resultado错误. Como 256-bit整数加1变0. Prevención: usar库 SafeMath (Solidity 0.8+已内置).

3.3 Falta de control de permisos

Ciertas funciones de contrato deberían solo poder ser llamadas por admin, pero código no establece检查 de permisos,任何人 puede llamar. Prevención: usar修饰符 onlyOwner.

3.4 Error lógico

Logica de contrato本身 tiene defecto, como cálculo错误 de precio清算,公式错误 de分配奖励, etc. Más difícil发现 también más difícil prevenir.

IV. Cómo判断 contrato是否 seguro

4.1 ¿Ha sido auditado?

Compañías de auditoría conocidas: Trail of Bits, OpenZeppelin, Quantstamp, Certik. Contratos auditados relativamente seguros, pero auditoría no garantiza零 bugs.

4.2 ¿Es código abierto?

Contratos código abierto任何人 puede查看 código. Contratos cerrado源 no puedes verificar seguridad — no usar contratos cerrado源 para管理 tus activos.

4.3 Tiempo de运行

Más tiempo运行 más seguro — tiempo es mejor prueba. Contrato运行 2+ años sin事件重大 es más confiable que上线刚刚 1 semana.

4.4 Volumen de uso

TVL (Total Value Locked) más alto contrato通常 más atención, bugs更容易被发现. Pero TVL alto también significa动机 ataque más grande.

V. Principios de安全 para operaciones DeFi

  1. Solo usar protocolos头部 (Aave/Compound/Uniswap etc.)
  2. Solo usar contratos código abierto auditados
  3. Primero probar con小金额
  4. No授权 (Approve)额度无限
  5. Antes de操作 verificar dirección de contrato正确
  6. No perseguir nuevos proyectos — más nuevo más riesgo

Resumen

Smart contract es función más poderosa de blockchain también fuente más grande de riesgo. Código es ley, pero código también puede tener bugs — y bugs después de deployar不可 modificar. Como usuario, tu estrategia de安全: solo usar protocolos头部验证, probar con小金额,授权谨慎.

Para más métodos prácticos consulta Demonjoy Trading

Análisis profundo de auditoría de smart contracts

Para entender seguridad de smart contracts, necesitas saber qué auditoría realmente hace y limitaciones:

Qué compañías de auditoría hacen:

  • Leer código de contrato línea por línea buscando漏洞 lógicas
  • Verificar control de permisos (quién puede llamar qué función)
  • Verificar cálculos matemáticos是否正确 (会不会 overflow)
  • Verificar llamadas externas是否安全 (会不会重入 ataque)
  • Testear comportamiento en casos extremos (Gas不足, input异常, etc.)

Qué auditoría no puede garantizar:

  • Auditoría no es garantía 100% segura — contratos auditados todavía fueron atacados后面 (como Audius 2022 atacado,之前有 Certik auditoría)
  • Auditoría tiene限制 de tiempo — si código de contrato更新 después, nuevo código可能 no fue auditado
  • Auditores pueden遗漏 — humanos no son máquinas,漏洞 lógicas complejas可能遗漏
  • Algunos tipos de ataque auditoría无法覆盖 (como flash loan ataque, governance ataque, etc.)

Cómo利用 información de auditoría:

  • Ver报告 de auditoría: mayoría proyectos公开报告 de auditoría, leer问题 encontrados y方案 de修复 -关注 reputación de compañía: Trail of Bits y OpenZeppelin auditoría más confianza
  • Auditoría ≠ sin riesgo, pero no auditado = riesgo extremo

Lista de verificación de安全 para interacción con smart contracts

Cada vez antes de interacción con smart contract, verificar:

  1. Dirección de contrato是否正确: obtener desde Twitter/Discord officiél, no desde搜索引擎或陌生人
  2. Contrato是否 código abierto: en Etherscan查看 si código公开. Contrato cerrado源 riesgo extremo
  3. Contrato是否 auditado: verificar si hay报告 de auditoría de compañía conocida
  4. Monto de授权是否 razonable: Approve选择 monto精确而不是无限. Usar Revoke.cash定期清理授权旧
  5. Gas Limit是否 suficiente: dejar MetaMask自动估算, no手动设置过低
  6. Monto de操作是否正确:确认 monto无误 antes de提交 transacción
  7. Confirmar en dispositivo: si usar hardware wallet,确认 todos detalles en pantalla de dispositivo

Eventos de ataque de smart contract más严重 históricamente

EventoAñoPérdidaTipo de ataque
The DAO2016$60M重入 ataque
Parity Wallet2017$155MFalta de control de permisos
Poly Network2021$611M漏洞跨链 contrato
Wormhole2022$326M漏洞验证 firma
Ronin Network2022$625M妥协 validadores
Beanstalk2022$182MFlash loan + governance ataque
Curve Finance2023$70M重入 ataque (bug compilador Vyper)

Lecciones comunes de estos ataques: -重入 ataque es tipo más antiguo pero仍然 más común

  • Falta de control de permisos导致 pérdida enorme
  • Nuevos tipos de ataque不断 aparecen (flash loan + governance ataque)
  • Incluso después de auditoría no garantiza riesgo零

Recomendación终极 de安全 para principiantes

Si eres principiante, estrategia más简单 sobre seguridad de smart contracts:

  1. Solo protocolos头部: Aave, Compound, Uniswap, MakerDAO — estos运行 2+ años, TVL miles de millones,经过 múltiple auditorías son más seguros
  2. Probar con小金额: primera vez usar任何 protocolo solo $50-100测试
  3. No perseguir nuevo: protocolo上线刚刚 1 semana riesgo远高于运行 2 años
  4. 授权谨慎: cada Approve antes pensar “si este contrato es恶意, después de授权 pierde cuánto”
  5. Usar wallet dedicado: interacción DeFi usar wallet dedicado (里面 solo fondos操作), activos grandes en otro wallet

Gate.io — México

Low fees, SPEI support.

Comienza a Negociar con Seguridad en Gate.io →