Codex32
Codex32 (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.
Origine
Codex32 est un schéma de partage de seed conçu par Andrew Poelstra (Blockstream), avec contributions de Russell O'Connor et plusieurs autres, formalisé en 2023 sous forme de BIP-93. Son objectif : permettre de découper une seed BIP-32/BIP-39 en plusieurs parts redondantes (Shamir Secret Sharing), tout en restant lisible humainement et calculable à la main sans ordinateur. C'est un travail d'orfèvre cryptographique.
Problème résolu
| Méthode de backup | Risque | |-------------------|--------| | Seed unique | Vol ou perte = catastrophe | | Multi-seed copies | Vol d'une copie = vol total | | SLIP-39 (Trezor) | Pas vérifiable à la main, format moins lisible | | Multisig 2-de-3 | Complexité opérationnelle, échec d'un cosignataire | | Codex32 | Découpe N parts, K nécessaires, vérification papier |
Codex32 répond à un cas concret : « comment répartir géographiquement ma seed sans perdre la simplicité ? ».
Architecture du code
Codex32 utilise un alphabet de 32 caractères dérivé de bech32, et une structure de code correcteur (BCH code) similaire à celle qui protège bech32m. Les propriétés mathématiques permettent à un humain, avec une grille de calcul, de :
- Vérifier qu'une part est correcte (checksum à la main)
- Combiner K parts pour reconstruire le secret
- Identifier l'erreur si une part est corrompue (jusqu'à 4 erreurs corrigées)
Le standard prévoit plusieurs paramètres : seed de 128 ou 256 bits, schémas (k de n), avec k de 1 (pas de seuil) à 9.
Exemple d'une part Codex32
ms10xajusrqlc0fxttzqxgncks
C'est lisible, fait moins de 50 caractères, et chaque caractère a une fonction précise dans le calcul.
Avantages comparatifs
| Critère | BIP-39 + multisig | SLIP-39 | Codex32 | |---------|-------------------|---------|---------| | Vérifiable à la main | Non | Non | Oui | | Standard ouvert | Oui | Oui (SatoshiLabs) | Oui (BIP) | | Tooling | Très large | Trezor | En développement | | Format compact | Variable | Verbose | Court | | Robustesse erreurs | Aucune | Modérée | Excellente |
État de l'adoption
Codex32 reste émergent. Implémentations connues :
- Outils de référence :
rust-codex32,python-codex32 - Hardware wallets : pas encore standard (en R&D chez plusieurs fabricants)
- Sparrow Wallet : support expérimental annoncé
- Blockstream Jade : pas encore intégré officiellement
Son adoption est ralentie par la sophistication mathématique requise et par le fait que SLIP-39 (Trezor) couvre déjà beaucoup de cas pratiques.
Limites et critiques
- Courbe d'apprentissage pour l'utilisateur (le « vérifiable à la main » suppose une grille et de la patience)
- Pas encore standardisé par tous les hardware wallets
- Risque d'erreur humaine reste élevé sans tooling
- Pas adapté à un usage quotidien : c'est un schéma de backup, pas un wallet
À retenir
Codex32 est l'une des contributions les plus élégantes en backup de seed depuis SLIP-39. Sa promesse de calcul manuel et sa robustesse aux erreurs en font un outil idéal pour les backups long terme, en particulier pour les setups d'héritage géographiquement distribués. À surveiller au fil des intégrations dans les wallets.
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é.
- Seed phraseLa seed phrase (ou phrase de recuperation) est une suite de 12 ou 24 mots qui permet de restaurer l'acces a vos bitcoins. Elle genere mathematiquement toutes vos cles privees. C'est la sauvegarde ultime de votre portefeuille : quiconque la connait controle vos fonds. Elle doit etre stockee hors ligne, jamais photographiee ni partagee.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.