Veilid para el transporte. Monero para la liquidación. Ningún operador en medio.
No hay ningún servidor de DUCAT en ninguna parte — los contactos, mensajes, facturas y recibos son registros en la DHT y cargas selladas de extremo a extremo, y cada teléfono ejecuta un nodo Veilid completo, devolviendo el enrutamiento y el almacenamiento que consume.
Firmado en depuración, solo stagenet. Todavía no es para dinero real.
Un ducado fue una moneda de oro aceptada desde Venecia hasta Viena y el Levante durante seis siglos — sin relación con un emisor, sin una cuenta detrás, sin permiso de por medio. DUCAT es eso, para cuando estás frente a alguien haciendo negocios.
Contactos, facturas, pagos y recibos viajan como cargas selladas de extremo a extremo sobre la DHT de Veilid. No hay nada que citar judicialmente, limitar, desplataformar ni apagar, porque no hay nada en marcha. Cada teléfono es un nodo completo y devuelve el enrutamiento y el almacenamiento que consume.
Creada en el teléfono. Sin correo, sin número de teléfono, sin nadie con quien registrarse — razón por la cual tampoco nadie puede restaurártela, y la app lo dice en voz alta en lugar de enterrarlo.
Le das a alguien una tarjeta — QR, enlace ducat: o un toque NFC — y sirve
para una sola persona. Una vez reclamada deja de funcionar, así que
una captura de pantalla que acabe en otro sitio no es una vía de entrada.
Cifrado con forma de X3DH, con preclaves de un solo uso y secreto hacia adelante. Cuando la app tiene que recurrir a la preclave firmada, te muestra un candado abierto en lugar de ocultarlo.
Hilos basados en buzón que funcionan aunque una de las partes esté desconectada — llevan facturas detalladas cuyas líneas deben sumar su total o el mensaje se rechaza, pagos, y recibos emitidos por quien cobra que apuntan a la transacción que reconocen. Los grupos pequeños se reparten en esos mismos hilos por pares: sin clave de grupo, sin registro compartido, con todas las propiedades del hilo intactas.
Cada captura de esta página es la app funcionando en un teléfono, no una maqueta. Nada de esto te pide registrarte, porque no hay nadie con quien registrarse.
Tu identidad es un par de claves creado en el dispositivo — sin correo, sin número de teléfono, sin nadie con quien registrarse, razón por la cual tampoco nadie puede restaurártela. El último paso es la copia de seguridad, porque una billetera que no puedes restaurar es la única forma en que aquí alguien pierde dinero de verdad.
Una billetera Monero autocustodiada con conversión a moneda local en todo momento, escaneada y gastada por un motor monero-oxide integrado — sin ningún demonio de billetera en el teléfono.
Al pagar se muestra el importe, la comisión de red estimada, el total, lo que te queda después, cuántas notas gasta y aproximadamente cuánto tardará — y te deja elegir la velocidad. El historial se reconstruye desde la cadena: los envíos se identifican por imagen de clave, el cambio nunca aparece como ingreso, cada fila lleva el saldo acumulado, y todo el extracto se exporta como CSV.
Monero gasta notas discretas en lugar de un saldo, así que una billetera con una nota grande puede no poder pagar dos veces seguidas. La app cuenta las notas que puede gastar y te dice que partas una antes de que estés en el mostrador, en lugar de fallar allí.
Un contacto es un par de claves, no un identificador. Un escaneo abre una conversación basada en buzón que funciona aunque una de las partes esté desconectada — y esos hilos llevan comercio, no solo texto.
Le das a alguien una tarjeta — por QR, enlace ducat: o un toque NFC — y
sirve para una sola persona: una vez reclamada deja de funcionar, así que
una captura que acabe en otro sitio no es una vía de entrada.
Un grupo es una lista que solo crece, y sus palabras viajan en un único registro de tablón por generación (§16.24): cada miembro escribe sus propias páginas bajo una clave de grupo que la lista lleva consigo, así que un mensaje para cinco personas es una escritura en vez de cinco, y la red no puede distinguir ese registro de ningún otro. Nadie puede hacerse pasar por otro, y salirse es local. Un grupo puede repartir una cuenta: un total se convierte en una petición individual a cada persona más una frase con la que todos pueden comprobar la aritmética, y cada petición pasa a pagada en cuanto llega su referencia.
Elige uno de nueve modos y la app entera se transforma — con sus propias pestañas, nada de las de la billetera. Casi nada de esto necesitó un objeto de protocolo nuevo, que es la frase de la que más se enorgullece la especificación.
Un punto de venta registra artículos o acepta un total escrito a mano, calcula el impuesto sobre las ventas de su región y muestra un código; la factura llega al teléfono de la clientela en cuanto lo escanea, y un recibo vuelve cuando paga. Una cuenta de bar avisa de cada consumición y se cierra con una sola factura. Un quiosco entrega el teléfono por completo a la clientela, con un panel del personal tras un PIN. Una caja de donaciones ofrece las dos vías: un código DUCAT que abre una conversación y envía un recibo en cuanto llega el dinero, y una dirección permanente a la que puede dar cualquier billetera Monero, con su coste de vinculabilidad dicho en la pantalla y no en una política.
Escribe adónde vas. Tu teléfono convierte una posición GPS en una geocelda — un tablón público cuya dirección es el lugar mismo — y publica una petición: una tarjeta de un solo uso, una zona aproximada y una oferta calculada desde la ruta real. Ningún nombre llega al tablón — ni en la tarjeta ni en el registro que hay detrás. Quienes conducen vigilan su celda y las vecinas y la aceptan; la DHT arbitra la carrera, y no existe ningún intermediario.
La línea verde es lo importante: las tarifas de DUCAT quedan un 15 % por debajo de lo que cobra una plataforma de viajes al pasajero, y quien conduce se queda con todo — la comisión ausente, devuelta a ambos. La aceptación llega con una cara: nombre, coche, color, placa y hora de llegada — sellada hacia el pasajero, sin aparecer nunca en el tablón. Tu propio nombre y el portal en el que esperas van en sentido contrario en ese mismo instante, al único conductor que la aceptó.
Una concesión, dicha claramente en pantalla: la búsqueda de direcciones, el enrutamiento y los mosaicos del mapa consultan OpenStreetMap — el único punto donde DUCAT envía la ubicación fuera del dispositivo. Los tablones nunca llevan mejor precisión que ~1,2 km.
La misma maquinaria de tablones lleva algo más que viajes. Un anuncio del mercado, un alquiler o una hora de ayuda cualificada se publican en un tablón cuya dirección es el barrio, y alguien desconocido que esté cerca lo lee sin que ninguno de los dos toque una plataforma.
Los anuncios viven en tablones más gruesos que las peticiones — unos cinco kilómetros de ancho, porque la gente se desplaza para recoger unas llaves. La búsqueda lee tu tablón y el anillo que lo rodea, y va dibujando resultados según responden, de modo que algo aparcado cerca aparece en pantalla en menos de seis segundos, mientras que «no hay nada por aquí» tarda unos cuarenta e indica las zonas que va descartando.
El formulario del anuncio está partido en dos y la app te dice cuál es cuál: todo lo de la primera parte va a un tablón público que cualquiera cerca puede leer, y la dirección, dónde están las llaves y la matrícula van en la segunda, que no sale de tu teléfono hasta que hay una reserva real.
Los registros que llevan una factura llevan igual de bien una página. Tu clave ya es una dirección, así que lo que escribes tiene dónde vivir sin pedirle sitio a nadie.
El hogar de un perfil está en la dirección que nombra su propia clave, y el feed es la cronología de la gente que conservas — una publicación puede llevar una foto y un archivo, y los corazones vuelven. Los sitios los sirve desde su disco quien los publicó y se abren en una sala sellada, de modo que leer uno no trae nada de ningún otro sitio.
Las publicaciones — un periódico, una serie, un programa — se venden mundialmente en tablones por tema en lugar de por barrio: una entrada aparece en el tablón del tema y también en el de su idioma, y «Todo» lee los seis estantes a la vez. Un anuncio trae su paquete desde el teléfono de quien vende — hasta 24 fotos a tamaño completo, una descripción, especificaciones y archivos adjuntos — y se rechaza entero ante cualquier clave que no nombre, para que un documento malo no pueda esconder fotos buenas.
No hay ninguna empresa en medio que pueda tomar partido, así que DUCAT hace algo más sencillo. El dinero queda en una dirección que solo vosotros dos podéis abrir, y la liberación devuelve a cada parte su propia garantía, nombrada. Nadie puede quedarse con una garantía — nosotros incluidos, porque no hay ningún nosotros a quien pagar.
Esas cifras están argumentadas, no adivinadas — el modelo 2-de-2 sin custodio de Bisq es el precedente en funcionamiento más cercano, y la literatura sobre doble depósito demuestra que el arreglo es a prueba de trampas en equilibrio. De ahí salen dos límites: una garantía que vale menos que la comisión de devolverla se vuelve cero en lugar de adorno, y ninguna supera la mitad del precio. La parte más expuesta deposita en segundo lugar, para que su dinero nunca esté solo en una dirección compartida.
Cuando un trato pide más que una fianza: pasajero, conductora y un contacto árbitro de confianza mutua ejecutan una generación distribuida de claves sobre el hilo sellado — tres dispositivos derivan una dirección Monero, cada uno con solo una parte, dos cualesquiera pueden firmar, y no hay repartidor en ningún sitio. El camino feliz son dos toques.
Cualquier otra cosa es un acuerdo: una parte propone un reparto, la otra firma o contraofrece. Quien se queda atrapado acude al árbitro, cuya cofirma es el fallo — un árbitro comprometido puede, como mucho, elegir entre las partes nombradas, nunca pagarse a sí mismo. Demostrado en cadena sobre stagenet en todas sus formas, incluida una liberación FROST con dos entradas.
Antes de que haya trato hay un desconocido, y la pregunta es qué le costó su nombre. Una persona puede quemar Monero — enviarlo a una dirección de la que nadie tiene las claves, derivada de un hash que cualquiera puede recalcular — y llevar consigo la propia prueba de pago de Monero. Tu cliente comprueba esa prueba contra su propio nodo, pregunta a un segundo nodo si la transacción está en un bloque y, desde entonces, muestra a esa persona con palabras allí donde decides algo: quemó 0,01 XMR, desde el bloque N. Nunca una puntuación. La regla que importa es el aviso: cuando lo que vas a arriesgar vale más que lo que quemaron, la app lo dice, porque un nombre que no costó nada no pierde nada al desaparecer.
Tras un trato cerrado, cualquiera de las partes puede firmar un recibo valorado, y quien te haya conocido en persona puede firmar un aval. Ambos viajan por un hilo sellado y a ambos los pondera solo quien los lee — una voz por firmante, contando solo a los firmantes cuya quema hayas comprobado, y contando un aval solo de gente que ya está en tus contactos. Un salto, sin grafo, sin publicar nada en ninguna parte. Reputación que cuesta dinero en lugar de privacidad.
Una herramienta de privacidad que resulta desagradable de usar se usa una sola vez. Esta nombra lo que las cosas te cuestan, habla veinte idiomas y tiene un tema oscuro que no es una ocurrencia tardía.
La comodidad tiene un precio en un sistema de privacidad, y la app lo nombra en el momento en que eliges, no en una política que nadie lee. Dejar que tus contactos te paguen directamente significa reutilizar una dirección — así que dice que cualquiera que observe la cadena puede ver que se pagó a la misma persona cada vez, incluida gente que solo te pagó una vez, y señala la alternativa. La misma costumbre recorre todo: una aparición en la mempool se muestra como vista, nunca liquidada; un perfil se presenta siempre como la afirmación que es.
Habla veinte idiomas — cada pantalla lee de recursos, los plurales se componen en lugar de concatenarse, y el árabe y el farsi demuestran el espejo. Los recibos son registros, no mensajes: cada recibo vive en su propio almacén, sobrevive al borrado del hilo y del contacto, y viaja en la copia de seguridad cifrada — que lleva a las personas tanto como el dinero.
Una ventana nativa sobre el mismo Rust que ejecuta el teléfono — así la caja de un comercio, un quiosco, la sala de prensa, el mercado y el feed son una implementación, no una adaptación.
Habla los veinte idiomas del teléfono desde los mismos recursos, y está probada contra el teléfono en cada rito: chat, grupos en tablones, facturas y recibos, un pedido de quiosco pagado desde un teléfono que nunca se había encontrado con el escritorio, archivos y sitios servidos y traídos, y llamadas con sonido de verdad.
El README lleva un registro de lo que realmente ha funcionado de extremo a extremo en la red real y en el stagenet real — y enuncia las carencias en lugar de enterrarlas.
core/Cada compilación está firmada en depuración y liquida en el stagenet de Monero — monedas sin valor, por diseño. La especificación es el borrador 1.1.0-dev13 y dice de sí misma: nada aquí es definitivo, y el §14 es la agenda de verdad. Pruébala, rómpela, léela — pero no la financies.
ducat-protocol.md es el artefacto principal — cinco partes, un registro de
cambios al principio, y un conjunto de conformidad que ejecuta una segunda implementación
para que el documento no pueda alejarse del código en silencio.
★ ducat-protocol.md la especificación — borrador 1.1.0-dev13, cambios primero core/ implementación de referencia (Rust) vectors/ 406 casos de conformidad + esquema conformance/ cuatro verificadores, en cada push harness/ de extremo a extremo sobre rutas Veilid reales sim/ simulador sin conexión, escenarios de mercado applications/ android/ + desktop/ (mismas fuentes) mobile/ el puente Rust: billetera · buzón · nodo research/ pruebas, no producto
schema.jsonLa custodia es normativa, no aspiracional: el §18.7 convierte la ética de Veilid en un requisito de conformidad — sin comisiones de protocolo, sin pago a los nodos, nunca. Construye lo que quieras con este código, pero un cliente que monetiza el transporte no es DUCAT.
Nada que instalar antes: cada compilación lleva su propia biblioteca de Rust y su JVM. Android en el teléfono, y la misma aplicación como ventana nativa en Linux, Windows y macOS. No hay compilación para iOS; tendrá su carpeta cuando se la gane.
Navegador del teléfono, compilación más reciente, sin página de versiones que recorrer.
armeabi-v7a solo para teléfonos anteriores a 2016 aproximadamente;
x86_64 es para emuladores.
El .deb y el .rpm se instalan como paquetes; el AppImage simplemente se ejecuta.
Compilaciones para Apple Silicon e Intel. Sin firmar — macOS avisará al abrirlo por primera vez.
Firmado en depuración, solo stagenet — no es para dinero real.