
PocketChains
Temporary sovereign chains for communities.
Demo
About
The problem it solves ## Ethereum as an Operating System for temporary societies No rollup deploy. No sequencer config. No bridge. No infra hell. A blockchain that comes into existence the way a group chat does. **A new mental model.** Not one global ledger that everyone shares — *millions of small social chains*, each with its own: - consensus (one-member-one-vote or stake-weighted PoS) - economy (shared ETH pool, off-chain signed cheques) - rules (invite policy, channel write policy, TTL) - privacy (E2E encrypted chat, ECDH DMs, seed-in-fragment invites) - reputation (membership, stake, voting history) …but security and settlement *inherit from Ethereum*. One `ChainPool` contract holds the funds and verifies every signed transfer. **Chains don't have to be permanent.** A chain can run for 2 hours. Or a festival. Or a hack night. Or a protest. Or a research team. Or this hackathon. **You don't connect to a chain — you get invited.** The invite is a QR code carrying a shared secret. Joining is one wallet signature. Your identity inside is a fresh ephemeral key, scoped only to that chain. Stricter chains require a vouching signature from a member or the creator, enforced cryptographically by every honest client. **Chains can physically overlap.** Right now at ETHPrague there could be 400 invisible PocketChains in this room. You bump into someone, scan a QR, unlock access. Part Pokémon GO, part BitTorrent, part secret society — all settled on Ethereum. **Chains can die.** Inactive blockchains are eternal zombies. PocketChains aren't. When a community goes quiet, the chain dissolves — but its history compresses into an encrypted artifact you can keep, restore, or share. PocketChains is what Ethereum looks like as infrastructure for ephemeral, sovereign social spaces.
How it's made
Challenges we ran into **Peer-to-peer state that survives.** Our messaging layer is a transport, not a database — messages gossip between peers and may not be cached anywhere reliable. But a chain needs history (chat, members, pending transfers). We made every member a temporary archive: they hold the raw envelope log and can export it as an encrypted backup. A fresh browser pulls history from peers when it can, and falls back to restored backups when it can't. The chain is peer-to-peer but rebuildable from any single member's state. **Debugging an encrypted system.** Most traffic is opaque on the wire — chat is AES-GCM, DMs use ECDH between ephemeral keys. A "missing message" could be a peer issue, a key mismatch, a wrong recipient, or a member who hasn't republished. We added structured logging at every replay boundary that dumps signature recoveries and policy decisions but never plaintext, so we can trace failures without leaking anyone's chat. **Setting up Swarm for encrypted backups.** We wanted users to lose their browser and still recover their chain. Swarm fit — decentralized, content-addressed — but getting it running took work: a local Bee light node, a funded Bee wallet on Gnosis Chain, and a usable postage batch (which needs xDAI, its own onboarding story). The payoff: a user saves an encrypted blob to Swarm, shares a 64-char reference, and rehydrates the whole chain in a new browser with one signature. **Multiple consensus and invite policies.** Different groups want different rules: open invites with one-member-one-vote, creator-only with stake-weighted PoS, or member-approved with equal weight. Encoding that into the contract would have made it brittle, so policy lives in a creator-signed off-chain Settings envelope, and the replay engine enforces it. Tally logic and invite validation switch modes purely on what the latest Settings says.