Bitcoin Core : comment signer un MuSig ?
Un utilisateur de Bitcoin Core dit être confronté à un blocage en voulant signer une transaction dépensant un UTXO MuSig. Après avoir tenté une nouvelle méthode avec des PSBT, il constate que l'outil reste systématiquement sur l'étape "updater", malgré des données qui semblent pourtant complètes.
Une tentative de signature MuSig2 dans Bitcoin Core
Dans son message, l'auteur explique être revenu sur ce problème après un précédent échange avec Pieter W., qui lui avait conseillé deux choses : utiliser des PSBT, plus adaptées selon lui aux usages récents comme MuSig, et vérifier la façon dont ses clés privées et publiques étaient générées. Cette remarque l'a conduit à penser qu'il avait probablement mal calculé sa clé publique.
Cette fois, il reprend la même logique que pour signer des multisignatures classiques dans Bitcoin Core, mais un nouvel obstacle apparaît : le PSBT ne passe pas correctement le traitement. Il commence par récupérer deux clés publiques dans deux portefeuilles distincts, puis construit un descripteur de type tr(musig(...)), auquel il ajoute une somme de contrôle.
Il crée ensuite un portefeuille en lecture seule, nommé musigwatchonly, importe le descripteur et obtient une adresse de réception, tb1pp29jj0t4wfanctzsrvaz28l6ptamhqy7e8gmyuh8tv43ynra2dkqsskyne. L'étape suivante consiste à alimenter cette adresse depuis un faucet, avant de tenter une dépense répartie vers deux nouvelles adresses générées dans les portefeuilles musig1 et musig2.
Le PSBT reste bloqué à l'étape "updater"
À ce stade, l'auteur dit pouvoir créer un PSBT et le faire passer dans les trois portefeuilles. Le portefeuille watch-only est censé apporter le descripteur, tandis que musig1 et musig2 doivent fournir les signatures. Pourtant, analyzepsbt continue d'indiquer next: "updater".
Après traitement par le portefeuille musigwatchonly, plusieurs champs sont remplis et la sortie inclut même une estimation de taille, de frais et de débit. Mais le PSBT n'est toujours pas finalisé. L'auteur envoie alors le PSBT aux deux autres portefeuilles avec walletprocesspsbt, constate qu'il grossit à chaque étape, puis les combine avec combinepsbt.
Même une fois fusionné, le PSBT "complet" reste bloqué au même stade. analyzepsbt renvoie encore next: "updater", et finalizepsbt indique complete: false. L'auteur demande alors où il s'est trompé, pourquoi les portefeuilles contenant les clés privées ne produisent pas de signatures exploitables, et pourquoi le PSBT ne dépasse pas l'étape d'Updater.
Dans un Edit, il précise qu'une solution a été confirmée par Ava Chow, et renvoie vers un exemple complet de création d'une adresse MuSig2 et de signature d'une transaction MuSig2 avec Bitcoin Core.

