╔══════════════════════════════════════════════════════════════════════════════╗
β•‘                                                                              β•‘
The Carpocratian Church presents

The Carpocratian Church of
Commonality & Equality

Presents

CASH THAT BLEEDS
Zero-cost Β· Serverless Β· Privacy-preserving
β•‘                                                                              β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
╔══════════════════════════════════════════════════════════════════════════════╗
β•‘  WHAT IS SCARCITY?                                                           β•‘
╠══════════════════════════════════════════════════════════════════════════════╣

A cryptocurrency that refuses the usual sacrifices:

  • No blockchain β€” gossip + threshold timestamps
  • No gas fees β€” zero-cost transfers
  • No mining β€” no proof-of-work waste
  • No addresses β€” sender/receiver unlinkable
  • No servers β€” P2P via WebRTC
  • No gatekeepers β€” time is the only barrier to entry

Double-spend prevention without global ledgers. Privacy without trusted mints.

β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
╔══════════════════════════════════════════════════════════════════════════════╗
β•‘  LAZY DEMURRAGE: MONEY THAT METABOLIZES                                      β•‘
╠══════════════════════════════════════════════════════════════════════════════╣

Tokens have a validity window (~1.5 years). If not transferred before expiry, they die.

TOKEN LIFESPAN

This isn't a bug. It's the point:

  • Anti-hoarding β€” use it or lose it
  • Self-pruning β€” lost keys don't haunt the network forever
  • High velocity β€” money that circulates

Based on Silvio Gesell's "Freigeld" and the WΓΆrgl experiment (1932).

β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
╔══════════════════════════════════════════════════════════════════════════════╗
β•‘  HOW IT WORKS                                                                β•‘
╠══════════════════════════════════════════════════════════════════════════════╣
flowchart TD
    A[/"TOKEN"/]
    A --> B["1"]
    B --> C["2"]
    C --> D["3"]
    D --> E["4"]
    E --> F["5"]
    F --> G[/"DONE"/]
              
1
NULLIFIER
SHA-256(secret || tokenId)
A unique "spend marker" derived from your token's secret. Publishing it proves you spent the token without revealing which token you hold. Same token = same nullifier = caught double-spend.
2
VOPRF BLINDING
Freebird Β· P-256 Β· RFC 9497
Verifiable Oblivious Pseudo-Random Function. The issuer signs your blinded request without learning what they signed. You unblind to get a valid signature. They authorized you but can't trace you.
3
OWNERSHIP PROOF
Schnorr signature Β· DLEQ
A zero-knowledge proof binding your nullifier to the transfer. Proves you know the token's secret without revealing it. Cryptographically commits you to this specific transaction.
4
WITNESS TIMESTAMP
BLS12-381 Β· threshold 3-of-5
A federation of independent witnesses. Each signs your nullifier+timestamp. Aggregate 3 signatures into 1 compact proof. Establishes canonical ordering without a blockchain.
5
GOSSIP BROADCAST
P2P Β· epidemic protocol
Your nullifier propagates through the network like a rumor. Peers cache seen nullifiers. Second appearance = double-spend attempt. Fast detection (~50ms) with eventual consistency.
DOUBLE-SPEND DETECTION
Fast path gossip network (~50ms) Β· Witness path federation query (deterministic) Β· Confidence scoring tunable risk tolerance
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
╔══════════════════════════════════════════════════════════════════════════════╗
β•‘  THE THREE PILLARS                                                           β•‘
╠══════════════════════════════════════════════════════════════════════════════╣
FREEBIRD
Anonymous Authorization
  • P-256 VOPRF (RFC 9497)
  • DLEQ proof verification
  • Schnorr ownership proofs
  • Sybil resistance via time + diversity
github.com/flammafex/freebird
WITNESS
Threshold Timestamping
  • BLS12-381 aggregated signatures
  • Multi-gateway quorum voting
  • Local signature verification
  • Anti-censorship design
github.com/flammafex/witness
HYPERTOKEN
P2P Networking
  • WebSocket relay + WebRTC upgrade
  • Gossip-based nullifier propagation
  • Peer reputation scoring
  • NAT traversal via TURN
github.com/flammafex/hypertoken
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
╔══════════════════════════════════════════════════════════════════════════════╗
β•‘  ADVANCED OPERATIONS                                                         β•‘
╠══════════════════════════════════════════════════════════════════════════════╣
SPLIT Divide token into multiple smaller tokens
MERGE Combine multiple tokens into one
HTLC Hash/time-locked conditional payments
BRIDGE Cross-federation token transfer
MULTI-PARTY Atomic transfer to multiple recipients
TOR Native .onion service support
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
╔══════════════════════════════════════════════════════════════════════════════╗
β•‘  RUN YOUR OWN                                                                β•‘
╠══════════════════════════════════════════════════════════════════════════════╣
# Clone and build
git clone https://github.com/flammafex/scarcity.git
cd scarcity

# Docker: run everything (recommended)
docker compose up --build

# Or manually:
npm install
npm run build
npm test

# Start web wallet
npm run web        # http://localhost:3000

# Start explorer
npm run explorer   # http://localhost:3001

# CLI operations
scar wallet create alice
scar token mint alice 100
scar token list alice
        
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
╔══════════════════════════════════════════════════════════════════════════════╗
β•‘  FAQ                                                                         β•‘
╠══════════════════════════════════════════════════════════════════════════════╣
Is this a blockchain?
No. No global ledger, no mining, no consensus. Just gossip + timestamps.
How do you prevent double-spending?
Nullifiers broadcast P2P. If seen twice, reject. Witness provides ground truth for disputes.
Who gets tokens?
Anyone. No invitations, no gatekeepers. Sybil resistance via Progressive Trust (time in system) + Proof of Diversity (behavioral patterns). Time is the one resource distributed equally to every human.
Is this Chaumian e-cash?
Similar, but serverless. Freebird provides blinding, Witness replaces the bank.
Why do tokens expire?
Lazy demurrage. Lost keys don't create permanent dead weight. Money circulates, not accumulates.
Is this production-ready?
Research prototype. Core crypto is real (VOPRF, BLS, Schnorr). Needs security audits.
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•