Rejoignez-Nous sur

État du réseau de Coin Metrics: numéro 30

3d238246 d801 4df1 9d47

News

État du réseau de Coin Metrics: numéro 30

3d238246 d801 4df1 9d47

Classement des actifs cryptographiques par audiabilité

À l'époque médiévale, les comptes des propriétés foncières étaient lus à haute voix à une personne accusée par le dirigeant local de s'assurer que leur intendant ne les avait pas escroqués. Comme le rôle principal de cette personne était d'écouter (audire en latin), ils sont devenus des auditeurs.

Un parallèle peut être établi entre la genèse de l'audit et les nœuds d'actifs cryptographiques qui ne participent pas au consensus de cet actif; ils servent principalement à écouter le réseau peer-to-peer et valident que tout se déroule selon les spécifications du protocole: ils auditent le réseau.

Coin Metrics va encore plus loin dans cette approche: en plus d'exécuter des nœuds pour la plupart des principaux actifs de cryptographie, nous en extrayons également des données de chaîne de blocs brutes pour reconstruire le registre de l'actif de manière indépendante. Cela nous permet de calculer plusieurs de nos métriques (par exemple, la capitalisation réalisée) mais aussi d'analyser plus en profondeur chaque actif.

Notre version d'audit d'un actif cryptographique est en mesure de reconstruire son registre (la cartographie de qui possède quoi) indépendamment, à tout moment, en utilisant les données fournies par la mise en œuvre du protocole de l'actif et, en utilisant ce registre reconstruit, vérifier que son approvisionnement correspond ce qu'il devrait être selon les spécifications du protocole.

Dans cette fonctionnalité, nous allons explorer comment nous auditons les actifs cryptographiques, quelles difficultés peuvent être rencontrées au cours de cet exercice et quelles leçons en tirer. Enfin, nous tenterons de classer les actifs selon deux dimensions différentes de l'auditabilité: le fonctionnement des nœuds et la reconstruction du registre. Notez que ces classements sont arbitraires et qu'ils reflètent notre expérience subjective de travailler avec chaque actif.

Dimensions d'auditabilité des actifs cryptographiques

Fonctionnement du nœud

La première étape pour auditer un actif cryptographique consiste à synchroniser un nœud qui comprend son protocole. Le nœud est un logiciel qui implémente le protocole de l'actif, se connecte au réseau d'égal à égal, télécharge et vérifie la blockchain. En fonction de l'actif, le matériel et les besoins en temps varient. Pour certains actifs, vous avez le choix entre différentes variantes de nœuds, soit parce qu'il existe des implémentations parallèles du même protocole, soit qu'il existe différentes configurations possibles en fonction des besoins de l'utilisateur.

Dans le cas d'un auditeur, il est préférable d'utiliser la configuration qui donnera accès au plus de données possible, parfois appelée archive ou nœud d'historique complet. Selon le niveau d'audit requis (audit actuel ou historique), une configuration qui ne stocke pas tout les données historiques pourraient suffire, par exemple, le mode d'élagage dans Bitcoin Core.

Synchronisation

La première chose qu'un nœud d'actif cryptographique fait est de se synchroniser avec l'état actuel du réseau. Selon l'actif et la configuration, cela peut impliquer le téléchargement d'un instantané actuel ou récent (par exemple, le téléchargement d'un état récent d'Ethereum à l'aide de la synchronisation rapide) ou le téléchargement de l'historique complet de la chaîne de blocs et sa relecture dans son intégralité (comme ce que fait Bitcoin ). Alors que le premier est beaucoup plus rapide, le second est mieux adapté à l'audit car il rend les données historiques disponibles.

Pour certains actifs et la configuration des nœuds, terminer ce processus nécessite beaucoup de patience (et du matériel coûteux). Par exemple, la synchronisation d'un nœud EOS d'archivage complet a pris plus d'un mois et a nécessité une machine avec des téraoctets de SSD NVMe, parmi les plus rapides du stockage.

Enfin, une poignée d'actifs, notamment Ripple, nécessitent des quantités de stockage si importantes (des dizaines de To) qu'il est impossible de les exécuter et de les synchroniser.

Fonctionnement normal

