Confidentialité sur la blockchain : Comparatif des solutions et technologies innovantes

Confidentialité sur la blockchain : Comparatif des solutions et technologies innovantes

Explorez les solutions de confidentialité qui transforment les blockchains, de la pseudonymité à l’anonymat total. Entre preuves sans divulgation et chiffrement avancé, découvrez les technologies clés pour sécuriser vos transactions et données on-chain.

La plupart des blockchains sont des réseaux pseudonymes : nous ne connaissons pas nécessairement l'entité derrière une adresse, mais nous pouvons voir toutes les actions et les possessions de chaque adresse. Il est cependant possible de pousser la confidentialité plus loin pour obtenir des blockchains anonymes.

L'anonymat on-chain peut être souhaité pour deux raisons principales :

  • Protéger la vie privée en évitant que tout le monde ait accès aux transactions, aux biens et aux données personnelles associés à une adresse
  • Prévenir les stratégies prédatrices en finance décentralisée, comme le front-running en trading ou la manipulation du prix d'un actif pour forcer une liquidation

L'intégration de l'anonymat dans une blockchain est complexe, car il s'agit d'un réseau où les participants doivent se synchroniser et parvenir à un consensus sur son état. Ce processus devient nettement plus compliqué lorsque les données du réseau sont chiffrées.

En résumé, le défi est d'anonymiser l'activité de la blockchain tout en permettant à quiconque de vérifier que cette activité respecte les règles du réseau.

Les projets visant à apporter de l'anonymat on-chain s'appuient principalement sur quatre technologies de chiffrement.

  • Les zero knowledge proofs (ZKP) sont des preuves permettant de démontrer la véracité d'une information sans en révéler le contenu (par exemple : prouver qu'une personne est majeure sans divulguer son âge). Elles ont l'avantage d'être succinctes, c'est-à-dire qu'elles permettent de vérifier rapidement le résultat d'un calcul long et complexe.
  • La Fully Homomorphic Encryption (FHE) permet d'effectuer des calculs sur des données chiffrées sans jamais les déchiffrer, assurant ainsi la confidentialité tout au long du processus de calcul.
  • Le Multi-Party Computation (MPC) permet à plusieurs parties d'effectuer des calculs collectifs sur des données partagées tout en préservant leur confidentialité. Chaque partie n'a accès qu'à ses propres données, sans connaître celles des autres.
  • Les Trusted Execution Environments (TEE) sont des zones sécurisées basées sur du matériel informatique qui permettent de traiter des informations sans qu'elles soient accessibles au reste du système ou à d'autres individus. Leur avantage réside dans leur faible latence et leur coût réduit par rapport aux autres solutions.

