⛓️ Blockchain Learning Path GitHub

🔄 Ciclo de vida de un proyecto blockchain

Audiencia: Equipos que llevan un protocolo de la idea a producción · ⏱️ Lectura: 25 min · Fuentes: prácticas públicas de despliegue y operación del ecosistema ⬅️ Industria · 🏠 Programa · 📚 Bibliografía


🗺️ El pipeline completo

Un protocolo serio no "se lanza": atraviesa un pipeline con puertas de calidad explícitas. Saltarse una fase no ahorra tiempo — traslada el costo a producción, donde los errores se pagan en fondos de usuarios. El pipeline de referencia:

┌──────────────┐  ┌──────────────┐  ┌───────┐  ┌──────────────────┐  ┌──────────────┐
│ Descubrimiento│─►│ Diseño / spec│─►│  PoC  │─►│ Desarrollo +      │─►│ Testnet      │
│ ¿blockchain?  │  │ invariantes, │  │       │  │ pruebas (TDD,     │  │ pública      │
│ ¿qué problema?│  │ threat model │  │       │  │ fuzzing, invar.)  │  │              │
└──────────────┘  └──────────────┘  └───────┘  └──────────────────┘  └──────┬───────┘
                                                                            │
      ┌─────────────────────────────────────────────────────────────────────┘
      ▼
┌────────────┐  ┌────────────┐  ┌────────────────────┐  ┌─────────┐  ┌────────────┐
│ Auditorías │─►│ Bug bounty │─►│ Lanzamiento acotado │─►│ Mainnet │─►│ Operación  │
│ (≥1 firma, │  │ (público,  │  │ (caps, timelocks,   │  │ pleno   │  │ monitoreo, │
│ + contest) │  │ escalonado)│  │ multisig, breakers) │  │         │  │ runbooks   │
└────────────┘  └────────────┘  └────────────────────┘  └─────────┘  └─────┬──────┘
                                                                           │
                                              ┌────────────────────────────┤
                                              ▼                            ▼
                                     ┌─────────────────┐          ┌────────────────┐
                                     │ Evolución:       │          │ Sunset:        │
                                     │ upgrades con     │          │ apagado        │
                                     │ gobernanza       │          │ responsable    │
                                     └─────────────────┘          └────────────────┘

Cada flecha es una puerta de calidad con criterio de salida explícito:

Fase Criterio de salida (no se avanza sin esto)
Descubrimiento Decisión documentada de que blockchain aporta valor; criterios de cancelación escritos
Diseño / spec Spec aprobada, invariantes enumeradas, threat model revisado por alguien externo al equipo
PoC Riesgos técnicos principales validados o descartados; decisión go/no-go registrada
Desarrollo + pruebas CI verde, fuzzing e invariantes sin hallazgos abiertos, cobertura revisada, código congelado
Testnet pública Flujos completos ejecutados por terceros; scripts de despliegue idénticos a los de mainnet
Auditorías Hallazgos críticos y altos corregidos y re-verificados por el auditor; informe publicado
Bug bounty Programa activo con pagos proporcionales al valor que se custodiará
Lanzamiento acotado Caps, timelocks, multisig y monitoreo operativos y ensayados antes del primer depósito
Mainnet pleno Evidencia de operación estable bajo caps; plan de subida de límites aprobado

🔍 Descubrimiento y diseño

Descubrimiento. La primera puerta es la más barata de cruzar en la dirección correcta: ¿este problema necesita blockchain? Aplica la matriz de decisión del módulo 00 del programa (ver currículo): múltiples partes que escriben, ausencia razonable de intermediario confiable, valor en la liquidación programable. Si la respuesta es no, el mejor entregable del proyecto es un documento que lo diga.

Diseño. Antes de escribir Solidity se escribe la especificación: qué hace el sistema, qué no hace, y — crucial — qué debe ser siempre verdad. Los entregables de esta fase:

🛠️ Desarrollo, pruebas y testnet

El estándar de la industria para contratos serios es el que practica este programa (ver currículo): TDD con Foundry, pruebas unitarias por función, fuzzing sobre entradas y pruebas de invariantes sobre las propiedades del diseño. Cobertura alta es necesaria pero no suficiente: la pregunta es si las invariantes correctas están escritas. A esto se suman análisis estático (Slither), revisión interna cruzada y un CI que bloquea cualquier merge con pruebas en rojo.

Testnet pública (Sepolia u Holesky para el ecosistema Ethereum; consulta las redes vigentes porque rotan): despliega con los mismos scripts que usarás en mainnet — el despliegue es código y se prueba como código. Sé honesto con lo que una testnet demuestra y lo que no:

🛡️ Auditorías y bug bounty

Auditoría externa. Cómo elegir firma: historial público de informes, experiencia en tu tipo de protocolo (un AMM no se audita como un bridge), y disponibilidad real de sus auditores senior. Qué cubre: revisión manual experta del código congelado contra vulnerabilidades conocidas y lógica de negocio, en un tiempo acotado. Qué no cubre: código que cambies después del informe, dependencias fuera del alcance, riesgo económico/de oráculos si no se contrató específicamente, y en general la garantía de ausencia de bugs — una auditoría es una opinión experta con presupuesto finito, no un certificado. Costos: varían por alcance y firma en órdenes de magnitud — consúltalo en vivo.

