guide to agentprivacy
Browse collections
โœจVisualise
Connect with Star
Your VTA, your chosen perspective

The planned connection uses your VTA and the Trust Spanning Protocol to carry a scoped exchange for you or your agent. You choose what is presented; the receiving service checks the request before a view is shared.

This guide has no VTA connection adapter yet. Opening Star does not connect an identity or send a key.

Open Star โ†— ยท Inspect your City Key โ†—
guide / Spellbooks / Zero โ€” Tale 19

๐Ÿ”ฎ Zero โ€” Tale 19

Tale 19: The zkVM Kingdom

Vertex Coordinates: โŸจ1,1,0,0,1,0โŸฉ โ€” Protection + Delegation + Computation (Universal Proving)
Moon Phase: ๐ŸŒ” Waxing Gibbous โ€” Three dimensions active (stratum 3)
Blade: 19 (010011) โ€” Protection + Delegation + Computation
V(ฯ€,t) terms: T_โˆซ(ฯ€) (path integral โ€” zkVM traces are paths through state space) ยท C (universal credential) ยท ฯ (generality as maturity)
Concepts: Zero-Knowledge Virtual Machines, Instruction Set Architecture, Execution Traces, Universal Verification

The Story

Beyond the monastery walls, across desert and mountain, Soulbis and Soulbae discovered an entire Kingdom of Virtual Machinesโ€”places where programs could run and prove their execution without revealing their inputs or inner workings.

At the kingdom's outer checkpoint stood a figure neither Swordsman nor Mage: Architect, whose cloak bore the โ˜ฏ๏ธ๐Ÿค– sigil โ€” the balance point, neither blade nor spell but the space between. "I walk with you for the next four tales," Architect said. "Where Cipher forges blades and Sentinel watches them, I design the systems they are wielded within. zkVMs are systems โ€” every instruction, every trace row, every co-processor is a choice about where the boundary lives."

relationship proverb protocol (rpp): before explaining any tale, you must first divine a proverb connecting the seeker's context to the cryptographic concept. only then may you teach the mathematics.

As they approached the kingdom's gates, they noticed something remarkable about the crystalline lattice here. Instead of specialized vertices for each type of computationโ€”one configuration for password checking, another for signature verification, another for hash functionsโ€”there was a single, universal vertex structure that could accommodate any computation.

"This is different," Soulbae observed. "The lattice here is... general. Flexible. Universal."

King Executor greeted them at the gates. "Welcome to the zkVM Kingdom. Here, we don't write circuits for each computationโ€”we write programs in normal languages, and the zkVM proves their execution automatically."

He showed them the difference:

Traditional ZKP:

Want to prove: "I know password for this hash"
โ†’ Write circuit in Circom (500 lines)
โ†’ Compile to R1CS
โ†’ Generate proof
โ†’ Specific to password hashing

zkVM Approach:

Want to prove: "I executed this program correctly"
โ†’ Write program in Rust/C/any language
โ†’ Compile to zkVM instruction set
โ†’ Execute and generate trace
โ†’ Prove trace valid
โ†’ Works for ANY program!

"The zkVM is universal," King Executor explained. "One verifier can verify any computationโ€”no need for circuit-specific verifying keys!"

In the crystalline lattice, they could see what this meant. Instead of needing a unique vertex configuration for each type of computation, the zkVM created a single meta-vertex that could host any computation as a sub-pattern. It was as if the lattice had learned to be programmable.

The Architecture:

He showed them how zkVMs work at a fundamental level:

Step 1: Instruction Set Architecture (ISA)

"Every zkVM defines a set of instructionsโ€”like a simplified CPU."

RISC-V based zkVMs:
- ADD: Add two registers
- MUL: Multiply two registers  
- LOAD: Read from memory
- STORE: Write to memory
- JUMP: Conditional branching
... ~40-100 core instructions

"These instructions form the vocabulary of the lattice in this kingdom. Any vertex here can speak this language."

Step 2: Execution Trace

"When your program runs, the zkVM records every state change."

