Qstamp / Cómo funciona
Arquitectura

De un registro a un recibo que sobrevive a los ordenadores cuánticos.

Qstamp mantiene la privacidad de cada registro y solo hace verificable la prueba. Los registros, sus huellas digitales y sus recibos permanecen en poder del operador. Solo se ancla un único compromiso con sal mediante un contrato Quanta en la Quantova Virtual Machine, donde un comité de validadores poscuántico lo finaliza.

SISTEMAS DEL OPERADOR QSTAMP SDK · LOCAL QUANTOVA VIRTUAL MACHINE COMITÉ DE VALIDADORES Registrosacciones, archivos ResumenSHA3 256 bits Hoja con sal0x00 · tag · alg · sal Árbol de hashesraíz RFC 9162 Compromiso0x02 · contexto · raíz Transacción firmadaML DSA 65 · tarifa limitada Contrato Quantaemite el evento Stamped Bloque y raíz de eventoscompromiso incluido Certificado de firmezacomité ML DSA 65 Recibos devueltosuno por registro · JSON Archivojunto al registro SISTEMAS DEL OPERADOR QSTAMP SDK · LOCAL QUANTOVA VIRTUAL MACHINE COMITÉ DE VALIDADORES Registrosacciones, archivos ResumenSHA3 256 bits Hoja con sal0x00 · tag · alg · sal Árbol de hashesraíz RFC 9162 Compromiso0x02 · contexto · raíz Transacción firmadaML DSA 65 · tarifa limitada Contrato Quantaemite el evento Stamped Bloque y raíz de eventoscompromiso incluido Certificado de firmezacomité ML DSA 65 Recibos devueltosuno por registro · JSON Archivojunto al registro
Figura 1 · Sellado. Solo el compromiso de 32 bytes cruza el perímetro del operador. Los enlaces discontinuos son operaciones de red.
Un ejemplo real

Cómo despliega Qstamp una empresa SI, desde la instalación hasta una huella digital que un tribunal puede verificar.

Trece pasos en cuatro fases, a saber, configuración, integración, operación y prueba. Todos los valores mostrados se han tomado de un despliegue real de Qstamp en la Quantova Virtual Machine, y cualquier empresa que integre Qstamp sigue el mismo procedimiento.

qstamp · rastro de despliegue y evidencia
ConfiguraciónIntegraciónOperaciónPrueba
Configuración

Instalar el SDK

La empresa SI añade el SDK de Qstamp de código abierto al servicio que ejecuta sus agentes. Tiene una única dependencia, QCore, para la firma poscuántica.

$ npm install @quantovainc/qstamp
added 2 packages

$ npx @quantovainc/qstamp --version
0.1.4
paquete@quantovainc/qstamp 0.1.4
biblioteca de firma@quantovainc/qcore 0.4.2
licenciaApache 2.0 o MIT · Derechos de autor 2026 Quantova Inc
Configuración

Crear la cuenta firmante

Se crea una clave de firma en el propio servidor del operador o en su módulo de seguridad de hardware. Su cuenta se financia y se registra una sola vez en la red de Quantova.

$ openssl rand -hex 32 > signer.key && chmod 600 signer.key
$ node account.js
address  Q1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
status   registered, ready to stamp
firma de la cuentaML DSA 65 · FIPS 204
custodia de la clavesolo el operador, nunca se envía a Quantova
Configuración

Elegir o desplegar el contrato

La empresa sella mediante el contrato oficial de Qstamp o despliega su propio contrato de emisor a partir de las plantillas Quanta. Su propio contrato se compila en QIDE en qdock.io con el compilador Quanta atestado y se despliega con el monedero QMask.

contrato oficialQ1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
contrato de la instituciónQ1DAJ3TZ7AN8JVY2MUCWYUWVPXEJSHH53JNDZ48L07RT6948J2N5QSNF3787
contenedor compiladocoincide con el hash auditado 7cd509e2d21bc4a3
dominio de desplieguevalor aleatorio nuevo de 64 bits vinculado a cada orden firmada
Integración

Registrar el modelo

Cuando se aprueba el uso de un modelo, su pasaporte se sella con el tipo de registro ai_model. Así, cada decisión posterior puede vincularse al modelo exacto que la tomó.

model-passport.jsonregistro de modelos
{
  "evaluation": {"approved_by": "Model Risk Committee", "auc": 0.871},
  "model": "risk-model 3.2.1",
  "time": "2026-10-09T09:39:27.273Z",
  "training_data": "dataset manifest 2026-09-30",
  "weights_sha3": "f01483b8e6269760c5c2e2025875b6e5d1b16402443e9a98d73e0a43156bf17b"
}
tipo de registro4 · ai_model
huella digital1b15118c7e2f1e482f87821a43d8062585b85e93d061bef1f6d429f621cfc850
transacciónQTX19P000T7X6TPFPG8XMXV2GPU0XAR94H36LF7TKP6GGTXN2NQPWLZQ8PZJFY
bloque2,011,764
Integración

Conectar el entorno de ejecución del agente

