Comment les preuves cryptographiques peuvent-elles fournir une garantie de solvabilité financière ?
0x568B
June 16th, 2022

Initialement publié en anglais par StarkWare le 6 février, 2019

Plutôt que de s’appuyer sur des auditeurs, la technologie pourrait permettre à quiconque de vérifier indépendamment que les entreprises de crypto-monnaie se comportent bien sur une base continue.

Publié initialement sur CoinCenter, le 19 septembre 2018

   Photo par rawpixel sur Unsplash
Photo par rawpixel sur Unsplash

Les piratages catastrophiques des échanges de cryptographie ont poussé les dirigeants de l’industrie à adopter des audits de solvabilité périodiques, pour assurer aux clients et aux régulateurs que l’exchange **dispose de suffisamment de monnaie et n’est pas endetté ou qu’il dispose d’une « réserve complète.» Ce processus est manuel, onéreux et susceptible d’être utilisé à mauvais escient. La présente note décrit une meilleure façon d’aborder l’audit de solvabilité et d’autres états financiers à l’aide de blockchains et de preuves modernes de l’intégrité computationnelle.

Le hack de Mt.Gox et ses conséquences

Mt.Gox a été le plus grand échange de Bitcoin de son temps, la gestion de plus de 70% de toutes les transactions Bitcoin. Mais au 1er trimestre 2014, des rumeurs sur sa solvabilité ont commencé à circuler, et elles ont été confirmées 2e trimestre 2014, lorsque l’échange a brusquement fermé et déposé son bilan. La raison? 850.000 BTC étaient manquants. Oups. C’est 5,8 milliards de dollars US aux prix d’aujourd’hui. Il n’est pas encore clair s’il s’agissait d’un travail interne, d’un piratage externe ou d’une combinaison des deux, mais ce qui est clair, c’est que lentement, au cours de plusieurs mois, des fonds ont été acheminés vers des adresses Bitcoin échappant au contrôle de l’échange, à l’insu des clients.

Comment un si grand vol a-t-il pu passer inaperçu? La croissance rapide du volume et de la valeur de BTC a surement rattrapé Mt.Gox qui n’était pas préparé et ne disposait de pas assez de temps pour renforcer une sécurité opérationnelle. En partie parce que les blockchains ouvertes sont irréversibles – une fois qu’une transaction est apparue sur la blockchain, il est pratiquement impossible de la supprimer sans conséquences catastrophiques pour l’ensemble de l’écosystème. S’il y avait un moyen de permettre aux clients de surveiller la solvabilité de l’échange, la sonnette d’alarme aurait été déclenchée plus tôt et la crise aurait été évitée.

En raison de cet incident (et de plusieurs autres petits hacks d’échanges), les principaux échanges cryptographiques invitent régulièrement des auditeurs externes à effectuer des audits de solvabilité au nom des régulateurs et des clients. Au cours d’une telle vérification, l’échange prouvera au vérificateur qu’il contrôle activement (au moyen de clés cryptographiques) plus d’actifs que de passifs envers ses clients. L’auditeur est invité à dresser un bilan et à afficher son bilan de solvabilité sur un forum public, annonçant: « à partir d’aujourd’hui, cet exchange dispose de suffisamment de monnaie et n’est pas endetté. » (Notez que l’audit de solvabilité vérifie si l’échange dispose de réserves complètes, mais les techniques décrites ci-dessous pourraient être adoptées pour les audits de solvabilité de réserves fractionnées, comme l’exigent les banques commerciales.)

Inconvénients des audits manuels de solvabilité

Cet audit de solvabilité présente plusieurs inconvénients. Elle est manuelle et coûteuse; elle est dangereuse du point de vue de la sécurité opérationnelle : des informations sur l’utilisation des clés secrètes sensibles qui contrôlent des milliards de dollars en actifs cryptographiques seront révélées à des tiers (l’auditeur) ; et le plus inquiétant, c’est qu’un exchange compromis peut encore couvrir cela en omettant quelques passifs clients du bilan. Après tout, il n’y a pas de moyen facile pour l’auditeur de savoir si chaque client a été pris en compte, et par conséquent, il faut faire confiance à l’exchange à cet égard.

Solvency audit désiré

Compte tenu des problèmes mentionnés précédemment, quels objectifs le processus d’audit de solvabilité devrait-il atteindre? Premièrement, il devrait empêcher les secrets d’affaires de l’exchange d’être divulgués. Deuxièmement, chaque client devrait pouvoir vérifier que ses engagements ont été pris en compte lors de l’audit de solvabilité, afin d’améliorer la transparence et la supervision publique. Troisièmement, le processus ne devrait impliquer aucun auditeur externe, car cela réduira les coûts et la surface d’attaque de sécurité; en d’autres termes, nous recherchons un processus d’auto-audit, exécuté uniquement par l’exchange cryptographique. Quatrièmement, même si aucune partie extérieure n’est impliquée dans l’audit, cela devrait empêcher les exchanges malhonnêtes de «faire leurs comptes.» Attendez, mais la protection de la vie privée (1er objectif) ne contredit-elle pas la transparence (2e objectif) et l’auto-vérification (3e objectif) ne compromet-elle pas la solidité (4e objectif)? Est-il possible de les réaliser tout en même temps? Étonnamment, la réponse est oui, comme nous l’expliquons maintenant.

