Glossaire / Portefeuilles et conservation
Sauvegarde Shamir
Aussi appelé Shamir backup, SLIP39, Shamir secret sharing.
- Qu'est-ce que la sauvegarde Shamir ?
- La sauvegarde Shamir divise un secret de portefeuille en plusieurs listes de mots et exige un nombre choisi d'entre elles pour le reconstituer, si bien qu'une seule feuille de papier ne suffit jamais.
Les mathématiques viennent de l'article d'Adi Shamir publié en 1979 sur le partage d'un secret, et l'implémentation pour le bitcoin est SLIP-39, publiée par SatoshiLabs. Une configuration deux sur trois produit trois listes de 20 mots, dont deux quelconques restaurent le portefeuille, tandis qu'une seule prise isolément ne révèle rien. Elle répond au vol et à la perte avec la même sauvegarde, ce qu'une phrase unique ne permet pas.
Comment cela fonctionne
Le partage à seuil n'est pas un chiffrement et ne consiste pas à découper une phrase en morceaux. Le secret est traité comme un point sur un polynôme de degré inférieur de un au seuil, et chaque part est un autre point sur cette courbe. Deux points définissent une droite, trois définissent une parabole, et ainsi de suite, si bien que réunir le nombre seuil de parts reconstitue la courbe et permet de lire la valeur d'origine. En dessous du seuil, il n'y a aucune information partielle : avec une part d'une configuration deux sur trois, tout secret possible reste exactement aussi probable qu'auparavant, ce qui est une garantie plus forte que « difficile à calculer ».
SLIP-39 enveloppe cette idée dans un format conçu pour l'écriture manuscrite. Sa liste de mots contient 1 024 mots plutôt que les 2 048 du BIP-39, chacun comptant entre quatre et huit lettres et identifié de façon unique par ses quatre premières. Une part compte 20 mots pour un secret maître de 128 bits et 33 mots pour un secret de 256 bits, chaque mot portant 10 bits, plus des données d'identifiant, de seuil et de somme de contrôle pour qu'un portefeuille sache à quel groupe appartient une part. Le schéma prend en charge deux niveaux : jusqu'à 16 groupes, contenant chacun jusqu'à 16 parts, avec un seuil sur les groupes comme à l'intérieur de ceux-ci.
Deux limites décident s'il vous convient. La reconstitution se fait sur un seul appareil à un seul moment, si bien que cet appareil et ce moment constituent un point de compromission unique, quelle que soit la prudence avec laquelle les parts ont été réparties. Et SLIP-39 n'est pas interchangeable avec BIP-39 : une phrase existante de 12 ou de 24 mots ne peut pas être convertie en parts, et des parts ne peuvent pas être saisies dans un portefeuille qui ne comprend que les phrases mnémoniques.
Où le rencontre-t-on
Trezor a livré la sauvegarde Shamir sur le Model T avec le micrologiciel 2.1.3 en août 2019, a ajouté le « super Shamir » multi-groupes avec la version 2.1.6 en octobre de la même année, et ses appareils Safe actuels reprennent cette fonction. La prise en charge ailleurs est rare, ce qui est l'argument pratique le plus fort contre elle : votre sauvegarde se restaure sur le matériel d'un seul fabricant ou via l'implémentation de référence open source python-shamir-mnemonic, et nulle part ailleurs. Quiconque planifie une sauvegarde sur dix ans doit peser cela face au BIP-39, que tous les portefeuilles lisent.
Les configurations où elle mérite sa place sont géographiques et sociales. Des parts réparties dans trois villes survivent à un incendie de maison sans qu'un seul lieu suffise à un cambrioleur. Un trois sur cinq réparti entre des membres de la famille et un avocat donne à une succession une voie praticable sans confier à quiconque un contrôle unilatéral de votre vivant. Dans les deux cas, l'exercice de récupération doit être répété au moins une fois, car un schéma à seuil échoue en silence : on ne découvre une part corrompue qu'au moment où l'on tente de s'en servir.
Si la forme de l'idée vous plaît mais que vous voulez un outil plus largement pris en charge, codex32 est l'autre option à connaître. Spécifié comme BIP-93, il définit un format de part dont la somme de contrôle peut être vérifiée à la main sur papier, sans ordinateur.
Sauvegarde Shamir vs multisig
Shamir divise un seul secret ; le multisig utilise plusieurs clés réellement indépendantes. Cette seule différence entraîne tout le reste. Les parts Shamir doivent être réunies sur une même machine pour dépenser, si bien qu'un attaquant qui surprend ce moment obtient tout, alors que les signatures multisig sont produites sur des appareils distincts et que les clés ne se rencontrent jamais. Le multisig est visible sur la chaîne, coûte plus cher en frais de transaction et exige de sauvegarder son descripteur de portefeuille en même temps que les phrases de récupération. Shamir est invisible pour tout le monde, ne coûte rien de plus à dépenser et n'ajoute aucune complexité on-chain. Pour la succession et la protection contre l'incendie, Shamir est plus simple. Pour se protéger d'un appareil compromis ou d'un seul participant malhonnête, c'est le multisig qui aide réellement.