Titres Titres
Avec Taproot à quelques heures seulement de l’activation, il semble que ce soit le bon moment pour développer la partie Taproot d’un précédent ELI5 d’il y a quelques mois expliquant ce qui rend Bitcoin précieux, Lightning Network et Taproot.
Taproot est sans doute la plus grande mise à niveau du protocole de couche de base de Bitcoin, introduisant un nouvel algorithme de signature et un nouveau langage de script. Il apporte un ensemble de protocoles qui améliorent la confidentialité, la sécurité, l’évolutivité, la fongibilité de Bitcoin et déverrouille l’infrastructure qui permettra une intégration transparente des protocoles d’application L2/sidechain sur Bitcoin.
La racine pivotante a été activée via l’approche « d’essai rapide ». Dans le cadre de l’essai rapide, les mineurs ont eu trois mois pour signaler leur soutien à Taproot après l’expédition du code. Cela nécessitait que 90 % des blocs dans une période de difficulté (blocs 2016) signalent pour Taproot. L’activation a été réalisée à la hauteur de bloc 687284 en juin.
Bien que certaines des idées incluses dans la mise à niveau aient été discutées pendant de nombreuses années, la dernière version de Taproot a été proposée par le développeur Bitcoin Gregory Maxwell en 2018. La mise à niveau porte le nom de l’une des trois propositions d’amélioration Bitcoin (BIP) incluses dans la mise à niveau. – Signatures Schnorr (BIP 340), racine pivotante (BIP 341) et Tapscript (BIP 342).
En combinant les signatures Schnorr avec MAST (Merklized Alternative Script Tree) et en introduisant un nouveau langage de script légèrement modifié appelé Tapscript, Taproot étend les capacités de contrat intelligent de Bitcoin tout en offrant plus de confidentialité et de sécurité en rendant les transactions multi-signatures et les contrats intelligents complexes impossibles à distinguer des contrats réguliers transactions en bitcoins.
Signatures Schnorr (BIP 340)
Cette partie de la mise à niveau est une modification de l’algorithme de signature numérique cryptographique de Bitcoin. En cryptographie asymétrique (paires de clés publiques-privées), les algorithmes de signature numérique définissent la génération de signatures numériques à l’aide d’une clé privée qui prouve la propriété d’une clé publique correspondante.
L’algorithme de signature numérique à courbe elliptique (ECDSA) existant de Bitcoin ne sera pas remplacé, mais les signatures de Schnorr seront implémentées en plus.
L’algorithme de signature numérique de Schnorr permet ce qu’on appelle l’agrégation de clés et de signatures à l’aide d’un protocole connu sous le nom de MuSig – plusieurs signatures créées à l’aide de plusieurs clés privées correspondant à plusieurs clés publiques sont combinées pour produire une seule signature numérique cryptographique correspondant à une seule clé publique enregistrée sur le blockchain.
Agrégation de clé et de signature
En plus du fait que les signatures et les clés publiques de Schnorr sont plus petites que les signatures et les clés publiques de l’ECDSA, l’agrégation contribue également à réduire l’empreinte des transactions à signatures multiples et des contrats intelligents complexes, qui occuperont le même espace que les transactions à signature unique régulières et que toutes les transactions. semblera indiscernable sur la blockchain, les avantages en matière de confidentialité sont assez évidents. La confidentialité s’étend également à Lightning Network, car les transactions en chaîne pour ouvrir et fermer les canaux Lightning ne peuvent plus être identifiées à partir des clés et des signatures du canal ou du script utilisé.
Contrairement aux signatures ECDSA, les signatures Schnorr sont sécurisées et intrinsèquement non malléables, ce qui signifie qu’un tiers ne peut en aucun cas modifier une signature valide existante. Le témoin séparé (SegWit) a traité la malléabilité des transactions, les signatures de Schnorr adressent la malléabilité de la signature.
Il existe également des avantages informatiques importants pour les nœuds, car l’agrégation de clés permettra aux nœuds de vérifier les signatures par lots, mais ces avantages ne peuvent être réalisés qu’avec le temps une fois que les signatures Schnorr seront largement adoptées.
La modification de l’algorithme de signature numérique, en soi, n’affecte rien sur la blockchain. Schnorr est un moyen différent et plus efficace de générer des signatures numériques.
Lorsque Satoshi a initialement développé Bitcoin, Claus Peter Schnorr, l’inventeur des signatures Schnorr, avait un brevet dessus. On suppose que Satoshi a peut-être opté pour les signatures Schnorr plutôt que pour l’ECDSA, qui était une alternative open source rigoureusement testée et développée plus tard, même si d’une manière quelque peu inefficace pour ne pas constituer une violation du brevet, qui a expiré en 2008.
Il a été suggéré d’utiliser un nom différent, Discrete Logarithm Signatures a été brièvement évoqué lors de l’adaptation des signatures Schnorr pour Bitcoin car certaines personnes estimaient que le nom de Claus Peter Schnorr ne devrait pas être utilisé en association avec Bitcoin après avoir empêché l’utilisation généralisée d’un tel puissant signature depuis plus de 20 ans.
Racine pivotante (BIP 341)
Cette partie de la mise à niveau s’appuie sur le schéma de signature Schnorr pour activer Merklized Alternative Script Trees (MAST) et définit les règles d’un nouveau type de sortie basé sur SegWit connu sous le nom de Pay-to-Taproot (P2TR), qui exploite les capacités des signatures Schnorr.
MAST est une solution de confidentialité qui utilise les arbres Merkle dans le cadre de la structure du script pour résoudre certains problèmes de longue date avec les transactions utilisant les scripts de verrouillage Pay-to-Script Hash (P2SH) et Pay-to-Pubkey Hash (P2PKH) où toutes les dépenses possibles les conditions d’une transaction sont révélées.
P2TR optimise considérablement l’économie de l’espace en blocs
P2TR combine deux scripts de verrouillage distincts – P2SH et Pay to Pubkey (P2PK), qui est une version plus simple de P2PKH qui verrouille une sortie sur la clé publique plutôt qu’un hachage de la clé publique.
Cela permet aux sorties P2TR d’être dépensées soit par un script (contrat intelligent) soit par une clé publique, mais en permettant à différentes conditions de dépenses de la sortie d’être hachées individuellement, seule la condition de dépense spécifique remplie est révélée, et grâce aux signatures de Schnorr, elles sont tous indiscernables sur la blockchain.
Tapscript (BIP 342)
Cette partie de la mise à niveau modifie le langage de script de Bitcoin pour activer les nouveaux types de transactions introduits par les deux propositions ci-dessus en utilisant de nouveaux opcodes (codes d’opération), qui sont des commandes dans les scripts Bitcoin avec des fonctions prédéfinies.
L’objectif de Tapscript est de rendre les signatures Schnorr, la vérification par lots et les améliorations de hachage de signature disponibles pour les dépenses qui utilisent le chemin du script ainsi que le chemin de la clé publique. Il permet aux nœuds de créer et de valider des sorties P2TR.
Les opcodes de signature existants pour ECDSA sont modifiés pour vérifier les signatures Schnorr. Deux opcodes existants qui définissent la vérification des transactions multi-signatures sont désactivés et remplacés par un nouveau opcode (OP_CHECKSIGADD) pour permettre la vérification par lots des signatures.
Tapscript permet également d’ajouter de nouvelles règles de validation de signature via des softforks et introduit un autre nouvel opcode (OP_SUCCESS) pour permettre l’introduction transparente des futurs opcodes à Tapscript.
Impact de la racine pivotante
Le script de Bitcoin est délibérément limité et intentionnellement non-Turing complet afin de conserver la simplicité, la sécurité et l’efficacité. L’optimisation linéaire est l’une des principales considérations pour les mises à niveau du script afin d’assurer la décentralisation – que tout individu puisse auto-héberger économiquement un nœud et valider en toute confiance la blockchain.
Taproot est un soft fork à compatibilité ascendante, ce qui signifie que les anciens nœuds non mis à niveau reconnaîtront les nouveaux blocs comme valides. Au moment de la rédaction de cet article, plus de 53 % des ~ 60 000 nœuds Bitcoin prennent en charge Taproot. Les nœuds non exécutoires rejetteront les transactions dépensées à partir des sorties P2TR jusqu’à ce qu’ils mettent à niveau le logiciel du nœud, mais accepteront les blocs contenant les dépenses de transactions à partir des sorties P2TR.
L’importance de Taproot ne peut pas être mesurée simplement par ce que les propositions ci-dessus permettent pour Bitcoin, mais ce qu’elles représentent pour l’avenir de Bitcoin en introduisant de nouveaux outils pour rendre les futures mises à niveau plus faciles à mettre en œuvre, plus simples, plus sûres et plus privées.
De telles mises à niveau en attente incluent l’agrégation de signatures à entrées croisées, les usines de canaux, les chaînes d’état et les clauses restrictives, qui permettent de construire des protocoles d’application avancés sur Bitcoin sans imposer de charge excessive aux utilisateurs de nœuds complets, préservant ainsi la sécurité inviolable de Bitcoin. et la décentralisation.
Source bitcoinexchangeguide.com