La synchronisation d'un nœud avec le reste du réseau n'est que la première étape du processus d'audit. Le nœud doit également rester synchronisé afin de pouvoir auditer le réseau en continu. Bien que cela semble facile à réaliser, de nombreux logiciels de nœuds ne parviennent pas à rester synchronisés et connaissent parfois des échecs catastrophiques pendant les opérations normales.

Un exemple serait que notre nœud EOS doit être fermé très soigneusement sinon il risque de corrompre sa propre base de données.

Audit de code

Pour pouvoir auditer un actif, il est essentiel de comprendre comment il fonctionne. Étant donné que la mise en œuvre de chaque protocole réside dans du code, être capable de le lire est primordial pour obtenir une compréhension approfondie des subtilités de chaque protocole. Bien que certains actifs aient des spécifications détaillées et détaillées, ils peuvent différer très légèrement de la mise en œuvre réelle.

Dans cette dimension, sur les plus de 35 nœuds uniques gérés par Coin Metrics, un est unique: Binance Chain. C'est le seul dont le code source n'est pas disponible: seuls les binaires signés sont fournis aux futurs responsables de nœuds.

Bien qu'il existe de la documentation sur le protocole de Binance Chain, il n'est pas suffisamment détaillé pour pouvoir reconstruire son registre en utilisant les données exportées depuis le nœud.

Extraction des données du grand livre

La dernière étape avant de pouvoir reconstruire le grand livre d'un actif est de pouvoir extraire les données nécessaires du nœud. Peu de nœuds d'actifs offrent la possibilité d'obtenir directement le dernier registre (ou historique); la plupart du temps, il doit être reconstruit en rejouant l'historique de l'actif.

Pour ce faire, nous devons pouvoir extraire toutes les données requises du nœud. Tous les nœuds offrent une certaine forme d'API pour accéder à ces données, avec différents niveaux de convivialité, de documentation et d'exhaustivité.

Une clé pour une auditabilité aisée d'un actif consiste à avoir le moins de moyens possibles de créditer ou de débiter les comptes. Par exemple, Bitcoin n'a qu'un seul moyen de créditer des unités natives (l'extraction d'une sortie non dépensée) et une seule façon de débiter des unités natives (dépenser une sortie non dépensée auparavant). Plus il y a de choses distinctes à suivre, plus cela devient difficile. Plus il existe de moyens de créditer / débiter les unités natives, plus il est probable que les données pour certains ne soient pas facilement accessibles (un exemple serait certains frais facturés par la chaîne Binance DEX).

Classement des opérations des nœuds

Nous avons classé les nœuds complets à plusieurs niveaux (A, B, C et F) en fonction de leur facilité de synchronisation, de mise à jour et de maintenance. Voici notre classement des 10 principaux actifs par capitalisation boursière (Coin Metrics ne gère pas les nœuds Ripple ou Stellar, mais s'appuie sur les API fournies par Ripple et la Stellar Foundation).

4d59db14 3113 42a2 8f69

Étant donné que l'audit du grand livre historique pour Ethereum nécessite un nœud avec suivi et que leur synchronisation prend beaucoup de temps, il obtient un B.

Omni obtient un B car, même s'il s'agit d'un Bitcoin Core modifié et qu'il est donc facile à exécuter et à synchroniser, il existe de nombreuses façons différentes de créditer et de débiter des unités natives, chacune accessible via son propre point de terminaison API nécessitant un certain effort pour comprendre et assembler.

Malgré un modèle comptable très propre pour un actif de sa complexité, EOS obtient un F en raison de la complexité d'extraction de toutes les données nécessaires pour exécuter un audit complet. Un nœud d'archivage fonctionnant avec un plugin supplémentaire est requis, la documentation pour laquelle il est rare. Enfin, la quantité de données à parcourir pour obtenir des crédits et des débits d'EOS est très importante, ce qui la rend peu pratique.

Binance Chain obtient un F pour deux raisons liées: elle a un barème de frais très complexe pour son DEX et c'est une source fermée qui rend très difficile l'ingénierie inverse de ce barème.

Reconstruction du grand livre

Une fois le nœud synchronisé, fonctionnant correctement et ses données exportées, la tâche de reconstruction de son registre peut commencer.

La façon dont cela est accompli dépend du modèle comptable de l'actif: basé sur UTXO (comme Bitcoin et ses dérivés) ou basé sur un compte (Ethereum et bien d'autres). Le grand livre des chaînes basées sur UTXO »se compose d'un ensemble de sorties de transactions non dépensées (UTXO). Par conséquent, la reconstruction du grand livre de l'actif consiste à suivre les sorties de transaction non dépensées. Pour les chaînes basées sur les comptes, le grand livre est plus proche d'une cartographie des comptes sur leur solde. Afin de le reconstruire, les auditeurs doivent garder une trace des crédits et des débits pour chaque compte.