La práctica madura para protocolos que custodian valor significativo es defensa en profundidad: dos auditorías independientes más un contest público (Code4rena, Sherlock), porque cientos de ojos con incentivos encuentran clases de bugs distintas a las que encuentra un equipo de tres auditores.

Bug bounty. Antes de mainnet, publica un programa (Immunefi es el estándar del sector) con severidades y pagos escalonados. La estructura típica:

El bounty debe ser proporcional al valor custodiado — un bounty máximo de 50 000 USD protegiendo 500 millones invita al atacante a elegir la otra opción. Y debe pagarse rápido y sin regateos: la reputación de pago del programa es lo que hace que el próximo investigador reporte en vez de explotar.

🚀 Estrategias de lanzamiento

El lanzamiento no es binario. Las tres estrategias arquetípicas:

Criterio Inmutable sin admin Upgradeable con timelock + multisig Guarded launch progresivo
Filosofía "El código es la ley"; máxima confianza del usuario Capacidad de corregir y evolucionar con transparencia Exposición limitada mientras se gana evidencia en producción
Riesgo si hay un bug No hay corrección posible: migración total o pérdida Corregible dentro de la ventana del timelock Acotado por los caps: el peor caso tiene techo conocido
Riesgo de gobernanza/claves Mínimo (no hay llaves que robar) El multisig y el proceso de upgrade son superficie de ataque Intermedio; los controles temporales deben expirar de verdad
Confianza que exige al usuario Solo en el código auditado En el código y en los firmantes del multisig En el código, el equipo y el plan de descentralización
Ejemplo de uso típico Primitivas simples y maduras (estilo Uniswap v2 core) Protocolos de préstamo y sistemas complejos Casi todo lanzamiento serio nuevo desde 2021
Trade-off central Seguridad de gobernanza a cambio de rigidez total Flexibilidad a cambio de un vector de ataque nuevo Complejidad operacional a cambio de riesgo acotado

Herramientas del guarded launch: caps de depósito por usuario y globales que suben gradualmente, timelocks en toda función administrativa (el usuario puede salir antes de que un cambio se aplique), multisig con firmantes independientes y umbral razonable, circuit breakers (pausas automáticas ante anomalías: retiros masivos, desviación de oráculo) y feature flags para activar módulos por etapas. Cada control temporal necesita fecha de expiración o plan de remoción: un "lanzamiento guardado" permanente es simplemente un protocolo centralizado.

Checklist mínima antes del primer depósito real:

📡 Operación

Mainnet es el comienzo del trabajo, no el final. La operación seria incluye:

🔁 Evolución y sunset

Evolución. Los upgrades pasan por gobernanza: propuesta pública, revisión (idealmente auditoría del diff), votación o aprobación multisig, timelock, ejecución. Las migraciones de versión (v1 → v2) suelen convivir años: v1 inmutable sigue operando mientras la liquidez migra por incentivos, no por coerción. Deprecar exige avisos amplios, herramientas de migración y mantener la capacidad de retiro indefinidamente.

Sunset. Apagar un protocolo responsablemente es una fase de diseño, no una improvisación: desactivar depósitos nuevos, garantizar retiros permanentes, renunciar a permisos administrativos o transferirlos a la comunidad, y documentar el estado final. Aquí importa la decisión de diseño tomada años antes: los contratos pausables permiten un cierre ordenado pero exigen confianza en quien pausa; los inmutables no se pueden apagar — quedarán en la cadena para siempre, con o sin frontend. Si tu protocolo custodia fondos, "el equipo se disolvió" no puede implicar "los fondos quedaron atrapados".

Este ciclo completo — de la matriz de decisión al plan de sunset — es exactamente lo que se practica a escala en el proyecto final del programa: capstone.

⚠️ Errores y mitos frecuentes

Mito o error Realidad
"La auditoría garantiza que el contrato es seguro" Es una revisión experta acotada en tiempo y alcance; protocolos auditados pierden fondos cada año. Por eso: defensa en profundidad
"Funcionó estable en testnet, mainnet será igual" En testnet no hay valor que robar ni MEV real; la ausencia de ataques no es evidencia de seguridad
"Somos descentralizados, no necesitamos operación" Alguien monitorea, alguien propone upgrades, alguien responde incidentes; descentralizado significa responsabilidades distribuidas, no inexistentes
"Auditamos una vez y ya" Cada cambio de código posterior al informe está sin auditar; el hash auditado y el desplegado deben coincidir
"El multisig nos protege" Solo si los firmantes verifican independientemente lo que firman; un multisig con firmantes ciegos es teatro de seguridad
"Lanzamos sin caps para no frenar el crecimiento" El costo de un cap es crecimiento diferido; el costo de no tenerlo es el TVL entero en el peor caso
"El bug bounty es opcional si ya auditamos" Es la única capa que sigue activa en producción y alinea a los que encuentran bugs para reportarlos en vez de explotarlos

🔗 Referencias


🧭 Navegación

⬅️ 05 · Modelos de negocio · Índice de industria · 🏠 Programa