Qu'est-ce qui complique la mise en œuvre de l'agrégation de signatures croisées?

Nov 27 2020

Qu'est-ce qui complique la mise en œuvre de l'agrégation de signatures croisées? Autre que pour des raisons d'espace de conception, pourquoi n'a-t-il pas été transformé en BIP-Taproot? (L'agrégation de clés dans une entrée peut être réalisée avec MuSig, MuSig2, etc., mais les signatures ne peuvent pas être agrégées entre différentes entrées avec BIP-Taproot.)

Cette question a été posée par Thorkil Vaerge sur Twitter .

Réponses

2 MichaelFolkson Nov 27 2020 at 05:07

Pieter Wuille a répondu à cela sur Twitter .

La plus importante complication de l' agrégation d'entrée croix est expliqué dans cette liste de diffusion de Bitcoin poste par AJ Villes.

TL; DR: si les softforks changent quelles signatures sont vérifiées, elles ne doivent pas changer ce qui est agrégé ensemble. Ceci est particulièrement compliqué lorsqu'ils interagissent avec le mécanisme de mise à niveau OP_SUCCESSx de BIP341, qui pourrait facilement permettre aux futures fourches de modifier complètement la sémantique des scripts. Il n'y a rien de fondamentalement difficile ici - c'est juste de la complexité d'ingénierie pour s'assurer que tout fonctionne bien ensemble.

Pieter a ajouté lors d'un séminaire socratique BitDevs de Londres sur BIP-Taproot:

Graftroot et l'agrégation des entrées croisées sont des changements profondément conceptuels. Vous ne pouvez pas permettre de les construire plus tard. C'est un tel changement structurel dans le fonctionnement des scripts. Ces choses ne peuvent pas être simplement ajoutées plus tard en plus de Taproot. Vous avez besoin d'un successeur. Agrégation d'entrées croisées, le concept de vérification de script n'est plus une chose par entrée, mais c'est une chose par transaction. Vous ne pouvez pas le faire avec une efficacité optimale, je suppose que vous pouvez inventer des choses. Le type d'extensibilité intégré est constitué de nouveaux opcodes, de nouveaux types de clés publiques, de nouveaux types de sighash, toutes ces choses sont rendues assez faciles et ne présentent presque aucun inconvénient par rapport au fait de ne pas les faire immédiatement. De vrais changements structurels dans l'exécution des scripts, ils ont besoin d'autre chose.