Ensembles UTXO

Le suivi des sorties non dépensées se fait en rejouant la chaîne de blocs: chaque bloc crée de nouvelles sorties et dépense les anciennes. Après avoir rejoué toute la chaîne, les sorties non dépensées constituent le grand livre de l'actif. La somme de leur valeur donne l'approvisionnement de l'actif.

Aussi simple que cela puisse paraître, il y a encore quelques nuances à garder à l'esprit. Nous avons détaillé certaines des particularités de l'offre de Bitcoin dans un récent épisode de cette newsletter. Par exemple, certaines sorties spéciales (OP_RETURN) ne sont pas prises en compte dans l'alimentation; La sortie du bloc de genèse de Bitcoin ne compte pas non plus.

Comptes de compte

Pour les chaînes basées sur des comptes comme Ethereum, nous devons suivre les crédits et les débits pour chaque compte de la chaîne. Étant donné la complexité de certaines chaînes entraînée par l'existence de contrats intelligents, cela peut se compliquer très rapidement.

Une autre différence entre UTXO et les protocoles basés sur les comptes est que les transactions dans le premier sont plus explicites sur la façon dont elles affectent le grand livre:

  • Une transaction UTXO se compose de deux parties: quelles sorties non dépensées auparavant elle dépense et quelles nouvelles sorties elle crée. Les transactions UTXO décrivent comment elles vont modifier le grand livre de l'actif. Sur tous les protocoles UTXO, seules les transactions valides sont incluses dans des blocs valides. Il ne peut pas y avoir de transactions UTXO partiellement appliquées.

  • Les transactions basées sur les comptes, en particulier les appels de contrats intelligents, ne décrivent que l'intention de l'utilisateur, pas ses effets sur le grand livre. Pour pouvoir récupérer leur impact sur le grand livre, les nœuds doivent souvent être exécutés avec ce que l'on appelle souvent le «traçage». Le traçage consiste à enregistrer exactement l’impact de chaque transaction sur le grand livre. Les nœuds sans traçage appliquent simplement les transactions sans rendre les informations détaillées disponibles par transaction. De plus, les transactions peuvent être incluses dans un bloc sans être complètement exécutées.

Pour certains actifs, il existe des facteurs supplémentaires énumérés ci-dessous à prendre en compte.

Récompenses de blocage implicites

La plupart des protocoles incluent une récompense pour quiconque (mineur ou jalonneur) a ajouté un nouveau bloc à la chaîne. Le montant de la récompense est la mise en œuvre de la politique monétaire de l'actif, car c'est ainsi que la plupart des actifs génèrent de nouvelles pièces. Par conséquent, le suivi de cela est essentiel pour déterminer l'approvisionnement d'un actif.

Dans la plupart des actifs UTXO, ce montant est visible dans chaque bloc, car la première transaction de chaque bloc code cette récompense donnée au mineur. Cependant, ce n'est pas toujours le cas pour ceux basés sur un compte, notamment Ethereum, où les blocs encodent simplement le compte qui devrait recevoir la récompense. L’exercice de détermination du montant de la récompense est laissé aux nœuds et auditeurs.

Comme la récompense de bloc Ethereum a changé deux fois jusqu'à présent (5 ETH → 3 ETH → 2 ETH), les auditeurs et les nœuds doivent garder une trace des blocs sur lesquels ces changements se sont produits.

Modifications implicites du grand livre

Bien que la récompense de bloc soit implicite n'est qu'un inconvénient mineur, il y a d'autres moments où le grand livre d'un actif peut changer sans que ces changements soient explicités par la transaction ou les blocs.

