Taproot est une mise à niveau de Bitcoin qui a apporté plusieurs nouvelles fonctionnalités et avantages aux utilisateurs de Bitcoin. La communauté Bitcoin a activé Taproot au bloc 709 632 le 12 novembre 2021.
La mise à niveau Taproot est composée de trois Bitcoin Improvement Proposals (BIPs)qui définissent trois mises à niveau distinctes du protocole Bitcoin :
Ensemble, ces trois mises à niveau sont connues sous le nom de la mise à niveau Taproot, souvent collectivement appelée BIP Taproot. Ces BIP ont introduit de nouvelles façons plus efficaces, flexibles et privées de transférer des bitcoins.
Dans le cadre de la mise à niveau Taproot, le BIP 340 introduit des signatures Schnorr pour une utilisation dans Bitcoin. Les signatures Schnorr offrent plusieurs avantages aux utilisateurs de Bitcoin, notamment une confidentialité accrue, des frais réduits et une plus grande flexibilité multisig.
Ce BIP spécifie également comment les clés publiques et les signatures de Schnorr doivent être encodées pour être utilisées dans Bitcoin. Les clés publiques utilisées pour les signatures de Schnorr ont une longueur de 32 octets, comparativement aux clés publiques de 33 octets de l'ECDSA. De plus, les signatures de Schnorr ont une longueur de 64 octets, comparativement aux signatures de l'ECDSA, qui vont de 71 à 72 octets, y compris unedrapeau sighash. Ces petites économies d'espace offrent des économies de frais aux utilisateurs de Bitcoin qui adoptent Taproot.
➤En savoir plus sur les signatures Schnorr.
Alors que BIP 340 définit la spécification pour générer et encoder les signatures Schnorr et les clés publiques, BIP 341 définit comment le protocole Bitcoin intègre les signatures Schnorr. Plus précisément, Bitcoin Script doit être mis à jour pour évaluer également les signatures Schnorr. Taproot intègre égalementMerkelized Alternative Script Trees (MAST), qui permettent aux utilisateurs de verrouiller des sorties à plusieurs scripts.
Les sorties Pay-to-Taproot sont des sorties SegWit de version 1, et toutes les transactions Taproot sont des transactions SegWit.
Taproot a également introduit un nouveau type de script, une manière de dépenser du Bitcoin. Pay-to-Taproot (P2TR) permet aux utilisateurs de payer soit à une clé publique Schnorr, soit au Racine de Merkled'une variété d'autres scripts. En utilisant ce nouveau type de script, un utilisateur peut créer un UTXOqui peut être déverrouillée et dépensée par le propriétaire de la clé privée ou toute personne capable de satisfaire les exigences de n'importe quel script dans l'arbre de Merkle.
Agrégation de clés
La fonction d'agrégation de clés de Schnorr permet cette fonctionnalité flexible. Lorsque du bitcoin est envoyé à une sortie P2TR, il est verrouillé sur une seule clé publique, appelée Q. Cependant, cette clé publique Q est en fait une agrégation d'une clé publique P et d'une clé publique formée à partir de la racine de Merkle de nombreux autres types de scripts. L'un des scripts alternatifs dans l'arbre de Merkle peut être utilisé pour dépenser la sortie.
Ce design permet aux utilisateurs de choisir entre des scripts complexes et arbitraires ainsi que des fonctionnalités de paiement à clé publique simple au moment des dépenses, plutôt qu'au moment de la réception. Il rend également tous les sorties Taproot similaires. Parce que les sorties multisig, les sorties single sig et autres contrats intelligents complexes ont tous le même aspect sur la blockchain, de nombreuses heuristiques d'analyse de chaînes deviendront inutilisables, préservant ainsi la confidentialité de tous les utilisateurs de Taproot.
Afin de mettre en œuvre des transactions P2TR, le BIP 342 ajoute et met à jour plusieurs opcodes. Ces nouveaux scripts sont utilisés pour vérifier les dépenses Taproot et les signatures Schnorr, et ils sont collectivement connus sous le nom de Tapscript.
Tapscript a été conçu pour maximiser la flexibilité future des dépenses P2TR afin de permettre des mises à niveau qui ne sont pas encore prévues.
La mise à niveau de Taproot offre de nombreux avantages aux utilisateurs de Bitcoin qui adoptent Taproot ainsi qu'à ceux qui ne le font pas. L'introduction des signatures Schnorr offre des avantages significatifs en termes de confidentialité et de sécurité, mais Taproot et Tapscript apportent également des avantages propres.
➤ Découvrez les avantages des signatures Schnorr.
La plupart des sorties Taproot (P2TR) consomment moins d'espace sur la blockchain que les sorties normalesP2PKHsorties, mais sont légèrement plus grandes queP2WPKHles sorties. Cela est principalement dû au fait que les sorties P2TR verrouillent directement le bitcoin à une clé publique, et non pas au hachage de la clé publique. Cela rend l'envoi vers les sorties Taproot légèrement plus coûteux, car les clés publiques occupent plus d'espace que les hachages de clés publiques. Cependant, dépenser des sorties Taproot est nettement moins cher car la clé publique est incluse dans le scriptPubKey, et n'a donc pas besoin d'être incluse dans le Témoin de script.
Taproot a également défini le schéma de codage pour les clés publiques et les signatures de Schnorr, les rendant plus courts que leurs homologues ECDSA, ce qui permet des économies de frais supplémentaires.
Les implications en matière de confidentialité de Taproot sont peut-être la partie la plus importante de la mise à niveau. En introduisant des signatures Schnorr et une agrégation de clés, les contrats multisignatures ne sont plus différents des contrats à signature unique, offrant ainsi une confidentialité à tous les utilisateurs de Taproot.
Puisque le Lightning Network repose sur un multisig 2-sur-2, Taproot rend impossible de discerner quelles transactions créent des canaux Lightning.
Taproot a également introduit d'importants avantages en matière de confidentialité grâce à l'intégration de MAST. Comme discuté précédemment, Taproot permet de verrouiller des bitcoins sur de nombreux scripts à la fois. Cependant, lorsqu'on dépense des bitcoins à partir d'une sortie Taproot, le dépensier n'a pas besoin de révéler tous les scripts possibles qui auraient pu déverrouiller les bitcoins; seulement le script qu'ils ont effectivement utilisé. Dans la plupart des cas, les utilisateurs de Taproot utiliseront probablement l'option de paiement à clé publique, ce qui leur permet de garder privées toutes les options de sauvegarde qu'ils auraient pu prévoir.
➤En savoir plus sur la manière dont Taproot améliore l'expérience utilisateur de Lightning.
Sur le plan technique et théorique, les signatures de Schnorr sont considérées comme plus sécurisées que les signatures ECDSA car les signatures de Schnorr sont prouvées sûres en utilisant moins d'hypothèses. Comme tous les schémas de cryptographie sur courbe elliptique, à la fois ECDSA et Schnorr reposent sur l'hypothèse que le Problème du Logarithme Discret est difficile. Cependant, ECDSA repose sur des hypothèses supplémentaires pour garantir sa sécurité. Néanmoins, il n'y a eu aucun exemple de compromission systématique d'ECDSA au cours de l'existence de Bitcoin.
Les signatures Schnorr éliminent également toute signature malléabilitéqui aurait pu être présent dans les signatures ECDSA. Alors que la malléabilité des transactions a été résolue par la mise à niveau SegWit, la malléabilité des signatures a persisté en tant que caractéristique de l'ECDSA.
Taro est un protocole alimenté par Taproot qui permet aux utilisateurs d'émettre des actifs sur la blockchain Bitcoin et le Réseau LightningAvec une conception centrée sur Taproot, cette émission d'actifs peut être effectuée de manière plus privée et évolutive que les tentatives précédentes d'introduire d'autres actifs sur Bitcoin. Taro a été proposé par Lightning Labs en avril 2022.
Taproot est utilisé dans Taro pour incorporer des métadonnées d'actifs dans une sortie de transaction existante. Les signatures Schnorr sont également utilisées pour améliorer la simplicité et la scalabilité.
Le nom Taro est un acronyme de Taproot Asset Representation Overlay, indiquant que sans Taproot, cette mise à niveau ne serait pas possible.
Lorsqu'une mise à niveau de Bitcoin est proposée, elle est d'abord discutée par la communauté des développeurs. Une fois la proposition formalisée, elle se voit attribuer un numéro de BIP. Après que le code a été écrit, examiné, testé et fusionné, les opérateurs de nœuds Bitcoin doivent décider comment et quand activer la mise à niveau.
Les mises à niveau Schnorr, Taproot et Tapscript ont été attribuées aux BIP 340, 341 et 342 en janvier 2020 et font l'objet de discussions et de développements depuis. Fin 2020, l'implémentation du code pour ces trois mises à niveau a été terminée, testée, révisée et fusionnée dans Bitcoin Core.
En mai 2021, plus de 90 % des mineurs ont signalé l'activation de Taproot, et BIP 340, 341 et 342 ont été activés et appliqués au bloc 709 632 le 12 novembre 2021. Il existe plusieurs méthodes pour activer des mises à jour de Bitcoin ; la communauté Bitcoin sélectionne un chemin puis l'exécute.
BIP 8 et BIP 9 définissent deux méthodes populaires pour activer les mises à jour. Les deux processus commencent par interroger les mineurs de Bitcoin pour obtenir leur soutien. Si une majorité écrasante de mineurs indique leur soutien à travers des messages dans les blocs qu'ils minent, la mise à jour est activée. La différence entre BIP 8 et BIP 9 apparaît si le soutien des mineurs est insuffisant. Dans ce cas, BIP 9 spécifie que la mise à jour ne doit pas avoir lieu, tandis que BIP 8 spécifie que la mise à jour doit être activée après une période de retard.
Des variantes de ces deux propositions ont été avancées dans le cadre de l'activation de Taproot. Cependant, la communauté Bitcoin a massivement soutenu Taproot, et très peu de critiques ont été soulevées. Ainsi, le chemin d'activation spécifique était largement insignifiant.
Taproot est une mise à niveau de Bitcoin qui a apporté plusieurs nouvelles fonctionnalités et avantages aux utilisateurs de Bitcoin. La communauté Bitcoin a activé Taproot au bloc 709 632 le 12 novembre 2021.
La mise à niveau Taproot est composée de trois Bitcoin Improvement Proposals (BIPs)qui définissent trois mises à niveau distinctes du protocole Bitcoin :
Ensemble, ces trois mises à niveau sont connues sous le nom de la mise à niveau Taproot, souvent collectivement appelée BIP Taproot. Ces BIP ont introduit de nouvelles façons plus efficaces, flexibles et privées de transférer des bitcoins.
Dans le cadre de la mise à niveau Taproot, le BIP 340 introduit des signatures Schnorr pour une utilisation dans Bitcoin. Les signatures Schnorr offrent plusieurs avantages aux utilisateurs de Bitcoin, notamment une confidentialité accrue, des frais réduits et une plus grande flexibilité multisig.
Ce BIP spécifie également comment les clés publiques et les signatures de Schnorr doivent être encodées pour être utilisées dans Bitcoin. Les clés publiques utilisées pour les signatures de Schnorr ont une longueur de 32 octets, comparativement aux clés publiques de 33 octets de l'ECDSA. De plus, les signatures de Schnorr ont une longueur de 64 octets, comparativement aux signatures de l'ECDSA, qui vont de 71 à 72 octets, y compris unedrapeau sighash. Ces petites économies d'espace offrent des économies de frais aux utilisateurs de Bitcoin qui adoptent Taproot.
➤En savoir plus sur les signatures Schnorr.
Alors que BIP 340 définit la spécification pour générer et encoder les signatures Schnorr et les clés publiques, BIP 341 définit comment le protocole Bitcoin intègre les signatures Schnorr. Plus précisément, Bitcoin Script doit être mis à jour pour évaluer également les signatures Schnorr. Taproot intègre égalementMerkelized Alternative Script Trees (MAST), qui permettent aux utilisateurs de verrouiller des sorties à plusieurs scripts.
Les sorties Pay-to-Taproot sont des sorties SegWit de version 1, et toutes les transactions Taproot sont des transactions SegWit.
Taproot a également introduit un nouveau type de script, une manière de dépenser du Bitcoin. Pay-to-Taproot (P2TR) permet aux utilisateurs de payer soit à une clé publique Schnorr, soit au Racine de Merkled'une variété d'autres scripts. En utilisant ce nouveau type de script, un utilisateur peut créer un UTXOqui peut être déverrouillée et dépensée par le propriétaire de la clé privée ou toute personne capable de satisfaire les exigences de n'importe quel script dans l'arbre de Merkle.
Agrégation de clés
La fonction d'agrégation de clés de Schnorr permet cette fonctionnalité flexible. Lorsque du bitcoin est envoyé à une sortie P2TR, il est verrouillé sur une seule clé publique, appelée Q. Cependant, cette clé publique Q est en fait une agrégation d'une clé publique P et d'une clé publique formée à partir de la racine de Merkle de nombreux autres types de scripts. L'un des scripts alternatifs dans l'arbre de Merkle peut être utilisé pour dépenser la sortie.
Ce design permet aux utilisateurs de choisir entre des scripts complexes et arbitraires ainsi que des fonctionnalités de paiement à clé publique simple au moment des dépenses, plutôt qu'au moment de la réception. Il rend également tous les sorties Taproot similaires. Parce que les sorties multisig, les sorties single sig et autres contrats intelligents complexes ont tous le même aspect sur la blockchain, de nombreuses heuristiques d'analyse de chaînes deviendront inutilisables, préservant ainsi la confidentialité de tous les utilisateurs de Taproot.
Afin de mettre en œuvre des transactions P2TR, le BIP 342 ajoute et met à jour plusieurs opcodes. Ces nouveaux scripts sont utilisés pour vérifier les dépenses Taproot et les signatures Schnorr, et ils sont collectivement connus sous le nom de Tapscript.
Tapscript a été conçu pour maximiser la flexibilité future des dépenses P2TR afin de permettre des mises à niveau qui ne sont pas encore prévues.
La mise à niveau de Taproot offre de nombreux avantages aux utilisateurs de Bitcoin qui adoptent Taproot ainsi qu'à ceux qui ne le font pas. L'introduction des signatures Schnorr offre des avantages significatifs en termes de confidentialité et de sécurité, mais Taproot et Tapscript apportent également des avantages propres.
➤ Découvrez les avantages des signatures Schnorr.
La plupart des sorties Taproot (P2TR) consomment moins d'espace sur la blockchain que les sorties normalesP2PKHsorties, mais sont légèrement plus grandes queP2WPKHles sorties. Cela est principalement dû au fait que les sorties P2TR verrouillent directement le bitcoin à une clé publique, et non pas au hachage de la clé publique. Cela rend l'envoi vers les sorties Taproot légèrement plus coûteux, car les clés publiques occupent plus d'espace que les hachages de clés publiques. Cependant, dépenser des sorties Taproot est nettement moins cher car la clé publique est incluse dans le scriptPubKey, et n'a donc pas besoin d'être incluse dans le Témoin de script.
Taproot a également défini le schéma de codage pour les clés publiques et les signatures de Schnorr, les rendant plus courts que leurs homologues ECDSA, ce qui permet des économies de frais supplémentaires.
Les implications en matière de confidentialité de Taproot sont peut-être la partie la plus importante de la mise à niveau. En introduisant des signatures Schnorr et une agrégation de clés, les contrats multisignatures ne sont plus différents des contrats à signature unique, offrant ainsi une confidentialité à tous les utilisateurs de Taproot.
Puisque le Lightning Network repose sur un multisig 2-sur-2, Taproot rend impossible de discerner quelles transactions créent des canaux Lightning.
Taproot a également introduit d'importants avantages en matière de confidentialité grâce à l'intégration de MAST. Comme discuté précédemment, Taproot permet de verrouiller des bitcoins sur de nombreux scripts à la fois. Cependant, lorsqu'on dépense des bitcoins à partir d'une sortie Taproot, le dépensier n'a pas besoin de révéler tous les scripts possibles qui auraient pu déverrouiller les bitcoins; seulement le script qu'ils ont effectivement utilisé. Dans la plupart des cas, les utilisateurs de Taproot utiliseront probablement l'option de paiement à clé publique, ce qui leur permet de garder privées toutes les options de sauvegarde qu'ils auraient pu prévoir.
➤En savoir plus sur la manière dont Taproot améliore l'expérience utilisateur de Lightning.
Sur le plan technique et théorique, les signatures de Schnorr sont considérées comme plus sécurisées que les signatures ECDSA car les signatures de Schnorr sont prouvées sûres en utilisant moins d'hypothèses. Comme tous les schémas de cryptographie sur courbe elliptique, à la fois ECDSA et Schnorr reposent sur l'hypothèse que le Problème du Logarithme Discret est difficile. Cependant, ECDSA repose sur des hypothèses supplémentaires pour garantir sa sécurité. Néanmoins, il n'y a eu aucun exemple de compromission systématique d'ECDSA au cours de l'existence de Bitcoin.
Les signatures Schnorr éliminent également toute signature malléabilitéqui aurait pu être présent dans les signatures ECDSA. Alors que la malléabilité des transactions a été résolue par la mise à niveau SegWit, la malléabilité des signatures a persisté en tant que caractéristique de l'ECDSA.
Taro est un protocole alimenté par Taproot qui permet aux utilisateurs d'émettre des actifs sur la blockchain Bitcoin et le Réseau LightningAvec une conception centrée sur Taproot, cette émission d'actifs peut être effectuée de manière plus privée et évolutive que les tentatives précédentes d'introduire d'autres actifs sur Bitcoin. Taro a été proposé par Lightning Labs en avril 2022.
Taproot est utilisé dans Taro pour incorporer des métadonnées d'actifs dans une sortie de transaction existante. Les signatures Schnorr sont également utilisées pour améliorer la simplicité et la scalabilité.
Le nom Taro est un acronyme de Taproot Asset Representation Overlay, indiquant que sans Taproot, cette mise à niveau ne serait pas possible.
Lorsqu'une mise à niveau de Bitcoin est proposée, elle est d'abord discutée par la communauté des développeurs. Une fois la proposition formalisée, elle se voit attribuer un numéro de BIP. Après que le code a été écrit, examiné, testé et fusionné, les opérateurs de nœuds Bitcoin doivent décider comment et quand activer la mise à niveau.
Les mises à niveau Schnorr, Taproot et Tapscript ont été attribuées aux BIP 340, 341 et 342 en janvier 2020 et font l'objet de discussions et de développements depuis. Fin 2020, l'implémentation du code pour ces trois mises à niveau a été terminée, testée, révisée et fusionnée dans Bitcoin Core.
En mai 2021, plus de 90 % des mineurs ont signalé l'activation de Taproot, et BIP 340, 341 et 342 ont été activés et appliqués au bloc 709 632 le 12 novembre 2021. Il existe plusieurs méthodes pour activer des mises à jour de Bitcoin ; la communauté Bitcoin sélectionne un chemin puis l'exécute.
BIP 8 et BIP 9 définissent deux méthodes populaires pour activer les mises à jour. Les deux processus commencent par interroger les mineurs de Bitcoin pour obtenir leur soutien. Si une majorité écrasante de mineurs indique leur soutien à travers des messages dans les blocs qu'ils minent, la mise à jour est activée. La différence entre BIP 8 et BIP 9 apparaît si le soutien des mineurs est insuffisant. Dans ce cas, BIP 9 spécifie que la mise à jour ne doit pas avoir lieu, tandis que BIP 8 spécifie que la mise à jour doit être activée après une période de retard.
Des variantes de ces deux propositions ont été avancées dans le cadre de l'activation de Taproot. Cependant, la communauté Bitcoin a massivement soutenu Taproot, et très peu de critiques ont été soulevées. Ainsi, le chemin d'activation spécifique était largement insignifiant.