En résumé : Lorsqu'un utilisateur du réseau décide d'envoyer des Bitcoins à un autre utilisateur, le fonctionnement est le suivant :
Création de la transaction
Chiffrement et soumission de la transaction au réseau
Ajout de la transaction sur le réseau Bitcoin
Verrouillage de la transaction
Ce fonctionnement est le même pour toutes les transactions du réseau Bitcoin.
Dans le détail : Prenons Alice et Paul, deux utilisateurs de Bitcoin. Paul souhaite envoyer 0.1 Bitcoin à Alice.
1. Création de la transaction
Afin de pouvoir créer la transaction, Paul a besoin de deux éléments :
Posséder le montant de la transaction sur son portefeuille électronique. Dans notre cas, 0.1 Bitcoin.
Connaître l'adresse sur le réseau Bitcoin d'Alice. Une adresse est l'équivalent d'un numéro de compte. Alice peut par exemple fournir son adresse à Paul via un QR Code que Paul va scanner avec son téléphone.
Paul rentre ensuite ces informations sur l'interface de son portefeuille et confirme sa demande de transaction.
2. Chiffrement et soumission de la transaction au réseau
Pour que sa transaction puisse s'effectuer sur le réseau, Paul doit prouver qu'il est bien le titulaire de l'adresse qui sera débitée de 0.1 Bitcoin. Concrètement, cette preuve est réalisée automatiquement par le portefeuille de Paul (ou par la plateforme qu'il utilise : Coinbase, Bittrex, Binance, Jaxx, MyEtherWallet...).
Un portefeuille contient une adresse, une clé privée et une clé publique.
A l'aide d'algorithmes cryptographiques, la transaction de Paul sera cryptée en utilisant sa clé privée. La clé publique de Paul, qui accompagnera la transaction, permet de déchiffrer le cryptage de la clé privée. Cette méthode permet de confirmer que Paul est bien le titulaire de l'adresse du portefeuille (en savoir plus sur le fonctionnement clé privée/clé publique).
Une fois la transaction cryptée à l'aide de la clé privée de Paul, elle est envoyée sur le réseau.
3. Ajout de la transaction sur le réseau Bitcoin
La demande de Paul est désormais envoyée au réseau Bitcoin. Le réseau Bitcoin fonctionne grâce aux mineurs (individus ou groupe d'individus fournissant au réseau de la puissance de calcul). Les mineurs vont récupérer la transaction de Paul ainsi que toutes les transactions des autres utilisateurs du réseau et les mettre dans un bloc. Ce bloc a pour vocation de venir s'ajouter aux blocs précédents du réseau.
Pour savoir quel mineur sera autorisé à rajouter son bloc sur la chaîne de blocs (blockchain), les mineurs sont en concurrence pour résoudre un problème mathématique complexe. Le premier mineur à trouver la solution est autorisé à rajouté son bloc à la chaîne de blocs; les autres n'ont travaillé pour rien.
Notez que si le réseau reçoit beaucoup de demandes de transactions, il peut mettre un certain temps avant de les traiter. Typiquement, en cas de surcharge du réseau, la demande de Paul ne serait pas inscrite sur le prochain bloc créé sur la blockchain Bitcoin. Pour faire accélérer le traitement de sa demande, Paul peut décider d'augmenter les fees (frais) associés ; les mineurs recevront donc une récompense plus grande et réaliseront la demande en priorité.
La transaction de Paul maintenant inscrite sur le dernier bloc de la blockchain Bitcoin, la transaction est officielle et prise en compte.
4. Verrouillage de la transaction
Avec le temps, de nouveaux blocs vont s'ajouter au bloc contenant la transaction de Paul. La technologie blockchain fait que, plus un bloc est ancien, plus il sera difficile de modifier l'information qu'il contient. Ainsi, plus un bloc est ancien, plus il est sécurisé. Concrètement, dans le cas du Bitcoin, la plupart des portefeuilles et plateformes estiment qu'il faut entre 2 à 6 blocs venant s'ajouter à la suite du bloc de Paul pour que la transaction soit considérée comme complète et irréversible. L’occurrence d'un nouveau bloc du réseau Bitcoin étant de 10 minutes, la transaction de Paul peut nécessiter un certain temps pour être effective.
Alice reçoit alors sur son portefeuille les 0.1 Bitcoin de Paul.
Comments