Sécurité

La preuve de réserves : ce qu'elle prouve, et la moitié qui manque en général

La preuve de réserves est devenue une pratique courante après qu'il eut été démontré, à grands frais, qu'une plateforme peut annoncer des soldes qu'elle ne détient pas. Le mécanisme qui en est sorti est réellement utile et il est couramment décrit comme davantage qu'il n'est. Il répond à l'une des deux questions qui comptent, et celle qui manque est celle qui a historiquement fait les dégâts.

· 11 min de lecture

Les deux questions, et celle à laquelle on répond

La solvabilité est une comparaison. Ce qu'une plateforme détient d'un côté, ce qu'elle doit à ses utilisateurs de l'autre, et le fait que le premier soit au moins aussi grand que le second. Aucun des deux chiffres ne veut dire quoi que ce soit sans l'autre, et une réserve importante en face d'un passif plus important est une insolvabilité et non un réconfort.

Une preuve de réserves traite le premier chiffre. Elle démontre qu'un ensemble d'adresses détient un ensemble de soldes et que la plateforme contrôle ces adresses, en général en signant un message depuis chacune. Cette partie est cryptographiquement solide et il n'y a pas grand-chose à lui reprocher.

Le second chiffre est le total dû aux utilisateurs, et il n'est visible sur aucune chaîne. Il vit dans la base de données de la plateforme, c'est-à-dire exactement le registre qui a failli dans les affaires qui ont rendu cette pratique nécessaire. Publier le premier chiffre sans le second revient à publier un numérateur en l'appelant un rapport.

La solvabilité est une comparaison. Une preuve de réserves publie un côté, et le côté qui a historiquement été falsifié est l'autre.

L'arbre de Merkle, et ce que vous pouvez vérifier vous-même

Le mécanisme du côté du passif, quand il existe, est un arbre de Merkle. Le solde de chaque utilisateur est haché en une feuille, les feuilles sont combinées deux à deux jusqu'à une racine unique, et la racine est publiée. La structure permet à un participant de contrôler sa propre inclusion sans voir le solde de personne d'autre.

En pratique, la plateforme vous donne le petit ensemble de hachages intermédiaires nécessaires pour recalculer la racine à partir de votre propre feuille. Si votre recalcul correspond à la racine publiée, votre solde a été compté dans le total. Sinon, quelque chose ne va pas, et c'est un contrôle que n'importe quel utilisateur peut faire tourner sur sa machine.

La propriété qui compte est que la plateforme ne peut pas vous omettre sans casser votre vérification, ni modifier votre solde sans la casser non plus. C'est une garantie réelle contre la défaillance précise consistant à sortir discrètement du passif du total, et elle ne fonctionne que si les utilisateurs font effectivement le contrôle.

Ce que l'arbre n'empêche toujours pas

L'arbre prouve que les soldes inclus totalisent le montant publié. Il ne prouve pas que chaque utilisateur a été inclus, parce que les seules personnes capables de détecter une omission sont celles qui sont omises, et une plateforme qui exclut un petit nombre de comptes a peu de chances d'être prise par quelqu'un d'autre.

Il autorise aussi une manipulation plus subtile : insérer des soldes négatifs ou des comptes fabriqués pour réduire le total. Les implémentations qui contraignent les feuilles à des valeurs positives ou nulles et publient le nombre de comptes en retirent une partie, et toutes ne font ni l'un ni l'autre.

La lecture honnête est qu'une preuve de Merkle transforme une affirmation invérifiable en une affirmation qu'une population diligente d'utilisateurs peut partiellement auditer. C'est une amélioration substantielle par rapport à rien, et elle dépend de la participation, ce que personne ne peut garantir et que peu mesurent.

Attestation n'est pas audit, et la distinction porte tout

La plupart des preuves publiées viennent avec un document d'un cabinet comptable, et le mot qui figure sur ce document compte énormément. Une attestation déclare que des procédures convenues ont été exécutées et rapporte ce qu'elles ont trouvé. Un audit exprime une opinion sur la sincérité des états financiers, selon une norme, avec la responsabilité qui s'attache à une opinion.

Une attestation sur procédures convenues est délimitée par la partie qui la demande. Si les procédures n'incluent pas de vérifier qu'aucun actif emprunté n'a été compté, ce trou n'est pas une défaillance du document, c'est le document faisant exactement ce qu'on lui a demandé. La délimitation est en général énoncée en première page et rarement lue.

Ce n'est pas une raison d'écarter les attestations, qui sont utiles. C'est une raison de lire la section de périmètre avant d'en traiter une comme un audit, parce que les deux mots ont un poids différent, coûtent des montants différents, et sont fréquemment employés l'un pour l'autre dans l'annonce qui les accompagne.

