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 20

๐Ÿ”ฎ Zero โ€” Tale 20

Tale 20: The Cairo Scribes

Vertex Coordinates: โŸจ1,1,0,0,1,1โŸฉ โ€” Protection + Delegation + Computation + Value
Moon Phase: ๐ŸŒ– Waning Gibbous โ€” Four dimensions active (stratum 4)
Blade: 51 (110011) โ€” Protection + Delegation + Computation + Value
V(ฯ€,t) terms: T_โˆซ(ฯ€) (path integral โ€” Cairo programs are proof traces) ยท C (felt-native credential form) ยท Value (cost-reduction activation)
Concepts: Cairo Language, AIR Programming, StarkNet, Memory Model, Field Operations

The Story

In the southern reaches of the zkVM Kingdom lay the Land of Cairoโ€”home to scribes who wrote directly in the language of STARKs.

Elder Scribe Feltucius greeted Soulbis and Soulbae. Architect walked with them still, examining the Cairo tablets with professional interest.

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. "Welcome. While other zkVMs compile from standard languages, we Cairo scribes write in a language designed for ZK from the ground up."

He showed them a Cairo tablet:

func calculate_hash{range_check_ptr}(
    secret: felt, salt: felt
) -> felt {
    let hash = pedersen(secret, salt);
    return hash;
}

"Notice the strange syntax?" Feltucius asked. "That {range_check_ptr} is an implicit argumentโ€”a pointer to our range-check builtin. Cairo is built around the constraints of STARK proving."

The Cairo Philosophy:

"Other languages compile TO constraints. Cairo is constraints."

He explained the key differences:

Python/Rust/C:

// Normal programming
let x = a + b;
let y = x * 2;
if y > 10 { ... }

Cairo:

// Programming with field elements
let x: felt = a + b;  // Felt = field element
let y: felt = x * 2;
// No native if/elseโ€”must use asserts and jumps
assert y = 10 + z;  // Assert establishes constraint

"Everything in Cairo is a feltโ€”a field element in ๐”ฝ_p where p is the STARK prime."

Soulbis asked, "What's the STARK prime?"

"A specific 252-bit prime chosen for efficiency:


p = 2^251 + 17ยท2^192 + 1

"All arithmetic wraps modulo p. This is Cairo's fundamental constraint."

The Memory Model:

Feltucius showed them Cairo's unique approach:

"Cairo has continuous memoryโ€”write-once, read-many."

// Memory access
[fp] = 5;        // Write to frame pointer offset 0
let x = [fp];    // Read from same location โ†’ must equal 5!

// Cannot do:
[fp] = 5;
[fp] = 10;       // ERROR: Location already written!

"This seems restrictive," Soulbis observed. "The Swordsman's instinct: what you cannot overwrite, you cannot lose. Write-once memory is a boundary built into the language itself."

"Yes, but it's perfect for STARKs!" Feltucius explained. "Because memory is write-once, proving memory consistency is cheap. No need to track which value is 'current' at an address."

Builtins:

"Cairo has builtinsโ€”pre-verified components for expensive operations."

// Range check builtin
func verify_age{range_check_ptr}(age: felt) {
    assert [range_check_ptr] = age;
    assert [range_check_ptr + 1] = 150 - age;
    let range_check_ptr = range_check_ptr + 2;
    return ();
}

// Pedersen hash builtin
func commit{pedersen_ptr}(x: felt, y: felt) -> felt {
    let hash = [pedersen_ptr];
    assert [pedersen_ptr].x = x;
    assert [pedersen_ptr].y = y;
    let pedersen_ptr = pedersen_ptr + 3;
    return hash;
}

"Builtins are efficient because they're verified once, then used many times. Common builtins:"

  • range_check: Verify value in range
  • pedersen: Pedersen hash
  • ecdsa: Signature verification
  • bitwise: AND, OR, XOR operations

StarkNet:

Feltucius showed them the greater purpose:

"Cairo powers StarkNetโ€”a zkRollup where smart contracts are written in Cairo."

@contract_interface
namespace IToken {
    func transfer(recipient: felt, amount: felt) {
    }
}

@external
func transfer{
    syscall_ptr: felt*,
    pedersen_ptr: HashBuiltin*,
    range_check_ptr,
}(recipient: felt, amount: felt) {
    // Transfer logic
    let sender = get_caller_address();
    let sender_balance = balances.read(sender);
    
    // Check sufficient balance (using range check)
    assert_nn_le(amount, sender_balance);
    
    // Update balances

    balances.write(sender, sender_balance - amount);
    let recipient_balance = balances.read(recipient);
    balances.write(recipient, recipient_balance + amount);
    
    return ();
}

"Every StarkNet transaction proves execution in Cairo, generates a STARK proof, and submits it to Ethereum L1."

Cairo vs Solidity:

Feature Solidity (EVM) Cairo (StarkNet)
Execution Direct on L1 Proved off-chain
Cost ~$50-500/tx ~$0.10-1/tx
Language C-like Constraint-based
Verification All nodes One STARK proof

