Comment fonctionne la blockchain : blocs, mineurs et confirmations
Découvrez en termes simples et exacts comment les transactions sont regroupées en blocs, sécurisées par la preuve de travail et confirmées.
Ce que vous allez apprendre
- Ce que sont une transaction, un bloc et la blockchain
- Ce que font les mineurs et ce que signifie la preuve de travail
- Pourquoi les confirmations sont importantes et combien de temps elles prennent en moyenne
- Pourquoi une transaction confirmée est très difficile à modifier
Explication
Une transaction est un message qui dit « transférez ce montant de bitcoins de ces pièces vers cette adresse ». Elle est signée avec la clé privée de l'expéditeur (leçon 4). Les nœuds vérifient que la signature est valide et que les pièces n'ont pas déjà été dépensées.
Les transactions valides mais non confirmées attendent dans une file appelée mempool (memory pool, ou réserve de mémoire). Chaque nœud possède sa propre mempool.
Un bloc est un ensemble de transactions accompagné d'un en-tête. L'en-tête contient une référence (un « hash ») au bloc précédent. Un hash est une courte empreinte numérique de données : si les données changent même légèrement, l'empreinte change complètement. Comme chaque bloc pointe vers le précédent, les blocs forment une chaîne : la blockchain, un registre public de toutes les transactions Bitcoin.
Les mineurs sont des participants qui construisent de nouveaux blocs. Pour ajouter un bloc, un mineur doit trouver un en-tête dont le hash est inférieur à un nombre cible. La seule méthode consiste à essayer un nombre énorme de valeurs. C'est ce qu'on appelle la preuve de travail (proof of work) : le résultat prouve qu'une grande quantité de calcul (et d'électricité) a été dépensée. Le mineur gagnant reçoit la récompense de bloc : des bitcoins nouvellement créés, plus les frais des transactions contenues dans le bloc.
Le réseau vise en moyenne un bloc toutes les 10 minutes environ. Tous les 2,016 blocs (environ deux semaines), la difficulté s'ajuste : si les blocs sont arrivés trop vite, en trouver un devient plus difficile ; s'ils sont arrivés trop lentement, cela devient plus facile. Un bloc isolé peut tout de même arriver au bout d'une minute ou au bout d'une heure.
Une confirmation signifie que votre transaction figure dans un bloc. Chaque nouveau bloc ajouté par-dessus apporte une confirmation supplémentaire. Pour modifier une ancienne transaction, un attaquant devrait refaire la preuve de travail de ce bloc et de tous les blocs suivants, plus vite que le reste du réseau. Plus il y a de confirmations, plus cela devient difficile. De nombreux services attendent plusieurs confirmations (souvent environ six pour les montants importants) avant de considérer un paiement comme définitif. Vérifiez la règle appliquée par votre prestataire.
Exemple chiffré
Exemple hypothétique : combien de temps pourriez-vous attendre, et à quelle fréquence un petit mineur gagne-t-il ?
Hypothèses : le réseau produit exactement un bloc toutes les 10 minutes en moyenne. Les durées réelles varient.
- Blocs par jour : 24 heures × 60 minutes ÷ 10 minutes = 144 blocs.
- Durée d'une période de difficulté : 2,016 blocs × 10 minutes = 20,160 minutes ÷ 60 ÷ 24 = 14 jours.
- Attente moyenne pour 6 confirmations après la première inclusion de votre transaction : environ 6 × 10 minutes = 60 minutes. Si vos frais sont faibles, vous pouvez aussi attendre dans la mempool avant la première confirmation.
- Un mineur hypothétique contrôle 0.5% de la puissance de minage totale. Blocs attendus par jour : 144 × 0.005 = 0.72 bloc. Certains jours, il n'en trouve aucun, d'autres jours deux. C'est pourquoi les petits mineurs rejoignent souvent des pools de minage et partagent les récompenses.
Non pris en compte : les coûts d'électricité et de matériel du minage, ainsi que le niveau des frais, qui varie selon la demande.
Erreur fréquente
Exercice pratique
Supposez que les blocs arrivent en moyenne toutes les 10 minutes. (a) Un service exige 3 confirmations. Quelle est approximativement l'attente moyenne après la première inclusion ? (b) Combien de blocs sont produits en une semaine ? (c) Un mineur dispose de 2% de la puissance de minage totale. Combien de blocs peut-il espérer par semaine ?
Afficher la solution
(a) Le premier bloc donne 1 confirmation ; il faut encore deux blocs : environ 2 × 10 = 20 minutes après l'inclusion (ou environ 30 minutes à partir de la diffusion, si la transaction entre dans le bloc suivant).
(b) 144 blocs par jour × 7 = 1,008 blocs.
(c) 1,008 × 0.02 = 20.16, soit environ 20 blocs par semaine, avec une variation aléatoire.
Limites : les temps de bloc sont aléatoires ; les moyennes décrivent de nombreux blocs, pas le prochain.
Points clés à retenir
- Les transactions sont regroupées en blocs qui pointent vers le bloc précédent, formant ainsi la blockchain.
- Les mineurs utilisent la preuve de travail pour ajouter des blocs et reçoivent de nouveaux bitcoins plus les frais.
- Le réseau vise environ 10 minutes par bloc et ajuste la difficulté tous les 2,016 blocs.
- Plus il y a de confirmations, plus un paiement est difficile à annuler ; personne ne peut annuler un paiement confirmé.
Étape suivante
Dans la prochaine leçon, vous découvrirez comment les nouveaux bitcoins sont émis et comment le halving réduit l'émission.
Auto-évaluation
Répondez aux questions, puis vérifiez vos réponses. Vous pouvez recommencer autant de fois que vous le souhaitez.
Auto-évaluation automatique pour vos propres révisions. Vos réponses sont vérifiées dans votre navigateur ; nous ne les voyons pas et ne les évaluons pas. Ce n'est ni un examen ni une qualification.
Votre progression
« Terminée » signifie seulement que vous avez marqué la leçon comme lue. Ce n'est pas un test de votre compréhension. La progression et les notes sont enregistrées uniquement dans ce navigateur, sur cet appareil — pas dans un compte.