Abstract
Autonomous agents and superintelligence agents now make payments, decisions and filings on behalf of companies in banking, government, healthcare and finance. The records of what those agents did are held by the operators whose conduct the records describe. Such records can be rewritten by their custodian, and where they are signed at all they are signed with ECDSA, EdDSA or RSA, which Shor's algorithm allows a quantum computer to forge in polynomial time.
Qstamp is an open SDK and a set of Quanta smart contracts on the Quantova Virtual Machine (QVM) that turn agent records into durable evidence that anyone can verify, while the records themselves remain private with the operator. Each record is reduced to a SHA3 256 digest and bound to a fresh 256 bit salt. The resulting leaves are combined in an RFC 9162 hash tree of up to 220 leaves, and the tree is committed by one domain separated 32 byte value that binds the chain, the contract, the signer, the record kind and the batch size. The commitment is anchored by an attested Quanta smart contract in a transaction signed with ML DSA 65 and finalised by a validator committee that has signed every block with ML DSA 65 since genesis.
We define an evidence forgery game and prove that the advantage of any classical or quantum adversary is bounded by the collision and second preimage advantages against SHA3 256, a q fold EUF-CMA advantage against ML DSA 65 and the probability of a consensus failure. We state exactly what a receipt proves and what it does not, describe how the contracts are compiled, attested and deployed, give a verification procedure suited to orders of courts and regulators with a worked example from the Quantova test network, and relate the construction to record keeping obligations in the European Union, the United Kingdom, the United States, Japan, Korea and Hong Kong.
Keywords
- Issuing entity
- Quantova Inc, a Delaware corporation and owner of the Qstamp technology
- Research entity
- Quanto Organisation Pte. Ltd., Singapore
- Version
- Version 1.0. The concept was concluded in 2025 and Qstamp was deployed in 2026.
- Scope
- Qstamp SDK release 0.1.4 and the Quanta contracts deployed on the Quantova test network Q-test-net-1
- Status
- Public technical specification. It does not constitute legal advice.
- Permanent location
- https://qstamp.org/paper.html
- Recommended citation
- Quantova Inc (2026), Qstamp research paper, Version 1.0
1. Introduction and contribution summary
Software agents built on large models now call tools, move funds, approve credit and produce content on behalf of people and institutions. When such an action is later disputed, the question before a court, a supervisor or an insurer is factual. What did the agent do, under which model and policy, and when? The answer is almost always taken from records kept by the operator of the agent, which is also the party whose conduct is in question.
Two weaknesses follow. The first is custody. A record held in a database under the operator's administrative control can be changed by the operator, and nothing in the record itself reveals the change. The second is durability. Where records are protected cryptographically, the protection is a digital signature over ECDSA, EdDSA or RSA, and published resource estimates indicate that a fault tolerant quantum computer of sufficient size would forge such signatures in hours or days [10, 11, 8]. Many records must be retained for six to ten years [37, 35], which is long compared with the uncertainty in when such a machine might exist [13].
Qstamp is a privacy preserving, on chain evidence toolkit and SDK, deployed through the Quantova network, to which autonomous agents and superintelligence agents connect directly. Records, their digests and their receipts remain with the operator, and only salted commitments are published. It enables a company that operates such agents, including in banking, government, healthcare, finance and compliance, to produce evidence of what its agents did and decided. That evidence can be presented to courts, auditors and government authorities on request and verified by them without trusting the company or Quantova Inc. Under the hardness and consensus assumptions of Section 3, it cannot be forged by an adversary equipped with a quantum computer, in the sense made precise by Theorem 1.
Qstamp addresses both weaknesses with one construction. Each record is reduced inside the operator boundary to a salted SHA3 256 commitment. A batch of up to 220 commitments is aggregated in a hash tree, and a single 32 byte value that binds the tree to its chain, contract, signer, kind and size is anchored through a Quanta smart contract on the Quantova Virtual Machine. Every signature on which that anchor depends, from the account that submits it to the committee that finalises it, is an ML DSA 65 signature [24], and this has been so since the genesis block of the network. The record never leaves the operator, and any party holding the record and its receipt can later verify it without trusting the operator or Quantova Inc.
This paper makes the following contributions.
- A formal model of the operator as an insider adversary and of the quantum adversary against classical signatures, and a predicate that captures the record keeping requirements of current regulation (Section 2 and Section 3).
- A complete specification of the Qstamp construction exactly as implemented in SDK release 0.1.4, including encodings, the stamping and verification algorithms and the three valued verification outcome (Section 5).
- A reduction proving that evidence forgery against Qstamp is bounded by the collision and second preimage resistance of SHA3 256, the unforgeability of ML DSA 65 and the safety of consensus, together with binding, hiding and liveness properties and concrete classical and quantum bounds (Section 6).
- A precise statement of what a receipt proves and does not prove for autonomous agents (Section 7), and a verification procedure for orders of courts and regulators illustrated with a real test network run (Section 8).
- A mapping from legal obligations to the formal properties provided and their limits (Section 9), an analysis of why the properties require a post quantum layer 1 with attested contract code (Section 10), and measured cost and latency (Section 11).
The paper describes only what is live at the date of Version 1.0. The construction runs on the Quantova test network, whose receipts carry no evidential weight. Production use will take place on the Quantova main network once it launches. Planned features are identified as such in Section 6.7 and Section 12.
2. The problem, stated mathematically
Throughout, H denotes SHA3 256 [22], ‖ denotes byte concatenation, λ denotes the security parameter, and an algorithm is efficient if it runs in time polynomial in λ on a classical computer (PPT) or on a quantum computer (QPT).
2.1 Operator controlled records and the insider adversary
A log is a finite sequence Λ = (e1, …, em) of byte strings held in storage administered by an operator O. The administrative capability of O is modelled by an oracle Rewrite(j, e′) that replaces ej by e′ and that O may call at any time before an audit time ta. A verifier V receives at ta the log that O produces.
Suppose the view of V at ta is a function of the produced log and of values computed by O alone. Then for any logs Λ and Λ′ the view of V is identically distributed whether O stored Λ′ from the outset or stored Λ and rewrote it into Λ′. Every strategy of V therefore distinguishes the two cases with advantage zero.
Signatures computed by O do not change this. If each entry carries σj = Sign(skO, ej), then O, which holds skO, computes a valid σ′ for any replacement e′. A custodian's signature authenticates origin towards third parties but says nothing about integrity against the custodian. Integrity against O requires a witness W, a party or system whose state O cannot alter, that fixes a value derived from Λ before ta. In current practice V's confidence in the state of W rests on signatures by W, almost always ECDSA over secp256k1 or P 256 [26, 29], Ed25519 [30] or RSA, or on no signature at all when the witness is an internal system of the operator.
2.2 Shor's algorithm and its published cost
2.2.1 The order finding reduction
Let N be an odd composite integer that is not a prime power, and let a be drawn uniformly from the units modulo N. The order of a is
If r is even and ar/2 ≢ −1 (mod N), then N divides (ar/2 − 1)(ar/2 + 1) but neither factor, so
is a non trivial factor. For N with at least two distinct odd prime factors this event has probability at least one half over the choice of a [2, 12]. Factoring therefore reduces in classical polynomial time to computing orders, and Shor's contribution is a quantum algorithm for the latter [1, 2].
2.2.2 The quantum Fourier transform
Choose Q = 2ℓ with N2 ≤ Q < 2N2. A register of ℓ qubits is placed in uniform superposition and the map x ↦ ax mod N is computed reversibly into a second register,
The quantum Fourier transform over ℤQ acts on the first register as
and is implemented exactly with O(ℓ2) one and two qubit gates. Because the second register is periodic in x with period r, a measurement of the first register after the transform returns, with probability Ω(1/log log N), a value y such that
for some integer s coprime to r. By Legendre's theorem s/r is then a convergent of the continued fraction expansion of y/Q, which yields r classically. Modular exponentiation dominates the cost, with O(ℓ3) gates for schoolbook arithmetic.
2.2.3 Discrete logarithms and elliptic curves
Let ⟨P⟩ be a cyclic group of prime order q and let Q′ = dP be a public key. The function
L = { (a, b) ∈ ℤq2 : a + bd ≡ 0 (mod q) }
is constant exactly on the cosets of the subgroup L. A two register Fourier transform over ℤq2 followed by measurement yields (u, v) with v ≡ ud (mod q), so d = v·u−1 mod q whenever u ≠ 0 [2]. For an elliptic curve group the group law is evaluated reversibly with arithmetic over the base field [9]. Roetteler, Naehrig, Svore and Lauter give a concrete circuit for prime field curves of bit length n [8] that uses
and a Toffoli gate count of the order of 1011 for n = 256. The estimate applies to secp256k1 and P 256, which underlie most ECDSA deployments, and with negligible change to the 255 bit curve of Ed25519. These are logical qubits. Fault tolerant implementation multiplies the physical count by the overhead of the error correcting code.
2.2.4 Resource estimates for RSA 2048
For RSA, Gidney and Ekerå estimated in 2019 that a 2048 bit modulus can be factored in about 8 hours with 20 million noisy qubits, assuming a physical gate error rate of 10−3, a surface code cycle time of one microsecond and a control system reaction time of ten microseconds [10]. Gidney revised the estimate in 2025 to fewer than one million noisy qubits and under one week of run time under the same hardware assumptions [11].
These figures are published resource estimates for hypothetical fault tolerant machines. They are not statements about any machine that exists. To our knowledge no machine of this scale had been publicly demonstrated at the date of this paper. The argument of this paper does not depend on when such a machine is built. It depends only on the fact that evidence must remain sound for longer than the present uncertainty about that date.
2.3 Consequence for signatures, ledgers and logs
For a signature scheme Σ = (KeyGen, Sign, Verify) and an adversary A the experiment is
return 1 iff Verify(pk, m*, σ*) = 1 ∧ m* ∉ 𝓜
where 𝓜 is the set of messages submitted to the signing oracle, and AdvEUF-CMAΣ(A) = Pr[Exp = 1].
Let Σ be ECDSA over a prime order curve with generator G. There is a QPT adversary AShor that makes no signing query and achieves AdvEUF-CMAΣ(AShor) ≥ 1 − ε, where ε is the failure probability of the discrete logarithm subroutine and decreases exponentially with repetition.
Proof. AShor runs the algorithm of Section 2.2.3 on (G, pk) to obtain a candidate d, accepts it when dG = pk and repeats otherwise. It then chooses any m* and computes σ* = Sign(d, m*) honestly. Correctness of ECDSA gives Verify(pk, m*, σ*) = 1, and m* was never queried. The same argument applies to EdDSA, whose verification equation does not depend on how the signer derived its nonce, and to RSA through factoring. ∎
The evidential consequence is retroactive. Let an entry e be signed at time tc under pk, and let tq be the first time at which the adversary can run AShor. At any time T ≥ tq the adversary produces (e′, σ′) with Verify(pk, e′, σ′) = 1. A verifier at T holds two pairs that both verify, and signature verification gives no information about which existed at tc. The adversary needs only pk, which is public and in ledgers is published with the first transaction of the account. Public keys and signed records can therefore be collected now and forged later. With x the period for which evidence must remain sound, y the time needed to migrate it and z the time until tq, Mosca's condition [13]
identifies when evidence is exposed. Retention periods are long. Broker dealer records under Rule 17a 4 are kept for up to six years [37], and technical documentation of high risk AI systems for ten years after the system is placed on the market [35].
Smart contract platforms in production today authorise transactions with ECDSA or EdDSA. On such a platform the statement that an account authorised a transaction is evidenced only by a classical signature, and after tq any account whose public key is known can be made to sign anything. Whether the order of past blocks remains trustworthy depends on how a verifier learns the canonical history. A participant who followed the chain continuously retains its knowledge. Where consensus is itself authenticated by classical signatures, a verifier who reconstructs history after tq from signatures alone, as a court or an auditor would, cannot distinguish the canonical history from an alternative signed with recovered keys. Where ordering is secured by proof of work, ordering keeps hash based security but the authorisation of each transaction remains classical. It is the signature layer that breaks.
Hash functions are weakened but not broken. Grover's algorithm finds a preimage of an n bit function with O(2n/2) evaluations [3], and this is optimal for generic search [4]. The algorithm of Brassard, Høyer and Tapp finds collisions with O(2n/3) evaluations given quantum accessible memory of the same size [5], again optimal for generic functions [6]. Bernstein shows that, once the cost of that memory is counted, the quantum collision search is no cheaper than classical parallel collision search at about 2n/2 [7]. For n = 256 the margins remain at least 285 in the most favourable model for the attacker and about 2128 under realistic cost. This asymmetry between signatures and hashes is the foundation of the design in Section 5.
2.3.1 Classical primitives in agent infrastructure
The infrastructure through which agents are identified, authorised and audited today rests on a small set of public key primitives. The table states, for each, the problem on which it rests and the effect of Shor's algorithm.
| Primitive | Typical role for agents and audit logs | Underlying problem | Effect of Shor's algorithm |
|---|---|---|---|
| ECDSA over secp256k1 and P 256 | Ledger transactions, code and artefact signing, device and service attestation | Elliptic curve discrete logarithm | The private key is computed from the public key in polynomial time, after which any message can be signed (Proposition 1). |
| EdDSA, Ed25519 | Agent and service identity keys, SSH, software release signing, ledgers | Elliptic curve discrete logarithm on edwards25519 | The secret scalar is computed from the public key, and signatures on arbitrary messages verify. |
| RSA signatures, RS256 (PKCS #1 v1.5) and PS256 (PSS) | Tokens, certificates, document and code signing | Integer factorisation | The modulus is factored, the private exponent follows, and both padding schemes are forged alike. |
| ECDHE and RSA key exchange in TLS | Confidentiality of connections between agents, tools and APIs | Elliptic curve discrete logarithm, integer factorisation | Session keys of recorded handshakes are recovered, so captured traffic can be decrypted later. TLS key exchange never provided third party evidence, and its loss is a loss of confidentiality. |
| X.509 certificate chains | Identity of services and agents, mutual TLS, signing certificates | RSA or ECDSA signatures of certification authorities | A recovered authority key issues valid certificates for any name, and past chains can no longer be relied on to identify a signer. |
| JWT signing, ES256 and RS256 | Delegated authority, OAuth access tokens and tool permissions of agents | ECDSA over P 256, RSA | Tokens with any subject, scope or expiry are forged, and logged tokens no longer prove that an action was authorised. |
| Cloud KMS signing keys | Signed audit logs, log digests and release artefacts | RSA or ECDSA unless a post quantum key type is selected | Hardware custody of the private key gives no protection once the private key can be computed from the published public key. |
Symmetric primitives behave differently. HMAC and the SHA2 family are not affected by Shor's algorithm and are only weakened by Grover's, so HMAC with a 256 bit key retains about 128 bits of security against key search. A message authentication code, however, proves nothing to a third party. Whoever holds the key can recompute a valid tag for any altered entry, and in an audit log the key holder is the operator, so Observation 1 applies unchanged. The same holds for a hash chain kept by the operator without an external anchor, which the operator can recompute from any altered point onwards.
2.4 The regulatory gap
Across jurisdictions, rules require that certain records be generated, retained for defined periods and protected against alteration, or kept so that alteration is detectable. The EU AI Act requires high risk AI systems to allow the automatic recording of events over their lifetime (Article 12), and requires providers and deployers to keep those logs for a period, appropriate to the intended purpose, of at least six months (Article 19 and Article 26(6)) [35]. The eIDAS 2 amendment gives legal recognition to electronic ledgers and attaches a presumption of integrity and of chronological ordering to qualified electronic ledgers (Articles 45h and 45i) [36]. SEC Rule 17a 4 requires broker dealers to keep electronic records either with a complete time stamped audit trail or in a non rewriteable, non erasable form [37]. UK GDPR Article 5(1)(f) requires appropriate security of personal data, including protection against unauthorised processing and accidental loss or damage [38]. The Japanese Electronic Books Maintenance Act requires measures that ensure the authenticity of electronic records, such as time stamps or systems that record corrections and deletions [39]. The safety measures required under Article 29 of the Korean Personal Information Protection Act include keeping access records and protecting them against forgery and alteration [40]. Data Protection Principle 4 of the Hong Kong Personal Data (Privacy) Ordinance requires data users to take all practicable steps to protect personal data against unauthorised or accidental access, processing, erasure, loss or use [41].
The same horizon is now governed by post quantum migration mandates. NIST IR 8547, in its initial public draft, proposes that quantum vulnerable public key algorithms at the 112 bit security level be deprecated after 2030 and that all quantum vulnerable public key algorithms be disallowed after 2035 [27]. Executive Order 14412 directs United States federal systems to adopt post quantum key establishment by 31 December 2030 and post quantum digital signatures by 31 December 2031 [28]. Records created today will therefore be inspected within their retention periods at a time when the signatures that protect them are formally disallowed.
Let r be a record created at time t0, let R be its retention period and let V be a verifier that does not trust the custodian. For ε ≥ 0 and an adversary class 𝒜 the requirement is the predicate
where Ret(r, t) holds if the custodian can produce r at t. Intε, 𝒜(r, t0, t) holds if for every A ∈ 𝒜 the probability that V accepts at t some r′ ≠ r produced by A as the record of t0 is at most ε. Ver(r, t) holds if V decides acceptance from public parameters and from data supplied by the custodian, without trusting the custodian. Time(r, t0) holds if V can establish that r existed no later than t0 + δ for a stated tolerance δ.
Statutes state Ret explicitly through retention periods and state Int in terms such as protection against alteration or forgery, non rewriteable storage or audit trails. Ver and Time follow from the purpose of supervision and of evidence. The gap is that every mechanism whose Int rests on a classical signature satisfies Int only for 𝒜 restricted to adversaries active before tq. Whenever t0 + R > tq the predicate fails for the remainder of the period. Qstamp is designed to provide Int, Ver and Time for all t in the period against classical and quantum adversaries, under the assumptions of Section 3. Ret remains the obligation of the custodian. No law cited here requires Qstamp. The laws require properties, and Section 9 sets out which of them Qstamp provides.
3. System model and threat model
3.1 Parties
- Operator O. Runs one or more agents, holds their records, and controls a signing key skS whose ML DSA 65 public key determines the chain address S. O runs the Qstamp SDK.
- Verifier V. A court, regulator, auditor, insurer or counterparty. V holds only public parameters, which are the genesis hash G of the chain, the address C of the official Qstamp contract and the published validator set, together with whatever O produces.
- Network. The Quantova chain, consisting of the QVM, a validator committee 𝒱 that finalises blocks, and RPC endpoints and an explorer that serve chain data.
- Adversary A. Any party that seeks to have V accept a false statement about a record.
3.2 Assumptions
| Label | Assumption | Used for |
|---|---|---|
| T1 | SHA3 256 is collision resistant and second preimage resistant against PPT and QPT adversaries [22]. | Binding of digests, leaves, tree and commitment |
| T2 | ML DSA 65 is existentially unforgeable under chosen message attack against PPT and QPT adversaries, which follows from the hardness of MLWE and of MSIS variants in the quantum random oracle model [24, 20, 21]. | Authorisation of transactions and of finality |
| T3 | Honest majority. The stake or seats controlled by corrupted members of each sampled committee remain below the finality threshold, so that no two conflicting blocks are finalised at the same height and a finalised block is never reverted. | Uniqueness and permanence of anchors |
| T4 | Honest validators keep clocks within a bounded drift of reference time and refuse a block whose time exceeds their own clock by more than 15 seconds or precedes its parent. | Meaning of the block time |
| T5 | Release 0.1 only. At least one consulted RPC endpoint reports chain data faithfully over an authentic channel, and all consulted endpoints must agree. | Chain checks of verification, removed by offline proofs (Section 6.7) |
3.3 Adversary classes
A classical adversary is PPT. A quantum adversary is QPT, may run Shor's and Grover's algorithms offline, and has quantum access to H where a random oracle model is used [16]. Both classes may corrupt the operator after a time t*, which models an insider who later wishes to rewrite history or a later compromise of skS. Both may control any other accounts, corrupt committee members up to the bound of T3, delay, reorder or drop network messages, and operate RPC endpoints of their own. The honest operator is assumed to stamp correctly before t*.
Three matters are outside the model and are stated so that they are not mistaken for guarantees. A record that was false when stamped remains false, since Qstamp fixes content and does not judge it. An adversary holding skS before a record is stamped can stamp in the name of S, which is a key custody question. Availability of the record and of its receipt is the custodian's responsibility, since a lost salt makes the corresponding inclusion unprovable.
4. The Quantova framework
This section describes the components on which Qstamp relies, as they are live at the date of this paper.
Quantova is post quantum at every layer of the protocol. Accounts, transactions, the attestation of contract code and finality certificates are signed with ML DSA 65 [24], and SLH DSA [25] is accepted as a hash based alternative where an account is created under that scheme. The transaction format accepts exactly these two signature schemes. A further scheme identifier is reserved for a future post quantum algorithm and is currently refused. No elliptic curve, RSA or BLS signature is accepted at any layer of the protocol, so no fact recorded by the protocol depends on a primitive that Shor's algorithm breaks. This distinguishes the framework from platforms that add post quantum signatures alongside classical ones, where any fact that can still be established with a classical signature inherits its weakness.
4.1 Quanta, the smart contract language
Quanta is the contract language of the Quantova chain. A Quanta contract compiles to a QVM container. Authority inside a contract derives only from verified signatures. The caller of an entry point is the verified signer of the transaction, and a contract can verify further ML DSA signatures over signed orders through the QVM instruction VERIFY_ML. Every such verification uses the FIPS 204 context string QVM/contract/v1, which FIPS 204 binds into the signed message as
so a signature produced for a contract order cannot be presented as a signature in any other context [24]. The open Qstamp contract is the following Quanta source, which holds no state, no funds and no owner.
The issuer and council templates add signed orders that carry a nonce held by the contract, a deadline and a per deployment domain value, so that an order cannot be replayed, used late or used on another deployment.
4.2 The attested compiler
A container c is identified by id(c) = H(c). The chain admits a deployment only if the identifier carries an ML DSA 65 signature by the compiler provenance key,
The signature establishes that the deployed container was produced by the attested compiler. Equality with reviewed source is then established by reproduction. A reviewer compiles the published source, compares the resulting container byte for byte with the deployed one, and so confirms that the code at C is the code that was reviewed. The published source of the open Qstamp contract compiles byte for byte to the contract deployed on the test network. The guarantee assumes the secure custody of the provenance key by Quantova Inc. For the code identity property only, this is a trust assumption additional to T1 to T5.
4.3 The Quantova Virtual Machine and execution layer
The QVM is a metered register machine with native instructions for ML DSA and SLH DSA [25] verification, hashing and hash trees. Before execution the QVM writes the verified sender of the transaction into contract memory as caller, so the recorded signer cannot be influenced by call data. Execution is atomic. With S the state, tx a transaction and m its meter limit,
Apply(S, tx) = (S, ∅, fee) otherwise
where E is the list of emitted events. Events and state changes are recorded only on success, and events are committed to the event root of the block header. A finalised transaction without its event therefore proves nothing about a stamp, and verification in Section 5 requires the event.
4.4 Consensus and finality
Every account, every transaction and every finality certificate on the Quantova chain has been signed with ML DSA 65 since the genesis block, with SLH DSA available as the alternative account scheme described above. An address is a 32 byte value derived from an ML DSA 65 public key. Blocks are finalised by a sampled committee whose certificate carries ML DSA 65 signatures meeting the finality threshold, and finality is reached in about 0.2 seconds. The block time is proposed in whole seconds. Under T4 an accepted block B with parent P satisfies
so block time never decreases and cannot run more than 15 seconds ahead of honest clocks.
4.5 Fees
Execution is metered, and the fee for a call that consumes m units of meter is
with unused reserve refunded. The stamp call has fixed length call data and emits one fixed length event, so its fee does not depend on the batch size N. On the test network one stamp costs 0.005 TQTOV, that is 5000 quon, regardless of N. TQTOV are test network units without monetary value.
5. The Qstamp construction
5.1 Notation
- H
- SHA3 256 as specified in FIPS 202 [22]
- Dalg
- record digest function, alg = 1 for SHA3 256 (the default) and alg = 2 for SHA 256 [23], encoded as one byte
- ‖ , u64(x)
- byte concatenation, and the 8 byte big endian encoding of an unsigned integer x < 264
- si
- 32 byte salt drawn uniformly at random from the operating system generator
- N, i
- batch size and leaf position, with 1 ≤ N ≤ 220 and 0 ≤ i < N
- G, C, S, k
- 32 byte genesis hash, 32 byte contract address, 32 byte signer address and 64 bit record kind
5.2 Leaves, tree and commitment
For record ri with digest di = Dalg(ri) the leaf is
an evaluation of H on exactly 1 + 14 + 1 + 32 + 32 = 80 bytes. The leaves form the tree of RFC 9162 Section 2.1 [31], whose interior nodes are
MTH(L0) = L0 , MTH(L0..N−1) = node( MTH(L0..k−1) , MTH(Lk..N−1) ) , k = the largest power of two below N
an evaluation of H on exactly 65 bytes.
The commitment is
an evaluation of H on exactly 1 + 14 + 32 + 32 + 32 + 8 + 8 + 32 = 159 bytes. The three roles are separated by their first byte and by their lengths, a property used in Lemma 1. The construction follows the hash tree of Merkle [18] and the linking idea of Haber and Stornetta [19], with the domain separation of RFC 9162 and an explicit binding of size and context.
5.3 Anchoring
K is split into two 16 byte halves (hi, lo) and submitted from S in a call to the official contract C,
emit Stamped(caller, hi, lo, kind) event selector 5a110849 , data = S ‖ K ‖ u64(k)
The call data has fixed length, consisting of the 4 byte selector, 120 bytes of host context, the 32 byte commitment and the 8 byte kind. The event data has 72 bytes. Because the contract keeps no state, any number of stamps of any commitment may coexist, and no stamp can prevent another from being recorded.
5.4 Receipt
Each record receives its own receipt, the tuple
with fmt = qstamp-receipt/1, the chain name id and genesis G, the contract C, the kind k as a decimal string, the digest algorithm, digest and salt, the position, batch size and inclusion path, the tree root, and the anchoring transaction, block height h, block identifier B, block time t in seconds since 1970 and signer S. A receipt contains no part of the record. It does contain the digest and the salt, which matters for Section 6.5.
5.5 Algorithms
- Input signing key skS, records r0, …, rN−1, kind k < 264
- require 1 ≤ N ≤ 220
- for i ← 0 to N − 1
- di ← Dalg(ri)
- si ←$ {0,1}256, require si ≠ 0256 and si ∉ {s0, …, si−1}
- Li ← H(0x00 ‖ "QSTAMP/LEAF/V1" ‖ alg ‖ di ‖ si)
- (root, π0, …, πN−1) ← MTH(L0, …, LN−1) with audit paths
- S ← addr(pkS), require the endpoint serves the chain (id, G)
- K ← H(0x02 ‖ "QSTAMP/ROOT/V1" ‖ G ‖ C ‖ S ‖ u64(k) ‖ u64(N) ‖ root)
- tx ← ML DSA.Sign(skS, call(C, 6ae4cf77, K, k, meter, maxFee)), submit tx, erase the seed copy
- persist pending = (C, k, S, tx, K, (alg, di, si)i) through onPending
- wait until tx is final, else return pending for later completion
- require tx.from = S, tx.to = C, block h holds event 5a110849 from C with data S ‖ K ‖ u64(k)
- read block identifier B and block time t at height h
- return ρi = (fmt, (id, G), C, k, (alg, di, si), (i, N, πi), root, (tx, h, B, t, S)) for every i
- Input receipt ρ, record r or digest d*, endpoints E1, …, Ee
- format ρ parses with exactly the required fields and ranges, else return invalid
- contract C equals the official contract of (id, G), or a contract the caller explicitly trusts
- content d* ← Dalg(r), check d* = d, and fail if no record or digest is supplied
- inclusion L ← H(0x00 ‖ "QSTAMP/LEAF/V1" ‖ alg ‖ d ‖ s), check RootFromPath(L, i, N, π) = root
- K ← H(0x02 ‖ "QSTAMP/ROOT/V1" ‖ G ‖ C ‖ S ‖ u64(k) ‖ u64(N) ‖ root)
- for each endpoint Ej
- chain Ej serves chain id with genesis G, else skip its remaining checks
- transaction tx is final at height h in block B, from S, to C, a call whose data carries K ‖ u64(k)
- event block h holds an event of C with selector 5a110849 and data S ‖ K ‖ u64(k)
- block block h has identifier B and time t
- if every check passed return valid
- if every failed check is a transport failure return indeterminate
- return invalid
- Input leaf L, index i, size N, path π
- if not (0 ≤ i < N ≤ 220) or |π| > 20 return ⊥
- fn ← i ; sn ← N − 1 ; x ← L
- for each p in π
- if sn = 0 return ⊥
- if fn is odd or fn = sn
- x ← H(0x01 ‖ p ‖ x)
- while fn is even and fn ≠ 0 do fn ← fn/2 ; sn ← ⌊sn/2⌋
- else x ← H(0x01 ‖ x ‖ p)
- fn ← ⌊fn/2⌋ ; sn ← ⌊sn/2⌋
- if sn ≠ 0 return ⊥
- return x
Verification returns one of three outcomes. Valid means that every check passed. Invalid means that at least one substantive check failed, including the case in which no record or digest was supplied. Indeterminate means that every failed check was a transport failure, such as an unreachable endpoint or a truncated event list. Indeterminate is never reported as valid. The checks are named format, contract, content, inclusion, chain, transaction, event and block, eight in all.
For every 0 ≤ i < N the audit path of leaf i satisfies
since the RFC 9162 split places every leaf at depth at most ⌈log2N⌉. A receipt therefore carries at most twenty 32 byte path hashes, 640 bytes in all, and one stamp of fee F serves N records at an amortised cost of F / N each.
Install the SDK
The SI company adds the open source Qstamp SDK to the service that runs its agents. It has one dependency, QCore, for post quantum signing.
$ npm install @quantovainc/qstamp added 2 packages $ npx @quantovainc/qstamp --version 0.1.4
Create the signing account
A signing key is created on the operator's own server or hardware security module. Its account is funded and registered once on the Quantova network.
$ openssl rand -hex 32 > signer.key && chmod 600 signer.key $ node account.js address Q1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X status registered, ready to stamp
Choose or deploy the contract
The company stamps through the official Qstamp contract, or deploys its own issuer contract from the Quanta templates. Its own contract is compiled in QIDE at qdock.io by the attested Quanta compiler and deployed with the QMask wallet.
Register the model
When a model is approved for use, its passport is stamped with the record kind ai_model. Every later decision can then be linked to the exact model that made it.
{
"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"
}Connect the agent runtime
The agent runtime writes every tool call and decision as a canonical record, keeps it in the company's own log and anchors the batch every minute. The receipts are stored beside the actions.
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);The agent acts
A credit decision agent at a bank approves a loan. Its action is written as a canonical JSON record with the agent, model, policy, tool, decision and time.
{
"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"
}The SDK fingerprints it
On the operator's own systems, the SDK computes the SHA3 256 bit fingerprint of the record. The record itself never leaves the bank.
$ npx @quantovainc/qstamp hash action-04.json action-04.json
Salted and batched
The fingerprint is bound to a fresh random salt and placed in a hash tree with the other actions of the batch. Six actions share one tree root.
One commitment
The root is bound to the chain, the official contract, the signing account, the record kind and the batch size. The result is one 32 byte commitment.
Signed with ML DSA 65
The SDK sends one transaction that calls the Qstamp Quanta contract on the Quantova Virtual Machine. It is signed with ML DSA 65, a post quantum signature.
Final on chain
Validators finalise the block with post quantum signatures. The contract records the commitment in a Stamped event. The stamp became final in under one second.
Visible on the explorer
Anyone can open the transaction on QVMScan, the public Quantova explorer, and read the commitment, the signer, the record kind and the block.
A court asks what the agent did
The bank produces the record and its receipt. The verifier recomputes the fingerprint, the tree root and the commitment, and finds the same commitment on chain. Changing a single digit makes the check fail.
$ 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
6. Security analysis
6.1 The evidence forgery game
The game ForgeA(λ) runs as follows.
- Setup. The chain is created with genesis G, official contract C and a committee satisfying T3 and T4. The challenger generates (pkS, skS) and gives A all public parameters, including pkS.
- Honest phase. Until time t* A adaptively submits batches (r0, …, rN−1) and kinds k. The challenger stamps each with Algorithm 1 under skS, returns the receipts and records every tuple (tx, i, N, k, ri) in a list 𝓛. A may also send arbitrary transactions from accounts of its own.
- Corruption. At t* A receives skS. All blocks finalised afterwards have time greater than t*.
- Output. A outputs a record r′ and a receipt ρ′.
A wins if Verify(ρ′, r′) = valid, ρ′ names the signer S and a block time t ≤ t*, and (tx, i, N, k, r′) ∉ 𝓛 for the values tx, i, N and k named in ρ′. Writing r for the record actually committed at that position, A has output r′ ≠ r with a receipt that verifies. Advforge(A) = Pr[A wins].
The game captures the insider who rewrites history after the fact, since A obtains skS and still must attach r′ to an anchor from before t*. It captures the outsider who substitutes content, and the third party who attempts to frame S with a record S never stamped. A fresh stamp of r′ after t* is not a forgery, since its receipt states a later time.
6.2 Domain separation
Let encleaf, encnode and encroot be the byte strings hashed in (16), (17) and (18). Each map is injective on its domain, since every field has fixed length and position. The images are pairwise disjoint, since they begin with 0x00, 0x01 and 0x02 respectively. Hence two hash evaluations of the construction with equal outputs and different inputs constitute a collision of H on distinct strings, whatever roles the two evaluations play.
Without the role prefixes an interior node could be presented as a leaf, the classical second preimage ambiguity of unprefixed Merkle trees that RFC 9162 removes [31]. Without u64(N) a root would not determine the shape of its tree, and one path could verify under several sizes.
6.3 Main theorem
Assume alg = 1 and T5. For every adversary A in Forge there are adversaries B1, B2, B3 and B4, each running in time close to that of A, such that
where q = 1 + |𝒱| is the number of ML DSA 65 public keys on which verification relies, namely pkS and the committee keys. The reductions are straight line and do not rewind A, so the bound holds for quantum A with the quantum advantages of B1 to B4.
Proof sketch. Let A win with output (r′, ρ′), where ρ′ names alg′, d′, s′, position i, size N′, path π′, root′, kind k′, transaction tx, height h, time t ≤ t* and signer S. Validity of all eight checks gives the following facts. G and C are the official values. D(r′) = d′. RootFromPath(L′, i, N′, π′) = root′ with L′ the leaf of (alg′, d′, s′). Under T5 the finalised block at height h contains tx from S to C and an event of C with data S ‖ K′ ‖ u64(k′), where K′ = Commit(G, C, S, k′, N′, root′). We partition the winning event.
- Consensus failure. The block reported at height h is not the unique finalised block at that height. This contradicts T3 except with probability Advconsensus, after excluding forged committee signatures, which fall under the next case.
- Signature forgery. The canonical block at height h carries a transaction from S that the challenger did not sign before t*, or a committee signature that no honest member produced. Before t* the honest stamps are exactly the signing queries, so B3 guesses which of the q keys is forged, embeds its challenge key there and outputs the forgery. This costs at most q · AdvEUF-CMA.
- Honest anchor. Otherwise the event was emitted by an honest stamp with batch (r0, …, rN−1), salts si, kind k and commitment K, since every transaction from S before t* is honest and the event data names S. Event matching gives K′ = K and k′ = k. By Lemma 1 either (N′, root′) = (N, root) or B1 or B2 outputs a collision of two 159 byte strings.
- Same tree. With equal size and root, Algorithm 3 recomputes root from L′ along a path whose shape depends only on (i, N). Walk from the root towards the leaf. At the first level at which the honest and the presented node inputs differ, both inputs hash to the same output, which by Lemma 1 is a collision of two 65 byte strings. If no level differs then L′ = Li.
- Same leaf. By Lemma 1 either (alg′, d′, s′) = (alg, di, si) or the two 80 byte inputs collide.
- Same digest. Then D(r′) = di = D(ri) with r′ ≠ ri, since A wins, which is a collision of D = SHA3 256.
It remains to attribute each collision found in cases 3 to 6 to B1 or B2. If the honest input of the colliding pair is a function of values chosen by A alone, as when A chose the batch and the colliding input contains no fresh salt, the pair is a collision and is output by B1. If the honest input contains a value not chosen by A, namely a salt si or a record supplied by an honest party, then the honest input is a target fixed before A searches, and A has found a second input with the same image. This is a second preimage in the sense of Rogaway and Shrimpton for targets drawn from the honest distribution [17], and is output by B2. The two attributions are disjoint, so a union bound over cases 1 to 6 gives (22). ∎
For alg = 2 the digest step of case 6 relies on SHA 256 and the bound gains the corresponding SHA 256 terms. Binding requires only T1 to T3 in the standard model. Hiding in Section 6.5 uses the random oracle model [15, 16].
6.4 Binding of context, replay and front running
If (G, C, S, k, N, root) ≠ (G′, C′, S′, k′, N′, root′) and the two commitments are equal, then H has a collision.
This follows from Lemma 1, and it has five consequences. A commitment anchored on one chain does not verify against another, because G differs, and a relaunched network with a new genesis cannot verify old receipts. A receipt does not verify against a different contract, because C differs. A front runner F that copies K from a pending transaction and submits stamp(K, k) from its own account obtains an event naming F, and a receipt naming F verifies only if K = Commit(G, C, F, k, N, root), a collision. Because the open contract is stateless, the copy does not prevent the original transaction of S from being recorded, so front running neither steals nor blocks a stamp. The declared kind cannot be relabelled after anchoring. The batch size is fixed, which removes the size ambiguity of bare RFC 9162 roots.
6.5 Hiding
Model H as a random oracle. Consider an adversary that sees K and all public chain data but no receipt for position i, and wishes to confirm a guess r̂ for ri. The view depends on ri only through H evaluated on an input containing the uniform salt si. Each oracle query therefore confirms the guess with probability at most 2−256, and Q classical queries succeed with probability at most Q · 2−256. A quantum adversary with Q quantum queries succeeds with probability O(Q2 · 2−256), so about 2128 queries are needed, which is optimal by [4].
The caveat is essential. A receipt holder knows si and di. Since di = D(ri) is unsalted, a receipt holder can test a guess for a low entropy record, such as an amount or a short code, with one hash evaluation. Receipts must therefore be protected like the records they describe. Hiding protects content against observers of the chain, not against holders of receipts.
6.6 Concrete bounds
| Attack | Required break | Classical work | Quantum work |
|---|---|---|---|
| Content substitution under an honest receipt | SHA3 256 second preimage | 2256 | 2128 by Grover [3, 4] |
| One digest, leaf, node or commitment for two inputs chosen by the stamper | SHA3 256 collision | 2128 | 285 queries in the BHT model with 285 quantum accessible memory [5], about 2128 under the realistic cost model [7] |
| Forge an anchoring transaction from S | ML DSA 65 EUF-CMA | NIST category 3 | NIST category 3 [24] |
| Forge a finality certificate | ML DSA 65 EUF-CMA for a committee key, or a violation of T3 | NIST category 3 | NIST category 3 |
| Confirm a guessed record from the public commitment | Search over the 256 bit salt | 2256 | 2128 by Grover |
| Rewrite or revert a finalised block | Consensus safety | Assumption T3 | Assumption T3 |
NIST category 3 means that breaking the scheme requires resources comparable to or greater than key search on a block cipher with a 192 bit key [24]. FIPS 202 states a collision resistance of 128 bits and a preimage and second preimage resistance of 256 bits for SHA3 256 against classical attack [22].
6.7 Liveness, indeterminacy and the trusted endpoint
Stamping liveness. A stamp completes when the committee finalises its transaction. If finality is not observed within the timeout, Algorithm 1 returns the persisted pending batch, which holds the salts, the commitment and the transaction identifier. The receipts are completed later from that batch without a second payment. An error raised while the transaction was being submitted also carries the pending batch, so salts are never lost to a network failure.
Let the network adversary delay, drop or truncate endpoint responses but not alter their content. Then Verify returns valid only if all eight checks pass on content that was received, and otherwise returns indeterminate or invalid. A network adversary can deny a verdict but cannot cause a false verdict of valid.
The trusted endpoint of release 0.1. Checks 1 to 4 run on the verifier's machine and depend on no outside party. The chain, transaction, event and block checks are answered by RPC endpoints, so T5 is required. An endpoint operated dishonestly could report an anchor that does not exist. Release 0.1 mitigates this by defaulting to the official endpoint, by checking that every endpoint serves the chain named in the receipt, by requiring every consulted endpoint to agree, and by reporting which endpoints were consulted. Without T5, (22) gains a term Advendpoint equal to the probability that every consulted endpoint lies consistently. T5 also covers the channel to each endpoint. Responses travel over TLS, which is transport security outside the Quantova protocol and may use classical key exchange and certificates, so an adversary able to impersonate an endpoint at the transport layer is counted in the same term.
Planned offline finality proofs. A forthcoming release will carry in each receipt the block header of height h, the finality certificate of the committee and an inclusion proof of the Stamped event against the event root of the header. Verification then needs only the receipt, the record and the published validator set. The endpoint term disappears and the chain checks reduce to ML DSA 65 verification under T2 and T3, so (22) holds without T5.
7. Application to autonomous agents and superintelligence agents
7.1 Canonical action records
An action a of an agent is evidence only through a byte encoding canon(a), and the digest is d = D(canon(a)). The encoding must be fixed and versioned by the operator, since two serialisations of the same content give different digests. A change of serialisation produces a false invalid verdict, never a false valid one. A canonical JSON form with lexicographically sorted keys and no insignificant whitespace, such as the scheme of RFC 8785 [32], meets this need. The SDK hashes exactly the bytes it is given and does not impose a serialisation. A useful action record names the agent, the operator, the model and its version, the policy in force, the tool invoked, the inputs relied on, the decision or output, whether a human reviewed it and the time asserted by the agent.
7.2 Batching
An operator collects actions over a window Δ, or up to a count, and stamps them as one batch. An action taken at time τ then has an anchor whose block was finalised no later than τ + Δ + tfin, where tfin is the stamping latency. The cost per action is fee / N. Material actions, such as payments above a threshold, can be stamped individually before or after execution so that the record is final before the action completes. The onPending hook lets the operator persist each submitted batch before waiting for finality.
7.3 Record kinds
| Kind | Name | Typical content |
|---|---|---|
| 0 | record | Policies, mandates, evaluation results and general records |
| 4 | ai_model | Digests of released model artefacts, forming a model passport |
| 5 | ai_dataset | Training and evaluation data manifests fixed at collection |
| 6 | ai_agent_action | Canonical records of tool calls, decisions and transfers |
| 7 | ai_output | Generated content with its provenance labels |
The kind is a 64 bit value bound into K and emitted in the event. It states what S declared the batch to contain. It is not a verified classification of the content.
7.4 Model passports
A model passport is a pattern of use, not a separate mechanism. At release the operator stamps, with kind ai_model, a record that lists the digests of the model artefacts, the digest of the dataset manifest stamped with kind ai_dataset, and the digests of the evaluation reports. Each later action record names the model version and the digest of its passport, so the receipt for an action leads to the receipt that fixed the model on which the action depended.
7.5 What a receipt proves and what it does not
Let Verify(ρ, r) = valid under T1 to T5. Then, except with the probability bounded in Theorem 1, the following hold.
- Integrity. r is bit for bit the record committed at position i of a batch of size N.
- Existence no later than t. The digest of r was fixed by the controller of S no later than the real time τh at which block h was finalised. The block time t is the proposer's statement of that moment in whole seconds. It satisfies (14), so it never decreases from block to block and it runs at most 15 seconds ahead of honest clocks.
- Signer. The anchoring transaction was authorised by the ML DSA 65 key of address S.
- Kind. S declared the batch to be of kind k.
A valid receipt does not prove any of the following.
- That the content of r is true, accurate or complete.
- That the action recorded was lawful, authorised or in accordance with policy.
- The identity of a natural or legal person. S is a chain address, and linking it to an organisation is a separate attestation.
- An earliest time of existence, or the correctness of any time asserted inside r.
- That no other actions occurred. Inclusion is proven, and completeness is not. Operators who need completeness should number records consecutively and include the previous commitment in each batch, so that gaps become detectable.
- Qualified status. A receipt is not a qualified electronic time stamp within the meaning of eIDAS unless it is issued by a qualified trust service provider [36].
8. Evidentiary procedure for a court order
Suppose a court or a regulator orders an SI company to show what its agent did in a given matter. The procedure below requires nothing from the company beyond production of documents, and nothing from the verifier beyond public parameters and computation.
- Production. The company produces the record r and its receipt ρ. The order may also require the canonicalisation rule used for records of that type.
- Recomputation. The verifier recomputes d = H(r), the leaf L from (alg, d, s), the root from (L, i, N, π) with Algorithm 3, and K from (G, C, S, k, N, root). This step needs no network access and can be performed with the SDK, with the command qstamp verify, or with an independent implementation of Section 5.
- Anchor. Using the public chain, through one or more independent RPC endpoints and in the explorer, the verifier checks that the transaction named in ρ was sent by S to the official contract C and that block h contains the Stamped event of C with data S ‖ K ‖ u64(k). The explorer is a view of chain data that lets a non technical reader confirm the same facts. It is not a separate trust anchor.
- Finality. The verifier checks that the transaction is final and that the block at height h has identifier B and time t.
- Result. If every check passes, the result is valid, and Proposition 5 states what has been established. If a substantive check fails, the result is invalid, and the failed check identifies which link does not hold. If the network could not be consulted, the result is indeterminate and the procedure is repeated.
8.1 Worked example from the Quantova test network
This example was produced on the Quantova Virtual Machine. Test network receipts carry no evidential weight. The record is fictitious and Example Bank plc is a placeholder name, not a real institution.
A credit decision agent produced the following record, serialised as canonical JSON with sorted keys and no insignificant whitespace.
The record was stamped in a batch of six records. The values below are taken from that run.
| Quantity | Value |
|---|---|
| Chain | Q-test-net-1 |
| Genesis G | ca91e093bb8de33e90db52d7c89876597d14760703793ea7211929e73e613062 |
| Record bytes | 344 bytes of UTF 8, canonical JSON with sorted keys |
| Fingerprint d = SHA3 256(r) | efb393903da28c2a6221179be662a2bbe2be06dfbd1acdee26bb057b6d2fb11f |
| Batch size N | 6 |
| Batch root | 34f64b12e5b363f1add6c48c0f85ebd60e4c2d421e5559f5d7b88717db205c54 |
| Transaction | QTX1V53JW528S64SZYD6EDZ563N0PUUA2ARGNQHV4LTJMNH24PQS5VPQTAH8RQ |
| Block height h | 2011753 |
| Block time t | 2026-10-09T09:39:25Z, that is 1791538765 seconds since 1970 |
| Signer S | Q1NUR6ETECQXEVE77TJ9YPZ6WAWYMT45WCJANV5J43X93SF79DWE0S0D572X |
| Contract C | Q1D6TZFRL203P3DFAFVUPZUHGUCM4EWGH6063XNS42VA5235RNQWXS7FXEWX |
| Kind | 6, ai_agent_action |
The anchoring transaction can be inspected at https://qvmscan.io/tx/QTX1V53JW528S64SZYD6EDZ563N0PUUA2ARGNQHV4LTJMNH24PQS5VPQTAH8RQ.
Verification of the receipt against the record returned valid, with all eight checks passing.
| Check | Meaning | Outcome |
|---|---|---|
| format | The receipt parses with exactly the required fields | pass |
| contract | The receipt names the official contract of Q-test-net-1 | pass |
| content | SHA3 256 of the record equals the receipt digest | pass |
| inclusion | The path leads from the leaf to the batch root | pass |
| chain | The endpoint serves Q-test-net-1 with the stated genesis | pass |
| transaction | The transaction is final, from the signer, to the contract, and carries K | pass |
| event | The contract emitted Stamped with signer, commitment and kind | pass |
| block | The block identifier and time match the receipt | pass |
The amount in the record was then changed by 1000 and the verification repeated with the same receipt. The content check failed and the result was invalid. The other checks are unaffected by the change, which is the intended behaviour, since the verdict names the exact link that broke. For illustration, replacing 125000 by 126000 gives the digest
Two features of the example deserve comment. First, the time field inside the record, 09:39:25.132, is an assertion of the agent and is not certified. The block time is a whole second, 09:39:25, and agrees with the record at that resolution. Second, the time measured from submission to observed finality was about 0.7 seconds, which includes the polling interval of the SDK.
9. Regulatory mapping
The table relates each obligation to the formal property that Qstamp provides and to the limits of that property. The paraphrases are summaries for orientation and do not replace the legal texts [35, 36, 37, 38, 39, 40, 41, 27]. No law cited requires Qstamp. Each requires properties of records, and Qstamp provides some of them.
| Obligation | Legal text, paraphrased | Formal property provided | Limits |
|---|---|---|---|
| EU AI Act, Article 12 | High risk AI systems shall technically allow the automatic recording of events over their lifetime, to ensure traceability appropriate to the intended purpose. | Integrity and existence time of each logged event or batch (Proposition 5, items 1 and 2), verifiable by any party holding the record and receipt. | Qstamp does not generate logs or decide what is logged. The Act does not prescribe a cryptographic mechanism. |
| EU AI Act, Article 19 and Article 26(6) | Providers and deployers keep the automatically generated logs under their control for a period appropriate to the intended purpose, of at least six months unless other law provides otherwise. | Intε, 𝒜 for the whole period, including after tq, for quantum 𝒜. | Retention (Ret) remains the custodian's obligation. Records and receipts must both be kept. |
| eIDAS 2, Articles 45h and 45i, and Article 41 | An electronic ledger is not denied legal effect or admissibility solely because it is electronic or not qualified. Qualified electronic ledgers, operated by qualified trust service providers, enjoy a presumption of integrity, accurate date and time and chronological ordering. Qualified time stamps enjoy a presumption of accurate time and integrity. | Detectability of change and an ordered, independently witnessed time reference as technical facts. | Qstamp is not a qualified electronic ledger or a qualified time stamp, and Quantova Inc is not a qualified trust service provider. No legal presumption arises from Qstamp alone. |
| SEC Rule 17a 4(f)(2) | Electronic records are preserved with a complete time stamped audit trail of modifications and deletions, or exclusively in a non rewriteable, non erasable format. | Anchoring the entries of the audit trail makes later alteration of the trail detectable and bounds when each entry existed. | Qstamp is not a recordkeeping system and stores no records. The other conditions of the rule remain. |
| UK GDPR, Article 5(1)(f) | Personal data are processed with appropriate security, including protection against unauthorised or unlawful processing and against accidental loss, destruction or damage. | Integrity evidence without disclosure. Only salted commitments leave the operator (Proposition 3). | Integrity evidence is one measure among those required. Receipts contain digests of personal data and require protection. The status of commitments is for the controller's own assessment. |
| Japan, Electronic Books Maintenance Act | Electronic records are kept with measures that ensure authenticity, such as time stamps or systems that record or prevent corrections and deletions. | Detection of any correction made after anchoring, with an existence time bound. | Receipts are not time stamps of an accredited provider under the Japanese scheme. |
| Korea, Personal Information Protection Act, Article 29 | Handlers take safety measures, which under the implementing standards include keeping access records for a prescribed period and protecting them against forgery and alteration. | Tamper evident access records that a regulator can verify independently. | Retention periods, access control and the other safety measures remain with the handler. |
| Hong Kong, Personal Data (Privacy) Ordinance, Data Protection Principle 4 | Data users take all practicable steps to ensure that personal data are protected against unauthorised or accidental access, processing, erasure, loss or use. | Integrity evidence without disclosure. Only salted commitments leave the operator (Proposition 3). | Integrity evidence is one practicable step among those required. Retention limits under Data Protection Principle 2 remain with the data user. |
| NIST IR 8547, initial public draft | Quantum vulnerable public key algorithms are proposed for deprecation after 2030 at the 112 bit level and for disallowance after 2035. | Every signature on which a receipt depends is ML DSA 65 under FIPS 204, and every hash is SHA3 256 under FIPS 202. | Draft guidance addressed to United States federal systems. |
| Executive Order 14412 | Directs United States federal systems to adopt post quantum key establishment and digital signatures by fixed deadlines. | Post quantum signatures on every account, transaction and finality certificate since genesis. | Addressed to federal systems. It does not require Qstamp. |
Each organisation remains responsible for meeting the full requirements of the laws that apply to it, and should take its own legal advice.
10. What distinguishes this construction
We argue that durable evidence for agents requires four properties together, and that a classical chain cannot acquire the first of them for its existing history by migration alone.
- R1. Post quantum authentication of the whole history. Every signature on which an anchor depends, from the submitting account to finality, is post quantum, back to genesis, and the protocol accepts no classical signature that could establish a competing fact.
- R2. Independent witness. The anchor is fixed by a committee independent of the custodian, not by the custodian or by one authority.
- R3. Attested code. The code that records an anchor is provably the reviewed code, and it cannot be replaced at the same address.
- R4. Programmable authority. Institutional policies, such as authorised issuers, multi party approval and revocation, execute under post quantum authentication.
Let a ledger authenticate transactions and finality with classical signatures up to a migration height hm. Consider an anchor at height h < hm and a verifier at time T ≥ tq that learns history from signatures. Unless the history up to h was committed into a post quantum authenticated structure before tq, an adversary running Proposition 1 on the relevant keys produces an alternative history up to h whose signatures verify, and the verifier cannot distinguish it from the canonical one.
The condition in Proposition 6 describes a real remedy, which should be stated fairly. Evidence can be preserved by renewal, in which old evidence is committed under stronger primitives before the old ones fail, as in the renewal of Haber and Stornetta [19] and the Evidence Record Syntax of RFC 4998 [34]. Renewal must happen before tq, must itself be verifiable, and protects only what was renewed. A network that is post quantum from genesis has nothing to renew for its own history. That is the sense in which retrofitting a classical chain leaves its earlier history forgeable unless it is renewed in time.
A post quantum time stamp authority satisfies R1 but rests on one authority and offers no programmable policy. A ledger without attested code satisfies R2 and R4, but a verifier must audit the bytecode at the contract address independently. The table summarises typical deployments of each category as of 2026. It describes categories, not named products.
| Category | R1 history post quantum | R2 independent witness | R3 attested code | R4 programmable authority |
|---|---|---|---|---|
| Ledger with classical signatures | No | Yes | Usually no | Yes |
| Ledger migrated to post quantum keys | Only after migration | Yes | Usually no | Yes |
| Classical time stamp authority [33] | No | No, one authority | Not applicable | No |
| Post quantum time stamp authority | Yes | No, one authority | Not applicable | No |
| Quantova with Qstamp | Yes, since genesis | Yes, committee | Yes, attested compiler | Yes, Quanta |
To our knowledge, few production networks combined R1 to R4 from genesis at the date of this paper. We do not claim that the combination is exclusive to Quantova, and the argument of this section depends only on the properties, not on the identity of any network.
11. Economics and performance
By (15) the fee of a stamp depends only on the meter consumed by the fixed length call, so one stamp costs 0.005 TQTOV, 5000 quon, on the test network for any N. The amortised cost per record is
| Batch size N | Quon per record | Path length ⌈log2N⌉ | Path bytes |
|---|---|---|---|
| 1 | 5000 | 0 | 0 |
| 6 | ≈ 833.3 | 3 | 96 |
| 1024 | ≈ 4.88 | 10 | 320 |
| 1 048 576 | ≈ 0.0048 | 20 | 640 |
On chain each stamp adds 164 bytes of call data and a 72 byte event, independent of N. Local verification costs one digest of the record and at most ⌈log2N⌉ + 2 further SHA3 256 evaluations on inputs of fixed length. Chain verification costs four queries per endpoint, for chain identity, transaction, events and block.
In the test network run that produced the example of Section 8, the time from submission of a stamp to observed finality was about 0.7 seconds, against a chain finality of about 0.2 seconds. The difference is attributable to submission and to the 400 millisecond polling interval with which the SDK observes finality. Four stamps cost 0.02 TQTOV in total, that is 0.005 TQTOV each. These figures are measurements on the test network and are not guarantees of main network performance or price.
12. Limitations and future work
- Offline finality proofs. Release 0.1 confirms chain facts through RPC endpoints and therefore relies on T5. Embedding the block header, the finality certificate and the event inclusion proof in each receipt, as described in Section 6.7, is planned and will remove that reliance.
- Per deployment domain in the templates. The issuer and council templates reject orders whose domain value differs from that of the deployment. The value is a 64 bit number chosen by the deployer, and its freshness is an operational obligation. A contract address depends only on the deploying account and its transaction count, so after a relaunch or on a fork a new deployment can receive the address of an earlier one, and only a fresh domain value then prevents orders signed for the earlier deployment from being accepted.
- Revocation is not yet checked by the SDK. The issuer template records the withdrawal of a commitment with a reason code, but Verify does not consult that state. A receipt for a withdrawn commitment still verifies as valid, and a verifier who relies on withdrawals must query the issuer contract separately.
- Third party audit. The SDK and the contracts were reviewed internally before publication. The contract templates are published as examples, and an independent audit by a qualified third party is required before any production deployment of them and recommended before reliance on the SDK in production.
- Time resolution. Block time has a resolution of one second, is bounded above by T4 and below only by the time of the parent block. Receipts establish existence no later than finality, not an earliest time.
- Completeness. A receipt proves inclusion, not completeness. Consecutive numbering and chaining of batches, as suggested in Section 7.5, are practices of the operator and are not enforced by the contract.
- Network status. All results in this paper concern the test network. Receipts produced there carry no evidential weight, and production use will take place on the Quantova main network once it launches.
13. Legal status of this paper
This paper is a technical specification and description of Qstamp provided by Quantova Inc for information. It does not by itself create any contractual obligation, warranty, representation or undertaking, and it is not legal, regulatory, tax or investment advice. Use of Qstamp, of the Qstamp SDK and of the Quanta contract templates is governed by the Terms of Use, by the licences under which the software is published and by any agreement signed with Quantova Inc, which prevail over this paper in case of conflict. Statements about laws and regulations are summaries for orientation. Statements about future features describe present intentions and may change.
Small print. Every statement in this paper that Quantova or Qstamp is post quantum, or does not rely on classical signatures, concerns the Quantova protocol, meaning the signatures on accounts, transactions and finality certificates, the attestation of contract code, and consensus. It does not extend to transport security outside the protocol, such as the TLS connections, certificates and key exchange used by websites, the explorer, RPC gateways and other web hosting, which may use classical algorithms. In release 0.1 the chain checks of verification rely on the integrity of responses received from RPC endpoints, which are protected in transit by that transport security (assumption T5 and Section 6.7). Until receipts carry offline finality proofs, a verifier who requires post quantum assurance for those checks should obtain chain data over a channel it trusts or from several independently operated endpoints.
- Quantova Inc
- 1000 N. West Street, Suite 1501, Wilmington, Delaware 19801, United States. Owner of the Qstamp and Quantova technology and of the Qstamp and Quantova trademarks.
- Quanto Organisation Pte. Ltd.
- UEN 202544180C, 138 Robinson Road, #24-01, Oxley Tower, Singapore 068906. Research entity.
© 2026 Quantova Inc. Qstamp and Quantova are trademarks of Quantova Inc.
14. References
- [1]P. W. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science (FOCS), IEEE, 1994, pp. 124 to 134.
- [2]P. W. Shor. Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Journal on Computing 26(5), 1997, pp. 1484 to 1509.
- [3]L. K. Grover. A fast quantum mechanical algorithm for database search. In Proceedings of the 28th Annual ACM Symposium on Theory of Computing (STOC), 1996, pp. 212 to 219.
- [4]C. H. Bennett, E. Bernstein, G. Brassard and U. Vazirani. Strengths and weaknesses of quantum computing. SIAM Journal on Computing 26(5), 1997, pp. 1510 to 1523.
- [5]G. Brassard, P. Høyer and A. Tapp. Quantum cryptanalysis of hash and claw-free functions. In LATIN '98: Theoretical Informatics, Lecture Notes in Computer Science 1380, Springer, 1998, pp. 163 to 169.
- [6]S. Aaronson and Y. Shi. Quantum lower bounds for the collision and the element distinctness problems. Journal of the ACM 51(4), 2004, pp. 595 to 605.
- [7]D. J. Bernstein. Cost analysis of hash collisions. Will quantum computers make SHARCS obsolete? In Workshop Record of SHARCS 2009, Special-purpose Hardware for Attacking Cryptographic Systems, 2009.
- [8]M. Roetteler, M. Naehrig, K. M. Svore and K. Lauter. Quantum resource estimates for computing elliptic curve discrete logarithms. In Advances in Cryptology, ASIACRYPT 2017, Lecture Notes in Computer Science 10625, Springer, 2017, pp. 241 to 270.
- [9]J. Proos and C. Zalka. Shor's discrete logarithm quantum algorithm for elliptic curves. Quantum Information and Computation 3(4), 2003, pp. 317 to 344.
- [10]C. Gidney and M. Ekerå. How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits. Quantum 5, 433, 2021. First circulated as arXiv:1905.09749, 2019.
- [11]C. Gidney. How to factor 2048 bit RSA integers with less than a million noisy qubits. arXiv:2505.15917, 2025.
- [12]M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2000.
- [13]M. Mosca. Cybersecurity in an era with quantum computers. Will we be ready? IEEE Security and Privacy 16(5), 2018, pp. 38 to 41.
- [14]S. Goldwasser, S. Micali and R. L. Rivest. A digital signature scheme secure against adaptive chosen-message attacks. SIAM Journal on Computing 17(2), 1988, pp. 281 to 308.
- [15]M. Bellare and P. Rogaway. Random oracles are practical. A paradigm for designing efficient protocols. In Proceedings of the 1st ACM Conference on Computer and Communications Security (CCS), 1993, pp. 62 to 73.
- [16]D. Boneh, Ö. Dagdelen, M. Fischlin, A. Lehmann, C. Schaffner and M. Zhandry. Random oracles in a quantum world. In Advances in Cryptology, ASIACRYPT 2011, Lecture Notes in Computer Science 7073, Springer, 2011, pp. 41 to 69.
- [17]P. Rogaway and T. Shrimpton. Cryptographic hash-function basics. Definitions, implications, and separations for preimage resistance, second-preimage resistance, and collision resistance. In Fast Software Encryption, FSE 2004, Lecture Notes in Computer Science 3017, Springer, 2004, pp. 371 to 388.
- [18]R. C. Merkle. A digital signature based on a conventional encryption function. In Advances in Cryptology, CRYPTO '87, Lecture Notes in Computer Science 293, Springer, 1988, pp. 369 to 378.
- [19]S. Haber and W. S. Stornetta. How to time-stamp a digital document. Journal of Cryptology 3(2), 1991, pp. 99 to 111.
- [20]L. Ducas, E. Kiltz, T. Lepoint, V. Lyubashevsky, P. Schwabe, G. Seiler and D. Stehlé. CRYSTALS-Dilithium. A lattice-based digital signature scheme. IACR Transactions on Cryptographic Hardware and Embedded Systems 2018(1), pp. 238 to 268.
- [21]E. Kiltz, V. Lyubashevsky and C. Schaffner. A concrete treatment of Fiat-Shamir signatures in the quantum random-oracle model. In Advances in Cryptology, EUROCRYPT 2018, Lecture Notes in Computer Science 10822, Springer, 2018.
- [22]National Institute of Standards and Technology. SHA-3 Standard. Permutation-Based Hash and Extendable-Output Functions. FIPS PUB 202, August 2015.
- [23]National Institute of Standards and Technology. Secure Hash Standard (SHS). FIPS PUB 180-4, August 2015.
- [24]National Institute of Standards and Technology. Module-Lattice-Based Digital Signature Standard. FIPS 204, August 2024.
- [25]National Institute of Standards and Technology. Stateless Hash-Based Digital Signature Standard. FIPS 205, August 2024.
- [26]National Institute of Standards and Technology. Digital Signature Standard (DSS). FIPS 186-5, February 2023.
- [27]D. Moody, R. Perlner, A. Regenscheid, A. Robinson and D. Cooper. Transition to Post-Quantum Cryptography Standards. NIST Internal Report 8547, Initial Public Draft, National Institute of Standards and Technology, November 2024.
- [28]Executive Order 14412. Securing the Nation Against Advanced Cryptographic Attacks. The White House, Washington, signed 22 June 2026.
- [29]Certicom Research. SEC 2. Recommended Elliptic Curve Domain Parameters. Standards for Efficient Cryptography, Version 2.0, 2010.
- [30]S. Josefsson and I. Liusvaara. Edwards-Curve Digital Signature Algorithm (EdDSA). RFC 8032, Internet Engineering Task Force, January 2017.
- [31]B. Laurie, E. Messeri and R. Stradling. Certificate Transparency Version 2.0. RFC 9162, Internet Engineering Task Force, December 2021.
- [32]A. Rundgren, B. Jordan and S. Erdtman. JSON Canonicalization Scheme (JCS). RFC 8785, Internet Engineering Task Force, June 2020.
- [33]C. Adams, P. Cain, D. Pinkas and R. Zuccherato. Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP). RFC 3161, Internet Engineering Task Force, August 2001.
- [34]T. Gondrom, R. Brandner and U. Pordesch. Evidence Record Syntax (ERS). RFC 4998, Internet Engineering Task Force, August 2007.
- [35]Regulation (EU) 2024/1689 of the European Parliament and of the Council of 13 June 2024 laying down harmonised rules on artificial intelligence (Artificial Intelligence Act). Official Journal of the European Union, L series, 12 July 2024.
- [36]Regulation (EU) 2024/1183 of the European Parliament and of the Council of 11 April 2024 amending Regulation (EU) No 910/2014 as regards establishing the European Digital Identity Framework. Official Journal of the European Union, L series, 30 April 2024.
- [37]United States Securities and Exchange Commission. Rule 17a-4, Records to be preserved by certain exchange members, brokers and dealers. 17 CFR 240.17a-4.
- [38]Regulation (EU) 2016/679 as it forms part of the law of the United Kingdom (UK GDPR), Article 5(1)(f).
- [39]Japan. Act on Special Provisions concerning Preservation Methods for Books and Documents Related to National Tax Prepared by Means of Computers (Act No. 25 of 1998), and its Enforcement Regulation.
- [40]Republic of Korea. Personal Information Protection Act, Article 29, and the standards on safety measures for personal information issued under it by the Personal Information Protection Commission.
- [41]Hong Kong Special Administrative Region. Personal Data (Privacy) Ordinance (Cap. 486), Schedule 1, Data Protection Principle 4.