Subgraph

⚡ Definición Rápida
Un Subgraph es un conjunto de datos abierto e indexado que define cómo la red de The Graph debe extraer, transformar y almacenar información de una blockchain para que pueda ser consultada de manera rápida y eficiente mediante GraphQL. En esencia, actúa como un «mapa» personalizado que organiza los datos de contratos inteligentes (eventos, transacciones, estados) en una base de datos fácilmente consultable por las aplicaciones descentralizadas (dApps).
Términos relacionados: The Graph (GRT) • Indexer (Blockchain) • GraphQL API • Oracle • DApp
❓ ¿Qué es un Subgraph y por qué es crucial para las dApps?
Un Subgraph es el bloque fundamental de la infraestructura de indexación de The Graph. Imagina que la blockchain es una enorme biblioteca con millones de libros desordenados; el subgraph es el sistema de clasificación y catálogo que te permite encontrar exactamente el libro que necesitas en segundos. En el mundo de las criptomonedas, los subgraphs permiten que las aplicaciones descentralizadas (dApps) accedan a datos históricos y en tiempo real sin tener que procesar la cadena de bloques directamente .
La importancia de los subgraphs radica en que resuelven un problema fundamental de Web3: la accesibilidad a los datos. Leer datos directamente de la blockchain es lento, costoso y complejo. Los subgraphs actúan como una capa de indexación que organiza la información en bases de datos optimizadas para consultas rápidas. Sin ellos, las dApps serían lentas, costosas de operar y ofrecerían una experiencia de usuario deficiente .
Los subgraphs son utilizados por la mayoría de los protocolos DeFi, mercados NFT y plataformas de gobernanza. Por ejemplo, Uniswap usa un subgraph para mostrar el historial de precios y el volumen de liquidez, mientras que ENS lo utiliza para resolver nombres de dominio a direcciones de billetera. Son una pieza invisible pero esencial del ecosistema Web3 .
📖 Definición Técnica
Técnicamente, un subgraph se define mediante tres archivos principales que los desarrolladores escriben en un repositorio YAML/JSON. La red de The Graph procesa estos archivos para crear el índice:
| Componente | Archivo | Función |
|---|---|---|
| Manifiesto | subgraph.yaml | Archivo de configuración principal. Define los contratos inteligentes a indexar, la red blockchain, los handlers y las fuentes de datos. |
| Esquema | schema.graphql | Define las entidades y sus relaciones que se almacenarán en la base de datos, escrito en lenguaje GraphQL. |
| Mapeo (AssemblyScript) | mapping.ts | Código en AssemblyScript que transforma los eventos de la blockchain en las entidades definidas en el esquema. |
Estos componentes trabajan juntos para crear un pipeline: la blockchain emite eventos, el subgraph los escucha, el mapping los procesa y actualiza las entidades en una base de datos que luego puede ser consultada mediante GraphQL. Los indexadores (nodos de la red de The Graph) ejecutan este proceso de forma descentralizada .
🔄 Cómo funciona: El ciclo de vida de un Subgraph
Para entender el poder de un subgraph, es útil seguir el flujo de datos desde que ocurre una transacción hasta que una dApp la muestra en pantalla:
- Publicación del subgraph en la red: Un desarrollador crea los archivos del subgraph (manifiesto, esquema, mapeo) y los despliega en la red de The Graph (en el servicio alojado o en la red descentralizada). El subgraph queda registrado y asociado a una blockchain específica.
- Indexación inicial (sincronización histórica): Los indexadores de la red leen todos los bloques pasados del contrato inteligente desde el bloque de génesis (o desde un bloque de inicio definido) y procesan cada evento relevante. El código de mapeo se ejecuta para cada evento, creando o actualizando entidades en una base de datos local. Este proceso puede tomar minutos u horas, dependiendo del tamaño del contrato.
- Indexación continua (seguimiento en tiempo real): Una vez sincronizado, el indexador se mantiene atento a los nuevos bloques. Cada vez que ocurre un evento en el contrato monitoreado, el subgraph lo procesa casi instantáneamente y actualiza las entidades. Así, la base de datos refleja el estado más reciente de la blockchain.
- Consulta mediante GraphQL: Las dApps (frontends, paneles de análisis, billeteras) realizan consultas GraphQL al endpoint del subgraph. Las consultas son rápidas porque no tocan la blockchain; solo leen la base de datos indexada. El indexador devuelve los datos en JSON.
- Actualizaciones y reestructuración: Si el desarrollador necesita cambiar el esquema o la lógica, puede crear una nueva versión del subgraph y volver a desplegarlo, reiniciando el proceso de indexación desde cero.
📊 Comparativa: Blockchain directa vs. Subgraph
Para apreciar la utilidad de un subgraph, compara estas dos formas de obtener el historial de transacciones de una dirección:
| Característica | Blockchain directo (RPC) | Subgraph (The Graph) |
|---|---|---|
| Método | Llamadas RPC como eth_getLogs o recorrer bloques | Consulta GraphQL simple: { user(id:"0x...") { transactions { amount } } } |
| Velocidad | Muy lento (escanear miles de bloques) | Milisegundos (lectura de índice precomputado) |
| Costo | Alto (el proveedor RPC puede limitar o cobrar por datos históricos) | Bajo o gratuito (en red descentralizada se paga con GRT) |
| Complejidad | Alta (parsear logs, reconstruir estado) | Baja (definir entidades una vez, consultar fácil) |
| Descentralización | Depende del nodo RPC (puede ser centralizado) | La red de The Graph es descentralizada (múltiples indexadores) |
| Datos históricos profundos | Sí, pero muy ineficiente | Sí, indexados desde el bloque inicial del contrato |
🎯 Casos de uso reales de los Subgraphs
Prácticamente cualquier dApp moderna usa uno o más subgraphs. Aquí algunos ejemplos concretos:
- Uniswap: El subgraph de Uniswap indexa cada swap, liquidez añadida/retirada y transferencias de tokens. Gracias a él, el frontend puede mostrar el precio histórico de un par, el TVL (valor total bloqueado) y el volumen en periodos de tiempo.
- ENS (Ethereum Name Service): El subgraph de ENS permite buscar nombres de dominio, ver propietarios, fechas de expiración y resolver nombres a direcciones de manera instantánea.
- OpenSea (mercado NFT): OpenSea utiliza subgraphs para indexar órdenes, ventas y metadata de NFTs en múltiples blockchains, mostrando colecciones y actividades de usuarios.
- DAO de gobernanza: Un subgraph puede indexar todas las propuestas, votos y delegaciones de un token de gobernanza, permitiendo a los miembros ver el estado de las votaciones en tiempo real.
- Paneles de análisis (Dune Analytics, etc.): Aunque Dune usa su propio motor, muchos paneles personalizados consultan subgraphs para obtener métricas actualizadas de protocolos.
✅ Ventajas de usar Subgraphs
- Velocidad de desarrollo: Los equipos pueden lanzar una API funcional en horas, sin necesidad de servidores propios.
- Escalabilidad: La red de indexadores maneja la carga, no el desarrollador.
- Interoperabilidad: Cualquier dApp puede consultar el mismo subgraph, creando un ecosistema de datos compartidos.
- Experiencia de usuario: Las aplicaciones son rápidas y responsivas, similar a Web2.
- Datos enriquecidos: Puedes modelar relaciones complejas (ej. «todos los swaps de un usuario en los últimos 30 días con el precio del token en ese momento») que serían imposibles de obtener directamente de la cadena.
⚠️ Riesgos y limitaciones
- Centralización en la fase inicial: El servicio alojado de The Graph (hosted service) era centralizado. Aunque ya existe la red descentralizada, muchos subgraphs aún dependen de infraestructura controlada por The Graph Foundation.
- Costo de consulta (GRT): En la red descentralizada, los consumidores pagan con tokens GRT por cada consulta. Para dApps pequeñas, puede ser una barrera, aunque existen planes gratuitos limitados.
- Tiempo de sincronización inicial: Si un contrato tiene millones de eventos, el subgraph puede tardar horas en sincronizar, durante las cuales las consultas devuelven datos incompletos.
- Limitaciones de GraphQL: No todas las consultas complejas son posibles; a veces hay que recurrir a múltiples subgraphs o procesar datos en el cliente.
- Dependencia de la red: Si la red de The Graph sufre una caída o un ataque, las dApps que dependen de ella pueden quedar temporalmente sin datos (aunque pueden recurrir a RPC como respaldo de emergencia).
🔮 El futuro: Subgraphs en múltiples cadenas y mayor descentralización
The Graph ya no es solo para Ethereum. Actualmente, los subgraphs pueden indexar datos de Ethereum y EVM-compatibles (Polygon, Arbitrum, Optimism, BNB Chain, Avalanche, etc.), Cosmos (a través de la integración con JunO), Near, Solana (en desarrollo o mediante soluciones alternativas) e IPFS (para datos de archivos, como metadatos de NFTs).
Además, el equipo de The Graph sigue descentralizando el protocolo con el objetivo de que los indexadores, curadores y delegados gobiernen completamente la red. La migración desde el servicio alojado a la red descentralizada es una prioridad para 2025-2026.
También se espera que los subgraphs dinámicos permitan indexar datos de contratos que se crean en tiempo real (por ejemplo, nuevas pools en un DEX), y una mejor integración con Layer 2 para reducir costos de indexación.
🎯 Conclusión: Los Subgraphs, el motor invisible de Web3
Los subgraphs son una pieza fundamental de la infraestructura de Web3 que permite a las dApps funcionar de manera rápida, eficiente y descentralizada. Al abstraer la complejidad de la indexación de datos, permiten a los desarrolladores centrarse en construir aplicaciones innovadoras sin preocuparse por la capa de datos subyacente.
Para los usuarios, los subgraphs se traducen en aplicaciones más rápidas, con mejor experiencia de usuario y con acceso a datos históricos y en tiempo real que serían imposibles de obtener directamente de la blockchain. Son, en definitiva, el motor invisible que impulsa la nueva internet descentralizada.
❓ Preguntas Frecuentes sobre Subgraph
📚 ¿Quieres profundizar en Web3 y desarrollo?
Explora más recursos de La Cryptoguía sobre Web3 y desarrollo descentralizado:
🔗 ¿Qué es Web3? – La nueva internet descentralizada explicada para principiantes.
⚡ Gas en Ethereum – Entiende por qué indexar datos fuera de la cadena es tan importante.
📊 Cómo usar Etherscan – Aprende a leer datos en bruto de la blockchain.
🔐 Guía de seguridad crypto – Protege tus claves mientras exploras dApps.
🛠️ Tutorial de MetaMask – La puerta de entrada a las dApps que usan subgraphs.
🌉 Layer 2 – Cómo la escalabilidad de Ethereum se complementa con indexación.
🚀 ¿Empezando en Crypto?
Si eres nuevo, empieza con nuestra guía completa para principiantes para entender los fundamentos antes de adentrarte en el desarrollo Web3.
📋 ¿Por qué confiar en esta definición? Cada término de la Cryptopedia sigue una metodología de verificación con fuentes primarias, whitepapers y legislación oficial. Conoce nuestro proceso →
⚠️ Disclaimer: Este artículo es informativo y educativo. No constituye asesoramiento legal ni financiero. The Graph, GRT y los subgraphs son herramientas en evolución; invertir en tokens de protocolo o usar dApps conlleva riesgos tecnológicos y de mercado. Siempre investiga por tu cuenta (DYOR), verifica la seguridad de los contratos y no inviertas más de lo que estés dispuesto a perder.
📅 Actualizado: Marzo 2026
📖 Categoría: Infraestructura Blockchain / Tooling y Desarrollo
