Stateless Execution
ZKAP is built around a fully stateless execution model, meaning the protocol does not store persistent user information, session data, identity records, or any form of long-term state. This design is essential for guaranteeing true anonymity, eliminating correlation risks, and enabling large-scale private interactions across chains.
This section explains why statelessness matters, how ZKAP achieves it, and what advantages it brings compared to traditional blockchain systems.
1. Why state is dangerous for privacy
In most blockchain systems and applications, state leaks information:
account balances
sequence numbers
nonces
persistent identities
session history
“last used address”
behavior patterns over time
Whenever a protocol keeps state about users, it creates opportunities for:
correlation attacks
identity reconstruction
behavior clustering
deanonymization
Even mixers or private pools leak metadata over time if they track participant state.
ZKAP avoids all of this by design.
2. What “stateless” means in ZKAP
ZKAP does not maintain:
no user accounts
no balances
no identity registry
no session logs
no address history
no action history
The protocol does not need these because:
identity is ephemeral
payload is encrypted
validity is enforced by ZK proofs
replay prevention uses nullifiers only
expiry ensures time-bounded correctness
The only state stored by the validator contract is a set of nullifiers.
3. The only stored state: nullifiers
A nullifier is a hash that prevents replay attacks.
The validator keeps:
nullifierUsed[nullifier] = true
This is the only long-term record.
A nullifier does not reveal:
identity
address
payload content
action type
amount
any metadata
It is purely a one-bit flag: “this action cannot be reused.”
This ensures replay safety without compromising anonymity.
4. Why ZKAP doesn’t need sessions
Other systems require sessions to maintain:
authentication
request ordering
state progression
signature validity
multi-step flows
ZKAP eliminates all of these requirements.
Each action is:
self-contained
proven valid independently
unlinkable from previous actions
does not rely on global user state
This allows each request to stand alone without needing a continuous session.
5. Statelessness enables horizontal scaling
Because ZKAP does not maintain user or session state:
any number of validators can verify frames
relayers do not need to track user context
multi-chain execution becomes simple
agents can interact across thousands of chains
every action is independent
Stateful systems slow down and break under many agents. ZKAP scales effortlessly because it does not track users at all.
6. No nonce, no sequence, no address history
In ZKAP:
there is no
noncetied to an addressthere is no global account sequence
there is no “account state” to refer to
Every request is valid or invalid based solely on the proof.
This dramatically simplifies both the protocol and application integration.
7. Benefits of stateless execution
Perfect unlinkability
No state = no way to correlate user actions.
High scalability
Stateless systems scale horizontally with no bottlenecks.
Multi-chain compatible
No shared state = instant compatibility across L1/L2/L3/app-chains.
Agent-friendly
Agents can execute unlimited actions without identity or key management.
Simpler integration
Applications don’t need to maintain user sessions or account state.
Strong privacy
Without stored state, long-term analysis becomes impossible.
8. Example: Stateless private swaps
A user performs:
swap A
swap B
swap C
In a normal blockchain, these swaps share:
the same address
the same nonce sequence
the same signature
predictable patterns
In ZKAP:
each swap has its own identity
each swap has no relation to another
no session exists
no on-chain traces link the actions
Each action is an isolated, anonymous request.
Last updated