Chaînes de hachage et liaison de blocs
Construisez une chaîne de blocs minimale avec des pointeurs de hachage pour comprendre l’immutabilité.
Chaînes de hachage et liaison de blocs est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.
Qu’est-ce qu’une chaîne de hachage
Une chaîne de hachage relie des blocs de données de sorte que chaque bloc contienne le hachage du bloc précédent. La modification d’un bloc quelconque modifie son hachage et invalide tous les blocs suivants. Cela crée un registre en ajout uniquement qui permet de détecter toute altération.
Structure d’un bloc
Chaque bloc contient : (1) une charge utile de données (transactions), (2) le hachage du bloc précédent (pointeur vers le bloc antérieur), (3) un horodatage, (4) un nonce (pour le PoW), (5) la racine de Merkle des transactions. Le premier bloc (genesis) a previous_hash = "0"*64.
Blockchain minimale en Python
import hashlib, json class Block: def __init__(self, data, prev_hash): self.data = data self.prev_hash = prev_hash self.hash = hashlib.sha256( json.dumps({'data':data,'prev':prev_hash}).encode() ).hexdigest()
Pourquoi les pointeurs de hachage garantissent l’intégrité
Si un attaquant modifie les données du bloc 3, le hachage du bloc 3 change. Le bloc 4 référence l’ancien hachage du bloc 3 : la chaîne est rompue au niveau du bloc 4. L’attaquant doit recalculer les hachages des blocs 3, 4, 5, ... jusqu’à l’extrémité de la chaîne. Avec le PoW, cela est irréalisable sur le plan informatique.
Immutabilité et détection des altérations
Les chaînes de hachage permettent de détecter les altérations, mais ne garantissent pas à elles seules l’immutabilité. Sans mécanismes supplémentaires (PoW, signatures numériques, distribution), un attaquant qui contrôle la chaîne peut la réécrire. En pratique, c’est le consensus distribué qui rend la chaîne de blocs résistante aux altérations.
Règle de la chaîne la plus longue
Règle de la chaîne la plus longue de Bitcoin : la chaîne valide ayant accumulé le plus de preuves de travail est la chaîne canonique. Si un attaquant crée une branche, les mineurs honnêtes prolongent la chaîne honnête plus rapidement (hypothèse des 51 %). La branche de l’attaquant est plus courte et est rejetée.
En-tête et bloc complet
Les clients SPV de Bitcoin (vérification simplifiée des paiements) téléchargent uniquement les en-têtes de blocs de 80 octets (contenant le hachage précédent, la racine de Merkle, le nonce, l’horodatage et le champ bits). Les nœuds complets stockent toutes les transactions. Les clients SPV vérifient une transaction au moyen d’une preuve de Merkle par rapport à la racine de Merkle de l’en-tête.
Bloc genesis
Le bloc genesis de Bitcoin (bloc 0, 3 janvier 2009) a prev_hash = 0x000...0. Satoshi a intégré le titre « The Times 03/Jan/2009 Le chancelier au bord d’un deuxième renflouement des banques » dans la transaction coinbase comme preuve de l’horodatage.
Chaîne de conservation
Les chaînes de hachage sont antérieures à la chaîne de blocs. Utilisations : listes de révocation de certificats (reliées par hachage), intégrité des journaux (hachage de l’entrée de journal précédente), chaîne de confiance DNSSEC. Le concept se généralise à toute structure en ajout uniquement où chaque entrée engage toutes les entrées précédentes.
Points de contrôle
Pour accélérer la synchronisation initiale, Bitcoin Core inscrit en dur des points de contrôle : des hachages de blocs connus comme valides à certaines hauteurs. Un client qui commence sa synchronisation peut ignorer la vérification du PoW pour les blocs antérieurs au point de contrôle et faire confiance au hachage inscrit en dur. Compromis : cela réduit la capacité à minimiser la confiance accordée.
Adressage par contenu
Git utilise le même principe : chaque validation est identifiée par SHA-1/SHA-256 du contenu et du hachage de la validation parente. L’extraction d’une validation particulière avec git checkout
Vérification rapide
Pourquoi un attaquant doit-il recalculer tous les hachages des blocs suivants après avoir modifié un bloc ?
Récapitulatif
Les chaînes de hachage relient les blocs au moyen de pointeurs cryptographiques. Toute modification se propage à tous les blocs suivants. Combinées au PoW et au consensus distribué, elles rendent la chaîne de blocs immuable en pratique. Ensuite : les arbres de Merkle pour garantir efficacement l’intégrité des transactions.
Questions Fréquemment Posées
La leçon « Chaînes de hachage et liaison de blocs » est-elle gratuite ?
Oui — le texte complet de « Chaînes de hachage et liaison de blocs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Chaînes de hachage et liaison de blocs » ?
Construisez une chaîne de blocs minimale avec des pointeurs de hachage pour comprendre l’immutabilité. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cryptology Academy ?
Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Chaînes de hachage et liaison de blocs » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?
Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Chaînes de hachage et liaison de blocs
- Arbres de Merkle : intégrité des transactions à grande échelle
- Preuve de travail : minage et ajustement de la difficulté
- Script Bitcoin et vérification des signatures UTXO