Deriving identity: time-seeded keys & selective disclosure
The hard problem behind human.cv is not storage and it is not signing. It is this: how do you let someone contribute under a name that cannot be linked to them, while preserving the ability to later prove, beyond dispute, that the name was theirs? And how do you do it so that one act of verifying personhood covers everything they will ever make?
The answer is a key hierarchy with a single, human-bound root.
One root, deterministic children
Every account begins with an OG root key. From it, child keys are derived deterministically using a time seed — the same idea as hierarchical-deterministic (HD) wallets formalized in BIP-32, where a single secret expands into a tree of keys via a one-way function.
A derivation path encodes context and time, for example m/cv'/0'/2026·Q3/git. Because derivation is deterministic, the relationship between the root and any child exists the instant the child is created. Nothing needs to be registered later — the link is a mathematical fact, simply undisclosed.
Realized as smart accounts on Base
On Base, each identity is an ERC-4337 smart accountrather than a bare EOA. This buys account abstraction — sponsored gas, flexible validation, social recovery — and, crucially, addressing via CREATE2.
CREATE2 makes a contract’s address a pure function of its deployer, salt, and init code. So a derived identity’s address can be computed before it is ever deployed. You can contribute to, and accumulate attestations against, an address that does not yet exist on-chain — then deploy it only at the moment you need it. The derivation salt ties the address back to your root.
Personhood, inherited once
Proof of Personhood (PoP) is expensive and awkward to repeat. So human.cv binds it once, to the root. Every child key derived from that root inherits the “verified human” property by construction — a claim made by a derived key can be checked against an attestation on the root without ever re-running personhood.
- Verify personhood a single time at the root.
- Derive unlimited contextual identities beneath it.
- Each inherits verified-human without leaking the link to the root.
Commit-and-reveal
To contribute anonymously now and prove authorship later, human.cv uses a commit-and-reveal scheme. When you publish, you also post a commitment — a hash binding the artifact to a derived key — to Base. The commitment reveals nothing on its own.
Later, a reveal is a selective-disclosure proof: you demonstrate that the committed key descends from your root, and therefore that the contribution is yours. You choose the audience and the moment. The same primitive powers everything from “show one recruiter” to “announce to the world.”
Revealing is not a new registration. It is disclosing a link that was true all along.
Recovery converges on the root
Key loss is usually catastrophic for on-chain identity. Here it is not. Because every derived key descends from one root, restoring the root re-derives the entire tree and re-establishes the same-verified-human property across all past contributions. Recovery and “prove this is the same person” reduce to the same operation.
Why Base + Arweave
Attestations and smart accounts live on Base: cheap enough for consumer-scale, expressive enough for ERC-4337. Artifacts live on Arweave, which stores data permanently — the right substrate for something meant to be a legacy. Storage is paid with ETH on Base through Irys, so a contributor never has to leave the Base experience to write something down forever.
The full path of a contribution: artifact → hash → Arweave, then an attestation on Base signed by a derived key, then — whenever you decide — a reveal that proves the derived key, and therefore the work, is yours.
None of these primitives are new. HD derivation, account abstraction, CREATE2, commit-and-reveal, proof of personhood — each is well understood in isolation. The contribution of human.cv is the arrangement: a single human-bound root that turns scattered, pseudonymous, permanent contributions into one provable body of work, disclosed entirely on your terms.
Ready to leave a trace that’s provably yours?
Claim your proof