Bitcoin Graftroot

L’inclusion imminente des signatures Schnorr dans Bitcoin a suscité le débat autour de Taproot, et Graftroot est apparu comme un complément à Taproot – améliorant son efficacité.

Proposé par le développeur Bitcoin Gregory Maxwell juste après sa proposition Taproot, Graftroot développe les avantages de la condition de script multi-sig de Taproot et résout ses lacunes, principalement l’efficacité. Cette pièce prolonge le sujet précédent de Taproot, il est donc prudent de comprendre comment fonctionne Taproot avant de plonger dans Graftroot.

Bitcoin Graftroot

Bref historique sur la racine pivotante et le MAST

Graftroot consiste à améliorer les conditions de script de Bitcoin – qui utilisent actuellement des scripts P2SH – qui incluent des dispositions telles que les multi-signatures M-of-N et les délais qui sont exercés pour dépenser des bitcoins entre plusieurs participants.

Taproot s’appuiera sur les signatures Schnorr et une mise à niveau du protocole en attente vers P2SH, connue sous le nom de MAST. MAST permet aux utilisateurs de masquer de nombreuses conditions de script dans une seule transaction sans révéler les autres conditions de script lorsqu’une condition spécifique est remplie pour dépenser les bitcoins correspondants. Cependant, des observateurs extérieurs peuvent discerner si les transactions explicites utilisent MAST car elles semblent différentes des transactions standard – ce qui réduit la confidentialité..

Taproot est conçu pour masquer les propriétés de MAST utilisées avec les signatures agrégées Schnorr via une «clé publique de seuil» et une «signature de seuil» que les participants peuvent modifier. C’est une solution brillante qui relie Schnorr et MAST pour produire des transactions multi-scripts complexes qui apparaissent comme des transactions standard.

Malgré les avantages de Taproot, il existe des cas où aucune «clôture coopérative» d’une transaction multipartite n’est atteinte ou où un participant perd sa clé privée. Dans de tels scénarios, l’utilisation de conditions de script comme multi-sig ou timelocks fournit une solution de secours cruciale afin que les fonds ne soient pas verrouillés et puissent toujours être dépensés.

Comme plus de garanties contre les scénarios défavorables et l’innovation dans les fonctionnalités complexes de l’exploitation de la surface du langage de script de Bitcoin, les transactions comprendront probablement plus de conditions de script – en particulier avec l’inclusion de signatures Schnorr dans Bitcoin.

L’inconvénient de Taproot est qu’un contrat de script Bitcoin complexe avec de nombreuses conditions devient lourd en données et moins privé que lorsqu’il est exécuté avec une condition de script de fermeture coopérative ou simple. Maxwell a proposé Graftroot comme méthode pour conserver la confidentialité de Taproot sans sacrifier l’efficacité, permettant au protocole de s’adapter à des conditions de script arbitraires..

Selon sa proposition:

«Taproot souffre d’une limitation car il ne fournit nativement qu’une seule alternative. Des arbres ou des cascades de racines pivotantes peuvent être faites, mais ils ont moins d’intimité et d’efficacité qu’un seul niveau. Par exemple. un engagement d’arbre a des frais généraux qui augmentent avec le log du nombre d’alternatives. »

Racine pivotante Bitcoin

Lire: Qu’est-ce que Taproot?

Graftroot

Dans Taproot, les participants à un contrat intelligent Bitcoin de plusieurs conditions de script combinent leurs clés publiques pour former une “ clé publique de seuil ” et une “ signature de seuil ”. Le même processus s’applique dans Graftroot, cependant, les participants signent indépendamment les conditions de script alternatives spécifiques – création de signatures de seuil pour chaque condition plutôt que pour l’ensemble des conditions.

Selon Maxwell:

«Avec graftroot, les participants établissent une clé de seuil, éventuellement avec une alternative de racine pivotante, tout comme ils le font avec une racine pivotante. À tout moment, ils peuvent déléguer leur capacité à signer à un script de substitution en signant ce script (et uniquement le script) avec leur clé de racine pivotante, et en partageant cette délégation avec qui ils choisissent. Plus tard, quand vient le temps de dépenser la pièce, si les signataires ne sont pas disponibles et que le script doit être utilisé, la partie qui rachète fait tout ce qui est nécessaire pour satisfaire le script (par exemple, fournit sa propre signature et un délai, ou autre) et présente ces informations avec la signature du script par le signataire. “