Cependant, chacune de ces technologies présente des limitations :

  • Pour les ZKP, une entité doit avoir accès aux données pour générer la preuve. Cela crée un potentiel tiers de confiance (sauf si l'on génère soi-même sa preuve) et restreint les types d'applications possibles, car il n'est pas possible d'effectuer des opérations sur les données qu'elles chiffrent.
  • La FHE perd de son intérêt si une entité centralisée possède la clé de déchiffrement. De plus, cette technologie est encore très lente et coûteuse.
  • Dans le cas du MPC, il existe un risque de collusion entre les différentes parties.
  • Les TEE, comme leur nom l'indique, nécessitent de faire confiance à leur bon fonctionnement. Il existe plusieurs cas où la sécurité des TEE a été compromise par le passé.

Il est néanmoins possible de combiner ces technologies pour pallier leurs limites. Par exemple, le MPC permet d'étendre les cas d'usage des ZK en permettant à plusieurs parties de générer une preuve sur une fonction complexe commune. Le MPC peut aussi être associé à la FHE pour diviser la clé de chiffrement, évitant ainsi de reposer sur un point de défaillance unique.

L'utilisation des différentes méthodes de chiffrement varie selon les cas d'usage et, surtout, selon leur maturité respective.

L’anonymisation des transactions

Dans la plupart des cas, l'anonymisation des transactions s'appuie sur la technologie ZK (zero-knowledge). Cette technologie parvient à anonymiser des opérations en ne donnant que leur résultat et en prouvant sa validité. Ainsi, une blockchain peut passer d'un état à un autre sans révéler les détails de la transition.

Aztec et Polygon Miden, des layer 2 d'Ethereum en développement, visent à permettre aux utilisateurs de générer eux-mêmes une ZKP (zero-knowledge proof) lors de leurs transactions. Cela prouve la validité de la transaction sans en révéler les informations, puisque la preuve n'est pas générée par un tiers. Ces preuves individuelles peuvent ensuite être agrégées pour générer une nouvelle ZKP simple à vérifier.

Leur objectif est de permettre un anonymat total des transactions effectuées par les utilisateurs. Le défi majeur sera d'anonymiser également les détails des transactions plus complexes interagissant avec des smart contracts. Une autre difficulté est d'accélérer la génération de la ZKP pour les utilisateurs.

Payy, un layer 2 d'Ethereum spécialisé dans le paiement, parvient déjà à réaliser des transactions simples où les utilisateurs génèrent eux-mêmes leur ZKP en quelques secondes sur un téléphone.

Zcash, un layer 1 également spécialisé dans les paiements anonymes, s'appuie déjà sur les ZKP et cherche désormais à permettre à ses utilisateurs de les générer eux-mêmes.

Monero est souvent comparé à Zcash, car il s'agit aussi d'un layer 1 spécialisé dans les paiements anonymes. Toutefois, Monero n'utilise pas la technologie ZK, mais s'appuie plutôt sur une combinaison d'autres technologies : les signatures de cercle qui protègent l'anonymat de l'émetteur, les adresses furtives qui préservent l'anonymat du récepteur, et RingCT qui masque les montants des transferts. Contrairement à Zcash qui laisse le choix à ses utilisateurs, Monero est anonyme par défaut.

Cependant, ces cryptomonnaies font l'objet d'une attention accrue de la part des régulateurs. Le token de Monero, XMR, a été progressivement retiré de la plupart des grandes plateformes d'échange.

L'anonymisation des transactions ne nécessite pas toujours d'être réalisée au niveau du réseau lui-même. Certaines applications permettent d'anonymiser des transactions sur des blockchains publiques. La plus connue est Tornado Cash, qui utilise des ZKP pour anonymiser l'émetteur d'une transaction.

Renegade, une application sur Arbitrum, s'appuie sur une architecture ZKP-MPC pour permettre la réalisation de trades au sein de dark pools. Cela signifie qu'elle permet à deux personnes d'effectuer un échange sans que personne d'autre n'en soit informé. De plus, les adresses des participants ne sont révélées à personne, pas même à leur contrepartie.

L'anonymisation des soldes des adresses

La FHE (Fully Homomorphic Encryption) permet d'effectuer des opérations sur des données chiffrées. Il est ainsi possible d'anonymiser toutes les données des adresses d'une blockchain tout en préservant son bon fonctionnement, sans jamais avoir à déchiffrer ces informations.

Zama est l'une des entreprises leaders dans ce domaine. The Big Whale a réalisé une interview avec son PDG Rand Hindi (transcription écrite disponible ici) :

Fhenix, un layer 2 d'Ethereum en développement, ambitionne de créer une blockchain où les montants des transferts et les soldes des adresses sont entièrement chiffrés.

Circle et Inco, un service construit sur EigenLayer, ont utilisé la FHE pour ajouter une couche d'anonymat aux tokens ERC20 sur les blockchains publiques. L'objectif est d'anonymiser à la fois le solde de tokens d'une adresse et le montant des transferts. Cependant, les adresses impliquées dans ces échanges de tokens restent visibles, principalement pour des raisons de conformité réglementaire.

La création de blocs

Anonymiser le processus de création des blocs peut aider à minimiser la MEV (Miner Extractable Value) et permettre un arrangement plus équitable des transactions au sein d'un bloc.

Dans le cadre de leur collaboration avec l'Unichain, Flashbots a annoncé "Rollup-Boost" : une construction visant à optimiser la création de blocs au sein des layers 2. L'architecture s'appuie notamment sur un TEE (Trusted Execution Environment) pour créer une mempool chiffrée : les transactions des utilisateurs sont directement envoyées au sein du TEE où elles seront ensuite ordonnées et exécutées selon une logique vérifiable attestée par le TEE. Ces transactions ne deviennent publiques qu'une fois le bloc produit.

Cet exemple illustre bien l'intérêt des différentes méthodes d'anonymat selon leur cas d'usage. En l'occurrence, un TEE offre certes moins de sécurité pour l'anonymisation des données, mais c'est aussi la méthode de chiffrement avec la plus faible latence. Son utilisation est donc parfaitement adaptée dans un contexte où les données n'ont besoin d'être anonymisées que pour un court délai, à savoir le temps de construire un bloc.

D'autres projets comme Radius visent à créer une mempool chiffrée en s'appuyant sur la technologie ZK (Zero-Knowledge). Cependant, son implémentation est moins pratique, notamment dans un cadre où les blocs doivent être produits à haute fréquence.

Conclusion

La confidentialité on-chain s'applique à tous les niveaux, chaque méthode offrant différents compromis en termes de performances et de sécurité.

Les ZKP ont connu l'évolution la plus significative ces dernières années, grâce au travail combiné d'entreprises telles que Starkware, Polygon Labs, Succinct et RISC Zero. Le coût et le temps nécessaires pour générer des ZKP ont drastiquement diminué, les rendant ainsi utiles dans de nombreux cas d'usage. Cette amélioration devrait se poursuivre, notamment grâce au développement de matériel informatique spécialement conçu pour leur génération.

D'un autre côté, la FHE semble encore loin d'avoir atteint ce niveau de maturité, ce qui limite ses implémentations.

La combinaison de différentes méthodes de chiffrement permet de renforcer leur sécurité. Il est par exemple possible d'utiliser ces méthodes au sein d'un TEE, qui devient alors une sorte de couche de sécurité supplémentaire.

Un défi majeur pour la confidentialité reste la régulation. De nombreux États ont fait pression sur les plateformes d'échanges pour qu'elles retirent le Monero. De plus, le développeur de Tornado Cash, Alexey Pertsev, est toujours en détention pour des accusations de blanchiment d'argent.

Tokens dans cet article
Projets dans cet article
No items found.

Autres contenus Technologie