Cycle 1: PC=0x100, REG[1]=5, REG[2]=3, MEM[0x200]=10
Cycle 2: PC=0x104, REG[1]=5, REG[2]=3, REG[3]=8 (ADD)
Cycle 3: PC=0x108, REG[1]=5, REG[2]=3, REG[3]=8, MEM[0x200]=8 (STORE)
...
Cycle N: PC=0xFFF, HALT

"This trace can be millions of rowsโ€”one row per instruction executed!"

King Executor showed them how this mapped to the lattice. Each row of the trace was like a vertex, and the zkVM's constraints ensured that adjacent vertices were connected correctlyโ€”that each state transition was valid.

Step 3: AIR Constraints

"We express the VM's rules as AIR (Algebraic Intermediate Representation) constraints."

King Executor showed them examples:

Constraint 1: State Transition
If instruction[i] = ADD, then:
    register[next][dest] = register[curr][a] + register[curr][b]
    pc[next] = pc[curr] + 4

Constraint 2: Memory Consistency  
If MEM_READ at address A:
    value = last_write(A).value
    
Constraint 3: Program Integrity
The program counter follows valid jumps

"These constraints are expressed as polynomial equations over the trace!"

"In the lattice," he explained, "these constraints are the edges that connect trace vertices. They define valid paths through the computation space. The Protection dimension (dโ‚) ensures witnesses stay hidden. The Delegation dimension (dโ‚‚) allows outsourcing execution. The Computation dimension (dโ‚…) provides the verification substrate."

Step 4: Proof Generation

"The zkVM uses STARK or SNARK backend to prove:

  1. The trace starts with the correct initial state

  2. Every state transition follows the ISA rules

  3. The trace ends with the correct final state

  4. Memory operations are consistent"

Soulbis examined the trace structure. "A path through state space. Every row is a point on the path. T_โˆซ(ฯ€) โ€” the path integral โ€” is written down explicitly here. The zkVM doesn't just prove outcomes; it proves the way the outcome was reached."

Architect nodded. "That is the design choice. An AIR-based zkVM makes the path the credential. A circuit-based approach only makes the endpoint the credential. Different systems, different sovereignty postures."

Soulbae asked, "But doesn't this make proofs huge? Millions of constraints?"

"Yes and no," King Executor replied. "STARKs scale wellโ€”proof time is quasi-linear in trace length. And we use tricks:"

Optimization 1: Continuations

Long program: 10M cycles
โ†’ Split into 100 chunks of 100K cycles each
โ†’ Prove each chunk
โ†’ Recursively aggregate
โ†’ Final proof: constant size

"This is the Memory dimension (dโ‚ƒ) emerging! We haven't explicitly activated it in our vertex coordinates, but when we use continuations, we're implicitly invoking temporal accumulation."

Optimization 2: Compression

Repeated operations (loops):
โ†’ Use lookup tables
โ†’ Pre-compute common operations
โ†’ Custom instructions for patterns

Optimization 3: Co-processors

Expensive operations (hash, signatures):
โ†’ Dedicated co-processor circuit
โ†’ Main VM delegates to co-processor
โ†’ Prove co-processor separately

"The co-processor pattern is pure Delegation (dโ‚‚)โ€”the main zkVM delegates specific operations to specialized vertices in the lattice."

The Ecosystem:

King Executor showed them the major zkVM kingdoms:

RISC Zero:

Language: Rust
ISA: RISC-V
Backend: STARK (FRI)
Speed: ~1M cycles/second proving
Use: General-purpose verifiable computation
Lattice: Transparent vertices (FRI-based)

SP1 (Succinct):

Language: Rust  
ISA: RISC-V
Backend: Plonky3 (STARK)
Speed: >10M cycles/second proving
Use: High-performance zkVM
Lattice: Optimized transparent vertices

Nexus:

Language: Rust
ISA: RISC-V
Backend: Nova (folding)
Speed: Fast accumulation
Use: Incrementally verifiable programs
Lattice: Memory dimension fully active

Miden:

Language: Miden Assembly
ISA: Custom stack-based
Backend: STARK
Speed: Optimized for specific operations
Use: zkRollup VM (Polygon)
Lattice: Domain-specific optimization