Par exemple, Alice, Bob et Charlie construisent une transaction Bitcoin avec plusieurs conditions de script alternatives, et si aucune clôture coopérative n’est remplie:

  1. Les bitcoins peuvent être dépensés avec 2 sur 3 dépenses multi-sig entre les participants.
  2. Alice peut dépenser les bitcoins après 1 mois sans la signature de Bob ou Charlie.
  3. Bob peut dépenser les bitcoins avec une clé secrète sans la signature d’Alice ou de Charlie.

Chaque participant signe les scripts alternatifs et stocke la signature de seuil pour chaque condition. Les signatures de seuil des conditions alternatives peuvent être utilisées ultérieurement pour prouver que les scripts ont été convenus par les parties.

Une fois qu’une condition spécifique est remplie – par exemple, un mois passe et aucune dépense multi-sig 2 sur 3 ou de clé secrète Bob ne s’est produite – alors la troisième condition pour dépenser les bitcoins (condition de timelock d’Alice) peut être utilisée pour dépenser les bitcoins. Alice révélerait sa condition de script alternative stockée et la signature de seuil pour prouver l’authenticité de ses dépenses. Les autres conditions ne sont pas divulguées.

À l’inverse, si les trois participants réglaient la transaction avec une clôture coopérative, aucune des conditions ne serait exposée et la transaction apparaîtrait comme une transaction standard. Même s’il y avait plusieurs participants dans les conditions de script, cela ne serait pas identifiable par un observateur extérieur.

Le principal avantage de Graftroot par rapport à Taproot est la capacité du protocole à s’adapter à des quantités démesurées de conditions de script sans sacrifier l’efficacité – la surcharge de données est constante. Des conditions de script peuvent même être ajoutées après l’assemblage initial du contrat. Selon Maxwell:

«Le résultat est qu’au lieu de n’autoriser qu’une seule alternative, un nombre illimité d’alternatives peut être fourni. Tous sont exécutés avec une efficacité égale à une seule alternative, et le nombre d’entre eux est masqué sans frais généraux. Des alternatives peuvent également être proposées pour les pièces existantes, sans qu’elles ne soient déplacées – le mouvement n’est nécessaire que pour détruire la possibilité d’utiliser des alternatives en changeant de clé.

Un autre avantage essentiel de Graftroot est la possibilité de déléguer des clés dans les scripts, un sujet que Maxwell cite comme un débat alambiqué remontant à 2012..

Cependant, Graftroot ne se fait pas sans quelques pièges. Le protocole est interactif, ce qui signifie que les participants doivent communiquer sur la signature des scripts alternatifs avant même de dépenser les bitcoins avec une coopérative proche. Le problème de la gestion des clés encombrante se pose également à mesure que davantage de conditions de script et de participants sont ajoutés. Les participants doivent stocker des clés de seuil de condition alternative corrélées, ce qui n’est pas idéal pour attirer les utilisateurs de la variété la plus courante.

Le problème de la complexité sous-jacente des conditions de script conduit également à l’idée que des progrès majeurs devront être faits pour faire abstraction de la création et de l’utilisation de conditions alternatives avec les futures interfaces utilisateur. Taproot et Graftroot facilitent la navigation dans les conditions de script sur le back-end, mais ils restent des innovations compliquées à masquer sur le front-end.

Développement et applications

Plusieurs projets de scripts à venir sont censés être inclus en tant que mises à niveau complémentaires du protocole Bitcoin. En particulier, les signatures Schnorr sont la mise à niveau la plus considérable vers Bitcoin depuis SegWit et Blockstream. récemment publié MuSig – leur code de test proposé pour la mise à niveau des signatures Bitcoin vers Schnorr.

MAST et Taproot seront probablement déployés après Schnorr ou en conjonction avec lui. Graftroot peut très bien être inclus dans la même mise à niveau mais peut également être poussé derrière l’intégration de MAST et Taproot avec Schnorr.

Des conditions de script multi-sig simples peuvent empêcher des incidents comme Quadriga de se produire, et des conditions alternatives plus complexes et évolutives peuvent permettre des constructions innovantes de transaction / contrat. L’avantage supplémentaire de Taproot et Graftroot est leur confidentialité inhérente, présentant des transactions compliquées comme des transactions standard.

L’enthousiasme de la communauté Bitcoin centrale autour des signatures Schnorr est palpable. Leur intégration avec l’ancienne crypto-monnaie ouvre une gamme de nouvelles opportunités de développement et d’innovation.