El entorno de ejecución del agente redacta cada llamada a herramientas y cada decisión como un registro canónico, lo conserva en el propio registro de eventos de la empresa y ancla el lote cada minuto. Los recibos se almacenan junto a las acciones.

agent-runtime.jssistema del operador
const qstamp = require('@quantovainc/qstamp');
const batch = [];

agent.on('action', (action) => {
  const bytes = Buffer.from(canonicalJson(action));
  log.write(bytes);
  batch.push({ digest: qstamp.digestBytes(bytes) });
});

setInterval(async () => {
  const records = batch.splice(0);
  if (records.length === 0) return;
  const receipts = await qstamp.stamp({
    seed, index: 0, kind: 'ai_agent_action', records,
    onPending: savePending,
  });
  receipts.forEach(storeBesideAction);
}, 60000);
Operación

El agente actúa

Un agente de decisiones crediticias de un banco aprueba un préstamo. Su acción se redacta como un registro JSON canónico con el agente, el modelo, la política, la herramienta, la decisión y la hora.

credit-batch-1/action-04.jsonsistema del operador
{
  "agent": "credit-decision-agent-07",
  "amount_usd": 125000,
  "applicant": "APP-54a49c823275",
  "decision": "approve",
  "human_review": false,
  "model": "risk-model 3.2.1",
  "operator": "Example Bank plc",
  "policy": "retail-lending-policy 2026-10",
  "reasons": ["score_above_threshold"],
  "risk_score": 645,
  "time": "2026-10-09T09:39:25.132Z",
  "tool": "credit_bureau.lookup"
}
Operación

El SDK calcula su huella digital

En los propios sistemas del operador, el SDK calcula la huella digital SHA3 de 256 bits del registro. El registro en sí nunca sale del banco.

$ npx @quantovainc/qstamp hash action-04.json
  action-04.json
algoritmoSHA3 256 · FIPS 202
huella digitalefb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f
Operación

Con sal y por lotes

La huella digital se vincula a una sal aleatoria nueva y se coloca en un árbol de hashes junto con las demás acciones del lote. Seis acciones comparten una misma raíz del árbol.

hojaH(0x00 ‖ QSTAMP/LEAF/V1 ‖ alg ‖ digest ‖ salt)
sald275e738d46530b36f2c90e48a16bcd6e37fa9480378eb253c4e7a66a6a6b710
tamaño del lote6 acciones
raíz del árbol34f64b12e5b363f1add6c48c0f85ebd60e4c2d421e5559f5d7b88717db205c54
Operación

Un único compromiso

La raíz se vincula a la cadena, al contrato oficial, a la cuenta firmante, al tipo de registro y al tamaño del lote. El resultado es un único compromiso criptográfico de 32 bytes.

compromisoH(0x02 ‖ QSTAMP/ROOT/V1 ‖ genesis ‖ contract ‖ sender ‖ kind ‖ size ‖ root)
tipo de registro6 · ai_agent_action
valor6068a3e9625471530eda32f3292a9ac667c4f543281d62b12c62ad3481f07e0a
Operación

Firmado con ML DSA 65

El SDK envía una única transacción que invoca el contrato Quanta de Qstamp en la Quantova Virtual Machine. Está firmada con ML DSA 65, una firma poscuántica.

transacciónQTX1V53JW528S64SZYD6EDZ563N0PUUA2ARGNQHV4LTJMNH24PQS5VPQTAH8RQ
firmanteQ1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
contratoQ1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
firmaML DSA 65 · FIPS 204
tarifa0.005 TQTOV por todo el lote
Operación

Firme en la cadena

Los validadores finalizan el bloque con firmas poscuánticas. El contrato registra el compromiso en un evento Stamped. El sellado alcanzó la firmeza en menos de un segundo.

bloque2,011,753
hora2026-10-09 09:39:25 UTC
eventoStamped · selector 5a110849
datos del eventosigner ‖ commitment ‖ kind
✓ firme · registrado por el contrato oficial
Operación

Visible en el explorador

Cualquier persona puede abrir la transacción en QVMScan, el explorador público de Quantova, y leer el compromiso, el firmante, el tipo de registro y el bloque.

qvmscan.io/tx/QTX1V53JW5…PQTAH8RQ
estadoSuccess
bloque2,011,753
deQ1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X
paraQ1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX
evidencia de QstampStamped · Official Qstamp contract · ai_agent_action
compromiso6068a3e9625471530eda32f3292a9ac667c4f543281d62b12c62ad3481f07e0a
Abrir la transacción real
Prueba

Un tribunal pregunta qué hizo el agente

El banco aporta el registro y su recibo. El verificador vuelve a calcular la huella digital, la raíz del árbol y el compromiso, y encuentra el mismo compromiso en la cadena. Basta con modificar un solo dígito para que la comprobación falle.

$ npx @quantovainc/qstamp verify action-04.json.qstamp.json --file action-04.json
pass format · pass contract · pass content · pass inclusion
pass chain · pass transaction · pass event · pass block
VALID  stamped no later than 2026-10-09T09:39:25Z in block 2011753

$ npx @quantovainc/qstamp verify action-04.json.qstamp.json --file altered.json
FAIL content  the content does not match the fingerprint in the receipt
INVALID
huella digital originalefb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f
huella digital alterada93b2b98383cd8fc1d71c9727c358b077149123050b4e1ac78654e1889f37c086
Secuencia de sellado