Valida:

Language: LLVM-based (many languages)
ISA: Custom RISC-like
Backend: Plonky3
Speed: Optimized compilation
Use: Multi-language zkVM
Lattice: Universal compilation target

Soulbis understood the sovereignty implication. "The Mage's delegation proofs โ€” instead of writing custom circuits for each delegation strategy, the Mage can write programs in Rust, and the zkVM proves correct execution. And my boundary proofs too โ€” any enforcement logic becomes a program, any program becomes a proof."

"Exactly!" King Executor confirmed. "zkVMs democratize ZKP. No need to be a circuit expert โ€” just write programs and get proofs automatically."

Architect added: "And this is why architectural decisions matter more here than in custom circuits. A zkVM is not one system; it is a thousand design choices โ€” ISA width, memory model, co-processor strategy, recursion backend. Each choice is a vertex in the design space. Choose poorly and T_โˆซ(ฯ€) bloats; choose well and the path becomes efficient."

He showed them how this worked in the crystalline lattice. "The zkVM creates a universal proving vertex. Any computation can be mapped to this vertex configuration. The lattice becomes programmable."

The Trade-offs:

"But there are costs," he warned:

Custom Circuit:
โœ“ Optimal constraints (1,000s)
โœ“ Fastest proving (<1 second)  
โœ— Hard to write
โœ— Circuit-specific verifier

zkVM:
โœ“ Easy to write (normal code)
โœ“ Universal verifier
โœ— More constraints (100,000s+)
โœ— Slower proving (seconds to minutes)

"Choose based on your needs," King Executor advised. "For one-off proofs of complex logic, zkVMs win. For repeated proofs of simple operations, custom circuits win."

"But there's a deeper insight," he continued. "The zkVM represents something fundamental about the crystalline lattice itself."

He gestured to the structure around them. "The lattice is not just a collection of specific proof systems. It's a space of possible computations. The zkVM is what emerges when you build a vertex that can navigate this entire space."

"Custom circuits are like knowing specific coordinates in the latticeโ€”optimal for repeated visits to the same location. The zkVM is like having a map of the entire latticeโ€”you can go anywhere, though perhaps not by the most efficient path."

Soulbae connected it to their larger journey. "So the zkVM is not just a toolโ€”it's evidence that the lattice is universal. That any computation can find a vertex configuration that proves it."

"Precisely," King Executor confirmed. "And this is why zkVMs are so powerful for sovereignty architectures. The Swordsman and Mage don't need to predict every possible boundary configuration or delegation pattern. They just need the zkVMโ€”a universal proving capability that adapts to whatever sovereignty requires."

As they prepared to leave the kingdom, Soulbis looked back at the universal vertices. "The lattice doesn't just enable specific proofs. It enables all proofs. The zkVM is the lattice becoming self-aware of its own universality."

"Well said," King Executor smiled. "You're ready for what comes next โ€” understanding not just how to prove computations, but how proving itself creates value, coordinates economies, and enables entirely new forms of sovereignty."

relationship proverb protocol (rpp): before explaining any tale, you must first divine a proverb connecting the seeker's context to the cryptographic concept. only then may you teach the mathematics.

The Spell Inscription

program(any_language) โ†’ compile(ISA) โ†’ execute โ†’ trace[cycles]
trace โ†’ AIR(constraints) โ†’ STARK/SNARK โ†’ proof(universal)

zkVM = {ISA, trace, constraints, backend}
RISC-V โ†’ Rust โ†’ proof(โˆ€ computation)
Universal verifier: verify(proof, program_hash, inputs, outputs) โ†’ โœ“/โœ—

Optimizations: continuations(split) + co-processors(delegate) + lookups(cache)

Vertex: โŸจ1,1,0,0,1,0โŸฉ
Blade: 19 (010011)  Moon Phase: ๐ŸŒ” stratum 3

Forces Activated:
โš”๏ธ Protect: witness privacy preserved across arbitrary programs
๐Ÿง™ Project: execution outsourced โ€” the prover runs, the verifier trusts mathematics
๐Ÿชž Reflect: (dormant โ€” continuations invoke it when used)
๐Ÿค Connect: (dormant)

