Interactive demo — progress through 7 sections to understand the concept
1 / 7
Zooko's Triangle
In 2001, Zooko Wilcox-O'Hairn observed a fundamental trilemma for naming systems. He argued that a name can have at most two of these three properties:
Our question: Can we push NPUBs closer to the center of the triangle — adding human-readability without sacrificing security or decentralization? Vanity mining is one approach. But it has a problem...
2 / 7
Vanity NPUB Grinding
Generate random secp256k1 keypairs until the NPUB contains your chosen word. This is "vanity mining" — anyone can do it.
Keys Generated
0
Keys / sec
0
Best Match
—
Key insight: Anyone can generate this same prefix. Same computational cost for everyone.
3 / 7
The Problem: No Asymmetry
Here are two keypairs, both with "sat" in their NPUB. Anyone can make these. There's no way to tell them apart.
Understanding the Metric
While we mine, here's how the scanner will evaluate each candidate. The metric is unique character count — how many distinct bech32 characters appear in a 9-character window (3×3 grid). Fewer unique chars = more recognizable pattern.
Unique Characters: The Raindrop Metric
The unique character count measures how many distinct bech32 characters appear in a window. Fewer unique chars = bigger blocks of the same color = more recognizable to humans.
A 9-character window with only 3 unique characters looks like:
[p][p][q] [p][q][p] [q][p][p]
A 9-character window with 8 unique characters looks like:
[7][k][2] [m][v][0] [3][r][5]
Same window size. But one is instantly recognizable and the other looks like noise.
Occupancy problem — expected unique chars in random windows:
For a window of W chars from a 32-char alphabet, E[unique] = 32 × (1 − (31/32)^W)
W=9: ~7.9 unique (out of 9 possible) → rarity = 7.9 − actual
W=16: ~10.3 unique
W=25: ~16.6 unique
W=36: ~20.7 unique
W=49: ~24.2 unique
rarity > 0 = fewer unique than expected = recognizable pattern rarity = 0 = exactly as expected = normal random noise rarity < 0 = more unique than expected (not useful for fingerprinting)
⏳
60s
Mining in Progress
Mining started automatically when you entered this section. You don't need to press anything.
Scanner uses a 3×3 grid (W=9) window. Finding 3-4 unique characters out of 9 makes a highly recognizable pattern.
Key insight: Both have 'sat' in their NPUB. Both cost the same. Which is Alice's? You cannot tell. This is why vanity alone doesn't prevent phishing.
4 / 7
Raindrop Discovery
Now we scan Alice's NPUB from Section 2 for low-unique-character windows. We look for naturally-occurring patterns — windows where few distinct characters appear. These are the "raindrops": visually striking patterns that humans recognize instantly.
Key insight: This pattern was DISCOVERED, not constructed. It was just there — a natural outlier in random data.
Alice needs any recognizable pattern — any window with unusually few unique characters. Every key she generates might contain one. Finding a pattern is like finding any raindrop in a storm — easy, because they're everywhere.
An attacker needs Alice's specific pattern — the exact characters at the exact positions. Finding one specific pattern is like finding that one specific raindrop — astronomically harder.
This is the asymmetry: Alice's cost = find any raindrop (nearly free). Attacker's cost = find that specific raindrop (astronomical).
5 / 7
The Asymmetry
Alice's fingerprint (left) was discovered for free. Bob (right) generates a new key with the same vanity prefix — but his fingerprint is completely different. Same vanity, different raindrop.
The asymmetry, simply:
Alice finds any raindrop in a storm. The attacker must find that one specific raindrop.
The fewer unique characters Alice's raindrop has, the harder it is for the attacker to replicate. A window with 3 unique characters out of 16 is incredibly rare — the attacker would need to grind millions of keys to find one that matches.
Key insight: The attacker's key has the same vanity prefix but a completely different fingerprint. They can find their own raindrop easily — but they cannot find Alice's raindrop again. That's the asymmetry: any raindrop is cheap, one specific raindrop is astronomical.
6 / 7
Vanity + Anti-Phish: Split Zones
The complete identity system combines a human-readable vanity prefix (green zone) with the machine-discovered anti-phish fingerprint (orange zone).
Key insight: An attacker can replicate the green zone cheaply, but not the orange zone. Together they form an asymmetric identity that's easy to verify and extremely hard to forge.
7 / 7
Offset Grinding: Trustless Service
A grinding service can find a vanity offset for your NPUB using ONLY your public key. It computes P + d·G for d=1,2,3... — never seeing your secret key.
Leave NPUB blank for a demo key, or paste a real npub1... to grind a vanity offset for it live.
Offsets Tried
0
Rate / sec
0
Key insight: The service NEVER saw your secret key. It only used your public key. The offset is useless to anyone who doesn't have your nsec.