Les divergences entre les explorateurs de blocs : un défi de l’audit de chaînes de blocs

Les divergences entre les explorateurs de blocs : un défi de l’audit de chaînes de blocs

Commençons par une définition simple d’un explorateur de blocs : il s’agit d’un outil logiciel qui permet aux utilisateurs de lire des données sur les chaînes de blocs. Son objectif général est de confirmer la quantité de jetons disponibles à une adresse et à une date données. Dans le cas du bitcoin, par exemple, il existe des dizaines d’explorateurs de blocs accessibles au public.

Certains auditeurs y ont recours pour recueillir des preuves d’audit. Malheureusement, les explorateurs de blocs comportent trop souvent des divergences, ce qui peut avoir une incidence sur les résultats d’un audit.

Qu’elles soient fondées sur des interprétations non divulguées d’une zone grise ou dues à des bogues du code de l’explorateur, ces divergences minent la crédibilité des explorateurs de blocs. De plus, à notre connaissance, aucun explorateur de blocs ne garantit que sa conception et son utilisation font l’objet de contrôles adéquats et suffisants. Par conséquent, comment pouvons-nous nous assurer que les données fournies sont exhaustives et exactes?

Tout en élaborant nos propres pratiques pour lire directement les chaînes de blocs, nous comparons régulièrement nos résultats avec ceux de tiers. Lorsque nous constatons des divergences, nous procédons à un examen approfondi en cherchant la source. Par exemple, voici deux enjeux soulevés récemment à propos du bitcoin :

  1. Le même portefeuille de bitcoins peut être représenté sous forme d’adresse et de clé publique. Certains explorateurs de blocs additionneront automatiquement leur solde respectif en présumant qu’elles sont nécessairement contrôlées par une seule et même entité. Pour différentes raisons, d’autres explorateurs de blocs les traiteront de manière distincte.
  2. Un bitcoin peut être verrouillé par un script de dépense. Ce script peut nécessiter deux clés publiques (ou plus) pour produire des signatures permettant de le déverrouiller, puis de libérer le bitcoin. Depuis plusieurs années, cette technique fait place à un mécanisme plus efficace. Toutefois, certains explorateurs de blocs semblent avoir délaissé cette stratégie plus ancienne. Ils affectent par erreur des fonds à la première ou aux deux adresses, plutôt qu’à une adresse à double contrôle. Cette omission peut donner lieu à des résultats erronés. Un auditeur inexpérimenté qui utilise un explorateur en cause pourrait obtenir un nombre trop élevé ou trop faible de bitcoins pour une entité donnée. Une entité malveillante pourrait en profiter pour déclarer la propriété de jetons fictifs.

Afin que vous vous prêtiez à l’exercice, nous vous indiquons le solde et le nombre de transactions associés à une adresse réelle (1MbCDrD8fkqXr4M2HXYuyzLfYGEN4evUer, l’« adresse ») selon six explorateurs de blocs :

Explorateur Solde (BTC) Transactions
Explorateur de blocs 10 2
Explorateur de blocs 20 2
Explorateur de blocs 3 0,00362 69
Explorateur de blocs 4 0,00362 105
Explorateur de blocs 5 0,0005 37
Explorateur de blocs 6 0,0005 37

Quelle information est exacte? L’entité devrait déclarer 0,0005 BTC, soit les bitcoins contrôlés par cette adresse et les fonds versés à la clé publique non cryptée correspondante (0243c17584f2a00d7c22429e1444e2a94cae0a657b9a58ee6a87c33ef7bca97245, la « clé »).

Pourquoi les explorateurs de blocs présentent-ils un portrait différent de la situation? Par exemple, on pourrait, en inspectant le contenu du coffre-fort A, trouver la clé du coffre-fort B. Supposons que le coffre-fort A ne contient aucune somme d’argent et que le coffre-fort B contient 50 $. Au sens strict, il serait exact de dire que le coffre-fort A ne contient aucune somme d’argent. Une réponse plus complète consisterait à déclarer que le contenu « total » du coffre-fort A est de 50$.

Donc, qu’est-ce que cela signifie pour les explorateurs de blocs mentionnés ci-dessus? Les explorateurs de blocs 1 et 2 omettent les fonds envoyés à la clé (c.-à-d. qu’ils tiennent seulement compte de l’adresse). Leur réponse se fonde sur une interprétation « littérale ». Dans ce cas, les explorateurs de blocs 5 et 6 indiquent la bonne réponse, mais pour des raisons techniques, les recherches qu’ils effectuent sont limitées (c.-à-d. qu’ils ne peuvent jamais garantir l’exhaustivité). De plus, dans de nombreux cas, aucun document ne précise la méthode utilisée ou la cohérence des recherches.

Les explorateurs de blocs 3 et 4 présentent des données erronées. Ils commettent la grave erreur d’ajuster le solde de l’adresse lorsque la clé apparaît dans un ancien script multisignature, comme le deuxième enjeu ci-dessus en fait mention.

Compte tenu de ces trois perspectives contradictoires, il est clair que l’utilisation de ces outils publics n’ayant pas fait l’objet de tests est à la fois insuffisante et hautement risquée aux fins d’audit. Une interprétation et une approbation adéquates de ces outils sont nécessaires.

Conclusion
L’expertise relative à la chaîne de blocs est nécessaire pour effectuer la mission d’audit d’une entité qui détient des actifs numériques. Cette expertise est non seulement essentielle pour l’interprétation des données, mais également pour l’évaluation de la fiabilité des données comme preuves d’audit. Il s’agit d’un aspect crucial pour permettre aux auditeurs de s’orienter parmi ces systèmes complexes. Vous pouvez compter sur Catallaxy pour vous aider!