Ia ora na les amis ! Bienvenue sur ce nouvel article !
Après avoir vu ensemble comment fonctionne la blockchain, qu'est-ce que c'est que le Bitcoin, comment en acheter, comment l'utiliser, comment fonctionne le Lightning Network, nous allons voir aujourd'hui comment fonctionnent les transactions sur le Bitcoin.
Voyons déjà quel n'est pas son fonctionnement !
Dans la tête de la majorité des personnes, un wallet (portemonnaie) bitcoin fonctionne comme un portemonnaie classique.
C'est une petite boite dans laquelle on ajoute des bitcoins, qui s'accumulent. Et quand on envoie du bitcoin à quelqu'un, il se soustrait tout simplement du contenu accumulé.
Pour imager ce fonctionnement, imaginons que le BTC se comporte comme de la farine (mais n'essayez pas de faire des gâteaux avec, ça ne fonctionnera pas).
Imaginons que la valeur du Bitcoin n'est plus représentée en dollar, mais en gramme. 1 BTC = 1000 grammes. Imaginons également que nous avons un bocal vide, dans lequel nous allons envoyer 0,5 bitcoin, soit 500 grammes.
Si un ami nous envoie 0,25 bitcoin (250 grammes), notre contenu du pot augmente, passant à 750 grammes (500 grammes + 250 grammes).
Si on souhaite effectuer un retrait, afin de donner à un autre de nos amis 0,40 bitcoin (soit 400 grammes), alors le contenu du pot diminue.
Ce fonctionnement est simple et compréhensible. Mais... ce n'est pas comme ça que fonctionne le Bitcoin. Certaines cryptomonnaies fonctionnent comme ça. Mais pas le Bitcoin !
Mais alors, comment marche le Bitcoin ?
Avant toute chose, gardez en tête que je vais simplifier le fonctionnement et le vocabulaire afin de le rendre accessible au plus grand nombre. Le fonctionnement réel est plus compliqué mais ce qu'il faut retenir est là !
Il faut savoir que la raison d'être de la blockchain Bitcoin, ce sont les transactions. Bitcoin a été créé pour ça, vous permettre d'effectuer des transactions de manières totalement décentralisées, et surtout sécurisées.
Si vous n'êtes pas à l'aise avec le concept de la blockchain et comment fonctionne Bitcoin, je vous invite à lire ces deux articles avant de continuer : Tout comprendre à la blockchain en 5 questions et tout comprendre à Bitcoin en 10 questions.
Ces concepts sont bons pour vous ? aller, on continue !
Pour chaque transaction réalisée sur la blockchain, il y a forcément une entrée, et une sortie.
L'argent, le bitcoin, part d'un wallet d'origine, et arrive sur le wallet de destination.
C'est ici qu'intervient le concept d'UTXO. En anglais UTXO veut dire "Unspent Transaction Output". Le X venant du terme Transaction qui est traduit par Tx dans le langage informatique de manière générale. UTXO peut se traduire en français par "sorties transactionnelles non dépensées".
Qu'est-ce que ça veut dire concrètement ? Et bien que pour chaque envoi fait en BTC, si la totalité de ce qui a été envoyé n'est pas dépensé, cela génère une deuxième transaction et un retour à l'envoyeur. Essayons de voir ça plus clairement. Imaginons que Monsieur Tortue possède un bitcoin. Et Monsieur T-Rex, son ami aimerait s'acheter une trottinette, mais il n'a pas les fonds nécessaires.
Chaque étagère blanche représente un wallet. Pour vous, quand vous regardez votre wallet BTC vous n'avez qu'une valeur, celle du montant total de ce que vous possédez. Mais en fait cette valeur indiquée est le cumul total de ce qui est mis sur différents rayons.
Regardons ça ensemble.
M. T-Rex a besoin de 0,75 BTC pour s'acheter une trottinette (oui c'est une trottinette qui supporte un T-Rex, elle vaut très cher).
M. Tortue va donc lui demander son adresse publique, et, depuis son wallet, il va envoyer 0,75 BTC. Pour toute la démonstration nous ne tiendrons pas compte des frais, afin de faciliter la lecture. Mais dans la réalité, toute transaction BTC génère des frais afin de récompenser les mineurs.
M. Tortue a veut donc envoyer 0,75 BTC à M. T-Rex. Des UTXO sont donc créés pour que la cryptomonnaie soit envoyée.
Le BTC détenu par M. Tortue est envoyé à M. T-Rex.
Mais pourquoi ?? M. Tortue n'a validé l'envoi que de 0,75 BTC. Pourquoi lui prendre 1 BTC ? C'est normal ! C'est comme ça que ça fonctionne.
M. T-Rex a bien reçu ses 0,75 BTC. Mais que sont devenus les 0,25 BTC restants ??
Et bien dans la réalité, l'envois s'est réalisé en deux étapes, en deux transactions. 1 BTC a été pris dans le wallet de M. Tortue, et envoyé à 2 adresses différentes. L'une est celle de M. T-Rex, qui reçoit 0,75 BTC. Et la deuxième est une adresse liée au wallet de M. Tortue, sur laquelle reviennent les 0,25 BTC restant !
Deux UTXO ont donc été créé et M. Tortue a bien récupéré la différence de ce qu'il avait au total (1 BTC) moins ce qu'il a envoyé (0,75 BTC) soit 0,25 BTC
Maintenant imaginons que M-Trex s'aperçoit que les trottinettes sont en promo sur JurrassicTrott'. Au lieu du prix initial de 0,75 BTC, la promo l'annonce à 0,43 BTC. M. T-Rex décide alors de rendre la différence à M. Tortue, à savoir 0,32 BTC (0,75 - 0,43 = 0,32).
De nouveaux UTXO sont créés, permettant à M. Tortue de recevoir le montant de 0,32 BTC, et les 0,43 BTC restant sont retournés à M. T-Rex.
M. Tortue se retrouve donc avec 0,25 BTC + 0,32 BTC, soit 0,57 BTC. Mais les deux montants ne sont pas cumulés dans une même case. Chaque UTXO créé est gardé. Ainsi lorsqu'il regarde le contenu de son portemonnaie sur son application, M.Tortue ne voit que l'affichage total, soit 0,57 BTC. Mais techniquement, quand il consulte l'application, celle-ci va lire les informations des UTXO liés au wallet et fait le cumul des transactions.
Imaginons maintenant que M. Tortue désire acheter une trottinette également, mais il n'a pas de compte sur JurrassicTrott'. M. T-Rex lui propose alors de lui envoyer les 0,43 BTC pour l'achat, qu'il se chargera de faire ensuite. M. Tortue envoie donc 0,43 BTC.
Comme il n'a pas d'UTXO qui représente 0,43 BTC ou plus, alors la blockchain va cumuler 2 de ses UTXO existants, à savoir 0,25 BTC et 0,32 BTC, et les envoyer pour un total de 0,57 BTC.
Comme M. Tortue n'a demandé que l'envoi de 0,43 BTC, alors un UTXO de 0,14 BTC sera créé, et ses bitcoins lui seront renvoyés.
Au final, il reste donc 0,14 BTC à M. Tortue, et M. T-Rex a 2 UTXO de 0,43 BTC, soit un total de 0,86 BTC.
J'espère que le fonctionnement est plus clair pour vous maintenant.
Comme je l'ai précisé précédemment, dans la réalité des frais sont pris sur les transactions. Lorsque M. Tortue désire envoyer 0,5 BTC alors qu'il a un UTXO de 1 BTC, le montant qu'il lui restera sera de 4,9x BTC et pas 0,5 exactement. Voilà pour cette partie ! N'hésitez pas à venir poser des questions sur le forum et en discuter avec la communauté ! A très vite pour un nouvel article ! A très bientôt les amis ! Parahi !
Comments