⛓️ Blockchain Learning Path GitHub

ADR-003 · ¿Qué datos van on-chain y cuáles off-chain?

Estado: guía educativa · Ámbito: arquitectura de datos · ⬅️ Índice de ADRs

Contexto

Guardar datos on-chain es lo más caro que puede hacer un contrato: cada byte de storage se replica en todos los nodos para siempre. Además, lo escrito en una red pública es efectivamente imposible de borrar, lo que choca de frente con normativas como el GDPR y su derecho al olvido. La regla general del programa: on-chain va solo lo que otros contratos deben verificar o lo que requiere disponibilidad consensuada; todo lo demás vive fuera, con un compromiso (hash) en la cadena si hace falta integridad.

Conviene recordar qué prueba cada cosa: un hash on-chain prueba integridad (que el dato no cambió), no disponibilidad (que alguien lo siga sirviendo) ni veracidad (que fuera cierto al registrarse). Desde EIP-4844 (2024), Ethereum ofrece además blobs: datos temporales baratos pensados para rollups, que expiran en unas semanas y no son storage permanente.

Opciones

Criterio Storage on-chain Eventos on-chain Blobs (EIP-4844) IPFS / Arweave BD tradicional
Legible por contratos No No No No
Permanencia Perpetua Perpetua en nodos de archivo Semanas Depende de pinning / dotación Bajo tu control
Costo Muy alto Bajo Muy bajo Bajo Mínimo
Borrable (GDPR) No No Expira solo Difícil
Uso típico Balances, permisos, hashes Historial para indexadores Datos de rollups Metadatos, imágenes, documentos PII, datos mutables

Criterios de decisión

Tabla de referencia dato → dónde → por qué:

Dato Dónde Por qué
Saldos, propiedad, permisos Storage on-chain Otros contratos lo verifican en cada transacción
Hash o raíz Merkle de un documento Storage on-chain Compromiso de integridad barato y verificable
Historial de operaciones Eventos Los indexadores (The Graph, etc.) lo reconstruyen sin costo de storage
Contenido (imágenes, JSON, documentos) IPFS o Arweave Direccionado por contenido; la cadena guarda solo el CID
Datos personales (PII) BD tradicional, jamás on-chain Derecho al olvido: lo inmutable es incompatible con lo borrable
Datos de disponibilidad de un rollup Blobs Baratos y suficientes: solo se necesitan durante la ventana de disputa

Preguntas que inclinan la balanza:

Decisión educativa

El programa enseña a diseñar con minimalismo on-chain: estado verificable y compromisos en la cadena, eventos para el historial, IPFS/Arweave para contenido y bases tradicionales para todo dato personal o mutable. El GDPR se trata como criterio duro, no negociable: ninguna PII toca la cadena en ningún ejercicio.

Consecuencias

Positivas:

Negativas:

Señales para reconsiderar

Referencias