Sommaire
La blockchain et le hashing/hashage
La fiabilité et l’intégrité de la Blockchain reposent sur le fait qu’il n’y a aucune chance que des données ou des transactions frauduleuses, telles qu’une double dépense, soient acceptées ou enregistrées. Le hachage est la pierre angulaire de la technologie dans son ensemble et les éléments clés du maintien de cette fiabilité.
Le hachage est le processus qui consiste à prendre une entrée de n’importe quelle longueur et à la transformer en une sortie fixe cryptographique par un algorithme mathématique (Bitcoin utilise SHA-256, par exemple).
Il peut s’agir, par exemple, d’un court élément d’information tel qu’un message ou d’un énorme cache contenant divers éléments d’information tels qu’un bloc de transactions ou même l’ensemble des informations contenues sur l’Internet.
Sécurisation des données par hachage
Le hachage augmente considérablement la sécurité des données.
Quiconque tente de décrypter les données en regardant le hachage ne sera pas en mesure de déterminer la longueur de l’information cryptée en fonction du hachage. Une fonction de hachage cryptographique doit posséder plusieurs qualités cruciales pour être considérée comme utile, notamment :
- Impossible de produire la même valeur de hachage pour des entrées différentes :
C’est important parce que si ce n’était pas le cas, il serait impossible de garder une trace de l’authenticité des intrants. - Le même message produira toujours la même valeur de hachage :
L’importance de ce point est similaire à celle du point précédent. - Rapide à produire un hachage pour un message donné :
Sinon, le système ne serait pas efficace et n’offrirait pas de valeur. - Impossible de déterminer l’entrée en fonction de la valeur de hachage :
C’est l’un des principaux aspects et qualités du hachage et de la sécurisation des données.
Même la moindre modification d’une entrée modifie complètement le hachage :
C’est aussi une question de sécurité. Si un léger changement ne faisait qu’une petite différence, il serait beaucoup plus facile de déterminer ce qu’il y avait en entrée. Plus l’algorithme de hachage est efficace et complexe, plus l’impact de la modification d’une entrée sera important sur ce qu’est la sortie.
Le hachage sécurise les données en fournissant la certitude qu’elles n’ont pas été altérées avant d’être vues par le destinataire prévu.
Ainsi, par exemple, si vous téléchargez un fichier contenant des informations sensibles, vous pouvez l’exécuter à l’aide d’un algorithme de hachage, calculer le hachage de ces données et le comparer à celui affiché par celui qui vous a envoyé les données.
Si les hachages ne correspondent pas, vous pouvez être certain que le fichier a été modifié avant de le recevoir.
Hachage de la blockchain
Dans la chaîne de blocs, les hachages sont utilisés pour représenter l’état actuel du monde, ou pour être plus précis, l’état d’une blockchain.
Ainsi, l’entrée représente tout ce qui s’est passé sur une chaîne de blocs, donc chaque transaction jusqu’à ce point, combinée avec les nouvelles données qui sont ajoutées. Cela signifie que la sortie est basée sur, et donc façonnée par, toutes les transactions précédentes qui ont eu lieu sur cette blockchain.
Comme nous l’avons mentionné, la moindre modification d’une partie quelconque de l’entrée entraîne une modification considérable de la sortie ; c’est là que réside la sécurité irréfutable de la technologie de la blockchain.
Changer n’importe quel enregistrement qui s’est déjà produit sur une blockchain changerait tous le hashage, les rendant faux et obsolètes. Cela devient impossible si l’on tient compte de la nature transparente de la blockchain, car ces changements devraient se faire en pleine vue de l’ensemble du réseau.
Le premier bloc d’une blockchain, appelé bloc de genèse, contient ses transactions qui, une fois combinées et validées, produisent un hachage unique. Ce hachage et toutes les nouvelles transactions en cours de traitement sont ensuite utilisés comme entrée pour créer un tout nouveau hachage qui est utilisé dans le bloc suivant de la chaîne.
Cela signifie que chaque bloc renvoie à son bloc précédent par le biais de son hachage, formant ainsi une chaîne vers le bloc de genèse, d’où le nom de blockchain.
De cette façon, les transactions peuvent être ajoutées en toute sécurité tant que les nœuds du réseau sont d’accord sur ce que devrait être le hachage.
Explication des structures de données
Les structures de données sont un moyen spécialisé de stocker les données. Les deux principaux objets de hachage qui exécutent cette fonction sont les pointeurs et les listes liées.
Les pointeurs stockent les adresses en tant que variables et, en tant que telles, pointent vers les emplacements d’autres variables.
Les listes liées sont une séquence de blocs reliés entre eux par des pointeurs. Ainsi, la variable dans chaque pointeur est l’adresse du nœud suivant, le dernier nœud n’ayant pas de pointeur et le pointeur dans le premier bloc, le bloc de genèse, se trouvant en fait en dehors du bloc lui-même.
Dans sa forme la plus simple, une blockchain est simplement une liste liée de transactions enregistrées qui se renvoient les unes aux autres par des pointeurs de hachage.
Les pointeurs de hachage sont là où blockchain se distingue en termes de certitude car les pointeurs contiennent non seulement l’adresse du bloc précédent, mais aussi les données de hachage de ce bloc.
Comme décrit précédemment, c’est le fondement de la nature sécurisée de la blockchain. Par exemple, si un pirate voulait attaquer le neuvième bloc d’une chaîne et modifier ses données, il devrait modifier les données dans tous les blocs suivants, car leur hachage changerait également.
Essentiellement, cela rend impossible la modification des données enregistrées sur une blockchain.
Le hachage est l’un des principes fondamentaux et des aspects les plus importants du potentiel immuable et déterminant de la technologie de la blockchain. Il préserve l’authenticité des données enregistrées et visualisées et, à ce titre, l’intégrité d’une chaîne de blocs dans son ensemble.
C’est l’un des aspects les plus techniques de la technologie, mais c’est une étape importante dans la compréhension du fonctionnement de la chaîne de blocs et du potentiel et de la valeur incommensurables qu’elle possède.
Qu’est-ce qu’un TXID ?
Un TXID est un ID de transaction, produit en hachant les données de transaction (telles que le montant envoyé, l’adresse de réception, l’horodatage, etc.) et apparaissant dans une chaîne de chiffres et de lettres, qui peut être utilisé pour identifier et confirmer une transaction qui a eu lieu.
Que sont les Merkle Trees ?
Un arbre merkle, aussi appelé arbre de hachage, est une structure de données de hachage utilisée pour enregistrer des données sur une blockchain d’une manière sûre et efficace. Le concept a été breveté par Ralph Merkle en 1979.
Le système fonctionne en exécutant un bloc de transactions à l’aide d’un algorithme pour générer un hachage afin de vérifier la validité de ces données sur la base des transactions originales.
Un bloc entier de transactions n’est pas soumis à une fonction de hachage en même temps, mais plutôt chaque transaction est hachée, ces transactions étant liées et hachées ensemble. En fin de compte, cela crée un seul hachage pour tout le bloc.
Lorsqu’elle est visualisée, la structure ressemble à celle d’un arbre, quoique d’une manière simplifiée, car chaque bloc contient normalement des centaines, voire des milliers, de transactions. Les hachures sur la rangée du bas sont appelées » feuilles « , tandis que les hachures du milieu sont appelées » branches « , le hachis en haut étant la » racine « .
Les arbres Merkle sont particulièrement utiles car ils permettent à quiconque de confirmer la validité d’une transaction individuelle sans avoir à télécharger une chaîne de blocs entière. Par exemple, tant que vous avez le hachage racine (12345678), vous pouvez facilement confirmer la transaction (8) en comptabilisant les hachages (7), (56) et (1234).
Tant qu’ils sont tous là sur une chaîne de blocs, la transaction (8) est sûrement là et en tant que telle comptabilisée et par conséquent vraie, et destinée à être là.
Les arbres Merkle et les hashes sont un élément clé pour permettre à la technologie de la blockchain de fonctionner tout en assurant la sécurité, l’intégrité et l’irréfutabilité et, avec les protocoles de consensus, sont sans doute les aspects les plus importants de la technologie de la chaîne de blocs.
Passez au chapitre suivant !
- Réseau peer-to-peer
- Cryptographie
- Signatures numériques
- Nœuds
- Proof of Work (PoW)
- Protocoles de consensus
- Problèmes des généraux Byzantins
- Proof of Stake (preuve d’enjeu)
- Delegated proof of stake (DPoS)
Dernière modification le 12 avril 2022 par Cryptus
Bjr et merci très édifiant. Je voudrais savoir s il est possible un mécanisme pour confirmer une transaction non confirmé qui a déjà mis plus de cinq jours