Par exemple, à la suite de l'attaque du DAO, Ethereum a connu une difficulté difficile à retourner les fonds retirés du DAO à une autre adresse non contrôlée par la personne derrière les retraits inattendus du DAO. Ces modifications du grand livre sont mises en œuvre dans le code exécuté par les nœuds, ni dans une transaction ni dans un bloc. Malheureusement pour les auditeurs, ni les données brutes de bloc ni les données de traçage n'indiquent que ces changements se sont produits. La seule façon de capturer ces crédits et débits est de trouver la liste codée en dur des adresses affectées et d'émuler les modifications que le code a exécutées sur le registre.

Ce type de modifications logicielles uniquement apportées au grand livre également récemment arrivé avec Tezos. Lors de la création du hard fork Babylon, quelqu'un s'est rendu compte que des milliers de comptes devraient être recréés par les utilisateurs pour accéder à une partie de leurs fonds: une opération qui coûte 0,257 XTZ. Afin d'éviter que des milliers d'utilisateurs ne paient ces frais, le hard fork a été changé pour créditer les comptes concernés avec une petite quantité de XTZ afin de les «recréer» à moindre coût. Encore une fois, les auditeurs n'ont pas eu de chance car ce changement subtil n'a été documenté nulle part.

Un dernier exemple de la façon dont les modifications implicites du grand livre compliquent l'audit des actifs réside dans les jetons ERC-20. ERC-20 est une interface standard pour les contrats intelligents Ethereum. Il répertorie quelques méthodes et événements qu'ils doivent implémenter pour maximiser la compatibilité avec les logiciels de portefeuille et les explorateurs existants. Dans la pratique, l'ERC-20 n'est qu'une norme et manque de solides directives sur la sémantique de ses événements. Les développeurs sont libres de s'en écarter, laissant aux auditeurs comme Coin Metrics la tâche difficile de reconstituer l'historique transactionnel complet de l'actif. Par exemple, les événements de génération et de gravure de jetons sont souvent enregistrés à l'aide de méthodes spécifiques aux jetons (le cas échéant).

Classement de la reconstruction du grand livre

Nous avons classé chacun des 10 principaux actifs sur plusieurs niveaux (A, B, C et F) en fonction de la facilité de reconstruction de leur grand livre à tout moment:

b700233b f227 4f26 ac43

Ripple et Stellar ne sont pas notés car nous ne reconstruisons pas leur registre de manière complètement indépendante car nous nous appuyons sur des API fournies par des tiers.

Bitcoin et ses dérivés (Bitcoin Cash, Litecoin, BSV) reçoivent un A car le suivi de leur ensemble UTXO est une tâche simple.

Le protocole Omni, utilisé par Tether pour fonctionner sur la blockchain Bitcoin, reçoit un B car il a de nombreuses façons de déplacer les unités natives, ce qui rend le suivi plus difficile.

EOS reçoit également un B car son ampleur (des dizaines de millions de transferts par jour) le rend difficile à contrôler.

Pour Ethereum, l'état actuel des outils que nous utilisons ne permet pas une reconstruction complète du registre uniquement à l'aide des données exposées par le traçage, les modifications apportées dans le hard fork DAO doivent être implémentées manuellement. Il reçoit donc un C.

Enfin, Binance Chain a reçu un F parce que nous n'avons pas pu reconstruire le grand livre de Binance Chain en utilisant les données de notre nœud, en raison de la complexité de son DEX et de l'absence de code source pour rechercher les détails de sa mise en œuvre.

Validation de l'offre

Une fois que l’approvisionnement historique d’un actif peut être calculé, il doit encore être validé par rapport à ce qu’il devrait être pour s’assurer qu’il est correct. Cette catégorie n'a pas de classement car elle est binaire: soit nous pouvons valider l'approvisionnement soit nous ne pouvons pas en raison de l'impossibilité de reconstruire son registre. Il n'y a eu aucun cas d'actif pour lequel nous n'avons pas pu déterminer quelle devrait être l'offre prévue.

Quelques nœuds d'actifs permettent aux utilisateurs de demander quelle est l'offre réelle (notamment Bitcoin et ses dérivés), ce qui facilite cette tâche.