Siete pasos definidos.

Calcular la huella digital de cada registro

El SDK calcula SHA3 con una salida de 256 bits, o SHA2 con una salida de 256 bits cuando un sistema existente ya lo utiliza.

Añadir sal y etiqueta a cada hoja

Una sal nueva de 32 bytes procedente del generador aleatorio del sistema operativo se vincula al resumen junto con la etiqueta de dominio QSTAMP/LEAF/V1 y el identificador del algoritmo.

Construir el árbol del lote

Las hojas se combinan conforme a RFC 9162. Los hashes de hoja y de nodo utilizan prefijos distintos, lo que elimina la ambigüedad de segunda preimagen.

Obtener el compromiso

La raíz se vincula junto con el hash de génesis, el contrato, el firmante, el tipo de registro y el tamaño del lote en un único valor de 32 bytes.

Firmar y enviar

El compromiso se envía en una transacción firmada con ML DSA 65. La tarifa se limita antes de la firma y la parte no utilizada de la tarifa medida se reembolsa.

Registrar y finalizar

El contrato Quanta emite un evento Stamped. El comité de validadores finaliza el bloque en aproximadamente 0,2 segundos.

Emitir recibos

Cada registro recibe un recibo que contiene su sal, su ruta de inclusión y su anclaje. Un archivo privado de recuperación protege frente a interrupciones.

Anatomía del recibo

Pequeño, autodescriptivo y verificable.

contract.pdf.qstamp.jsonqstamp receipt 1
{ "format": "qstamp-receipt/1", "chain": { "id": "Q-test-net-1", "genesis": "ca91e093…" }, "contract": "Q1D6TZFRL203…", "kind": "6", "record": { "alg": "sha3-256", "digest": "9f07acaf…", "salt": "5e1c02d4…" }, "proof": { "index": 2, "size": 8, "path": [ … ] }, "root": "b3f1…", "anchor": { "tx": "QTX1TYDCHMSD…", "height": 1506979, "block": "QBK1…", "time": 1791430364, "sender": "Q1NUR6ETECQX…" } }

Los recibos no contienen ninguna parte del registro. Sí contienen el resumen y la sal, por lo que deben tratarse con el mismo cuidado que los registros que describen.

Agrupación en lotes

Pruebas logarítmicas, coste constante.

Un lote de cualquier tamaño se ancla con una sola transacción. Cada registro demuestra su pertenencia mediante una ruta cuya longitud crece solo con el logaritmo del tamaño del lote.

hoja 0hoja 1hoja 2hoja 3hoja 4hoja 5hoja 6hoja 7nodonodonodonodonodonodoraízResaltado · hoja 2 y los nodos en que se integra. Su ruta de inclusión es el hermano de cada nivel, a saber, hoja 3, nodo(0,1) y nodo(4..7), tres hashes para ocho hojas. raíz nodo nodo nodo nodo nodo nodo hoja 0 hoja 1 hoja 2 hoja 3 hoja 4 hoja 5 hoja 6 hoja 7
Figura 3 · Una ruta de inclusión crece con el logaritmo del tamaño del lote. Un millón de registros requiere veinte hashes hermanos.
Verificación

Confíe en las matemáticas, no en el emisor.

La verificación devuelve uno de tres resultados. Válido significa que todos los eslabones se cumplen. Inválido significa que falla al menos un eslabón. Indeterminado significa que no se pudo consultar la red. Un resultado indeterminado nunca se notifica como válido.

COMPROBACIONES LOCALES · SIN RED · SIN CONFIANZA COMPROBACIONES DEL ANCLAJE · QVM 1 · Contenidorecalcular el resumen 2 · Hojaresumen · sal · alg 3 · Inclusiónruta hasta la raíz 4 · Compromisovincular todo el contexto 5 · Transacciónfinal · firmante · datos 6 · Eventocontrato oficial 7 · Bloqueidentificador · hora Veredictouno de tres resultados COMPROBACIONES LOCALES · SIN RED · SIN CONFIANZA COMPROBACIONES DEL ANCLAJE · QVM 1 · Contenidorecalcular el resumen 2 · Hojaresumen · sal · alg 3 · Inclusiónruta hasta la raíz 4 · Compromisovincular todo el contexto 5 · Transacciónfinal · firmante · datos 6 · Eventocontrato oficial 7 · Bloqueidentificador · hora Veredictouno de tres resultados
Figura 2 · Verificación. Los pasos 1 a 4 se ejecutan íntegramente en el equipo del verificador. Los pasos 5 a 7 confirman el anclaje en la red de Quantova.

Falla de forma segura

Un punto de acceso inaccesible, una respuesta truncada o datos mal formados nunca pueden producir un veredicto válido.

Contrato fijado

Los recibos solo se verifican frente al contrato oficial de su red, salvo que se confíe expresamente en un despliegue personalizado.

Tiempo preciso

La hora del bloque nunca disminuye y solo se acepta si está dentro de un margen de 15 segundos respecto de los relojes de los validadores.