Qu’est-ce qu’un bloc de transaction blockchain ?

Une blockchain ou chaîne de blocs est composée, comme son nom l'indique, de blocs de transaction. Ces blocs étant intrinsèquement liés les uns aux autres, ce sont eux qui composent principalement la blockchain.

Bloc transaction blockchain
Getting your Trinity Audio player ready...

Afin que le sujet des blocs de transaction dans la blockchain n’aient plus aucun secret pour vous, prenons le temps de les étudier ensemble. Que sont-ils réellement, comment sont-ils créer, comment fonctionne et que contient un bloc ? C’est à toutes ces questions que nous allons répondre au travers de cet article.

C’est quoi un bloc de transaction blockchain ?

Un bloc de transaction sur la blockchain est un ensemble horodaté et validé contenant une entête et des lots de transactions. Ces transactions quant à elles peuvent être de différentes natures et contenir :

  • Des transferts de crypto-monnaies ;
  • Des interactions avec des contrats intelligents ;
  • Des données arbitraires.

Tous ces blocs sont ensuite reliés entre eux grâce à un lien cryptographique permettant de les unir les uns aux autres, comme les maillons d’une chaîne. Ce lien se situe dans l’entête du bloc et va contenir ce que l’on appelle le hachage des données du bloc précédent, une empreinte unique sous forme de chaîne de caractère alpha numérique. Pour que ce soit plus clair pour vous, cette chaîne de caractère alpha numérique peut ressemble à celle-ci : 000000000000000000050fc23d3a89b8dbf6d08d4e0983a14237de674a65e54b

Création bloc transaction blockchain

Les liens qui unissent les blocs les uns aux autres vont permettre d’empêcher la fraude. En effet, en cas de modification de l’un des blocs précédents, ce changement invaliderait tous les blocs suivants car tous les hachages seraient différents.

Pour résumer, un bloc de transaction est un ensemble de données permettant de préserver l’historique des transactions et de se lier au bloc précédent grâce à son entête. De façon ordonnée et liés les uns aux autres comme des maillons, cet ensemble harmonieux permet de créer la chaîne de bloc, aussi appelée blockchain.

Comment un bloc de transaction est-il crée ?

Comme nous venons de l’aborder, la chaîne de bloc représente le registre contenant l’intégralité des transactions ayant eu lieu sur le réseau. Ce registre est lui même distribué, c’est-à-dire, partagé entre les différents ordinateurs qui participent à ce réseau.

Lors de la création d’une blockchain, le premier bloc de transaction émis est appelé bloc de genèse (genesis block). En tant que bloc 0, il possède la particularité d’être considéré valide par défaut car il ne fait référence à aucun bloc. Ensuite, viennent s’ajouter les autres blocs les uns à la suite des autres de façon linéaire mais pas n’importe comment.

Le respect des règles de consensus

En effet, la création et le chaînage des blocs doivent respecter certaines règles précises et strictes. Ce sont toutes ces différentes directives que l’on appelle notamment des règles de consensus.

Ces règles vont également varier d’une blockchain et c’est ce qui fait leurs différences fondamentales. Nous pourrions en citer quelques unes comme :

  • Le format précis des données à respecter ;
  • La limitation de la taille des blocs ;
  • La première transaction (coinbase transaction) réservée pour rémunérer le mineur ;
  • La division des récompenses (halving) tous les 210 000 blocs pour le Bitcoin.

Toutes ces règles sont définies par les nœuds du réseau qui rejetteront les blocs en cas de non-conformité. De plus, elles ont vocation à évoluer au fil du temps avec l’accord global des nœuds qui composent le réseau. Ce fût par exemple le cas lors de différentes mises à jour :

  • SegWit en août 2017 sur Bitcoin ;
  • Taproot en Novembre 2021 sur Bitcoin ;
  • The Merge en Septembre 2022 sur Ethereum.

Ce sont toutes ces règles strictes qui permettent l’efficience et le bon fonctionnement de la blockchain.

La construction du bloc