6ac2301b 2f62 40aa 9faf

Exemple de récupération de l'offre de Bitcoin

Pour les autres actifs, la plupart du temps, ils ont une émission simple (ou pas du tout). Étant donné la formule qui donne l'offre attendue à une hauteur donnée et l'offre que nous avons trouvée en reconstruisant le grand livre, nous pouvons vérifier s'il y a eu une inflation inattendue. Il est possible de trouver un approvisionnement inférieur à la formule en raison des utilisateurs ou des entités qui brûlent des fonds.

Certains actifs, en raison de leur utilisation des fonctionnalités de confidentialité, sacrifient la visibilité de l'offre pour la confidentialité des transactions. Un exemple intéressant est Zcash qui a la particularité d'avoir à la fois une partie visible de son alimentation (dite transparente) et une partie privée (dite blindée). Les auditeurs ont une parfaite visibilité sur la composition du grand livre transparent mais ne peuvent avoir qu'une estimation de la taille de la partie privée. Les mouvements dans et hors de l'offre privée peuvent être comptabilisés pour estimer sa taille, mais s'il y a un bug provoquant l'inflation dans les transactions entièrement privées, il n'est pas détectable par les auditeurs.

Conclusion

Il est important de noter que la plupart des problèmes rencontrés lors de l'audit des actifs de chiffrement concernent les nœuds et les outils disponibles pour les utilisateurs, et non le protocole lui-même. Nous espérons qu'avec le temps, ils s'amélioreront pour faciliter l'audit des actifs, et nous commençons déjà à le voir aujourd'hui. Coin Metrics pourrait donc revoir cet exercice à l'avenir.

Bien que cet exercice de validation indépendante de l'offre d'un actif puisse sembler futile, il a néanmoins conduit à plusieurs découvertes d'inflation cachée.

Coin Metrics a détecté que l'offre Bitcoin Private avait des anomalies en utilisant ces techniques d'audit:

0c56cff5 f535 4f25 842e

Stellar a subi un bug d'inflation visible lors de l'audit de l'offre qui a ensuite été corrigée par la Stellar Development Foundation en brûlant une partie de son propre approvisionnement. Comme argument supplémentaire pour expliquer l’importance de ce processus, l’offre totale déclarée par les en-têtes des blocs stellaires diffère de l’offre réelle de XLM obtenue en résumant tous les soldes du compte.

a30944e8 d0b0 49d5 aee8

Ces deux exemples soulignent une fois de plus la pertinence d’un des adages de l’industrie: ne faites pas confiance, vérifiez.

Métriques récapitulatives

fb81db25 0109 43eb 861a

Les principaux actifs cryptographiques ont continué de décliner au cours de la semaine dernière. La capitalisation boursière BTC et ETH a baissé de plus de 2,6% et la capitalisation réalisée a baissé respectivement de 0,2% et 0,6%.

Le nombre d'adresses actives ETH a cependant augmenté de 21,3% d'une semaine sur l'autre. Cette forte augmentation est potentiellement liée à la récente Istanbul hard fork. Le transfert d'ETH et le nombre de transactions ont également augmenté au cours de la semaine dernière, malgré une forte baisse de la valeur de transfert.

Les transactions XRP, cependant, ont continué de baisser après une forte poussée ces dernières semaines. Les adresses actives XRP ont chuté de plus de 13%, bien plus que les quatre autres actifs de notre échantillon.

Points saillants du réseau

Le nombre de transactions Bitcoin SV (BSV) a atteint de nouveaux sommets annuels la semaine dernière. Cependant, comme nous l'avons signalé dans SOTN Numéro 8, la majorité des transactions BSV sont utilisées pour le stockage de données et n'impliquent pas de transferts monétaires. À un moment donné, plus de 90% de toutes les transactions BSV ont été lancées par WeatherSV, une application qui enregistre les données météorologiques quotidiennes sur la blockchain pour une somme modique. Il existe maintenant une autre application BSV qui génère un grand nombre de transactions: Preev, qui permet aux utilisateurs d'écrire des mises à jour de prix une fois par minute pour BTC-USD sur le registre de la chaîne de blocs BSV.

814fa912 a58a 4e3c b954

