Si vous traitez avec la crypto-monnaie, vous avez certainement été en contact avec une blockchain à un moment donné. Les chaînes de blocs sont également pertinentes dans la gestion de la chaîne d'approvisionnement, la logistique, la vérification d'identité et une gamme d'autres domaines, de sorte que vous avez peut-être utilisé cette technologie même si vous n'êtes pas dans la cryptographie. Mais quelles données les blockchains stockent-elles? Et, si ces blockchains sont publiques, devriez-vous vous inquiéter de ce qu'elles contiennent ?
Un aperçu rapide de la technologie Blockchain
Avant de discuter des données stockées sur les blockchains, nous devons d'abord expliquer ce qu'est une blockchain en termes simples afin de savoir à quel type de technologie nous avons affaire.
Les chaînes de blocs sont mieux imaginées comme des chaînes virtuelles de blocs, d'où leur nom. Chaque bloc stocke les données en utilisant le hachage, une méthode cryptographique. Cela empêche les individus illicites d'exploiter les données de la blockchain. Une fois que la capacité d'un bloc est atteinte et confirmée pour rejoindre la chaîne, un autre bloc commence à être confirmé, que ce soit par
preuve de travail, preuve d'enjeu, ou un autre mécanisme de consensus.Les blocs varient en taille, ce qui signifie que la quantité d'informations qu'ils peuvent stocker diffère. Un bloc Bitcoin, par exemple, ne fait que 1 Mo. Il en va de même pour Litecoin et Dogecoin. Bitcoin Cash, cependant, a une taille de bloc beaucoup plus grande de 32 Mo, ce qui signifie que plus de transactions peuvent être stockées par bloc.
Les blocs plus gros cèdent généralement la place à des temps de transaction plus rapides et à des frais moins élevés, mais nous n'aborderons pas cet élément de la technologie blockchain aujourd'hui. Au lieu de cela, commençons par le type de données stockées sur la blockchain.
Quelles données un bloc stocke-t-il ?
Le type spécifique de données qu'un bloc donné stockera peut différer selon l'objectif et la nature de la blockchain. Mais utilisons Bitcoin, l'une des chaînes de blocs les plus populaires au monde, pour bien comprendre le stockage de la chaîne de blocs.
Les blocs Bitcoin sont extraits via le mécanisme de consensus de preuve de travail, dans lequel les mineurs utilisent du matériel spécialisé pour résoudre des problèmes de calcul complexes. Jusqu'à présent, plus de 760 000 blocs Bitcoin ont été extraits, avec environ 900 BTC mis en circulation quotidiennement. Chaque bloc met 6,25 BTC en circulation, ce qui équivaut à la récompense éligible au mineur, ou pool minier, qui exploite le bloc.
Bitcoin se rapproche de son limite d'approvisionnement de 21 millions de BTC. Une fois ce plafond atteint, plus aucun BTC ne peut être miné. Mais à mesure que les transactions Bitcoin continueront d'être effectuées, des blocs devront continuer à être ajoutés à la blockchain pour maintenir le grand livre immuable.
Les données d'un bloc Bitcoin sont hachées à l'aide de l'algorithme de hachage cryptographique SHA-256. Différentes crypto-monnaies utilisent différents algorithmes de hachage. Ethereum, par exemple, utilise Ethash. De nombreux gouvernements utilisent également SHA-256 pour hacher les données.
Un bloc Bitcoin se compose de quelques sections différentes. Commençons par l'en-tête du bloc.
L'en-tête de bloc
Un en-tête de bloc Bitcoin stocke le type de données suivant :
- Temps de transaction
- Nonce
- Morceaux
- hashMerklRoot
- hachageBlocPrécédent
- Version
Le temps de transaction contient un horodatage représentant l'heure à laquelle la transaction a eu lieu. Les blocs stockent les transactions dans l'ordre chronologique.
Le nonce (raccourci de "nombre utilisé une seule fois") joue un rôle très important dans le processus d'extraction de preuve de travail. C'est le nombre qu'un mineur doit atteindre en résolvant des problèmes de calcul. Si un mineur résout le nonce, il peut exploiter avec succès le bloc. Au fil du temps, il devient de plus en plus difficile d'extraire des blocs à mesure que la difficulté d'extraction de Bitcoin (c'est-à-dire la difficulté d'extraire un bloc) augmente.
Ensuite, nous avons le morceaux. Ce champ concerne également les Bitcoins difficulté minière, car il contient la difficulté elle-même. Cela peut augmenter ou diminuer avec le temps. Si la difficulté augmente, un mineur doit utiliser plus de puissance de hachage pour exploiter le bloc. S'il diminue, le mineur peut utiliser moins. Bien sûr, les mineurs préfèrent une difficulté inférieure car cela économise de l'énergie et du temps. En général, si le nombre de mineurs augmente, la difficulté augmente avec lui.
Le hashMerklRoot est associé à une racine de Merkle. Il s'agit d'une méthode mathématique utilisée pour confirmer les informations sur un arbre Merkle, qui est essentiellement une structure de stockage de données. Les arbres Merkle utilisent la cryptographie pour stocker les données, le hashMerklRoot étant le hachage de tous les hachages des transactions stockées dans un bloc donné.
hachageBlocPrécédent, comme son nom l'indique, fait référence au hachage 256 bits du bloc précédent. Chaque bloc Bitcoin de la chaîne contient le hachage du bloc précédent.
Enfin, vous avez le version. Ce champ fait simplement référence à la version du protocole Bitcoin qui a été utilisée. Le protocole Bitcoin utilisé aujourd'hui n'est pas exactement le même que celui utilisé lors du lancement de Bitcoin en 2008. Des mises à jour sont faites de temps en temps pour améliorer certaines parties du réseau. La version la plus récente du protocole est 70015, qui a été introduite en 2017. Cette mise à jour offrait la possibilité de bannir les blocs compacts invalides de la chaîne.
Le reste d'un bloc Bitcoin
Mais les choses ne s'arrêtent pas à l'en-tête. Il existe d'autres types de données stockées dans chaque bloc Bitcoin, notamment :
- Taille de bloc
- Compteur de transactions
- nombre magique
- Transactions
Commençons par le taille de bloc. Ce champ impose une limite à la quantité de données pouvant être stockées dans un bloc. Comme indiqué précédemment, la limite de taille de bloc de Bitcoin est de 1 Mo, mais cela change de crypto à crypto.
Le compteur de transactions compte simplement le nombre de transactions enregistrées dans un bloc Bitcoin donné. Il n'y a pas de nombre constant de transactions qui bloquent le stockage, car chaque transaction peut avoir une taille différente. Mais, en moyenne, chaque bloc Bitcoin contient entre 1 500 et 2 000 transactions, plus ou moins quelques centaines de chaque côté.
Le nombre magique a une valeur constante de 0xD9B4BEF9 et identifie le type de fichier et la structure utilisés dans le bloc. Les numéros magiques servent également d'identifiant de réseau pour chaque bloc. Cette valeur constante a été définie par Satoshi Nakamoto lors de la création de Bitcoin.
Le champ des transactions répertorie toutes les transactions incluses dans n'importe quel bloc Bitcoin (contrairement au champ du compteur de transactions, qui indique le nombre de transactions dans le bloc). Comme nous l'avons déjà mentionné, le nombre de transactions stockées dans un bloc ne peut pas dépasser la capacité de 1 Mo.
La Blockchain stocke-t-elle vos données personnelles ?
Votre nom, vos coordonnées, vos informations de paiement et d'autres données privées ne sont pas stockés sur la blockchain. Les seules données qui vous concernent sont votre adresse de portefeuille publique. Dans la plupart des scénarios, cela est totalement bénin. Mais des outils de suivi plus sophistiqués utilisés par les agences gouvernementales et d'autres analystes de la blockchain peuvent découvrir votre identité via votre adresse s'ils essaient suffisamment fort.
La plupart des crypto-monnaies sont pseudonymes et traçable à un degré. C'est pourquoi certains préfèrent pièces de monnaie de confidentialité, tels que ZCash et Monero, car ils peuvent masquer leur adresse de portefeuille lors de la négociation de ces actifs.
Les données de la blockchain jouent un rôle important dans le réseau
Sans données de bloc, il n'y aurait aucun moyen d'enregistrer et de suivre les transactions, ce qui est une partie intrinsèquement importante de la technologie blockchain. La fourniture d'un registre immuable offre sécurité et transparence, permettant aux utilisateurs de vérifier différents types d'informations au sein du réseau, telles que les montants des transactions,