Signatures en anneau dans Bitcoin : Exécutez Monero sur Bitcoin
Nous avons implémenté la toute première signature Ring dans Bitcoin.
Signatures de bague
N’importe qui dans le ring peut signer et personne ne peut dire qui a signé
UN signature de l’anneau est un type de signature numérique qui permet à un message d’être signé par un seul membre d’un groupe ou d’un anneau. Cela prouve que quelqu’un dans le ring signe effectivement, mais il n’y a aucun moyen d’identifier le véritable signataire parmi les membres du ring.
Sa confidentialité accrue permet de nombreuses applications, telles que :
- dénonciation : un dénonciateur du gouvernement veut divulguer que son agence collecte secrètement les données privées des citoyens, mais souhaite rester anonyme en raison du risque d’être licencié. En utilisant une signature circulaire, il peut démontrer qu’il travaille pour l’agence et ainsi crédibiliser la réclamation, tout en dissimulant son identité
- authentification d’adhésion privée : un utilisateur prouve à une application qu’il est enregistré sans divulguer qui il est
Elle prouve qu’elle s’est inscrite et qu’elle a le droit de voter, sans divulguer son vote¹
Il a été utilisé par de nombreuses blockchains pour préserver la confidentialité, notamment dans Monero.
Signatures en anneau dans Bitcoin
Il existe plusieurs façons d’implémenter des signatures en anneau. Nous choisissons un schéma appelé signatures de groupe anonymes spontanées², car il est basé sur une courbe elliptique et peut être implémenté dans Bitcoin.
Signature
Étant donné un message, un groupe/anneau de clés publiques et une clé privée, une signature est produite comme suit :
Signature
Vérification
Étant donné une signature, un message et un anneau de clés publiques, l’algorithme suivant détermine si la signature est créée par une clé privée correspondant à une clé publique de l’anneau, en deux étapes :
Vérification
Mise en œuvre
Nous avons implémenté la vérification de signature Ring, en utilisant la bibliothèque de courbes elliptiques. Toute personne connaissant une clé privée du groupe de clés publiques peut signer et dépenser les pièces bloquées dans le contrat. Personne ne peut dire lequel a signé, même les membres du groupe.
Contrat RingSig
Mise à jour itérative des lignes 21 à 31 ccomme à l’étape 1. La ligne 34 vérifie l’étape 2.
***
REMARQUES :
Une signature en anneau pouvant être liée, qui permet d’identifier si deux signatures appartiennent au même signataire, est nécessaire pour détecter un double vote.
Section 3.3 de Zéro à Monero.
Regardez : Présentation de CoinGeek New York, Smart Contracts & Computation on Bitcoin
le guide de ressources ultime pour en savoir plus sur Bitcoin – tel qu’envisagé à l’origine par Satoshi Nakamoto – et la blockchain.