Aller au contenu
buybitcoinsmart

Glossaire / Protocole et mises à jour

Taproot

Aussi appelé BIP341.

Qu'est-ce que Taproot ?
Taproot est le soft fork de 2021 qui a doté le bitcoin des signatures Schnorr et d'un nouveau type de sortie où le chemin de dépense coopératif est identique en apparence à un paiement ordinaire à clé unique.

Spécifié dans BIP-341.

Trois spécifications ont été publiées ensemble : le BIP-340 pour les signatures Schnorr, le BIP-341 pour le type de sortie et le BIP-342 pour le langage de script ajusté. L'activation a eu lieu au bloc 709 632 le 14 novembre 2021, quatre ans après la mise à niveau précédente. L'effet pratique est que des montages compliqués, des coffres multisig, des séquestres, des fermetures de canaux, peuvent être réglés en ressemblant au paiement de n'importe qui d'autre.

Comment cela fonctionne

La conception part d'une observation sur la façon dont les contrats se terminent réellement : presque tous se terminent par un accord.

Une sortie Taproot engage deux choses à la fois dans une seule valeur de 32 octets. L'une est une clé publique, détenue par les parties coopératives, quelles qu'elles soient. L'autre est un arbre de Merkle dont les feuilles sont des scripts alternatifs, les solutions de repli qui s'appliquent lorsque la coopération échoue. La clé publiée est la clé coopérative ajustée par un hachage d'elle-même et de la racine de cet arbre, ce qui signifie que la sortie engage chaque solution de repli sans révéler qu'il en existe.

La dépense emprunte ensuite l'un de deux chemins. Le chemin de clé produit une seule signature et ne publie rien sur l'arbre, si bien que la transaction est indiscernable du paiement d'une seule personne. Le chemin de script révèle exactement une feuille plus les hachages frères nécessaires pour prouver qu'elle appartient à la racine engagée, et toutes les autres branches restent secrètes définitivement. Un coffre avec un quorum de deux sur trois, une clé de récupération différée dans le temps et une clause d'urgence n'expose que la clause qui a été utilisée.

Le BIP-342 a ajusté le langage de script pour ces feuilles. OP_CHECKMULTISIG n'est pas disponible dans une feuille Taproot et OP_CHECKSIGADD le remplace, en comptant les signatures réussies sur la pile au lieu d'en consommer un lot d'un coup, ce qui permet d'écrire des vérifications de seuil sans l'ancienne lourdeur. Le plafond de taille de script de 10 000 octets et la limite de 201 opcodes ont disparu, remplacés par un budget d'opérations de signature qui évolue avec la taille du témoin. Les types de clés publiques inconnus et les versions de feuilles inconnues sont définis comme valides, ce qui laisse de la place pour la prochaine mise à niveau sans autre format d'adresse.

Parce que Taproot occupe la version de témoin 1, ses adresses utilisent la somme de contrôle bech32m du BIP-350 plutôt que le bech32 d'origine. C'est pourquoi un logiciel peut accepter bc1q et toujours rejeter bc1p.

Pourquoi cela compte quand vous achetez du bitcoin

L'argument de confidentialité est celui qui s'applique à presque tout le monde, y compris aux personnes qui n'écriront jamais de script.

Toutes les façons précédentes de protéger du bitcoin s'annonçaient d'elles-mêmes. Un dépôt multisig 2-sur-3 était lisible on-chain comme un dépôt multisig 2-sur-3, ce qui indiquait aux sociétés d'analyse de chaîne, et à quiconque leur achetait des données, que l'adresse appartenait à quelqu'un qui en détenait assez pour que cela vaille la peine. Une dépense Taproot coopérative issue de la même configuration publie une signature contre une clé. La sécurité est inchangée et le signal a disparu.

Le coût évolue dans le même sens. Une entrée par chemin de clé Taproot est le type d'entrée le moins cher sur bitcoin, et l'écart se creuse à mesure que le montage devient plus compliqué, parce que les branches de repli que vous n'utilisez jamais ne coûtent rien. Pour quiconque met en place le genre de dispositif d'héritage ou de multisig que décrivent nos avis sur les portefeuilles matériels, cela change le calcul du nombre de clés qu'il vaut la peine d'avoir.