Le problème de l'instantané, et ce que l'emprunt cache

Une preuve décrit un moment. Des actifs peuvent être empruntés avant l'instantané et rendus après, et la preuve serait parfaitement véridique sur ce moment tout en décrivant une position qui n'a existé que pour lui. Ce n'est pas hypothétique, c'est un schéma documenté dans des industries voisines et la raison pour laquelle la vérification à date unique est traitée avec scepticisme par ceux qui en font métier.

La fréquence est la réponse partielle. Une preuve publiée chaque mois à un moment imprévisible est bien plus difficile à préparer qu'une preuve trimestrielle à date connue, et une publication continue avec des adresses vivantes l'est davantage encore. Le coût d'emprunter pour passer un contrôle monte avec la fréquence et l'imprévisibilité de ce contrôle.

La réponse complète exigerait de savoir que les actifs sont libres de tout engagement, c'est-à-dire ni nantis, ni prêtés, ni promis à quelqu'un d'autre. Rien sur la chaîne ne dit si un actif est engagé, parce que l'engagement vit dans des contrats. C'est la limite structurelle de toute l'approche.

Les constructions à divulgation nulle, et ce qu'elles ajoutent

Les implémentations plus récentes utilisent des preuves cryptographiques pour démontrer des propriétés de l'ensemble du passif sans le publier. Une plateforme peut prouver que chaque solde de l'arbre est positif ou nul et qu'ils totalisent un montant annoncé, sans révéler aucun solde individuel ni le nombre d'utilisateurs à ses concurrents.

Cela retire l'objection pratique la plus forte à la publication du passif, qui n'a jamais été technique mais commerciale : une plateforme ne veut pas que ses rivaux connaissent son nombre d'utilisateurs ni la distribution de ses soldes. Pouvoir prouver la propriété sans les données change le calcul pour l'opérateur.

Cela ne touche pas au problème de l'engagement, et il vaut mieux le dire clairement. Une preuve que le passif est correctement totalisé et que les réserves le dépassent reste une preuve sur un moment, portant sur des actifs dont le statut juridique n'est pas sur la chaîne. La cryptographie améliore la comptabilité et n'atteint pas les contrats.

La cryptographie sait prouver la comptabilité. Elle ne sait pas prouver que les actifs ne sont pas déjà promis à quelqu'un d'autre, parce que cette promesse vit dans un contrat, pas sur une chaîne.

Ce que la liste d'adresses établit et n'établit pas

Publier des adresses et signer depuis elles prouve le contrôle au moment de la signature. Cela ne prouve pas un contrôle exclusif, et cela ne prouve pas que les mêmes actifs ne sont pas présentés par deux entités, ce qui est arrivé et n'est détectable qu'en comparant les listes d'une plateforme à l'autre.

Il y a aussi une différence entre une adresse que la plateforme contrôle et un actif que la plateforme possède. Des accords de conservation, des portefeuilles partagés et des actifs détenus pour le compte d'un tiers peuvent tous apparaître comme des soldes à des adresses contrôlées, et aucun n'est disponible pour couvrir le passif utilisateur en cas de défaillance.

La version pratique de ce contrôle consiste à regarder si les adresses sont stables dans le temps, si les soldes bougent selon des schémas cohérents avec une activité en fonctionnement, et si les mêmes adresses apparaissent dans la preuve de quelqu'un d'autre. Les trois sont visibles par qui regarde, et regarder est rare.

Ce qu'un utilisateur peut réellement contrôler en dix minutes

Quatre choses, par ordre d'utilité. Si un mécanisme de passif existe seulement, ou s'il n'y a qu'un chiffre de réserve. Si votre propre compte apparaît dans l'arbre, la plateforme devant vous donner les outils pour le vérifier. Si le document joint dit audit ou attestation. Et à quelle fréquence les preuves sont publiées et si les dates sont prévisibles.

La première est celle qui filtre le plus fort. Une plateforme qui publie des adresses en appelant cela une preuve de réserves a publié la moitié de la comparaison, et un nombre substantiel de preuves publiées sont exactement cela. S'en apercevoir demande un coup d'œil pour voir si les soldes utilisateurs sont représentés quelque part dans le matériel.

Rien de tout cela n'exige de compétence technique au-delà de suivre les instructions de vérification de la plateforme elle-même. Ce que cela exige, c'est de le faire, ce que presque personne ne fait, et c'est pourquoi le mécanisme protège moins que son existence ne le laisse croire.

Ce qui la rendrait significative

Trois ajouts changeraient ce que les preuves établissent. Un passif prouvé avec la même rigueur que les réserves, idéalement avec une contrainte de positivité et un nombre de comptes publié. Une publication fréquente à des moments imprévisibles plutôt qu'à un calendrier. Et une déclaration, par une partie qui engage sa responsabilité, que les actifs sont libres de tout engagement.

