Aller au contenu principal
Wallet

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 :

  1. Vérifier qu'une part est correcte (checksum à la main)
  2. Combiner K parts pour reconstruire le secret
  3. 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

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.