Comprendre le fonctionnement des transactions sur la blockchain

transaction blockchain

La blockchain est une technologie de plus en plus utilisée mais le fonctionnement d'un de ses concepts clés : les transactions, n'est parfois pas totalement compris. Dans cet article nous vous détaillons les étapes d'une transaction sur la blockchain pour vous aider à mieux comprendre.

La blockchain en action

La blockchain ressemble à un grand livre ou une base de données décentralisée permettant des transferts sécurisés d'actifs tels que de l'argent, des contrats et des biens sans intermédiaire. Pour effectuer une transaction sur la blockchain, un portefeuille (wallet) est nécessaire.

Un portefeuille en crypto interagit avec la blockchain et est protégé par des méthodes cryptographiques à l'aide d'une clé privée et publique. Une adresse publique permet de recevoir des fonds, tandis que la clé privée est gardée secrète et permet de signer les transactions afin d'autoriser la dépense des fonds présents sur le wallet.

Prenons l'exemple d'une transaction entre Alice et Bob

Supposons qu'Alice souhaite envoyer des bitcoins à Bob. Voici les étapes qu'ils doivent suivre pour réaliser une transaction :

  1. Adresses et clés : Alice et Bob possèdent tous deux une paire de clés (publique et privée) et une adresse publique Bitcoin associée. L'adresse publique Bitcoin est une version encodée de la clé publique et est utilisée pour recevoir des bitcoins. La clé privée est gardée secrète et sert à autoriser les transactions.
  2. Création de la transaction : Alice crée une transaction dans laquelle elle indique l'adresse de Bob et le montant en bitcoins qu'elle souhaite lui envoyer. Elle ajoute également une petite somme (frais de transaction) pour inciter les mineurs à valider et inclure cette transaction dans un bloc.
  3. Signature de la transaction : Alice signe numériquement la transaction avec sa clé privée. Cette signature garantit que la transaction provient bien d'Alice et qu'elle a autorisé le transfert des bitcoins à Bob.
  4. Diffusion de la transaction : La transaction signée est diffusée sur le réseau Bitcoin. Les nœuds du réseau (ordinateurs participant à la validation des transactions) vérifient la validité de la transaction et de la signature d'Alice.
  5. Confirmation de la transaction : Les mineurs sélectionnent les transactions non confirmées et tentent de résoudre un problème cryptographique pour créer un nouveau bloc contenant ces transactions. Une fois le problème résolu, le bloc est ajouté à la blockchain, ce qui confirme la transaction d'Alice à Bob.
  6. Réception des bitcoins : Après plusieurs confirmations (généralement 2 à 6 confirmations sont considérées comme suffisantes), Bob peut considérer les bitcoins comme reçus et dépensables. Une confirmation = 1 bloc, 6 confirmations = 6 blocs soit environ 60 minutes dans le cas d'une transaction sur le réseau Bitcoin.
transaction bitcoin

La transaction entre Alice et Bob est maintenant terminée. Alice a transféré avec succès des bitcoins à Bob, et la transaction est enregistrée de manière permanente dans la blockchain. Le réseau met à jour son fichier de grand livre pour refléter les changements dans les soldes des comptes.

Blockchain et transactions

Mais comment la blockchain assure-t-elle la sécurité des transactions ? Les mineurs jouent un rôle important en vérifiant les blocs de transactions entrants et en recevant une récompense pour ce faire. Les nœuds valident ensuite les blocs de transactions envoyés par les mineurs et veillent à ce que les transactions correspondent à l'historique des transactions de la blockchain.

Fonctionnement d'une transaction

Retrouvez ci-dessous les étapes incontournables d'une transaction :

  • Une personne demande une transaction. Cela peut concerner des cryptomonnaies, des contrats, des enregistrements ou d'autres informations.
  • La transaction est diffusée à tous les ordinateurs participants pair-à-pair (P2P) dans le réseau blockchain spécifique. Ces ordinateurs sont appelés nœuds. Toutes les transactions sont publiées dans la mémoire tampon ou “mempool”, où elles sont considérées comme “en attente”. Les frais de gaz sont payés par les utilisateurs dans le cadre de la transaction pour compenser l'énergie de calcul nécessaire pour traiter et valider les transactions sur la blockchain.
  • Les mineurs vérifient la transaction. Chaque ordinateur du réseau vérifie la transaction par rapport à certaines règles de validation définies par les créateurs du réseau blockchain spécifique.
  • Les transactions validées sont stockées dans un bloc et sont scellées avec une clé appelée Hash.
  • Un nouveau bloc est ajouté à la blockchain existante. Ce bloc devient partie intégrante de la blockchain lorsque les autres ordinateurs du réseau vérifient si la clé sur le bloc est correcte.
  • La transaction est terminée. À présent, la transaction fait partie de la blockchain et ne peut plus être modifiée de quelque manière que ce soit.