Le troisième est le point dur parce que ce n'est pas un problème cryptographique. Il faut que quelqu'un examine des contrats et prenne la responsabilité de la réponse, ce qui est précisément ce qu'est un audit et pourquoi les audits coûtent ce qu'ils coûtent. Aucune quantité d'analyse de chaîne ne s'y substitue.

Certaines plateformes font plus que le minimum et il est possible de savoir lesquelles en lisant le matériel plutôt que l'annonce. L'écart entre la meilleure et la pire pratique dans ce domaine est très large, et il est entièrement visible pour qui y consacre dix minutes.

Ce qu'elle ne remplace pas

Une preuve de réserves décrit une position de bilan. Elle ne dit rien de la sécurité opérationnelle, de la façon dont les clés sont détenues et de leur résistance à une compromission, de la juridiction où siège l'entité, ni de ce qu'il advient de votre créance en cas d'insolvabilité. Ce sont des questions séparées, avec des réponses séparées.

Elle ne change pas non plus la position fondamentale qu'est la détention d'un solde sur une plateforme, à savoir une créance sur un opérateur plutôt que la possession d'un actif. Une réserve bien prouvée rend la créance mieux adossée, elle n'en fait pas une chose d'une autre nature.

Employée pour ce qu'elle est, c'est l'une des divulgations les plus utiles disponibles dans cette industrie. Employée comme une assurance générale de sûreté, elle fait un travail pour lequel elle n'a jamais été construite, et la distance entre ces deux usages est là où vit l'essentiel du réconfort que l'on en tire.

Questions fréquentes

Que prouve réellement une preuve de réserves ?

Qu'un ensemble d'adresses détenait certains soldes à un instant donné et que la plateforme pouvait signer depuis elles. Cette partie est cryptographiquement solide. Savoir si la plateforme doit à ses utilisateurs plus qu'elle ne détient est une autre question, à laquelle répond un autre mécanisme, fréquemment absent de ce qui est publié.

À quoi sert l'arbre de Merkle ?

Il représente le côté du passif. Le solde de chaque utilisateur est haché en une feuille et combiné jusqu'à une racine publiée, ce qui permet de vérifier sa propre inclusion sans voir le solde de personne d'autre. La plateforme ne peut ni vous omettre ni modifier votre solde sans casser votre vérification, à condition que vous la fassiez.

Quelle différence entre un audit et une attestation ?

Un audit exprime une opinion sur la sincérité des états financiers, selon une norme, avec la responsabilité qui s'y attache. Une attestation rapporte ce que des procédures convenues ont trouvé, et ces procédures sont délimitées par la partie qui les demande. Le périmètre est en général énoncé en première page.

Une plateforme peut-elle emprunter des actifs pour passer une preuve ?

Une preuve décrit un moment, donc des actifs empruntés avant un instantané et rendus après la rendraient véridique sur ce moment et non représentative de tout autre. Une publication fréquente à des moments imprévisibles augmente le coût de ce procédé. Elle ne l'élimine pas.

Que signifie engagement ici ?

Le fait que les actifs soient déjà nantis, prêtés ou promis à quelqu'un d'autre. Rien sur une chaîne ne le dit, parce que l'engagement vit dans des contrats plutôt que dans des soldes. C'est la limite structurelle de toute l'approche et la raison pour laquelle la cryptographie seule ne peut pas trancher la solvabilité.

Qu'apportent les preuves à divulgation nulle ?

Elles permettent à une plateforme de prouver que chaque solde est positif ou nul et qu'ils totalisent un montant annoncé, sans révéler les soldes individuels ni le nombre d'utilisateurs. Cela retire l'objection commerciale à la publication du passif. Cela ne touche pas au problème de l'engagement, qui n'est pas cryptographique.

Contrôler une adresse signifie-t-il posséder les actifs ?

Non. Des accords de conservation, des portefeuilles partagés et des actifs détenus pour un tiers apparaissent tous comme des soldes à des adresses contrôlées, et aucun n'est disponible pour couvrir le passif utilisateur en cas de défaillance. Signer prouve aussi le contrôle à cet instant, pas un contrôle exclusif, et les mêmes actifs ont déjà figuré dans deux preuves.

Que faut-il contrôler en premier ?

Si un mécanisme de passif existe seulement, ou s'il n'y a qu'un chiffre de réserve, parce qu'un nombre substantiel de preuves publiées sont la moitié de la comparaison. Puis si votre propre compte se vérifie dans l'arbre, si le document dit audit ou attestation, et à quelle fréquence et avec quelle prévisibilité les preuves paraissent.

Rejoindre la liste d'attente Tous les articles