Comme prévu, après des années de discussions, de développement et de tests, la dernière mise à jour majeure du protocole Bitcoin a été activée au bloc 709 632, miné par F2Pool à 6h15 ce matin (heure de Paris).
Proposé par Greg Maxwell en 2018, Taproot a été codifié dans trois BIP (propositions d’amélioration) qui ont rejoint le code de Bitcoin Core en octobre 2020.
En combinant l’algorithme de signature Schnorr avec MAST (Merklized Abstract Syntax Trees) et un nouveau langage de script appelé Tapscript, Taproot permet d’augmenter la flexibilité des smart contracts de Bitcoin, tout en offrant plus de confidentialité, les transactions complexes ne pouvant pas être distinguées des transactions classiques. Taproot améliore également la scalabilité du protocole, en évitant à toutes les conditions contractuelles d’être traitées par le réseau et d’encombrer la blockchain.
Taproot introduit un nouveau type de sortie de transaction nommée « Pay to Taproot » (P2TR).
« Avec P2TR, pas besoin de prévoir de l’espace pour l’antécédent et une simple signature suffira à dépenser une sortie de transaction, ce qui nous fait gagner de la place dans les blocs.
Originellement, Bitcoin utilise ECDSA (Elliptic Curce Digital Signing Algorithm) pour les signatures. Satoshi avait envisagé d’utiliser les signatures de Schnorr, mais elles étaient alors protégées par un brevet. Il est désormais expiré et c’est donc Taproot qui les introduit. Ces signatures ont un format sérialisé plus compact, ce qui fait encore gagner de la place dans les blocs.
Par ailleurs, l’agrégation de plusieurs signatures de Schnorr ne peut être distinguée d’une signature normale (linéarité). Du fait de cette linéarité, Taproot permet la construction de Multisig, qui ont le même aspect extérieur que les Wallet simples (privacy), et qui impliquent également moins d’espace dans les blocs (et donc moins de frais) que les Multisig actuels. Le type de signature introduit par Taproot améliore également la gestion de l’ouverture et la fermeture de canaux Lightning en les rendant :
– moins cher
– impossible à distinguer des transactions « classiques » (si les deux parties collaborent).
En outre, cette propriété de linéarité nous permet aussi d’envisager plein de scripts de dépense conditionnelle (i.e. « smart-contracts »), sans qu’un observateur extérieur puisse en connaitre la teneur, notamment lorsque, combiné avec Lightning, on peut imaginer des transactions conditionnées à la révélation d’une donnée dans des canaux cessibles ; autrement dit « des paris transférables » reposant sur un oracle qui ne connait pas la teneur du pari. En pratique ce genre de constructions peuvent permettre des produits dérivés, des actifs synthétiques (par exemple des stablecoins) ou encore des paris sportifs, sans tiers de confiance, avec une empreinte on-chain minimale et une moindre dépendance à un oracle.
Taproot ouvre aussi la voie à de futures améliorations, comme le fait d’associer une seule clé privée à plusieurs entrées (Cross-Input Signature Agregation = gain d’espace et de privacy), ou « ELTOO » une proposition destinée à améliorer la structure de pénalités dans Lightning. Si de telles améliorations futures demandent l’introduction de Taproot, elles ne seront cependant possibles qu’après l’introduction de changements supplémentaires (exemple : ajout de l’Op-Code SIGHASH_ANYPREVOUT).
En Somme Taproot, c’est:
– de meilleures garanties de vie privée,
– un gain d’espace dans les blocs,
– des multisig moins chers,
– une facilitation de « smart-contract » dans Bitcoin et LN, nativement « off-chain »,
– plus d’efficience et de privacy pour la gestion des canaux LN. »
Theo Mogenet [Source : twitter.com/Theo_Mog/status/1458048903769694208]
Theo sera ce soir à 18h00 dans le live Twitter L’entonnoir du Bitcoin qui sera consacré à Taproot.