Cet article est un fondamental des transactions Bitcoin, mais aussi d’autres cryptomonnaies.
Pour le profane, Bitcoin est compris – à juste titre – comme un protocole open source. Et comme l’open source est naturellement – mais parfois injustement – associé à la gratuité d’emploi, la toute première transaction est souvent une petite déception… car des ‘fees’ sont réclamés, des frais de transaction.
Comment cela se fait-il ?
Qu’entend-on exactement par ‘frais’ ?
Il s’agit tout simplement d’un pourboire pour le mineur qui va écrire la transaction dans un bloc de la blockchain.
Voyons pourquoi.
La notion de pourboire
Ce pourboire n’est pas une transaction supplémentaire.
Il représente l’argent que nous laissons délibérément derrière nous lorsque nous recevons l’appoint de notre transaction.
Et pour comprendre cela, un petit détour technique s’impose.
Poussière d’UTXO
Par conception, les paiements effectués dans Bitcoin doivent toujours dépenser des quantités de bitcoins préalablement reçues (excepté celle générée dans le bloc en récompense pour le mineur).
Chacune de ces ‘quantités préalablement reçues’ est indivisible et doit donc être ressortie dans son entièreté pour pouvoir servir à effectuer un paiement.
Pour imager le principe, considérons que chaque quantité de bitcoins a été placée dans une enveloppe particulière lors de son versement sur notre adresse. En conséquence, notre adresse peut contenir un paquet d’enveloppes de montants aussi divers que variés. Pour payer à notre tour, il va donc nous falloir y puiser une ou plusieurs de celles-ci.
On les nomme ‘UTXOs‘ pour ‘Unspent Transaction Outputs’ (traduisez ‘Sorties de Transactions Non dépensées’).
À moins d’avoir reçu préalablement la quantité exacte que nous souhaitons dépenser (cas rare), il nous faut toujours sortir une ou plusieurs UTXOs dont la somme dépasse – de manière optimale – le montant requis. Nous la/les signons cryptographiquement en pointant l’adresse Bitcoin du destinataire et l’excédent nous est alors rendu.
Il est important de noter que tout ceci se réalise dans la même opération de transaction.
Cela semble compliqué mais, du point de vue de l’informaticien, il est bien plus facile de concevoir un système de paiement fonctionnant de cette manière.
Tout l’excédent nous est rendu ? Eh bien, pas tout à fait. Nous allons laisser un peu de sous sur la table pour les mineurs… un ‘pourboire’ qu’ils vont collecter au moment d’écrire le bloc.
Logique implacable
Mais pourquoi ces pourboires ?
La réponse est simple et logique : l’espace disponible dans un bloc de la blockchain Bitcoin est limité par design à la fois pour obéir aux lois de la physique et respecter le modèle de sécurité pair-à-pair.
Il ne faut pas que les blocs soient trop grands, car la blockchain deviendrait proportionnellement énorme et ne pourrait plus être stockée par n’importe qui sur le réseau, ce qui nuirait à sa décentralisation, c’est-à-dire à son incorruptibilité. De fait, ça marche ! À l’heure d’écrire ces lignes, la blockchain Bitcoin existe depuis 15 ans et occupe un espace de stockage de près de 615 Go alors que le prix d’un SSD de 1000 Go coûte moins de 80 euros.
Une blockchain énorme ne pourrait être stockée que sur des serveurs privés appartenant à quelques sociétés, ce qui serait très dangereux en termes de confiance, de résistance à la censure et… devrait se payer d’une manière ou d’une autre, car la tentation de ‘carteliser’ un tel registre serait omniprésente.
Bitcoin étant voulu comme un système sans autorité, ce choix d’une taille limitée est donc logique.
Un marché dans le marché
Cependant, une taille limitée de bloc contraint en conséquence le nombre de transactions qui peuvent être écrites en même temps. Or aujourd’hui, il y a souvent plus de transactions qui s’opèrent sur le réseau que d’espace disponible dans le prochain bloc.
Qui donc aurait le droit de décider lesquelles seraient prioritaires et lesquelles seraient mises en attente ?
Dans un réseau véritablement décentralisé sans autorité, il n’y a qu’une seule bonne manière de gérer la ressource rare que représente la taille du bloc : un espace marchand.
Oui, ces pourboires obéissent tout simplement à la loi du marché, un marché à l’intérieur duquel un véritable livre d’ordres nous indique le prix moyen estimé du pourboire qu’il est nécessaire de payer pour voir la transaction figurer dans le bloc à venir, mais aussi les autres prix estimatifs pour les blocs suivants, en fonction du délai que nous serions disposés à accepter.
Lorsque nous effectuons notre transaction Bitcoin, nous entrons de fait en compétition économique avec tous ceux qui effectuent leur transaction au même moment et qui estiment pour eux-mêmes le degré de priorité de celle-ci. Nous-mêmes demeurons tout aussi libres de déterminer l’importance que nous donnons à notre transaction.
Doit-elle figurer le plus vite possible sur la blockchain ? Peut-elle attendre une heure, un jour, voire une semaine ?
En choisissant le montant du pourboire, nous paramétrons le délai, l’importance que nous donnons à ce paiement. C’est du pair-à-pair. Personne d’autre ne le fait à notre place.
En quelque sorte, ces pourboires représentent le prix de la liberté.
Notons que le pourboire reste techniquement optionnel. À la genèse de Bitcoin, les blocs étaient rarement remplis et les pourboires souvent dérisoires, même parfois nuls. Toutes les transactions étaient malgré tout écrites, chose qui n’est plus envisageable aujourd’hui…
Mempool, une salle d’attente
Lorsque les transactions sont envoyées sur le réseau, elles ne sont pas directement adjointes au bloc en réalisation, mais sont ‘annoncées’ et viennent se placer dans un espace d’attente qui se nomme la ‘Mempool’.
Chaque nœud possède sa Mempool et met à jour en permanence les annonces de transactions qu’il voit circuler sur le réseau (l’annonce d’une transaction Bitcoin met environ une quinzaine de secondes pour être propagée à tous les nœuds)
Chaque ordinateur sur le réseau a donc une vue propre des transactions qui demeurent à écrire sur la blockchain. Et bien évidemment, les ordinateurs des mineurs aussi.
C’est là que chaque mineur va faire son petit marché en repérant les transactions qui offrent le plus de pourboires. Ce sont celles-là qu’il intègre prioritairement dans le bloc sur lequel il travaille, jusqu’à ce qu’il soit rempli. Les autres, celles avec moins de pourboires, attendront les blocs suivants.
S’il est le plus rapide à résoudre son puzzle cryptographique, le mineur pourra légitimement ajouter son bloc à la blockchain et collecter à la fois la récompense ET les pourboires des transactions prioritaires.
Ces dernières seront, ipso facto, écrites en premier dans le grand registre.
Dernière subtilité : toute transaction en attente dans la Mempool reste modifiable, en ce compris le pourboire, en faisant appel à la commande RBF ‘Replace By Fee’, à traduire plutôt par ‘augmenter les frais’ ! Celle-ci est présente sur la plupart des applis portefeuilles.
Une affaire de priorités
Comme expliqué plus avant, déterminer la priorité de notre transaction est une tâche qui nous incombe. Aujourd’hui, toutes les applications portefeuilles Bitcoin intègrent une vue de ce marché des ‘pourboires’ et nous aident à faire notre choix.
Quel sera-t-il ? Il n’appartient qu’à nous… ainsi qu’à la nature de la transaction !
Voyons quelques cas. Que payons-nous ?
– Des articles sur Internet ?
Il nécessite un temps d’emballage et de transport. Ils peuvent bien être payés dans l’heure, voire la journée. Les blocs nécessaires à la confirmation auront été écrits bien avant l’expédition.
– Une vente (ou un achat) de la main à la main ?
Il vaut mieux (faire) payer avec un pourboire prioritaire, surtout si notre vendeur (ou acheteur) est un parfait inconnu. Quelques dizaines de minutes demeurent gérables… et peut-être allons-nous faire connaissance !
– Le transfert d’un portefeuille nous appartenant vers un autre nous appartenant tout autant ?
Alors là, nous pouvons bien attendre jusqu’à plusieurs jours (excepté raison impérieuse, bien sûr)
– Et si nous voulons payer tout de suite et partir ?
Là, le modèle de sécurité de Bitcoin fait de lui un piètre outil pour des paiements réellement instantanés.
Son délai d’attente, bien que de loin inférieur à celui imposé par les banques pour les transferts entre comptes, a longtemps constitué un frein à son adoption.
Notons bien : les paiements par carte bancaire ‘ont l’air’ instantanés mais demeurent réversibles pendant des mois. Les paiements Bitcoin sont irréversibles dès leur écriture sur la blockchain !
Heureusement, depuis 2019, le réseau de surcouche ‘Lightning’ permet d’effectuer de véritables transactions Bitcoin, valides et instantanées à très peu de frais (de l’ordre de quelques Satoshi).
Lightning est aujourd’hui implémenté dans un nombre grandissant d’applications portefeuilles, mais ça, c’est une autre histoire… (sur laquelle nous reviendrons)
Un basculement de la récompense
Tout a été conçu et prémédité avec soin dans Bitcoin.
Ce marché de pourboires – qui permet de consolider le modèle de sécurité décentralisé – est également une garantie de revenus sur le long terme pour les mineurs.
À mesure que le temps passe et que la récompense diminue (la récompense pour un bloc est divisée par deux tous les quatre ans environ), les pourboires vont de plus en plus compléter l’escarcelle des mineurs jusqu’au moment ultime où, vers 2140, ils deviendront leur unique source de revenu.
Et on espère bien sûr que d’ici là, la valeur du bitcoin aura considérablement augmenté !
Suivez en temps réel le cours du Bitcoin