Le nombre d'adresses à petits soldes de Tezos (XTZ) est en augmentation depuis début novembre. Le tableau suivant montre les adresses XTZ avec un solde supérieur à X, où X varie de 0,1 XTZ à 1K XTZ.

Le 7 novembre, Coinbase a présenté Jalonnement de Tezoset a ajouté Tezos à Coinbase Gagnez, qui permet aux utilisateurs de gagner jusqu'à 6 $ en XTZ en suivant quelques leçons pour apprendre comment cela fonctionne. Il y avait un peu plus de 82 000 adresses avec au moins 0,1 XTZ (d'une valeur d'environ 0,16 $ aux prix actuels) le 6 novembre. Au 15 décembre, il y avait plus de 107 000 adresses avec au moins 0,1 XTZ.

8a3140a0 89d9 4512 b565

Les marchés de la cryptographie se sont poursuivis avec une baisse régulière mais modérée des prix au cours de la semaine dernière, à quelques exceptions notables. Après avoir constamment sous-performé les autres actifs majeurs pendant la majeure partie de cette année, ZCash a enregistré deux semaines consécutives de croissance positive des prix.

1c813b49 d2fc 4640 936b

ZCash a sous-performé les autres actifs majeurs cette année en partie en raison de son taux d'émission élevé. En tant qu'actif de preuve de travail relativement jeune modélisé à partir du calendrier d'émission de Bitcoin, ZCash a été lancé en octobre 2016 sans premine et avec une récompense de bloc de 12,5 ZEC par bloc. ZCash n'a pas encore connu de réduction de moitié des récompenses et son taux d'émission annualisé est relativement élevé par rapport à d'autres actifs de preuve de travail.

Notamment, le taux d'émission annualisé de ZCash a baissé rapidement car la récompense de bloc constante représente un pourcentage plus faible de son offre totale. Au cours de l'année 2019, le taux d'émission annualisé est passé de 47% à 32%. À la fin de 2020, le taux d'émission annualisé baissera encore à 25% juste avant la réduction de moitié des récompenses en bloc, puis tombera à 12,5% immédiatement après la réduction de moitié. Ces réductions de la pression de vente dirigée par les mineurs devraient largement soutenir les prix en supposant que la demande de ZCash reste constante.

3e2b0e6f 26a1 49a9 bf7b

Cette semaine, les autres performances notables incluent ChainLink (+ 1%), Tezos (+ 5%) et Cosmos (+ 15%). Les trois actifs poursuivent des gains importants au cours de cette année.

161eb725 58b6 4edd afcd

Alors que l'année touche à sa fin, il est temps de revenir sur nos origines il y a un an pour mettre en contexte la performance actuelle du marché. Malgré la récente faiblesse du marché, les performances des actifs cryptographiques ont été relativement solides en 2019 après une année 2018 catastrophique. 80%, le Bletchley 10 (grande capitalisation) retournant 52% sur l'année, le Bletchley 20 (moyenne capitalisation) 28% et le Bletchley 40 (petite capitalisation) en baisse de 40%.

7218c65a eca2 491f 8abd

Cependant, après une semaine molle pour les marchés des actifs cryptographiques qui a vu les prix diminuer dans tous les domaines, tous les indices Bletchley ont terminé la semaine en baisse de 5%. Il y avait très peu de différenciation dans la performance entre les actifs de petite, moyenne et grande capitalisation comme en témoignent les graphiques ci-dessous, démontrant très peu de variance dans les rendements hebdomadaires.

c4eee936 1575 4f4c b627

Mises à jour de l'équipe de Coin Metrics cette semaine:

Comme toujours, si vous avez des commentaires ou des demandes, n'hésitez pas à contacter [email protected]

État du réseau de Coin Metrics, est une vue hebdomadaire impartiale du marché de la cryptographie informée par notre propre réseau (en chaîne) et des données de marché.

Si vous souhaitez obtenir l'état du réseau dans votre boîte de réception, veuillez vous abonner ici. Vous pouvez voir les numéros précédents de State of the Network ici.

Vérifiez Blog des métriques pour une recherche et une analyse plus approfondies.



Traduction de l’article de : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Top
ut Aenean elementum fringilla felis ante.