Expand description
§Stable client (user-account) identity on the network
A ClientId is the self-describing identity of a single user. It bundles:
- the Ed25519 public key (
verification_key_bytes) used to verify everything the client signs (posts, feedback, follows, …); - a 32-byte post-quantum commitment (
pq_commitment_bytes) — seecrate::tools::keys_post_quantum— that future-proofs the identity against Ed25519 breakage without requiring a new identity; - a derived 32-byte
crate::tools::types::Idthat is the Blake3 hash of the two above.
Because the id is derived from the other two fields, any tampering is detectable by
ClientId::verify: the recomputed id simply won’t match. Wherever the protocol refers
to “who authored this” (post headers, RPC responses, peer records) it is referring to a
ClientId.
This is distinct from crate::tools::server_id::ServerId, which is the analogous
identity for a server and additionally carries a proof-of-work “birth certificate”.
Structs§
- Client
Id - The stable identity of a single client (user account) on the network.