Enveloppes scellées, blockchains et intégrité informatique

Si la protection de la vie privée n’était pas un problème, les organismes de réglementation pourraient simplement exiger des exchanges qu’ils publient leurs bilans détaillés à la disposition de tous. Cela permettrait certainement à la surveillance publique d’éviter les cooking books (utilisation d'astuces comptables pour faire paraître les résultats financiers d'une entreprise meilleurs qu'ils ne le sont réellement) car les clients dont les responsabilités sont omises soulèveraient une tollé du public. Hélas, les considérations relatives à la protection de la vie privée excluent cette solution simple.

Une deuxième tentative pour résoudre le problème consiste pour les régulateurs à exiger d’un exchange qu’il présente son bilan détaillé en privé à chacun de ses clients, par exemple en envoyant à chacun d’entre eux un rapport mensuel. Mis à part le problème de la divulgation d’informations commerciales privées à des tiers, un exchange malhonnête qui est en fait dans le rouge pourrait encore tromper chaque client en lui présentant un bilan spécifique qui inclut son passif, mais en omet d’autres pour atteindre un solde positif. Pour détecter cela, les clients devraient partager leurs données financières (confidentielles), ce qui est peu probable. Par conséquent, notre solution, présentée ci-dessous, exigera que les bourses affichent une «ancre» publique unique pour chaque bilan (mensuel), puis fournissent des informations personnalisées à chaque client, afin que celui-ci puisse vérifier si les informations qui lui sont présentées font référence font référence au point d'ancrage public unique. En outre, ce point d’ancrage « liera » l’exchange à un bilan unique, sans pour autant compromettre la confidentialité financière de l’exchange.

En effet, il existe un moyen pour l’exchange de rendre toutes ses données privées – clés secrètes, actifs, comptes clients et passifs, de les placer dans une petite enveloppe scellée et de la mettre dans un endroit où l’entreprise ne peut pas la manipuler. Cette enveloppe sert désormais d'«ancre» pour le bilan. L’exchange utilisera de nouveaux outils cryptographiques (expliqués ci-dessous) pour simuler un vérifieur de confiance qui aura accès au contenu de l’enveloppe. Instantanément, ces outils permettent des échanges honnêtes pour créer des preuves convaincantes pour chaque client ; preuves qui ne laissent échapper aucune information sur le contenu de l’enveloppe. En même temps, les mêmes outils font qu’il est extrêmement difficile pour les exchanges malhonnêtes de créer des preuves convaincantes d’affirmations incompatibles avec les données contenues dans l’enveloppe scellée. Cette capacité d'«auto-audit» est le fruit d’une combinaison puissante de blockchains et zero knowledge proofs.

Régimes d’engagement en tant qu’enveloppes scellées

L’analogique numérique des enveloppes scellées a été utilisé en toute sécurité par les ordinateurs depuis des décennies, les cryptographes appellent ces enveloppes des engagements cryptographiques. Indépendamment de la taille des données électroniques placées à l’intérieur, la version sous enveloppe scellée (son engagement) est généralement minuscule et comporte 32 caractères.

Placer l’enveloppe scellée de l’exchange dans un endroit inviolable est également possible aujourd’hui, grâce aux blockchains décentralisés. La principale innovation de Satoshi a été la création d’un grand livre public qui n’est contrôlé par aucune partie et qui est pratiquement irréversible. De fortes exigences de calcul et des incitations économiques soutiennent cette irréversibilité. En effet, la blockchain de Bitcoin sert déjà de service d’horodatage de confiance. Nous voyons donc que les exchanges peuvent placer de manière efficace et sécurisée des enveloppes scellées (engagements) contenant toutes les données nécessaires pour effectuer des audits de solvabilité personnalisés pour chaque client.La seule partie manquante de notre histoire est d’expliquer comment prouver aux régulateurs et au grand public la validité des données contenues dans les enveloppes, sans révéler d’autres informations qui compromettraient la vie privée des clients. C’est précisément là que les zero-knowledge proofs sont utiles.

Zero-knowledge proofs en tant qu’auditeurs de confiance

Zero-knowledge (ZK) proofs sont comme des tickets de caisse sur des stéroïdes. Chaque preuve est une chaîne de caractères (comme un reçu) qui impose l’intégrité de calcul, c’est-à-dire qu’elle nous convainc – les vérifieurs – que le résultat final d’un calcul est correct. Les tickets de caisse nous convainquent que le montant total que nous devons payer est correct, et les ZK proof, leur version renforcée, est suffisamment puissante pour traiter n'importe quel calcul et nous convaincre que son rendement est correct. De plus, les ZK proof préservent la confidentialité, ce qui signifie que la preuve (chaîne de caractères) ne nous apprend rien sur les entrées du calcul. C’est comme un ticket de caisse qui (i) n’indique que le montant total, (ii) ignore les prix et les quantités de chaque article, mais (iii) convainc le client que le montant qu’il doit payer est exact. Enfin, certaines ZK proof sont extrêmement efficaces : les vérifier (par exemple, à l’aide d’un smartphone) prend quelques secondes, même si le calcul en question est long et difficile à calculer; imaginez-le comme un ticket couvrant des millions d'articles, qui peut être vérifié en un clin d'œil.

Décrivons maintenant notre solution au problème de l’audit de solvabilité, qui permet d’atteindre les quatre objectifs énoncés ci-dessus (vie privée, transparence, auto-audit et solidité). Il comporte trois étapes. Les deux premières étapes sont faciles à mettre en œuvre à l’aide d’une technologie standard; la troisième étape utilise les ZK proof qui font leur entrée sur le marché:

  1. L’exchange place dans une enveloppe scellée toutes les données qu’elle aurait présenté à un auditeur de confiance afin de prouver sa solvabilité à chaque client. Ces données comprennent toutes les clés secrètes contrôlées par l’entreprise, tous les actifs qu’elle contrôle et toutes les responsabilités des clients. Rappelez-vous que l’enveloppe scellée est courte (32 caractères) et ne révèle aucune information sur son contenu à quiconque la regarde.
  2. L’exchange affiche l’enveloppe scellée (32 caractères) sur une blockchain, comme Bitcoin.
  3. Pour chaque client, l’exchange lit désormais le contenu de l’enveloppe scellée et produit une preuve de solvabilité ZK personnalisée (un « reçu de stéroïdes ») pour le client en question. Ce calcul comporte deux output publics (et tous les inputs sont « effacés » pour préserver la vie privée). Les deux outputs sont: (i) un simple bit indiquant si la bourse est en noir ou en rouge, et (ii) la valeur du compte de ce client particulier.

L’aspect de protection de la vie privée de cette preuve signifie que la cliente n’a rien appris sur ce qui se trouve dans l’enveloppe scellée (à part les renseignements de son propre compte qu’elle connaissait au départ). La magie des ZK proof est qu’elles sont des « preuves » au sens mathématique du terme : toutes les affirmations vraies peuvent être prouvées, et seules les affirmations vraies peuvent être prouvées. Par conséquent, l’exchange ne peut pas tromper ses clients et prétendre qu’elle est dans le vert si elle est en fait dans le rouge, pas plus qu’elle ne peut manipuler les informations de compte dans l’enveloppe pour tromper certains clients en changeant leurs informations de compte. L’exchange n’a qu’un moyen d’aller de l’avant : prouver l’exactitude des déclarations et réaliser des audits de solvabilité personnalisés corrects.

Le statut de la technologie ZK proof

La théorie des ZK proof a été inventée au milieu des années 1980. La technologie s’est considérablement améliorée au cours des dernières années, et présente aujourd’hui un intérêt commercial. Trois systèmes de preuve importants sont actuellement mentionnés: ZK-SNARK (utilisé par Zcash et quelques autres), ZK-STARK (commercialisé par StarkWare, et sponsorisé par la Fondation Ethereum) et Bulletproofs (en cours d’exploration par la crypto-monnaie Monero).

Réflexions finales

Le processus en trois étapes décrit ci-dessus pour effectuer des vérifications de solvabilité personnalisées sans hypothèses de supposition peut être appliqué à d’autres types d’états financiers (y compris les états des résultats, des capitaux propres et des flux de trésorerie). Les états financiers existent depuis des millénaires, depuis que les humains ont commencé à écrire des choses. La technologie utilisée pour les préparer et les enregistrer a évolué, passant des tablettes d’argile (il y a 4000 ans) aux feuilles de papier et aux dossiers signés numériquement. Mais jusqu’à présent, s’assurer de leur exactitude consistait toujours soit à faire confiance à l’entreprise qui faisait la déclaration, soit à faire confiance à un auditeur externe (humain) pour en garantir l’exactitude. La combinaison de blockchains, d’engagements et, surtout, de ZK proof, peut faire disparaître ces présomptions de confiance à l’avenir et s’appuyer sur un audit transparent et démocratique, par le public, pour le public.

Autres lectures

Further reading

Eli Ben SassonStarkWare Industries

Traduction faite par @cleminso

Arweave TX
uSEhfD6ltt5frksvHb9lYn0xlAy1S_QJ4SFI7T-VAOY
Ethereum Address
0x568B12eBBE85521D2cd8a2C9B7a8EF3f48aa2d66
Content Digest
eBLEiVm1DM7-4awENaWLGhLnNevn34kUs20uSrm33II