SeedXOR
SeedXOR (ColdCard) divise une seed en N parts via XOR : chaque part seule est inutile, toutes sont nécessaires. Schéma simple inspiré du SSS. Alternatif à Shamir Secret Sharing.
Origine
SeedXOR est un schéma de partage de seed inventé par Coinkite (NVK, Peter D. Gray) en 2020 et déployé sur les hardware wallets Coldcard. L'idée est délibérément minimaliste : éviter la complexité du Shamir Secret Sharing tout en offrant une découpe sécurisée.
Le principe XOR
L'opération XOR (ou exclusif) a une propriété remarquable :
A XOR B = C
C XOR B = A
A XOR A = 0
Pour découper une seed S en deux parts P1 et P2 :
- Tirer
P1aléatoirement, de même taille queS. - Calculer
P2 = S XOR P1. P1etP2seuls sont indistinguables de l'aléatoire.- Pour reconstituer :
S = P1 XOR P2.
Pour N parts : on tire P1, P2, ..., P_(N-1) aléatoirement, puis P_N = S XOR P1 XOR P2 XOR ... XOR P_(N-1).
Encodage BIP-39
Coldcard encode chaque part en 12 ou 24 mots BIP-39 valides. Chaque part est donc visuellement et formellement une "seed phrase" complète et utilisable... qui n'ouvre rien d'utile : un wallet dérivé d'une part seule contient zéro bitcoin.
Pour reconstituer : on importe les N parts dans une Coldcard, qui calcule le XOR mot à mot et restaure la seed originale.
Comparaison avec SSS / SLIP-39
| Critère | SeedXOR | Shamir (SLIP-39) | |---------|---------|------------------| | Schéma | N-of-N | M-of-N | | Complexité | Très simple | Polynomial (Lagrange) | | Tolérance à la perte | Aucune (une part perdue = tout perdu) | M parts suffisent | | Format des parts | BIP-39 standard | Wordlist SLIP-39 spécifique | | Implémentations | Coldcard | Trezor, Keystone | | Récupération sans device | Manuelle (XOR octet par octet possible) | Difficile sans logiciel |
Cas d'usage
- 2-of-2 plan succession : une part avec vous, une avec un notaire ou un proche. Aucune des deux ne peut faire de mal seule.
- 3-of-3 géographique : trois lieux distincts (domicile, coffre bancaire, parent).
- Décentralisation de la confiance : si une part est perdue ou compromise, on sait quel maillon est cassé sans que les autres seuls ne dévoilent rien.
Limites
- Pas de redondance : perdre une seule part = tout perdre. C'est le contre-pied total du quorum SSS.
- Pas de threshold : on ne peut pas dire "2 sur 3 suffisent" comme avec SLIP-39.
- Risque d'erreur : recombiner manuellement 3 parts au mot près demande beaucoup de rigueur.
- Pas d'audit massif : moins déployé que SLIP-39, donc moins éprouvé en conditions adverses.
Alternative moderne : Codex32
Le standard Codex32 (BIP-93, Pieter Wuille / Russell O'Connor) propose un schéma M-of-N papier-friendly inspiré des codes correcteurs. Il pourrait, à terme, remplacer SSS et SeedXOR pour les workflows manuels.
À retenir
SeedXOR est l'approche la plus simple possible pour découper une seed entre plusieurs lieux ou personnes. Pas d'algorithmes complexes, pas de quorum, juste XOR. Idéal pour une protection 2-of-2 ou 3-of-3, mais sans redondance contre la perte.
Termes lies
- Shamir Secret SharingLe Shamir Secret Sharing (SSS) divise un secret en N parts, M nécessaires pour reconstruire. SLIP-39 l'applique aux seeds Bitcoin (Trezor). Utile pour la résilience. Critiqué pour sa complexité.
- Codex32Codex32 (BIP-93) est un schéma moderne de partage de seed avec résilience aux erreurs. Lisible humainement et calculable à la main. Conçu par Andrew Poelstra. Alternative à SLIP-39.
- ColdCardColdCard (Coinkite) est le hardware wallet bitcoin-only le plus prisé des power users. Air-gapped, multisig, PSBT, code source consultable. Édition Mk4 et Q. Robuste et puissant.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.