Un Block, ou bloc, est un nouveau lot de transactions dans l’histoire de Bitcoin. Quand votre paiement entre dans un bloc valide de la chaîne suivie par votre nœud, il reçoit sa première confirmation. Aucun administrateur central ne le décide : un mineur construit le bloc, puis les autres nœuds vérifient le respect des règles de Bitcoin.
Vous envoyez un paiement en bitcoin et le portefeuille indique d’abord qu’il attend une confirmation. La transaction circule entre les nœuds et peut entrer dans leurs mempools, listes locales de transactions non confirmées. Un mineur en sélectionne pour un bloc candidat. S’il trouve le Proof of Work (un résultat du minage conforme aux règles du réseau) requis et que les nœuds acceptent ce bloc dans leur chaîne active, le paiement inclus reçoit sa première confirmation. Le bloc suivant, construit à sa suite, porte ce nombre à deux. La cible moyenne est d’environ dix minutes entre blocs, pas la garantie que chaque paiement passera en dix minutes. [1] [3]
Chaque bloc possède un court en-tête et ses transactions. L’en-tête contient notamment l’empreinte cryptographique du bloc précédent : une référence qui change si ses données changent. Les blocs forment ainsi un historique lié, pas une pile de paiements sans ordre. Une autre empreinte de l’en-tête résume les transactions du bloc : la Merkle root. Le mineur essaie des variantes de l’en-tête jusqu’à ce que son hash, une empreinte numérique, respecte la limite de difficulté. Cela ne prouve pas encore la validité des paiements. Un nœud complet vérifie aussi les signatures, les droits de dépense et les autres règles : un Proof of Work valide ne répare pas une transaction invalide. [1] [3]
La première transaction s’appelle Coinbase Transaction. Le mineur peut y réclamer au plus la nouvelle émission autorisée et les frais des transactions incluses. Le nœud vérifie ensuite les transactions ordinaires dans l’ordre : des montants jusque-là non dépensés disparaissent des fonds disponibles et de nouveaux apparaissent. Ces montants distincts sont les UTXO. Un paiement peut dépenser, dans le même bloc, une sortie d’un paiement placé plus tôt, si toutes les autres conditions sont remplies. Il ne peut toutefois pas dépenser deux fois la même sortie. La nouvelle récompense de coinbase ne peut pas être dépensée immédiatement dans ce bloc : une règle spéciale impose une attente de 100 blocs. [1]
Le bloc n’offre pas un nombre fixe de places. Une transaction simple demande moins de données qu’une transaction complexe : une même capacité peut donc accueillir des nombres différents de transactions. Depuis SegWit (une mise à jour des règles de Bitcoin qui a modifié le stockage et le décompte des données de transaction), la capacité se compte en poids, limité à 4 000 000 d’unités. C’est une mesure technique des données, pas une masse physique. D’autres règles s’appliquent aussi. Le mineur n’est pas obligé de remplir le bloc. Un bloc dit vide peut omettre les paiements ordinaires, mais contient toujours une coinbase. Vide ne veut donc dire ni sans aucune transaction ni automatiquement invalide. [1] [2]
Deux mineurs trouvent parfois presque simultanément des blocs rattachés au même prédécesseur. Les deux peuvent être valides, mais créent des branches concurrentes. Un nœud choisit parmi les branches valides selon le travail total prouvé, sans vote simple ni seul comptage des blocs. Passer à une autre branche est une réorganisation. Un paiement du bloc abandonné peut perdre ses confirmations ; s’il reste valide et n’apparaît pas dans la nouvelle branche, il peut attendre à nouveau son inclusion. Les confirmations supplémentaires augmentent généralement la confiance, sans promettre une irréversibilité mathématique. Pour le détail technique : l’en-tête fait 80 octets. La Merkle root est une empreinte calculée à partir des identifiants de transaction, appelés txid, dans leur ordre au sein du bloc. Les données witness de SegWit, par exemple les signatures nécessaires pour vérifier une dépense, disposent d’une empreinte cryptographique supplémentaire enregistrée via la coinbase. Ces liens permettent au nœud de vérifier que les données fournies appartiennent bien au bloc. [1] [2]
Pour une vision complète, lisez aussi Block Header, Transaction, Timechain / Blockchain, Minage. Cette entrée est également citée par Block Header, Merkle Tree, Confirmation, Transaction coinbase.