12 min de lectura
¿Funcionan sin conexión las pruebas de CardanoWall?
Una vez que un registro Label 309, su contenido y tus claves están sincronizados en tu dispositivo, CardanoWall Desktop puede explorarlos, buscarlos, descifrarlos y verificarlos sin red. Lo que no puede hacer es traer datos que nunca guardó en caché.

Sí, para todo lo que ya está en tu dispositivo. Una vez que se han sincronizado un registro Label 309, su contenido o texto cifrado, y las claves para abrirlo, CardanoWall Desktop puede explorarlos, buscarlos, descifrarlos y verificarlos sin conexión a la red. Lo que no puede hacer es inventar datos que nunca vio: una transacción que nunca sincronizó o un texto cifrado que nunca descargó.
CardanoWall Desktop funciona con un enfoque offline-first. Su base de datos local es la fuente de verdad para la pantalla que tienes delante; la red es un sincronizador en segundo plano que va llenando esa base de datos. Así que estar «sin conexión» es un modo normal, no un error: la máquina local se convierte en una copia de trabajo de la parte del mundo de las pruebas que ya descargaste.
Esa copia de trabajo es precisamente lo que hace que las pruebas resulten útiles sobre el terreno: en un viaje, una auditoría, una revisión legal, una respuesta a incidentes o cualquier sitio donde la conexión sea poco fiable. Una prueba no debería volverse ilegible solo porque una pestaña no logra alcanzar un servidor. CardanoWall Desktop es de código abierto —construido en Rust con Tauri sobre el SDK de Rust de código abierto, con su código en github.com/cardanowall—, así que puedes leer exactamente cómo se comporta en lugar de aceptarlo como un acto de fe.
¿Qué puedes hacer sin conexión con pruebas ya sincronizadas?
Mucho, siempre que los datos ya estén en local. Si lo están, CardanoWall Desktop te permite:
- explorar registros públicos Label 309 ya sincronizados;
- buscar en el espejo local de registros, incluso por hash del contenido;
- ver los registros del Inbox que ya se descubrieron mediante descifrado de prueba;
- abrir texto cifrado en caché;
- descifrar archivos sellados con tus claves locales;
- verificar hashes contra archivos locales;
- comprobar la estructura de registros en caché;
- revisar el historial de tus registros enviados;
- preparar borradores para publicar más tarde.
Son operaciones criptográficas reales, no capturas de pantalla en caché. La comprobación del hash, la comprobación de la firma, el descifrado de prueba: todo se ejecuta localmente en el núcleo Rust de la app, sobre bytes que ya están en disco.
¿Qué no puedes hacer sin conexión?
El modo sin conexión tiene un límite tajante, y es honesto sobre dónde está ese límite. La app no puede fabricar datos que nunca tuvo.
- Si una transacción nunca se sincronizó, la app no puede saber que existe sin la red o sin alguna otra copia local de sus metadatos.
- Si un texto cifrado nunca se descargó, la app no puede descifrarlo sin conexión.
- Si un registro apunta a una URI de almacenamiento y esos bytes no se guardaron en caché, la app no puede traerlos sin una conexión.
- Si quieres publicar una prueba nueva, la app necesita un gateway y una red: tiene que calcular el precio de la publicación, subir los datos, enviar la transacción de Cardano y confirmarla. (La publicación siempre pasa por un gateway; consulta por qué publicar tiene un precio).
Offline-first no es afirmar que la app pueda rellenar los datos que faltan. Es afirmar que, una vez que los datos están en local, la app los trata como ciudadanos de primera clase.
¿Qué guarda la app en caché y cuán sensible es cada capa?
Hay cuatro capas, en orden creciente de sensibilidad.
Metadatos de registros públicos. El escritorio mantiene un espejo local completo de los registros Label 309 —sellados y públicos— del gateway que configuraste. Cada registro es pequeño (los metadatos de una sola transacción, muy por debajo del límite de ~16 KB de metadatos de Cardano), así que el conjunto global completo se mantiene en el orden de unos pocos cientos de megabytes incluso tras años de uso intensivo. Este espejo es la base de la búsqueda, el descubrimiento del Inbox, el seguimiento de registros enviados y la inspección sin conexión. Solo contiene lo que ya es público en la cadena, por lo que se almacena sin cifrar de forma deliberada: cifrar una copia de datos públicos no aporta nada.
Texto cifrado. Los registros sellados referencian cargas cifradas mediante almacenamiento direccionado por contenido (ar:// o ipfs://). Guardar ese texto cifrado en caché es seguro porque ya está cifrado; solo puede abrirlo quien tenga una clave que case con él. El escritorio lo guarda en caché para que volver a abrir un archivo recibido sea instantáneo y funcione sin conexión.
Contenido descifrado. Esta es la capa sensible, y la app la trata con cuidado. Por defecto descifra bajo demanda en memoria y nunca escribe texto plano en disco. Existe una caché opcional de archivos descifrados, cifrada por separado, para quienes quieran vistas previas instantáneas sin tener que volver a desempaquetar, pero está desactivada por defecto, y el texto plano solo se escribe en una ubicación normal cuando eliges explícitamente Guardar. Siempre deberías saber cuándo se conservan archivos descifrados, dónde y cómo están protegidos.
Material de identidad. Las semillas de identidad viven en una bóveda cifrada y se desbloquean localmente. Sin la identidad correspondiente desbloqueada, un registro sellado puede seguir apareciendo en el espejo como un registro público; simplemente no puedes abrir su contenido. La semilla en sí nunca sale del dispositivo y nunca llega a ningún gateway. (Para entender por qué importa esa frontera, consulta por qué las claves nunca salen del dispositivo).
¿Puedes verificar una prueba sin conexión?
Sí, una vez que tienes las entradas que necesita la comprobación. La verificación de Label 309 está diseñada para ejecutarse solo a partir de datos públicos, así que las comprobaciones criptográficas no dependen de los servidores de CardanoWall. Lo que necesita cada comprobación:
- Una prueba basada en el hash del contenido necesita el registro y los bytes originales. El verificador recalcula el hash a partir de los bytes y lo compara con el hash comprometido en el registro. Totalmente sin conexión.
- Una prueba firmada necesita el registro y su firma incrustada. La clave de firma se transporta en la estructura de firma del registro o se resuelve a partir de ella, así que la verificación de la firma se ejecuta sin conexión una vez que el registro está en local.
- Una prueba sellada necesita el registro, el texto cifrado y la clave del destinatario (o la frase de contraseña) que lo abre. Con todo eso en local, la app descifra, recalcula el hash del texto plano y lo comprueba contra el compromiso del registro: el paso que liga los bytes cifrados con la afirmación sellada en el tiempo.
- Una prueba de Merkle necesita la raíz del registro más la prueba de inclusión (o la lista de hojas para reconstruirla). Entonces la comprobación de inclusión se ejecuta sin conexión, sin ningún gateway de por medio. Construir un árbol de Merkle y verificar la inclusión son cómputo puro; consulta un registro para miles de archivos.
Lo único que normalmente necesita la red es obtener datos que aún no tienes, además de confirmar el estado actual de la cadena. La matemática en sí se ejecuta localmente. (Para conocer el modelo de verificación completo, consulta cómo verificar un registro Label 309).
¿Y la confirmación en la blockchain cuando estás sin conexión?
El sello de tiempo de una prueba y su estado de confirmación vienen de Cardano, y esos son hechos que la app lee de la cadena: nunca se los inventa.
Si la app ya sincronizó una transacción y su profundidad de confirmación, puede mostrar ese estado en caché sin conexión. Lo que no puede hacer sin conexión es enterarse de nuevas confirmaciones, de una reorganización de la cadena o de cualquier contexto actualizado, porque eso exige preguntarle a un explorador de Cardano.
Por eso un cliente cuidadoso mantiene estos estados bien diferenciados:
- los datos de registros en caché y verificados localmente;
- la última vez que se sincronizó cada elemento;
- la profundidad de confirmación a fecha de la última sincronización;
- los registros aún pendientes o por debajo del umbral de confirmación;
- los registros que necesitan una nueva comprobación en línea.
La visualización sin conexión debería ser honesta sobre la frescura de los datos. Nunca debería presentar la profundidad de confirmación de la semana pasada como si fuera la actual.
¿Cómo funciona el descubrimiento del Inbox sin conexión?
Tu Inbox se calcula localmente a partir de dos cosas: el espejo de registros y tus identidades desbloqueadas. El gateway es deliberadamente ciego al destinatario —no tiene ni idea de qué registros sellados son «tuyos»—, así que encontrar tu correo es, por diseño, una tarea local.
Si la app ha sincronizado registros sellados, hace un descifrado de prueba contra tus identidades directamente en el dispositivo. Para cada ranura sellada intenta un descifrado; las que tus claves logran abrir son tus mensajes. A ningún servidor se le pregunta quién eres.
Esto también explica por qué importar una semilla de identidad antigua funciona limpiamente sin conexión. Como solo la clave del destinatario decide si hay coincidencia, la app vuelve a recorrer el espejo local que ya tiene para esa identidad y saca a la luz registros sellados más antiguos que estaban dirigidos a ella: un recorrido local, sin volver a descargar nada. (Tu identidad no es más que esa semilla; consulta tu identidad es una semilla).
Si el espejo está incompleto, el Inbox puede estar incompleto. Cuando la red vuelve, la app sincroniza los registros que faltan y continúa el descubrimiento.
¿Por qué no guardarlo todo solo en la nube?
Porque la nube no debería ser la raíz de confianza. Un servicio alojado es cómodo: puede publicar registros, servir el feed, gestionar los precios y hacer fácil la interfaz. Pero una prueba debería sobrevivir a cualquier cuenta de servicio concreta, y la idea central de Label 309 es que la verificación solo necesita infraestructura pública: los metadatos de la transacción, opcionalmente los bytes del contenido y un explorador público de Cardano. Una copia de trabajo local de los registros que te importan es la expresión práctica de esa independencia.
Esa copia local se gana su sitio justo en las situaciones donde una única sesión web es demasiado frágil: auditorías, respuesta a incidentes, retenciones legales, revisión de pruebas, periodismo, archivos de investigación, flujos de trabajo regulados y preservación a largo plazo.
¿Cómo debería usar un equipo las pruebas sin conexión?
Decide, con antelación, qué podrías necesitar demostrar sin red, y luego sincroniza y guarda en caché el material de verificación antes de quedarte sin conexión.
La forma de «qué guardar en caché» depende del trabajo:
- Un equipo legal puede querer paquetes de pruebas cifradas guardados en caché en una máquina autorizada.
- Un equipo de cumplimiento puede querer tener disponibles, durante una auditoría, los registros de prueba de cada día y sus pruebas de inclusión.
- Un equipo de releases o de DevSecOps puede querer las pruebas de compilación y los manifiestos de release guardados en caché junto al archivo de release.
- Un equipo de IA puede querer manifiestos de conjuntos de datos y compromisos sobre salidas de modelos replicados en local.
La regla es sencilla: si podrías necesitar demostrarlo sin conexión, sincronízalo y guarda en caché el material que lo demuestra antes de que desaparezca la conexión. Para el contenido sellado, confirma además que la semilla de identidad correspondiente está respaldada y disponible para las personas o los dispositivos adecuados según tu política; sin ella, el texto cifrado permanece cerrado.
¿Qué riesgos tiene conservar pruebas en local?
El acceso sin conexión traslada parte de la responsabilidad al dispositivo, y conviene ser claro al respecto.
Existe un riesgo de almacenamiento local. Si roban un dispositivo, sus cachés importan. El texto cifrado en caché está cifrado y no se puede abrir sin una clave, pero cualquier archivo descifrado que hayas decidido conservar es sensible, y la bóveda de identidad debe estar protegida. El sistema operativo, el cifrado de disco, la cuenta de usuario, la frase de contraseña y la seguridad general del dispositivo pasan todos a formar parte de la historia de confianza. CardanoWall Desktop reduce la exposición con una bóveda cifrada, bloqueo automático y un borrado de claves en memoria con el mayor esfuerzo posible, pero no puede defender una máquina totalmente comprometida y desbloqueada, y lo dice sin rodeos.
También existe un riesgo de frescura. Una prueba en caché es válida a fecha de su última sincronización, pero la app no puede conocer el estado actual de la cadena hasta que vuelve a conectarse.
El buen software hace visibles estos límites: muestra la hora de la última sincronización, distingue la verificación en caché de una comprobación en línea reciente y evita escribir en silencio texto plano descifrado en ubicaciones inseguras.
¿Qué deberías conservar para una prueba a largo plazo?
Para las pruebas que importan durante años, conserva más que el hash de la transacción. Según el tipo de prueba, eso significa:
- la referencia de la transacción;
- los bytes del registro Label 309 (o una exportación verificada);
- el archivo original o el texto plano;
- el texto cifrado, en el caso de los registros sellados;
- la semilla de identidad o el secreto del destinatario necesario para descifrar;
- la lista de hojas de Merkle o las pruebas de inclusión;
- cualquier firma o clave pública necesaria para la atribución;
- una breve nota sobre cómo se creó la prueba y a qué proceso pertenece.
La blockchain aporta el ancla pública: el hecho de que estos bytes exactos existían a una hora de bloque pública. Tu archivo local conserva el contexto que vuelve útil el ancla más adelante. (Y recuerda lo que el ancla afirma y lo que no: consulta lo que una prueba no demuestra).
La versión corta
La prueba sin conexión no es magia; es preparación. Si el registro, el contenido, el texto cifrado, las claves y cualquier prueba de inclusión están en local, todas las comprobaciones criptográficas se ejecutan localmente. Si algo nunca se sincronizó ni se guardó en caché, la app necesita la red para traerlo, y te lo dice en lugar de fingir.
CardanoWall Desktop convierte esa copia de trabajo local en algo normal: sincroniza los registros, descubre los elementos sellados del Inbox en el dispositivo, guarda en caché los archivos cifrados, verifica las pruebas y mantiene útiles las pruebas ya sincronizadas incluso cuando no hay red.
Para seguir leyendo
- CardanoWall Desktop: el cliente de escritorio de código abierto que describe este artículo.
- Cómo verificar un registro Label 309: el modelo de verificación al completo.
- Un registro para miles de archivos: la agrupación de Merkle, todo sin conexión salvo la publicación.
- Lo que una prueba no demuestra: los límites de una prueba de existencia sellada en el tiempo.
- El código de fuente abierta, la CLI y los SDK: github.com/cardanowall.