confirmation transaction bitcoin

Validation des transactions

Il existe principalement deux méthodes pour valider les transactions : la preuve de travail (PoW) et la preuve d'enjeu (PoS).

Le PoW implique la résolution d'une équation mathématique, les mineurs étant récompensés pour être les premiers à résoudre l'équation.

Le PoS, quant à lui, implique que les détenteurs verrouillent des fonds (staking) dans un contrat intelligent et qu'un algorithme sélectionne un détenteur pour publier le prochain bloc.

Temps d'attente nécessaire pour une transaction

Le temps nécessaire pour qu'une transaction Bitcoin soit confirmée dépend principalement du niveau de congestion du réseau et des frais de transaction associés à la transaction. En général, une transaction est considérée comme confirmée lorsqu'elle est incluse dans un bloc ajouté à la blockchain.

Le temps moyen pour l'ajout d'un nouveau bloc à la blockchain est d'environ 10 minutes, car le protocole Bitcoin ajuste la difficulté du problème cryptographique que les mineurs doivent résoudre pour maintenir cet intervalle de temps de 10 minutes. Cependant, le temps réel pour qu'un bloc soit miné peut varier, parfois un bloc peut être miné en 3 minutes puis le suivant en 15 minutes.

Les frais de transaction jouent également un rôle important dans la confirmation d'une transaction. Les mineurs sont incités à inclure les transactions avec des frais plus élevés dans les blocs qu'ils minent, car ces frais leur sont versés en récompense. Si le réseau est congestionné et que vous souhaitez que votre transaction soit confirmée plus rapidement, vous pouvez choisir de payer des frais de transaction plus élevés pour inciter les mineurs à prioriser votre transaction.

Les transactions avec des frais plus élevés ont plus de chances d'être incluses dans le prochain bloc pendant les périodes de congestion du réseau.

En général, sur Bitcoin, il est recommandé d'attendre au moins 6 confirmations pour s'assurer que la transaction est suffisamment sécurisée et irréversible. Cela prend généralement environ 60 minutes (6 x 10 minutes), mais cela peut varier en fonction de la congestion du réseau et des frais de transaction que vous êtes prêt à payer.

Voici les paramètres à prendre en compte dans le cas d'une transaction Bitcoin pour définir le temps d'attente d'une transaction :

  • Temps de diffusion d'une transaction dans la mempool (piscine de transactions) : 1 à plusieurs secondes, en fonction de la qualité de la connexion internet de l'émetteur de la transaction
  • Temps que les noeuds propagent la transaction et que celle-ci soit sélectionnée par des mineurs pour les ajouter à un bloc : 1 à plusieurs secondes.
  • Temps de génération d'un nouveau bloc : environ 10 minutes dans le cas de bitcoin.
  • Temps de confirmation d'une transaction : 2 ~6 confirmations donc 2 à 6 blocs soit 20 à 60 minutes. De nombreux exchanges centralisés (CEX) ne nécessitent que 2 confirmations pour considérer une transaction comme valide. Le temps de confirmation dépend donc du niveau de tolérance de la personne qui accepte la transaction, il n'y a pas de règle absolue. Plus il y a de confirmations, plus la transaction sera sécurisée.

Sur des blockchains autres que Bitcoin, le temps requis pour réaliser une transaction peut être considérablement plus faible, par exemple les blockchains Avalanche (AVAX) ou Fantom (FTM) permettent de réaliser des transactions valides et irrévocables en moins de 2 secondes car leur consensus fonctionne différemment de Bitcoin et Ethereum.

En somme, la blockchain offre un moyen efficace, décentralisé et sécurisé de réaliser des transactions sans avoir besoin d'une entité centrale.