Leçons 1/4 · 20 min
Fait brut ou interprétation : la chaîne de production d'un écran
Une question de départ
Vous ouvrez un explorateur et lisez : « Transfert de 150 USDT d'Alice (Exchange X) à Bob, il y a 3 minutes, frais 0,40 $ ». Combien de ces mots sont des faits inscrits dans un bloc ? Très peu. Pour le voir, il faut suivre le chemin de la donnée.
Le chemin de la donnée
nœud (blocs, état) -> indexeur (décode, range) -> base de données
-> API -> site web ou appli -> votre écran- Le nœud (le programme qui télécharge les blocs, vérifie les règles et détient l'état ; atelier 113) détient les blocs et l'état. C'est la seule étape où l'on trouve des octets consensuels.
- L'indexeur est un logiciel qui lit les blocs, les décode (quelle fonction a été appelée ? quel montant ?), les range dans une base de données classique pour répondre vite à « toutes les transactions de cette adresse ». Il décide de ce qu'il garde et de la façon de l'afficher.
- L'API et le site ajoutent des étiquettes, des prix, des horodatages convertis, des graphiques.
Chaque étape est un logiciel écrit par une équipe, avec ses bogues, ses retards et ses choix.
Tri de l'exemple
| Ce que dit l'écran | Nature | Qui l'affirme |
|---|---|---|
| Le montant 150 | Décodé depuis les données de la transaction | L'indexeur (à partir d'octets du bloc) |
| « USDT » | Un nom choisi par le déployeur du contrat ; rien ne l'empêche d'être copié | Le contrat, relayé par l'indexeur |
| « Alice (Exchange X) » | Une étiquette attribuée par l'explorateur ou des tiers | L'explorateur : ce n'est pas de la blockchain |
| « il y a 3 minutes » | Heure du bloc déclarée par le producteur du bloc (sur Bitcoin et les chaînes de type Ethereum), comparée à l'horloge du serveur | Le producteur + l'explorateur |
| « 0,40 $ » | Frais en unités natives × un prix pris à un fournisseur de cours | Un service de prix externe |
| Statut « Réussi » | Résultat d'exécution inscrit dans un reçu (brut) ou déduit par l'indexeur (dérivé) : vérifiez lequel | Dépend de la chaîne (voir leçon 2) |
Sur six lignes, seuls le montant et le statut viennent de données consensuelles (le montant après décodage, le statut après lecture du reçu quand la chaîne en produit) ; l'heure relative, le nom du jeton, l'étiquette et le prix en dollars sont dérivés ou fournis par des tiers. Même le montant n'est pas « directement dans les octets » : pour un jeton, l'indexeur le calcule à partir d'un événement ou des données de l'appel, et d'une métadonnée du jeton (son nombre de décimales).
Ce qui est brut, ce qui ne l'est pas
Brut (consensuel) : l'en-tête et le corps d'un bloc, les transactions signées, le résultat des règles appliquées (l'état après le bloc, et les reçus quand le protocole en produit).
Dérivé : toute interprétation, tout regroupement, toute valeur en monnaie fiduciaire, toute étiquette (« Exchange X »), tout classement (« top holders »), tout « transfert interne » reconstitué par rejeu des appels.
Exemple : l'heure d'un bloc
Sur Bitcoin et les chaînes de type Ethereum, l'heure affichée est l'horodatage que le producteur du bloc a écrit dans l'en-tête, dans des limites que le protocole contrôle seulement grossièrement. Elle ne vient pas d'une horloge de confiance. (Sur CometBFT, l'heure vient d'un calcul entre validateurs : chaque famille de chaînes a sa règle.) L'explorateur la convertit dans un fuseau (souvent UTC ou celui de votre navigateur). Deux explorateurs peuvent donc afficher des heures « différentes » pour le même bloc sans qu'aucun ne mente : l'un affiche UTC, l'autre l'heure locale (UTC+1 au Cameroun, sans changement d'heure).
Ce que cela ne garantit PAS
- Un explorateur connu n'est pas une autorité : il peut être en retard, avoir un bogue, être piraté (page web ou domaine) ou être lent à se réorganiser avec la chaîne.
- Un chiffre cohérent entre trois sites n'est pas vérifié : ils peuvent lire le même indexeur, ou le même fournisseur de nœud.
- « C'est sur la blockchain » ne veut pas dire « c'est vrai » : cela veut dire « un participant l'a signé et la chaîne l'a accepté ».
À retenir
Pour chaque ligne d'un écran, demandez : ce fait est-il dans les octets du bloc, ou quelqu'un l'a-t-il calculé, deviné ou ajouté ? Seul le premier cas se vérifie directement contre un nœud.
