Taproot

On entend parler de Taproot depuis mi-2018, introduite par Gregory Maxwell et Peter Wuille comme une brique de plus vers des transactions plus confidentielles dans le registre totalement transparent qu’est Bitcoin. Sujet particulièrement houleux au sein de la mailing-list communautaire orientée cryptographie, Taproot prend racine à partir de deux autres BIPs (Bitcoin Improvement Proposal) : les signatures de Schnorr et les MAST. Mais avant de détailler tout cela, il nous faut plonger aux racines du fonctionnement des scripts de la timechain.

P2PKH et P2SH

Ce n’est plus un secret, le protocole Bitcoin se base sur les UTXOs (Unspent Transaction Output), aussi appelées sorties : la quantité totale de bitcoins en circulation au sein du réseau est ainsi calculable à partir de la somme de ces sorties. Ces dernières s’accompagnent d’un script qui, lors d’une transaction, permet aux nœuds du réseau de s’assurer cryptographiquement que toutes les conditions de dépense sont respectées. En l’occurence, dans la plupart des transactions normales, la condition est que la transaction ait été signée par le bon propriétaire, déverrouillant par conséquent les fonds des adresses concernées. On parle initialement dans ces cas-là d’adresses P2PKH (Pay to PubKey Hash), ou plus récemment de P2SH (Pay to Script Hash).

Ces scripts peuvent aussi être enrichis de conditions de dépense plus complexes. C’est le cas du multisig, qui requiert que plusieurs signatures différentes soient requises afin de déverrouiller le script, permettant par exemple à plusieurs individus de partager la propriété de fonds. Le problème, c’est que la totalité de ces conditions de dépense sont visibles par tous et que plus on en accumule, plus la transaction coûte cher…

MAST et les signatures de Schnorr

C’est ici que les MAST (Merkelized abstract syntax trees) interviennent. En bref, elles sont un moyen de concaténer des transactions complexes de manière à ce qu’une seule des conditions présentes dans le script n’ait à être connue. Tant qu’une des conditions est validée, les autres modalités peuvent rester inconnues, échappant aux yeux des nœuds du réseau. Un
observateur externe ne pourra donc pas distinguer toutes les conditions de déverrouillage de l’extérieur : tout ce qu’il verra, c’est qu’il a affaire à une transaction conditionnelle MAST.

Additionnées aux signatures de Schnorr que nous avons pu présenter dans un article précédent, les MAST permettraient un gain de confidentialité et une réduction des coûts considérables, mettant les transactions complexes sur le devant de la scène et promettant toujours plus de flexibilité aux scripts possibles.

Conclusion

Et Taproot dans tout ça ? Eh bien sachez que toutes ces améliorations ne sont que différentes pièces d’un même puzzle : Taproot a besoin de MAST pour exister, et les MAST ne peuvent réellement être efficientes que grâce aux signatures de Schnorr. C’est donc sur ces dernières que tous les efforts sont concentrés en ce moment, puisqu’elles représentent la partie difficile
du problème. Effectivement, selon les développeurs, MAST et Taproot sont déjà conceptualisées et faciles à implémenter, à condition que les signatures de Schnorr fassent leur entrée. Enfin, Taproot se dévoilera, et rendra les transactions complexes complètement impossible à distinguer des transactions normales, tant au niveau du coût que de la forme. C’est un grand pas en avant pour combler quelques points noirs liés à l’expérience utilisateur de Bitcoin, nous rapprochant potentiellement de l’adoption par les masses.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.