Todas las entradas

12 min de lectura

CardanoWall Desktop: un cliente de correo local para pruebas de existencia

CardanoWall Desktop es un cliente de código abierto y multiplataforma para Label 309: identidades locales, un espejo de registros que funciona sin conexión, un Inbox sellado, seguimiento de los registros enviados y el gateway que tú elijas. Así funciona.

CardanoWall Desktop es un cliente de escritorio de código abierto para Label 309: una forma de mantener tus registros de prueba de existencia, tus identidades y tu Inbox sellado en tu propia máquina en lugar de en una pestaña del navegador. Se siente como un cliente de correo: un Inbox de registros sellados dirigidos a ti, una vista Sent con todo lo que has publicado, un flujo de composición para nuevas pruebas, un Explorer local sobre el conjunto público de registros en la cadena, Contactos con direcciones de recepción y gestión local de identidades.

Este artículo describe cómo funciona, para que decidas si encaja con tu forma de trabajar.

La idea no es solo «una aplicación de escritorio». La idea son tres propiedades que un navegador no puede darte del todo: funciona sin conexión, es neutral respecto al proveedor y está construida para que tus claves privadas nunca salgan del dispositivo.

¿Qué problema resuelve la aplicación de escritorio?

La aplicación web es el sitio más fácil para empezar. La aplicación de escritorio es para quien quiere propiedad local.

Un navegador es un buen lugar para crear una prueba rápida, publicar un registro o ejecutar un flujo de trabajo basado en cuenta. Algunas personas y empresas necesitan más que eso:

  • una bóveda de identidad local y cifrada;
  • acceso sin conexión a los registros que ya han sincronizado;
  • archivos cifrados en caché local;
  • un Inbox privado descubierto por descifrado local, no por enrutamiento en el servidor;
  • un espejo local y buscable del conjunto público de registros;
  • flujos de trabajo con archivos grandes que se procesan en streaming en lugar de cargar archivos enteros en memoria;
  • la posibilidad de apuntar a un gateway autoalojado;
  • menos supuestos integrados en torno a un único proveedor alojado.

CardanoWall Desktop está hecho para esas personas. Lleva el modelo de Label 309 a tu propia máquina y trata «sin conexión» como un estado normal, no como un error.

¿Es CardanoWall Desktop una cartera de Cardano?

No. No es una cartera, y está diseñado para que nunca confundas las dos cosas.

No custodia ADA. No guarda una frase de recuperación de la cartera. No construye ni envía transacciones de Cardano, y no guarda ninguna clave de cadena ni de almacenamiento.

La publicación sigue pasando por un gateway de Label 309, que es el dueño de todo el proceso de publicación: el precio, la subida, la construcción y el envío de la transacción de Cardano, la confirmación, la gestión de reorganizaciones, la indexación y la contabilidad del saldo. La aplicación de escritorio es un cliente. Guarda tus identidades Label 309 localmente, prepara los registros, firma cuando tú decides firmar, cifra las cargas selladas, descifra los registros sellados entrantes, verifica las pruebas y habla con el gateway que tú configures. Si quieres la misma separación desde un script o una terminal, la herramienta de línea de comandos de código abierto hace lo mismo de forma desatendida.

¿Por qué es de código abierto la aplicación de escritorio?

Porque un software que maneja identidades, firmas, archivos cifrados y pruebas a largo plazo debería ser inspeccionable.

Si una herramienta toca tus claves y tu material probatorio, deberías poder leer cómo funciona, un equipo de seguridad debería poder auditarla, los desarrolladores deberían poder construir sobre ella y los operadores deberían poder apuntarla a su propia infraestructura. El formato de prueba es abierto, el gateway es abierto y el cliente de escritorio también lo es, bajo la misma licencia Apache-2.0 que el resto del código de Label 309. Un estándar solo es tan útil como las herramientas que lo rodean, y esas herramientas no deberían convertirte en un cliente cautivo.

¿Qué significa aquí «sin conexión primero»?

«Sin conexión primero» significa que la aplicación local sigue siendo útil cuando no hay red, porque una base de datos local —y no la red— es la fuente de verdad de lo que ves.

La aplicación mantiene estado local: registros sincronizados, coincidencias del Inbox, registros enviados, contactos, identidades, texto cifrado en caché y (solo si tú lo activas) archivos descifrados en caché. Cuando estás sin conexión, todavía puedes:

  • navegar por los registros que ya has sincronizado;
  • leer tu Inbox;
  • descifrar archivos sellados que están en caché;
  • verificar registros en caché;
  • buscar en tus datos locales;
  • redactar una prueba para publicarla más tarde.

Sin conexión no significa que toda acción se complete. Publicar una prueba nueva sigue necesitando un gateway y una conexión de red. Recuperar un texto cifrado que nunca guardaste en caché sigue necesitando acceso al almacenamiento. Pero los datos que ya sincronizaste no desaparecen porque se haya caído el Wi-Fi. (Para los casos en los que estar sin conexión es justo el objetivo —calcular hashes y firmar en un equipo aislado— consulta pruebas sin conexión.)