Les règles étant clairement définies, la construction du bloc débute. Dans un premier temps, les mineurs ou validateurs récupèrent les nouvelles transactions émises par les utilisateurs. Toutes ces transactions sont vérifiées afin qu’elles respectent les conditions des règles de consensus et sont placées dans une zone mémoire temporaire, aussi appelée le mempool. Dans ce cas, on parle alors de transactions non confirmées car elles n’ont pas encore été inscrites dans un bloc et diffusées.

En parallèle, les validateurs ou les mineurs vont construire le bloc et l’organiser en fonction des frais de transaction appliqués à chaque transaction. C’est pour cette raison qu’une transaction qui dispose de frais élevés passent en priorité par rapport aux autres.

Une fois le validateur sélectionné ou le mineur ayant résolu l’énigme cryptographique, le bloc de transaction est créé, inscrit sur la blockchain et propagé à travers le réseau distribué grâce aux nœuds qui le compose.

Le saviez-vous : Il peut arriver dans certains cas qu’un bloc de transaction soit tout simplement vide. Ce fût le cas par exemple du bloc n°721366 sur Bitcoin qui ne contenait que la transaction coinbase, la transaction visant à rémunérer le mineur.

Qui créer les blocs de transaction ?

En fonction des blockchains et de leur algorithme de consensus, la méthodologie de la création des blocs de transaction sera différente. Nous allons donc voir les 2 façons les plus courantes avec les termes appropriés.

La preuve de travail (Proof of Work)

Dans le cas des blockchains qui utilisent la preuve de travail (Proof of Work) comme Bitcoin, les mineurs entrent en compétition afin de trouver la solution d’un problème cryptographique et dépensent de l’énergie pour y parvenir. C’est la solution de ce problème qui va ensuite permettre de lier le bloc de transaction à la blockchain.

C’est donc les mineurs qui vont créer et inscrire les blocs de transaction dans la blockchain.

La preuve d’enjeu (Proof of Stake)

Pour les blockchains qui fonctionnent avec la preuve d’enjeu (Proof of Stake) comme Ethereum, un validateur doit mettre en collatéral une certaine quantité de crypto-monnaies pour prouver sa bonne foi vis-à-vis du réseau. Lors de la création d’un bloc, l’un des validateurs sera sélectionné de façon aléatoire pour produire le bloc de transaction et insérer sa signature numérique pour s’authentifier auprès du réseau.

Dans ce cas, ce sont les validateurs qui vont réaliser le travail de création de bloc.

Info : Les validateurs peuvent aussi être appelés nœud de validation au sein d’une blockchain.

Comment est constitué un bloc de transaction ?

Comme nous l’avons introduit, un bloc de transaction est principalement constitué de 2 éléments distinct qui sont :

  • L’entête du bloc ou block header en anglais
  • Les transactions sous forme de tableau

Bien que chaque blockchains puisse légèrement différer, voyons les principales informations qui peuvent être utilisées.

L’entête du bloc (block header)

L’entête du bloc ou « block header » contient les données indispensables permettant de lier les blocs de la blockchain les uns aux autres. Selon les blockchains, le type de données et leurs tailles peuvent varier. Pour mieux comprendre, voici quelques données présente dans la majorité des cas :

  • La version : Une valeur ayant un rôle de versionnage ;
  • L’horodatage : La date et l’heure auquel le bloc a été miné ;
  • Le difficulté : Une donnée représentant l’effort requis pour miner le bloc de transaction ;
  • Le hash : Un identifiant unique permettant d’identifier le bloc ;
  • Le hash parent : L’identifiant unique du bloc précédent ;
  • Le nonce : Une référence cryptographique à la preuve de travail ;
  • La racine de Merkle : Une empreinte unique générée à partir des empreintes des transactions.

En outre, ces données intrinsèquement liées permettent aussi d’éviter des tentatives de fraude. En effet, la modification d’un bloc précédent entraînerait une modification des informations de la valeur du hash parent par exemple.

Les transactions

La partie transaction d’un bloc est en réalité un tableau qui va contenir une quantité limitée de transaction, toutes placées les unes à la suite des autres. Celles-ci peuvent être de différentes natures comme des transferts de crypto-monnaies, des appels à des smart contracts ou encore de simples données arbitraires en fonction des blockchains et de leurs besoins de communication.

