Partager cet article

Que se passe-t-il réellement lors d'un audit Bitcoin ?

CoinDesk découvre comment auditer un échange Bitcoin , qui peut le faire et ce qui peut être prouvé.

Un après-midi de mars, Stefan Thomas est entré dans un élégant bureau en briques et poutres apparentes, situé au dernier étage de Market Street, à San Francisco. Ce bureau, typique des espaces du quartier technologique en plein essor de la ville, est occupé par les employés de la plateforme d'échange de Bitcoin Kraken.

Lorsqu'il entra, le THU déclinait et la plupart des employés étaient partis. Seuls le PDG de l'entreprise, Jesse Powell, étaient présents, accompagné ONEun autre employé.

La Suite Ci-Dessous
Ne manquez pas une autre histoire.Abonnez vous à la newsletter Crypto Daybook Americas aujourd. Voir Toutes les Newsletters

Après les salutations obligatoires et les bavardages généraux, Thomas s’est assis au bureau de Powell, a installé une machine virtuelle Ubuntu sur un ordinateur Mac argenté et élégant et s’est mis au travail.

Il était là pour prouver queKraken possédait les bitcoinsil prétendait l'avoir.

Suite à la panique de février concernant les Événements de Mt. Gox, lorsque le site basé au Japon avait implosé De façon spectaculaire, emportant avec lui 850 000 bitcoins et laissant derrière lui des utilisateurs désemparés, Powell a voulu rassurer ses propres utilisateurs sur le fait que son échange n'opérait T de réserve fractionnaire.

Il ne pouvait cependant T vraiment auditer sa propre entreprise, c'est pourquoi Thomas tapait tranquillement à son bureau temporaire.

Des compétences précieuses

Alors, qui est Stefan Thomas et pourquoi est-il la personne que Powell a appelée ?

Thomas est directeur technique chez Ripple Labs, une entreprise qui a créé son propre protocole de paiement et qui est fière de son registre public transparent des transactions.

Il a été impliqué dans le Bitcoin dès le début, ayant produit la désormais célèbre vidéo What Is Bitcoin et piloté Nous utilisons des pièces de monnaie– un guide en ligne sur le Bitcoin. Il a également été l'instigateur de BitcoinJS, l'implémentation JavaScript du protocole Bitcoin .

En bref, en ce qui concerne la Technologies qui sous-tend le Bitcoin, Thomas connaît son sujet.

« Stefan est un habitant de la région, il était disponible à court terme, il jouit de la confiance de la communauté et il ONEune des rares personnes suffisamment compétentes pour réaliser l'audit », a déclaré Powell, ajoutant :

« Nous avions besoin de quelqu’un qui puisse critiquer le processus, suggérer des améliorations (ce qu’il a fait et que nous avons adoptées) et nous arrêter si nous essayions de lui jouer un ONE . »

Ce dont Kraken avait besoin

L’audit a porté sur deux ensembles de données différents.

Le premier était le solde des bitcoins que Kraken détenait en stockage, dans ses propres adresses Bitcoin visibles publiquement.

Le second était l'ensemble des adresses composant les comptes clients. On peut considérer le premier comme son actif, et le second comme son passif, car chaque Bitcoin détenu sur un compte utilisateur était en réalité un Bitcoin que la plateforme d'échange devait rembourser à un moment donné.

Kraken cherchait à prouver qu'il détenait plus de bitcoins en stockage que les clients n'en avaient sur leurs comptes, ce qui impliquait de vérifier les totaux de chacun de ces ensembles d'adresses.

Alors, comment Thomas a-t-il fait ?

Arbres, feuilles et racines de Merkle

La base de l’audit Kraken était « l’arbre de Merkle », qui est un système permettant d’améliorer l’intégrité d’une collection de données.

Dans la blockchain Bitcoin , l'arbre de Merkle est utilisé pour stocker les transactions d'un bloc particulier. Son avantage est qu'il peut facilement produire un hachage unique (appelé racine de Merkle), qui hache efficacement toutes les transactions de l'arbre.

De petits groupes de transactions sont hachés ensemble, puis les résultats de ces hachages sont à nouveau hachés ensemble. Cela continue jusqu'à ce que le hachage final produise la racine de Merkle unique. Cette racine peut être utilisée pour confirmer le contenu de n'importe quelle adresse de l'arbre.

Il existe un arbre de Merkle (et une racine correspondante) pour les deux côtés de l’audit, le passif (soldes clients) et l’actif (portefeuille de Kraken).

Prouver les actifs

Pour générer le hachage de l'actif, Thomas a reçu les adresses publiques de l'ensemble du portefeuille Kraken. Il a ensuite pu récupérer le contenu de ces adresses depuis la blockchain Bitcoin publique.

Pour collecter et hacher ces données, il a utilisé un outil écrit par Michael Grønager, directeur de l'exploitation de Kraken, appeléCryptoshi, qui est conçu pour manipuler différentes structures de portefeuille.

Utilisations de Cryptoshilibcoin, une bibliothèque de Cryptomonnaie basée sur le client Satoshi original, devenu le produit de référence CORE de Bitcoin . Thomas décrit Cryptoshi comme « un couteau suisse pour les Cryptomonnaie».