¿Cómo funciona el Inbox de escritorio?

El Inbox es una vista local de los registros sellados que tus identidades pueden abrir, y el servidor nunca llega a saber cuáles son tuyos.

Un gateway expone un flujo público de todos los registros Label 309. La aplicación de escritorio sincroniza ese flujo en un espejo local. Para cada una de tus identidades, intenta abrir localmente las ranuras de clave selladas usando las claves de recepción de esa identidad. Si una ranura se abre, el registro aparece en el Inbox de esa identidad.

Esto no es, deliberadamente, un buzón en el servidor. El flujo del gateway es ciego respecto al destinatario: no lleva ningún campo por destinatario, así que no puede saber para quién es un registro sellado. Tu cliente lo descubre por su cuenta, mediante descifrado de prueba. Por eso precisamente un cliente local encaja tan bien con la prueba de existencia sellada: la misma máquina que guarda las claves de tu identidad es el único sitio donde se puede armar el Inbox.

¿Qué hace el seguimiento de la vista Sent?

La vista Sent hace el seguimiento de los registros que publicas a lo largo de todo su ciclo de vida, y verifica el resultado en lugar de fiarse de él.

Una prueba no está terminada en el momento en que pulsas enviar. Pasa por etapas: redactada, presupuestada, subiendo, publicando, enviada, confirmando, confirmada, o bien fallida y con reembolso automático si la publicación no se puede completar. La aplicación de escritorio mantiene ese ciclo de vida visible localmente. Puede mostrar qué gateway se usó, qué identidad firmó el registro, si el registro estaba sellado, qué destinatarios se seleccionaron, cuándo se confirmó la transacción y si el verificador local está de acuerdo en que el registro en la cadena coincide con lo que preparó la aplicación.

Esa última parte es la importante. «Confirmada» no debería significar «lo dijo el gateway». El gateway construye y envía la transacción, así que no es algo que haya que dar por sentado: un gateway con errores o malicioso podría reportar una transacción distinta o tergiversar la confirmación. Por eso, en cuanto existe un hash de transacción, la aplicación recupera el registro en la cadena y lo compara byte a byte con el registro exacto que publicó antes de marcar nada como confirmado. Esto es verificación independiente aplicada a tu propia bandeja de salida.

¿Cómo se almacenan las identidades en el escritorio?

Cada identidad se almacena en una bóveda local y cifrada, y la semilla secreta nunca sale del núcleo Rust que está en el corazón de la aplicación.

Toda identidad Label 309 se enraíza en una única semilla de identidad de 32 bytes. A partir de esa semilla, la aplicación deriva la clave de firma y las claves de recepción de la identidad. La semilla en sí se queda dentro del núcleo local: nunca se envía a la webview que dibuja la interfaz y nunca se envía a ningún gateway. La interfaz solo llega a ver proyecciones públicas: etiquetas, fingerprints, claves públicas, direcciones de recepción y estado. Mientras la bóveda está desbloqueada, la semilla vive en memoria que se sobrescribe a cero y se borra cuando bloqueas la aplicación o cuando se autobloquea por inactividad.

Esta separación es todo el diseño: la semilla es la copia de seguridad portátil y lo que merece protección, así que se trata como la joya de la corona. Si quieres el trasfondo de por qué una semilla —y no una cuenta o una contraseña— es la verdadera identidad, consulta tu identidad es una semilla, y para el principio que hay detrás de mantenerla en el dispositivo, por qué las claves nunca salen del dispositivo.

Una limitación honesta: mantener los secretos en el núcleo local protege frente a una interfaz maliciosa o con errores y frente a un archivo de bóveda robado pero bloqueado. No vence a un sistema operativo totalmente comprometido. Mientras la aplicación está desbloqueada, el malware en la misma máquina podría en principio leer secretos en memoria; las ventanas de desbloqueo cortas, el autobloqueo y las dependencias mínimas reducen esa exposición, pero no pueden borrarla, la misma reserva que arrastra cualquier cartera de escritorio.

¿Puedo usar mi propio gateway?

Sí, y esa es una de las principales razones por las que existe la aplicación de escritorio.

Funciona con cualquier gateway de Label 309 compatible. Apúntala al gateway oficial de CardanoWall por comodidad, a un gateway autoalojado que ejecute tu empresa o a un gateway que esté detrás del producto de otra persona. El oficial es, como mucho, una entrada de conveniencia a un clic; nunca es un valor por defecto que no hayas elegido. Tú proporcionas la URL base del gateway y una clave de cuenta, y la aplicación sondea el endpoint para confirmar que habla el estándar antes de que confíes en él.