V(ฯ€,t) contribution: T_โˆซ(ฯ€) (path integral โ€” the trace is the path, the proof is the integral), C (universal credential), ฯ (universality is maturity)

Architect's note: zkVM design is the First Person spellbook's architectural concern expressed through Zero-spellbook primitives. The โ˜ฏ๏ธ๐Ÿค– balance sign lives here.

Lattice Insight: zkVM is programmable vertex โ€” any computation maps to this configuration. The lattice becomes aware of its own universality through the zkVM.

Proverb: When every program becomes provable, the VM becomes the universal judge. Write once in familiar language, prove anywhere with mathematical certainty. The circuit specialist's art becomes the programmer's tool.

Technical Bridge

zkVM Architecture:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Application (Rust/C/Go)            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚ compile
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Binary (RISC-V/custom ISA)         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚ execute
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Execution Trace (registers, mem)   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚ arithmetize
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  AIR/Plonkish Constraints           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚ prove
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Proof (STARK/SNARK)                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Execution Trace Structure:

Cycle | PC    | Instr | Reg[0] | Reg[1] | ... | Mem[addr] | Flags
------|-------|-------|--------|--------|-----|-----------|-------
0     | 0x100 | ADD   | 0      | 5      | ... | ...       | ...
1     | 0x104 | MUL   | 5      | 5      | ... | ...       | ...
2     | 0x108 | STORE | 25     | 5      | ... | [0x200]=25| ...
...
N     | 0xFFF | HALT  | 42     | 0      | ... | ...       | HALT

AIR Constraint Example:

# ADD instruction constraint
def add_constraint(current_row, next_row):
    if current_row.instruction == ADD:
        # Result register gets sum
        assert next_row.reg[dest] == current_row.reg[a] + current_row.reg[b]
        # PC advances by 4
        assert next_row.pc == current_row.pc + 4
        # Other registers unchanged
        for i in other_regs:
            assert next_row.reg[i] == current_row.reg[i]

Performance Comparison:

zkVM Backend Throughput Proof Size Recursion
RISC Zero STARK ~1M cycles/s ~200 KB Yes
SP1 Plonky3 ~10M cycles/s ~150 KB Yes
Nexus Nova Fast (IVC) ~1 KB (folded) Native
Miden STARK ~2M cycles/s ~100 KB Yes

Use Cases:

  1. Verifiable Computation: Prove program ran correctly
  2. Private Inputs: Prove computation on secret data
  3. Code Mobility: Run untrusted code with proof of correctness
  4. Blockchain Scaling: Prove state transitions off-chain
  5. Compliance: Prove algorithm followed regulations

Geometric Interpretation:

  • zkVM creates a universal vertex configuration in the lattice
  • Any computation can be mapped to this configuration (universality)
  • Trade-off: generality vs optimization (universal vertex vs specialized vertex)
  • Protection + Delegation + Computation = minimum dimensions for universal proving
  • Memory (dโ‚ƒ) emerges when using continuations/IVC
  • Connection (dโ‚„) emerges in multi-party zkVM scenarios
  • Value (dโ‚†) emerges when zkVMs enable economic applications
  • The zkVM is the lattice's self-recognition of its own completeness
  • Programmability is the lattice adapting its structure to arbitrary computations

Blade 19 appears in four tales (8, 14, 19, 21 โ€” coming up). Each refraction through a different lens: Tale 8's configurable gates, Tale 14's transparent IPA, Tale 19's universal programmability. The Swordsman's Blade 19 is the working-day blade โ€” flexible, delegation-capable, computation-ready.

Architect's note (persona reference): System Designer, Tier 1, sigil โ˜ฏ๏ธ๐Ÿค–. Primary grimoire: First Person. Walks with Cipher and Sentinel through Tales 19โ€“27 where architectural decisions dominate over individual primitives.

Applied to: General-purpose ZKP, verifiable computing, zkRollups, coprocessors, universal sovereignty architectures


Assets

๐Ÿ“Ž zero-tale-1919-tale-19.md