La friction est réelle et mérite d'être anticipée. Certaines plateformes d'échange refusent encore bc1p comme destination de retrait, et un micrologiciel de portefeuille matériel plus ancien peut ne pas dériver du tout d'adresses Taproot. La solution de contournement est ennuyeuse : recevez vers une adresse bc1q issue de la même phrase de récupération, et passez à Taproot quand l'ensemble de vos outils le prend en charge. Rien n'est perdu à attendre, puisque les deux types d'adresses proviennent d'une seule sauvegarde.

Une remarque honnête sur les effets secondaires. Les données de témoin bon marché de Taproot sont ce qui a rendu les inscriptions économiques, et la demande qui en a résulté a poussé les taux de frais à des niveaux que les paiements ordinaires n'avaient pas connus depuis des années. C'était une conséquence de la remise plutôt qu'un objectif de la conception, et c'est un reproche légitime à lui faire.

Speedy Trial, le compromis qui a permis l'activation de Taproot

Le code était incontesté au début de 2021 et la méthode d'activation a bien failli le couler malgré tout.

La dispute portait sur le BIP-8 et son indicateur lockinontimeout. Un camp voulait LOT défini à true, forçant l'activation à l'échéance que les mineurs signalent ou non, au motif que 2017 avait montré que les mineurs pouvaient bloquer indéfiniment. L'autre voulait false, au motif qu'une activation forcée avec un soutien faible risque la scission qu'elle cherche à éviter. Aucun des deux camps n'a bougé pendant des mois.

Speedy Trial a mis fin à l'impasse en rendant la question plus petite. Il a conservé le comptage des bits de version du BIP-9, abaissé le seuil à 1 815 blocs sur 2 016, ouvert une fenêtre d'environ trois mois et fixé une hauteur minimale d'activation de 709 632 afin que le verrouillage et l'application soient séparés par un écart long et prévisible. Si les mineurs signalaient, le fork avait lieu à une date connue. Sinon, la tentative expirait rapidement et le débat plus difficile pouvait reprendre sans rien perdre.

Le code a été publié dans Bitcoin Core 0.21.1 le 1er mai 2021. Les mineurs ont franchi le seuil lors de la période de difficulté se terminant le 12 juin 2021, donnant au réseau cinq mois de préavis avant le changement des règles. Cela reste la seule méthode d'activation utilisée par bitcoin qui ait été conçue avant tout pour échouer à faible coût.

Taproot vs signatures Schnorr

Taproot est l'ensemble ; les signatures Schnorr en sont une partie. Le BIP-340 définit un schéma de signature qui existe en cryptographie depuis les années 1980 et pourrait en principe être utilisé n'importe où, tandis que le BIP-341 définit à quoi ressemble une sortie bitcoin et que le BIP-342 définit ce qui s'exécute à l'intérieur d'une sortie. Sur bitcoin, les trois sont inséparables en pratique, parce qu'une signature BIP-340 n'est valide que dans une dépense de version de témoin 1, mais ce sont des documents distincts qui résolvent des problèmes distincts, et l'agrégation de clés que les gens trouvent la plus intéressante est une propriété du schéma de signature plutôt que de Taproot lui-même.

À ne pas confondre avec

Questions fréquentes

Ai-je besoin d'une adresse Taproot ?

Pas dans l'urgence. Une adresse bc1p est la moins chère à dépenser et la plus privée pour le multisig, mais la prise en charge par les plateformes d'échange reste inégale. Conservez une adresse bc1q issue de la même phrase de récupération pour les plateformes qui refusent les bc1p.

Un ancien portefeuille peut-il envoyer des fonds vers une adresse Taproot ?

Seulement s'il comprend bech32m, la somme de contrôle introduite pour la version de témoin 1. Un logiciel écrit avant Taproot rejettera une adresse bc1p comme invalide, ce qui est une limite côté client et non quelque chose que le protocole empêche.

Taproot est-il la raison de la hausse des frais ?

Indirectement. La remise sur le témoin a rendu peu coûteuse l'insertion de données arbitraires dans un chemin de script Taproot, ce que font les inscriptions, et la demande qui en a résulté a concurrencé les paiements pour l'espace de bloc. La remise est antérieure à Taproot et est apparue avec SegWit.

À lire ensuite

Termes associés

Plus de termes : Protocole et mises à jour

Lire cette page en anglais