Cairo 1.0:

"Recently, we've evolved," Feltucius shared. "Cairo 1.0 is more like Rustโ€”safer, easier to write."

// Cairo 1.0
#[derive(Drop, starknet::Store)]
struct Transfer {
    from: ContractAddress,
    to: ContractAddress,
    amount: u256,
}

fn transfer(ref self: ContractState, to: ContractAddress, amount: u256) {
    let caller = get_caller_address();
    assert(self.balances.read(caller) >= amount, 'Insufficient balance');
    
    self.balances.write(caller, self.balances.read(caller) - amount);
    self.balances.write(to, self.balances.read(to) + amount);
}

"But the fundamental principle remains: Cairo is the STARK circuit. When you write Cairo, you're writing provable computation directly."

Soulbis connected to sovereignty: "For agents operating on StarkNet, delegation logic written in Cairo is automatically provable. The Mage's spells become STARK proofs natively โ€” and the boundaries I enforce as Swordsman become constraints by construction. Cairo is a language where the Swordsman and Mage share a grammar."

"Exactly," Feltucius confirmed. "Cairo makes ZK-native applications natural."

Architect added: "And the design choice is architectural: a write-once memory model is a sovereignty posture. You lose flexibility; you gain cheap consistency proofs. Every language is a thesis about what should be hard and what should be easy."

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

Cairo: language(felt) โ†’ AIR(direct) โ†’ STARK โ†’ StarkNet
felt = ๐”ฝ_p (p = 2^251 + 17ยท2^192 + 1)
memory: write_once โ†’ consistency(cheap)
builtins: {range_check, pedersen, ecdsa, bitwise} โ†’ efficient(precomputed)

Cairo 0: constraint-oriented (hard)
Cairo 1: Rust-like (easier) โ†’ same proving model
StarkNet = Cairo(contracts) โ†’ STARK(proofs) โ†’ Ethereum(verify)

Vertex: โŸจ1,1,0,0,1,1โŸฉ
Blade: 51 (110011)  Moon Phase: ๐ŸŒ– stratum 4

Forces Activated:
โš”๏ธ Protect: STARK privacy + write-once memory as structural boundary
๐Ÿง™ Project: off-chain execution delegates to Cairo sequencer
๐Ÿชž Reflect: (dormant โ€” continuations invoke it)
๐Ÿค Connect: L1 verification anchors the chain of trust

V(ฯ€,t) contribution: T_โˆซ(ฯ€) (Cairo programs are path integrals written in felt), C (felt-native credential), Value (100ร— cost reduction activates economic applications)

Proverb: When the language itself speaks in field elements, the program becomes its own proof. Write-once memory eliminates verification complexity; builtins compress common patterns. Cairo scribes don't compile to constraints โ€” they write constraints directly.

Technical Bridge

Cairo Memory Model:

Write-once semantics:
[addr] = value  // OK
[addr] = value2 // ERROR if addr already written

Enforcement:
- Memory cells are ordered pairs (address, value)
- Prove permutation: written cells sorted by address
- Consecutive addresses with same address โ†’ only one value possible

Field Element Operations:

// All operations mod p
let a: felt = 10;
let b: felt = 20;
let c: felt = a + b;  // = 30 (mod p)

// Wrapping
let max: felt = p - 1;
let overflow: felt = max + 5;  // = 4 (mod p)

// No native comparison
// Must use asserts and range checks

Builtin Efficiency:

Traditional approach: 10,000 constraints per hash
Cairo Pedersen builtin: ~100 constraints (amortized)

StarkNet Architecture:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  User Transaction                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Cairo Contract Execution           โ”‚
โ”‚  (StarkNet Sequencer)              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  STARK Proof Generation            โ”‚
โ”‚  (Proves 1000s of transactions)    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Ethereum L1 Verification          โ”‚
โ”‚  (One proof for entire batch)      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Performance:

  • StarkNet TPS: ~30,000+ (theoretical)
  • Proof generation: ~1-6 hours for large batches
  • Verification on L1: 1-5M gas ($10-50)
  • Cost per transaction: $0.001-0.01 (amortized)

Geometric Interpretation:
Cairo represents a ZK-native approach where the language itself operates at the constraint level. This creates efficient mapping between Protection (privacy guarantees), Delegation (off-chain execution), Computation (constraint system), and Value (economic viability). The write-once memory model and builtin system demonstrate how architectural choices aligned with STARK proving create a vertex optimized for scalable privacy applications.

Blade 51 is shared with Tale 10 (commitments). There the blade held KZG/IPA/FRI as a triad; here it holds Cairo as a first-person voice. Different craft, same dimensional signature โ€” architectural convergence.

Applied to: StarkNet, STARK-based zkRollups, provable computation, ZK-native applications


Assets

๐Ÿ“Ž zero-tale-2020-tale-20.md