La división es limpia: el gateway es dueño del proceso de publicación, el escritorio es dueño de la experiencia local de cliente. Esa separación es lo que evita el bloqueo de proveedor. Tu aplicación local, tus identidades locales, tu caché local y tus registros estándar no deberían depender de una única interfaz alojada.

¿Qué ve el gateway y qué no ve nunca?

Un gateway ve lo que necesita para publicar y mantener el servicio en marcha, y nada que le permita leer tus archivos sellados o suplantarte.

Puede ver la credencial de tu cuenta, los presupuestos de precio, las subidas, el texto cifrado, tu saldo, el estado de las transacciones, los bytes públicos de los registros y los metadatos operativos. No ve tu semilla de identidad, no ve tus claves privadas de destinatario y no puede descifrar tus archivos sellados. La aplicación de escritorio prepara y usa cada secreto localmente; el gateway solo publica registros estándar y sirve el flujo público.

Esto no significa que un gateway nunca pueda comportarse mal. Puede demorarse, fallar, retener un registro o informar mal del estado. Por eso precisamente importa la verificación: una prueba válida es comprobable a partir del registro público en la cadena y de un explorador público de Cardano, no se da por buena porque lo diga la interfaz de un gateway.

¿Qué puedo hacer con los archivos cuando estoy sin conexión?

Eso depende de qué hayas sincronizado y guardado en caché, y la aplicación es honesta sobre qué archivos es seguro conservar.

El texto cifrado se puede guardar en caché libremente, porque ya está cifrado; volver a abrir un archivo recibido es entonces instantáneo y funciona sin conexión. Los archivos descifrados son más sensibles, así que cualquier caché de archivos descifrados es opcional, está desactivada por defecto y a su vez está cifrada. El comportamiento por defecto es conservar el texto cifrado y descifrar bajo demanda en memoria.

Un modelo mental útil:

  • los metadatos públicos de los registros se pueden replicar localmente;
  • el texto cifrado se puede guardar en caché para acceder sin conexión;
  • los archivos descifrados se manejan con cuidado y solo se escriben en disco donde tú los guardas explícitamente;
  • la semilla de identidad se queda protegida en la bóveda;
  • la verificación se ejecuta localmente para los registros y archivos en caché.

Eso te da los beneficios prácticos de trabajar sin conexión sin fingir que los archivos descifrados están libres de riesgo. Y un archivo descifrado sigue siendo solo un archivo: una vez que lo guardas, cualquiera a quien se lo entregues puede leerlo. Una prueba sellada mantiene el contenido confidencial para quienes tienen las claves; no convierte a un destinatario en alguien de fiar.

¿Para quién es la aplicación de escritorio?

Es para personas y organizaciones que trabajan con pruebas con la frecuencia suficiente como para que una pestaña del navegador deje de ser la herramienta adecuada.

Encajan bien:

  • equipos jurídicos y de cumplimiento que reciben material probatorio sellado;
  • periodistas y sus fuentes que manejan registros confidenciales;
  • empresas que publican pruebas de cumplimiento de forma recurrente;
  • desarrolladores y equipos de plataforma que usan Label 309 en automatización;
  • equipos de IA que preservan compromisos de conjuntos de datos y resultados;
  • creadores que conservan pruebas firmadas de obra original;
  • auditores que necesitan acceso local a paquetes de pruebas;
  • cualquiera que prefiera infraestructura autoalojada o neutral respecto al proveedor.

Si solo publicas una prueba de vez en cuando, la aplicación web sigue siendo el camino más sencillo, y la herramienta de línea de comandos de código abierto ya te permite trabajar sin el sitio web hoy mismo. La aplicación de escritorio es para el trabajo sostenido.

Qué obtienes

Es un producto local-first que se comporta como un software de pruebas serio, no como un juguete ligero. Lo que te da:

  • avisos claros de copia de seguridad de la identidad, para que nunca pierdas una identidad por accidente;
  • ninguna confusión con la frase semilla de la cartera;
  • estados de verificación transparentes;
  • estado de confirmación legible;
  • manejo cuidadoso y fuera de banda de las direcciones de recepción;
  • búsqueda local en tus registros y archivos abiertos;
  • vista previa segura de archivos en línea;
  • varias identidades en un mismo sitio;
  • contactos con fingerprints comprobables;
  • libre elección de gateway;
  • estados de error honestos en lugar de fallos silenciosos.

El estándar te da el modelo de prueba. La aplicación de escritorio te da el entorno de trabajo a su alrededor. Puedes descargarla desde el código de código abierto.

La versión corta

CardanoWall Desktop es el cliente local de Label 309. Sincroniza el conjunto público de registros, guarda tus identidades localmente, descubre los elementos sellados del Inbox por descifrado de prueba local, hace el seguimiento de las pruebas que envías (y las verifica en la cadena), funciona sin conexión con los datos que ya has sincronizado y se conecta a cualquier gateway compatible.

La aplicación web te da comodidad. La aplicación de escritorio te da control local.

Para seguir leyendo

cardanowalldesktoplabel-309