Ces transactions sont la base de la structure de données appelée arbre de Merkle ou arbre de hachage. Ce processus cryptographique consiste à hacher les transactions afin d’obtenir les « feuilles » sous forme d’empreinte. Ces empreintes (hashes) sont ensuite concaténer deux à deux avant d’être hachées à leur tour, permettant d’obtenir les « branches » jusqu’à finalement générer l’empreinte numérique unique appelée la racine de Merkle.

Arbre de Merkle
Représentation graphique d’un Arbre de Merkle avec ses différentes composantes

En fonction des blockchains, elles peuvent également être ordonnés en fonction des frais de transaction payés par les utilisateurs, permettant ainsi de faire passer en priorité une transaction avec des frais élevés comme cela peut être le cas sur le réseau Ethereum.

Dans Bitcoin par exemple, la première transaction dans un bloc se nomme la transaction coinbase. Elle possède la particularité de récompenser le mineur pour son travail. De plus, elle peut également contenir n’importe quelle donnée arbitraire comme un simple message. Beaucoup de pools de minage l’utilisent pour diffuser le nom de la pool ou du mineur ayant miné le bloc.

Enfin, les transactions étant traitées par bloc, elles seront engagées, acceptées et synchronisées en même temps. Cela permet d’éviter des disparités et de permettre à tous les participants du réseau de rester synchronisés.

Qu’est-ce qui rend un bloc valable ?

Un bloc est considéré comme « valable » quand il est propagé et validé par l’entièreté du réseau. Néanmoins, il faut un certain temps afin qu’il soit considéré comme mature et donc, qu’il y ait une certaine quantité de nouveau bloc produit en utilisant le bloc en question comme référence comme maillon de la chaîne.

En effet, bien qu’un bloc ait été créé à un certain emplacement du réseau, il faut du temps pour qu’il se propage à travers les différents nœuds qui le compose. Dans certains cas très rares, il peut s’avérer que 2 blocs aient été produits simultanément par 2 mineurs. A ce moment-là, la blockchain va se réorganiser et l’un de ces deux blocs va devenir un bloc orphelin car il sera abandonné par la chaîne de blocs.

C’est pour cette raison que les plateformes d’échanges de crypto-monnaies attendent généralement une certaine quantité de bloc confirmé avant de créditer votre compte lors d’un dépôt. Autre exemple sur Bitcoin, un mineur doit attendre la création de 100 nouveaux blocs avant de pouvoir déplacer sa récompense, c’est ce que l’on appelle la maturité.

En résumé, plus un bloc à de l’ancienneté (est mature), plus il est considéré comme source de sûreté et valable.

FAQ : questions courantes à propos des blocs de transaction

Comment se nomme la première transaction d’un bloc ?

La première transaction d’un bloc se nomme généralement la coinbase transaction. C’est la transaction de récompense qui permet de rémunérer le mineur ou le validateur.

Quel est le nom du premier bloc de transaction d’une blockchain ?

Dans la blockchain, le premier bloc émis s’appelle le Genesis block (ou bloc de genèse) ou bloc 0. Il est le tout premier bloc sur lequel sont ajoutés les autres blocs d’une blockchain.

Quelle est la vitesse de création des blocs ?

Chaque blockchain dispose de ses propres mécanismes quant à la rapidité de création des blocs de transaction. Par exemple, un bloc sur le registre distribué Bitcoin est produit toutes les 10 minutes environ. Sur la blockchain Ethereum, un même bloc est produit toutes les 13 secondes par les validateurs.

Partager l'article sur les réseaux sociaux

Auteur

Depuis 2017, je ne cesse d'explorer l'univers du Bitcoin, de la blockchain des crypto monnaies, des NFT et plus récemment, celui du Web3. Après avoir fondé Au Coin du Bloc en 2021, je met à disposition mes connaissances et tente de vulgariser les aspects obscurs pour rendre abordable et compréhensible cet univers naissant dans lequel je crois fermement.

Articles similaires