Saltar al contenido principal

Disponibilidad de datos

La disponibilidad de datos (DA) es la garantía de que los datos de transacción que respaldan el estado de un rollup se publican en algún lugar donde cualquiera pueda leerlos — de modo que cualquiera pueda reconstruir y verificar de forma independiente el estado del rollup. El RDK define tres backends de DA; hoy solo native está implementado.

BackendQué esEstado
nativeAlmacenamiento de blobs on-chain dentro de la propia QoreChainImplementado en el módulo; todavía no hay una forma pública de publicar un blob (ver más abajo)
celestiaDisponibilidad de datos a través de IBC hacia Celestia, una capa de DA modular dedicadaNo implementado
bothNative y Celestia juntos, para redundanciaSe comporta exactamente como native hoy
Capacidad en fase temprana

Todavía no se ha creado ningún rollup en ninguna de las dos redes, y los backends de DA están implementados solo en parte. El estado de cada backend se indica a continuación; valida en la testnet qorechain-diana antes de confiar en cualquiera de ellos.


DA nativa (almacenamiento de blobs on-chain)​

La DA nativa es el almacén de blobs on-chain dentro de x/rdk: cada blob se indexa por ID de rollup e índice de blob, lleva un compromiso SHAKE-256 de sus bytes y se poda tras la ventana de retención mientras se conserva su compromiso.

Todavía no hay una forma pública de publicar un blob

El módulo define el almacenamiento, la retención y la poda de blobs, pero no existe ningún mensaje de transacción para publicar un blob en las versiones actuales. Hasta que se publique un mensaje de envío, un lote de liquidación debe dejar data_hash vacío — un lote que indique un hash de datos en un rollup native o both es rechazado porque no se puede almacenar ningún blob que coincida.

Conceptos clave:

  • Blobs. Un blob se asocia a un ID de rollup y a un índice de blob.
  • Compromisos (commitments). Cada blob lleva un compromiso SHAKE-256 de 32 bytes de sus datos, de modo que un blob puede verificarse frente a lo que se comprometió, sin necesidad de confiar en quien lo almacena. (La utilidad TypeScript buildDaBlob() calcula actualmente el hash con SHA-256, por lo que su dataHash no coincide con el compromiso de la cadena.)
  • Espacios de nombres (namespaces). Los blobs pueden llevar un espacio de nombres específico del rollup, manteniendo los datos de cada rollup lógicamente separados dentro del almacenamiento compartido.
  • Retención y poda (pruning). Los blobs nativos se conservan durante blob_retention_blocks (432,000 bloques — unos 16 días con el tiempo de bloque actual de mainnet de ≈3.2 s; la cifra varía con el tiempo de bloque) y luego se podan para mantener sostenible el almacenamiento on-chain. Tras la poda, los datos brutos del blob se eliminan mientras que los metadatos del compromiso se conservan, de modo que el compromiso histórico sigue siendo verificable aunque los bytes ya no se almacenen on-chain.

El tamaño máximo de blob y la ventana de retención se rigen por los parámetros del módulo en vivo. Consúltalos antes de diseñar en torno a cualquier límite específico:

qorechaind query rdk config

DA de Celestia (IBC hacia Celestia)​

La DA de Celestia no está implementada. Un rollup cuyo backend de DA sea celestia no puede publicar datos (el módulo devuelve un error). El diseño previsto publica la disponibilidad de datos a través de IBC hacia Celestia, una red de DA modular dedicada, sin dejar de anclar la liquidación en QoreChain; hoy no existe ningún canal IBC en ninguna de las dos redes (consulta Arquitectura del puente). Usa native.


Both (redundancia)​

El backend both está pensado para escribir en native y Celestia juntos. Hoy both se comporta exactamente como native: solo se almacena la copia nativa, y la mitad de Celestia se omite con una advertencia registrada. No lo trates como dos copias independientes.


Elegir un backend​

Si quieres...Elige
La opción más sencilla y totalmente on-chain que hereda la seguridad de QoreChainnative
Descargar la DA a una capa modular dedicadacelestia — no implementado
Redundancia entre dos almacenesboth — igual que native hoy

Para saber cómo encaja la DA en el panorama más amplio de la liquidación, consulta Visión general de los rollups. Para la referencia del módulo de más bajo nivel, consulta la página del Kit de desarrollo de rollups.