Pp2pbuilders
learn › P2P Foundations

6 min read · also at #/learn/handbook-identity

Identity is a keypair

In a P2P system there is no "create account" endpoint. On first launch your app
generates a random secret, derives an Ed25519 keypair from it, and that is you:

it to verify everything you publish.

This is exactly how p2pbuilders works: each user is one Hypercore whose public
key is their identity. Nicknames are just advisory profile records — the key is
the name.

What this buys you

authentication server in the loop.

something to it.

What it costs you

password". Back up the key material (p2pbuilders stores it mode 0600 on
disk; the web build keeps it in local storage — export it).

publish from a new key and tell people.

from somewhere else — cost (proof-of-work), time (reputation aging), or
curation (blocklists). See Trust without a boss.

Practical rules we follow

  1. One key per app, derived from one stored primary secret (Corestore does the

derivation — see the Corestore walkthrough).

  1. Treat "the user typed a nickname" as decoration, never as identity.
  2. Show short key prefixes in the UI, full keys on demand — people verify by

comparing prefixes out-of-band.

« Why peer-to-peer Everything is a signed log »