1) Les 3 notions à ne pas mélanger
- Identité racine (personne/org) : stable, unique, gérée par la mairie (registre + justificatifs chiffrés).
- Rôles/fonctions (maire, police, prof...) : des capabilities (droits) signées, avec scope + TTL, pas une nouvelle identité.
- Appareils (K/H/M/S/USB) : des terminaux liés à une identité racine, pouvant se démultiplier (multi-devices).
2) Deux couches didentifiants
- Canonical ID (machine) : non ambigu, non devinable (ex: hash de clé publique), utilisé pour signature, anti-doublon, vérification.
- ID humain national : format type
CVCV-123456 (lisible/mémorisable), unique au niveau national.
Le réseau affiche lID humain ; la sécurité sappuie sur le canonical ID.
3) Unicité nationale avec réservation (30 jours)
- Une mairie (via station K) peut créer une réservation pour un ID humain.
- Si aucune autre mairie ne conteste/duplique la demande pendant 30 jours, lID est figé.
- En offline et avec les délais LuckyBlocks, on accepte des conflits temporaires, résolus lors de la convergence.
4) IDs temporaires locaux (pendant lattente)
- Une station K peut émettre un ID local temporaire pendant que la réservation nationale se stabilise.
- Exemple de format :
LID:<issuer_person_id>:<counter> (ex: LID:13:00421).
- Quand lID national est figé, on conserve le mapping (LID ID national canonical ID).
5) Délégations (mandats, enfants, employés)
- On évite les concaténations dIDs : on utilise une délégation signée.
- Délégation = delegator delegatee + purpose + contraintes + expires_at.
- Exemples : procuration, livraison, employé agissant au nom dune entreprise, enfant sous responsabilité parent.
6) Alias & adresses (GeoMail)
- Les aliases/adresses ne sont pas uniques : ce sont des hints de routage + UI.
# = contexte individu, @ = contexte business (responsabilité org).
. sépare les sous-champs (Region.SousRegion.Ville), / sépare les couches onion (hops).
- Geo : précision volontairement grossière (pâté de maisons), opt-in + TTL court.
Voir aussi : docs/identity/Readme-alias-and-addressing.md.
7) Stockage & blockchain (léger)
- Le contenu lourd (pièces jointes, textes longs, payloads chiffrés) reste hors blockchain (docs).
- La blockchain peut ancrer des hashes + méta courte (
ANCHOR_MESSAGE, ANCHOR_ADDRESS_EVENT).
- Tout transport (USB/backhaul/radio) dépose dans la même inbox (spool), puis le pipeline traite.