11. Signature Schnorrretour à la table des matièresLa signature Schnorr est un schéma de signature : un ensemble de règles mathématiques qui relient la clé privée, la clé publique et la signature.
Claus-Peter Schnorr a inventé ce schéma de signature numérique, mais il n'était pas initialement destiné à la technologie crypto.
Schnorr est un algorithme alternatif en tant que
signature numérique avec plusieurs avantages.
Actuellement, Bitcoin utilise l'algorithme
ECDSA (Elliptic Curve Digital Signature Algorithm) pour générer des signatures cryptographiques afin d'envoyer/livrer des
messages secp256k1 et des paires de clés.
La principale raison pour laquelle Bitcoin n'a pas utilisé initialement la signature Schnorr est que Schnorr n'est pas normalisé et n'est pas disponible dans les bibliothèques crypto en général.
De nombreux cryptographes considèrent les
signatures Schnorr comme les meilleures de leur domaine car Schnorr offre un bon niveau de précision, est relativement rapide en termes de vérification et,
surtout, Schnorr prend en charge les multi-signatures. En substance, plusieurs signatures peuvent être combinées en une nouvelle signature.
Auparavant, il n'était pas possible d'utiliser Schnorr dans le protocole bitcoin. D'autres schémas de signatures, comme ECDSA, ont été inclus dans le protocole Bitcoin, donc le changer nécessiterait un hard fork.
Mais avec SegWit (Segregated Witness), toutes les données de signature numérique sont déplacées dans une partie distincte de la transaction : le « Witness » (témoin) n'est pas intégré dans l'ancien protocole Bitcoin. Presque toutes les règles appliquées au témoin peuvent être modifiées par des soft forks, y compris le schéma utilisé dans les signatures.
CapacitéLa partie la plus bénéfique de Schnorr est l'agrégation de multi-signatures.
De nombreuses transactions Bitcoin incluent plusieurs inputs. Tous ces inputs nécessitent des signatures distinctes, ce qui signifie que toutes ces signatures doivent être entrées dans la transaction, toutes doivent être envoyées sur le réseau et toutes doivent être incluses dans le block.
Mais avec Schnorr, tous les inputs ne nécessitent qu'une seule signature combinée qui représente toutes ces signatures différentes.
Schnorr peut offrir la possibilité de traiter avec un schéma multi-utilisateur simple.
C'est l'un des avantages offerts par Schnorr. Parce qu'une seule signature doit être entrée dans une transaction, une seule doit être envoyée sur le réseau et une seule doit être entrée dans le block. Cela signifie qu'il y a plus d'espace dispo pour les transactions.
La quantité exacte d'espace supplémentaire dépend du type de transaction incluse dans le block. Mais des estimations approximatives faites par
Eric Lombrozo (développeur principal de Bitcoin Core) montrent que la signature Schnorr peut éventuellement augmenter la capacité totale de 40% ou plus, ce qui représente une augmentation supplémentaire de 60 à 100% précédemment offerte par Segregated Witness.
MultisigLe genre de construction, tel que décrit ci-dessus, s'applique aux transactions régulières, car de nombreuses transactions incluent plus d'une entrée. Mais les avantages peuvent être plus importants en termes de transactions multi-signatures, où une seule donnée nécessite elle-même plusieurs signatures (généralement de différentes personnes).
Taille de la blockchain Bitcoin avec et sans multi-signatures.
Source : https://eprint.iacr.org/2018/068.pdfConfidentialitéComme mentionné précédemment, une transaction peut inclure de nombreuses inputs. En général, ces inputs se réfèrent à des adresses toutes contrôlées par la même personne.
Mais le tour de passe-passe améliorant la confidentialité découvert par Gregory Maxwell (développeur de Bitcoin Core), CoinJoin, permet à différents utilisateurs de regrouper toutes leurs transactions en une seule transaction. Cette seule transaction inclura plusieurs inputs de divers payeurs, qui envoient de l'argent à plusieurs outputs, appartenant à différents bénéficiaires.
Note : la discussion sur CoinJoin peut être vue point 6. CoinJoin.Si cela est fait correctement, CoinJoin est un excellent moyen d'augmenter la confidentialité, car il n'est pas clair pour un œil externe quels inputs sont payés, quels outputs sont corrects.
CoinJoin n'est pas un concept nouveau. Mais jusqu'à présent, CoinJoin était généralement un peu contraignant. Pour cette raison, la plupart des gens ne l’utilisaient pas.
Mais la signature Schnorr peut ajouter de nouveaux avantages à CoinJoin. Elle permet à tous les participants aux transactions CoinJoin de non seulement regrouper leurs transactions, mais aussi de regrouper leurs signatures. Et le faire signifie que la taille réelle de la transaction sera plus petite que toutes les transactions individuelles combinées. Ce qui, à son tour, signifie que le
miner facturera généralement des frais moins élevés pour traiter la transaction.
Utiliser le schéma de signature Schnorr avec CoinJoin augmente non seulement la confidentialité, mais aussi - et c'est important - peut réduire les coûts pour toutes les parties impliquées dans la transaction.
Références :
- Gregory Maxwell, Andrew Poelstra, Yannick Seurin, & Pieter Wuille, Simple Schnorr Multi-Signatures with Applications to Bitcoin, https://eprint.iacr.org/2018
/068.pdf
- Schnorr, https://en.bitcoin.it/wiki/Schnorr
- Signature Schnorr, https://en.wikipedia.org/wiki/Schnorr_signature
- Aaron van Wirdum, The Power of Schnorr: The Signature Algorithm to Increase Bitcoin’s Scale and Privacy,
https://bitcoinmagazine.com/articles/the-power-of-schnorr-the-signature-algorithm-to-increase-bitcoin-s-scale-and-privacy-1460642496
- Alyssa Hertig, Schnorr Is Looking Poised to Become Bitcoin’s Biggest Change Since SegWit,
https://www.coindesk.com/schnorr-is-looking-poised-to-become-bitcoins-biggest-change-since-segwit
- René Pickhardt, Introduction to Schnorr Signatures for Bitcoin & Lightning Network. Schnorr Signature Tutorial Part1,
https://www.youtube.com/watch?v=n5aompcR9W0
- René Pickhardt, MuSig - Multisignature Addresses in Bitcoin. Schnorr Signature Tutorial Part 2,
https://www.youtube.com/watch?v=4v4G8Vtr3Bk
- René Pickhardt, Introduction to Adaptor Signatures via Schnorr Signatures - Schnorr Signature Tutorial Part 3,
https://www.youtube.com/watch?v=a8Pdpz_Jzok
- Yodik Prastya, Bitcoin Cash Upgrade Fitur Pemulihan Dan Keamanan, https://www.seputarforex.com/berita/bitcoin-cash-upgrade-fitur-pemulihan-dan-keamanan-288550-15
- Confidentialité, https://en.bitcoin.it/wiki/Privacy
- Autres références voir le post #1