Du côté des actifs, Thomas pouvait supposer que l'arbre Merkle du portefeuille de Kraken incluait toutes les adresses sous son contrôle. Il T absurde que la plateforme d'échange ne les inclue pas si elle souhaitait qu'il inclue l'intégralité de son solde dans son analyse.

Prouver les responsabilités

Cependant, les choses sont plus complexes du côté du passif (les bitcoins détenus dans les adresses des clients de Kraken), pour deux raisons.

Premièrement, un échange malhonnête essayant de tromper un auditeur pourrait vouloir exclure les comptes clients de l'arbre des passifs, car chacun de ces comptes s'ajoute au montant que l'échange doit en pièces.

Le moyen le plus simple de prouver que cela n’a T été le cas est simplement de publier tous les soldes et adresses de l’arbre, ainsi que la racine Merkle.

De cette façon, n'importe qui pourrait simplement ajouter le contenu de ces adresses et vérifier que le solde correspond à celui de l'arbre haché. Il pourrait ensuite hacher ce même arbre et s'assurer que sa racine Merkle correspondait à ONE publiée dans le cadre de l'audit.

C'est là qu'intervient le deuxième défi. La plupart des bourses ne veulent T que toutes ces informations soient rendues publiques, a déclaré Thomas.

La publication des soldes et des adresses représente un risque potentiel de Politique de confidentialité et pourrait également révéler des informations sensibles sur la gestion de leurs portefeuilles. La somme de tous les soldes constitue également une information sensible sur le plan concurrentiel.

« [Kraken] essayait de faire preuve de prudence et de ne pas publier cette information », a expliqué Thomas.

Thomas a plutôt vérifié le total des soldes en privé et a témoigné que l'actif était supérieur au passif. Kraken a alors suivi une recommandation.initialement proposé par Gregory Maxwell, développeur CORE de Bitcoin .

[post-citation]

Maxwell a conseillé aux plateformes d'échange de publier la racine Merkle. Ensuite, lorsqu'un utilisateur se connecte, d'afficher en privé le solde de son compte au moment de l'audit, ainsi que les éléments de l'arbre séparant son adresse de la racine de l'arbre.

En effet, cela donne à l'utilisateur une branche de l'arbre, lui permettant de prouver qu'il était au moins inclus dans cette branche lors du hachage. De cette façon, l'utilisateur est assuré que son adresse a été incluse dans l'audit.

Il appartient aux utilisateurs d'exécuter un test, en vérifiant que leur adresse a été incluse dans le hachage global, et plus ces tests sont effectués à partir de différentes branches, plus la probabilité qu'un échange soit pris au dépourvu s'il omet des adresses est grande.

Cela signifie-t-il que l'équilibre est infaillible ? Malheureusement, non.

Faiblesses du processus

« Dans tout audit, il y a des trous assez importants que vous ne pouvez T couvrir », explique Thomas.

« Si une plateforme d'échange emprunte des Bitcoin pour les besoins de l'audit, c'est difficile à déterminer. Ou alors, une plateforme d'échange peut acheter elle-même des bitcoins avec ses avoirs en monnaie fiduciaire. »

Kraken souligne d'autres lacunes dans le processussur sa propre page, décrivant le processus d'audit. Premièrement, la plateforme d'échange ne peut T prouver que d'autres n'ont T détourné ses clés privées, ce qui signifie qu'elle ne peut T démontrer sans équivoque qu'elle a un accès exclusif aux bitcoins de son portefeuille.

Deuxièmement, l’auditeur doit être techniquement compétent et digne de confiance, car il existe encore certains domaines du processus où un échange malhonnête pourrait les induire en erreur, ou pour l’auditeur d’induire en erreur le public, éventuellement en collaboration avec l’échange.

« Beaucoup de ces choses sont difficiles à vérifier ou à prouver », a déclaré Thomas, ajoutant :

« Mais en ce qui concerne l’audit, cela vous donne une certaine confiance dans le bon fonctionnement de l’échange, et toute attaque contre l’audit a une chance d’être découverte. »

Essentiellement, ce type d’audit est « mieux que rien », a expliqué Thomas, qui a ensuite réalisé un autre audit dans le même esprit pour la plateforme de trading de Bitcoin Bitfinex.

Ce type d’audit n’est peut-être pas infaillible, mais il s’agit d’un effort optimal dans un environnement en évolution rapide, et des plateformes d’échange comme Kraken et Bitfinex ouvrent la voie pour rassurer les clients ébranlés par l’affaire Mt. Gox.

Mais jusqu’où doivent aller les audits et que peut-on faire d’autre pour garantir le bon fonctionnement des bourses ?

Il s’avère qu’il y a beaucoup plus à faire. Dans la deuxième partie de cette enquête (à venir), nous discuterons de ces options et de certaines des bourses qui les explorent.

Auditimage via Shutterstock

Danny Bradbury

Danny Bradbury est écrivain professionnel depuis 1989 et travaille en freelance depuis 1994. Il couvre la Technologies pour des publications telles que le Guardian.

Picture of CoinDesk author Danny Bradbury