Bitcoin : Le Wallet Multisig, comment ça marche ?
Un wallet Bitcoin multisig requiert plusieurs clés privées pour accéder aux bitcoins. Il existe désormais même un hardware spécialement dédié grâce à la société Frostsnap.
Wallet Bitcoin Multisig
Un wallet multisig offre une sécurité supplémentaire du fait qu’il exige plusieurs signatures (plusieurs clés privées) pour déplacer des fonds. L’idée est qu’un groupe de personnes puissent coopérer pour contrôler les bitcoins.
Un wallet traditionnel (singlesig) contient des adresses liées à des clés privées dérivant toutes d’une seule seed.
La seed est générée lors de la création du wallet (les fameux 12 ou 24 mots). Cette seed est le point de départ pour dériver la clé publique maîtresse du wallet. Par suite, les milliards d’adresses possibles du wallet dérivent de cette clé publique maîtresse.
Avec les wallets à signatures multiples (multisig), plusieurs clés publiques maîtresses sont impliquées. Les clés privées associées aux clés publiques maîtresses sont alors nécessaires pour dépenser des bitcoins.
Cette configuration multisig peut désormais même se faire grâce à des hardware wallets. La société Frostsnap a lancé son produit cette année :
Mutlisig et Bitcoin Timelocks
Les wallets multisig augmentent le champ des possibles. Par exemple, le wallet Liana créé par l’équipe Wizardsardine a inventé les « timelocks » qui permettent de faire en sorte que des clés privées deviennent valides seulement après un certain temps. Cela permet de nombreux cas d’utilisation intéressants :
Récupération : Vous pouvez fournir une clé à une personne de confiance. L’avantage étant que cette clé ne sera valide que si vous n’avez pas pu vous connecter à votre wallet pendant un certain temps.
Ce système est également très pratique pour la question de l’héritage. Les clés données au préalable à vos enfants peuvent devenir actives après une certain temps. Une autre clé peut même être laissée chez un notaire au cas où les héritiers ne parviendraient pas à un consensus.
Gouvernance : Deux codirecteurs peuvent établir un wallet nécessitant deux signatures. Ils pourraient même fournir une clé permettant à un avocat d’accéder aux fonds après une certain temps en cas de désaccord.
Décomposition de multisig (decaying multisig) : Le nombre de clés nécessaires diminue au cours du temps. D’abord 4 clés sur 4, puis, 2 clés sur 4, etc. Pratique si jamais une des parties au multisig ne peut plus signer les transactions pour x raison.
Tous les exemples ci-dessus utilisent ce que l’on appelle un « relative timelock », qui se réfère à la date correspondant à la dernière fois que les bitcoins ont bougé.
Dit autrement, si le timelock est de six mois (25 920 blocs), il faut réaliser une transaction (à soi-même) avant son expiration pour remettre le compteur à zéro.
Pour ceux qui veulent en savoir plus sur le fonctionnement d’un wallet multisig, il faut parler de Xpub.
Xpub
Aujourd’hui, tous les wallets sont « HD », pour Hierarchical Deterministic. En clair, toutes les clés publiques (aussi appelées « adresses ») dérivent toujours de la même façon à partir de la seed.
Notre article sur le sujet : Bitcoin – Comment dérive-t-on les clés à partir des douze mots ?
Comme dit plus haut, les wallets génèrent aléatoirement une seed qui servira à générer une clé publique maîtresse, aussi appelée Xpub. C’est à partir d’elle que les wallets dérivent l’ensemble des clés publiques du wallet selon un processus prédéfini.
« Prédéfini » signifie qu’une même seed générera toujours exactement les mêmes paires de clés privées/publiques (et mêmes adresses) qui serviront à recevoir des bitcoins.
Si bien que toute personne ayant connaissance de la Xpub d’un wallet est en mesure de voir le solde nul ou positif de toutes ses adresses. Il ne faut donc jamais révéler sa Xpub et les wallets singlesig la cache généralement aux utilisateurs.
La xpub passe cependant au premier plan pour les wallets multisig. Les différentes parties prenantes devront chacune communiquer leur Xpub aux autres pour construire le wallet.
Toutes les Xpub d’un wallet multisig doivent être gardées précieusement. Votre xpub personnelle est récupérable à partir de votre seed, mais pas les xpub des seeds des autres parties prenantes.
Imaginions que vous fassiez partie d’un multisig nécessitant au moins trois clés privées sur cinq pour signer une transaction.
[Pour rappel, à chaque clé publique correspond une clé privée (Xprv) qui est nécessaire pour débloquer les bitcoins liés à la clé publique.]
Ce multisig signifie que vous pouvez vous permettre de perdre deux des clés privées, à condition d’avoir toutes les Xpub. Si vous perdez votre ordinateur, vous aurez besoin de votre seed pour régénérer le wallet multisig, mais aussi des cinq Xpub !
Pour aller plus loin encore, il faut parler de script
En essence, les bitcoins sont des nombres liés à des clés publiques via des scripts (aussi appelés « utxo »). C’est-à-dire des bouts de code exprimant les conditions à remplir pour les dépenser. Il faut typiquement fournir une signature prouvant que l’on possède la clé privée correspondante à la clé publique.
Un script est donc une liste d’instructions qui changent lorsque que des BTC changent d’adresse. Ou devrait-on dire, dès qu’ils changent de clé publique. Une adresse n’est qu’un encodage de clé publique. C’est la même chose.
Au moment de la transaction, un nouveau script est construit en liant les BTC à une nouvelle adresse (celle du destinataire).
Les types d’adresses standard (P2PKH, P2WPKH, P2SH, P2WSH, P2TR, etc) font référence à différents types de scripts. On les reconnaît à leurs premiers caractères. Certaines commencent par « bc1q », d’autres « 1 » ou encore « 3 ».
Aujourd’hui, les wallets offrant l’option du multisig supportent toujours les scripts P2TR (Pay-to-TapRoot ». Ces scripts produisent des adresses commençant par « bc1q ».
Depuis la mise à jour Taproot, les signatures Schnorr rendent des transactions multisig moins volumineuses (donc moins chères en frais de transaction).
Autre avantage, elles ne sont plus distinguables des transactions normales grâce à la possibilité d’agréger plusieurs clés et signatures en une seule. Si bien que les scripts des transactions multisig ou d’ouverture de canal lightning sont désormais identiques à ceux des transactions normales.
Lorsqu’il s’agit de transactions plus complexes telles que les CoinJoins, les gains en termes de délais de signature ainsi qu’en frais de transactions sont aussi importants.
Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.
Reporting on Bitcoin, "the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy".
Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.