Pour réaliser une transaction sur Bitcoin, les utilisateurs doivent s’acquitter de frais. C’est un aspect parfois méconnu qui est pourtant essentiel dans notre usage de ce système de paiement. Dans cet article, nous étudions en détail tous les mécanismes à connaître sur les frais de transaction Bitcoin.
Les frais de transaction Bitcoin, qu’est-ce que c’est ?
Les frais de transaction représentent une somme dont l’utilisateur de Bitcoin doit s’acquitter afin de pouvoir exécuter une transaction.
Lorsque l’on diffuse une transaction sur le réseau Bitcoin, elle n’est pas immédiatement confirmée. Elle doit d’abord être incluse dans un bloc au sein de la blockchain. Ce travail est effectué par les mineurs qui vont construire des blocs avec les transactions en attente et rechercher une empreinte valide pour ceux-ci (c’est ce que l’on appelle la preuve de travail). Lorsqu’un mineur trouve un bloc valide, il peut l’ajouter à la blockchain Bitcoin et récolter l’intégralité des frais liés aux transactions qu’il vient de confirmer.
⚠️ Il ne faut pas confondre les frais de transaction Bitcoin avec les frais de change. Les plateformes d’échange de cryptomonnaies facturent à leurs clients des frais de service pour chaque opération d’achat ou de vente. Ces frais n’ont strictement rien à voir avec les frais de transaction internes au système Bitcoin.
Le marché d’enchère des frais sur Bitcoin
Les blocs sur Bitcoin disposent d’une capacité limitée. Ils ne sont pas extensibles. De plus, le mécanisme de l’ajustement de la difficulté associé à la preuve de travail assure qu'en moyenne, un seul bloc est ajouté toutes les 10 minutes sur la blockchain Bitcoin. L’espace dans chaque bloc est donc une ressource rare et chaque transaction occupe une portion de cet espace. Lorsque la demande pour cette ressource augmente, la variable d’ajustement demeure le prix. Ainsi, les frais pour chaque transaction augmentent.
Vous pouvez imaginer ce mécanisme comme le fonctionnement d’un hôtel. Si un établissement dispose de 24 chambres, il peut en louer exactement ce nombre chaque nuit, mais pas une de plus. Si 10 chambres sont réservées, il ne subsiste alors que 14 chambres disponibles pour la nuit en question. Le jour suivant, l'hôtelier aura de nouveau 24 chambres à proposer. Cependant, s’il constate une forte demande pour une date spécifique, puisqu’il ne peut pas pousser les murs de son hôtel, l’hôtelier va augmenter son tarif par chambre.
Le marché de frais sur Bitcoin fonctionne de la même manière. Un bloc est publié en moyenne toutes les 10 minutes et chacun est strictement limité en taille. L’espace dans un bloc est une ressource cycliquement rare, de la même manière que le sont les chambres dans un hôtel. Ainsi, s'il y a beaucoup de transactions Bitcoin en attente de confirmation, la demande pour cet espace augmente, entraînant une hausse du prix. Ce prix correspond précisément aux frais de transaction.
Tout comme l’hôtelier, le mineur de Bitcoin souhaite faire des bénéfices. S’il ne peut inclure que 4 000 transactions dans un bloc, mais qu’il y en a 100 000 en attente de confirmation, il va aller au plus offrant. Le marché de frais sur Bitcoin est donc un système d’enchères anglaises, où les utilisateurs qui paient le plus de frais remportent des espaces de bloc pour leurs transactions.
La conséquence de ce mécanisme est très simple à comprendre : au plus vous paierez de frais par rapport aux autres utilisateurs, au plus votre transaction Bitcoin sera confirmée rapidement.
Comment sont calculés les frais sur une transaction Bitcoin ?
Toutes les transactions Bitcoin ne prennent pas la même place dans un bloc. Certaines sont plus grosses que d’autres, car elles disposent de plus d’entrées (inputs) ou de plus de sorties (outputs). Il peut également y avoir des différences de poids en fonction du type de script utilisé : les scripts Taproot sont plus légers que les scripts SegWit, qui sont eux-mêmes plus légers que les scripts Legacy.
Lorsqu’un mineur devra choisir parmi les transactions en attente, il prendra naturellement en compte le poids de chacune. Entre deux transactions offrant le même montant de frais en valeur absolue, il privilégiera toujours la plus légère, car les blocs ne sont pas contraints par le nombre de transactions, mais bien par leur taille totale (ou leur poids pour être plus précis).
En tant qu’utilisateur, lorsque l’on souhaite faire une transaction Bitcoin, il n'est pas judicieux de calculer les frais en valeur absolue. Il est préférable de rapporter ces frais au poids de notre transaction afin de déterminer sa compétitivité sur le marché des enchères, en comparaison avec les autres transactions en attente. Pour ce faire, on va déterminer le taux de frais par unité de poids de la transaction. Cet indicateur est appelé « sats / vB » (satoshis par octet virtuel).
Par exemple, si vous diffusez une petite transaction SegWit qui mesure 141 vB et que vous décidez de lui allouer 1 994 sats de frais, alors son taux de frais sera de 14 sats / vB (1 994 / 141 = 14).
📌 Les frais d’une transaction Bitcoin ne sont pas une sortie (output). En valeur absolue, ils représentent la différence entre le total des entrées et le total des sorties. Par exemple, si j’ai une entrée de 1 000 sats et deux sorties de 400 sats, alors les frais alloués à cette transaction sont de 200 sats (1 000 - 400 × 2 = 200).
Comment déterminer le bon taux de frais sur Bitcoin
Évidemment, le marché des frais sur Bitcoin fluctue en permanence. Durant les périodes de forte demande pour l’espace de bloc, les prix peuvent rapidement grimper. Au contraire, en période plus creuse, les frais nécessaires pour confirmer une transaction vont baisser. Il est donc essentiel de vérifier les taux de frais en vigueur lorsque vous diffusez une nouvelle transaction.
En général, les logiciels de portefeuille Bitcoin vous suggèrent automatiquement des taux adaptés à la situation du marché. Vous pouvez aussi vérifier directement par vous-même. Pour ce faire, la pratique la plus courante consiste à se rendre sur le site web de mempool.space. On y trouve un ordre précis des priorités en fonction du taux de frais. On peut également y analyser les blocs précédents et les probables blocs futurs, afin d’estimer le taux optimal pour être inclus dans un temps raisonnable. Pour protéger votre vie privée, vous pouvez aussi faire tourner sur votre nœud Bitcoin votre propre instance mempool.space.
➤ Découvrez 6 raisons de configurer votre propre nœud Bitcoin.
Notons qu’il vaut mieux se tromper à la baisse plutôt qu’à la hausse. En effet, si vous allouez un taux de frais bien au-dessus du marché actuel, votre transaction va être incluse rapidement dans le prochain bloc miné. Or, une fois que la transaction est confirmée, vous ne pourrez plus la modifier. C’est ce qui est arrivé dernièrement à un utilisateur qui a alloué par erreur plus de 19 bitcoins de frais à sa transaction.
Au contraire, si vous avez sous-estimé le taux de frais alloué à votre transaction, alors elle risque simplement de ne pas passer. Dans ce cas, il y a deux possibilités. Si ses frais sont en dessous de la limite de purge des nœuds, votre transaction sera oubliée du réseau Bitcoin. C’est comme si elle était annulée. Vous pouvez donc la refaire. En revanche, si votre transaction reste bloquée dans les mempools des nœuds, vous pouvez utiliser des mécanismes comme CPFP (Child Pays For Parent) ou RBF (Replace By Fee) afin d’augmenter son taux de frais, et ainsi la débloquer. Ces deux mécanismes feront l’objet d’un prochain article.
Enfin, il convient évidemment d'ajuster le taux de frais au regard de l'urgence de la transaction concernée.
Pourquoi faut-il payer des frais de transaction sur Bitcoin ?
Les frais de transaction ont principalement deux utilités dans le fonctionnement du protocole Bitcoin. Tout d’abord, ils permettent de rémunérer les mineurs pour le service qu’ils nous rendent. Produire de la preuve de travail engendre des coûts en électricité, nécessite des investissements en matériel et entraîne également des dépenses pour l'entretien des machines. Pour faire face à toutes ces charges et dégager des bénéfices, il faut que les mineurs puissent avoir des revenus. Les frais de transactions représentent une partie des gains qu’ils peuvent percevoir à travers leur activité. Autrement dit, les frais de transaction sont nécessaires pour financer la sécurisation de l’historique économique sur Bitcoin.
La seconde utilité des frais est de créer un coût à la multiplication des transactions afin d’éviter le spam. Si l'envoi de transactions aux nœuds Bitcoin était gratuit, il serait facile d’en générer une multitude avec des montants dérisoires. Cela aurait pour effet de saturer complètement le réseau Bitcoin et d'accroître la charge opérationnelle sur les nœuds. C’est pour cette raison que les nœuds Bitcoin peuvent paramétrer un taux de frais minimal en dessous duquel ils n’accepteront pas de relayer une transaction. C’est ce que l’on appelle le « minRelaytxfee ». Par défaut, ce paramètre est de 1 sat / vB dans Bitcoin Core.
En théorie, il est donc possible de créer une transaction Bitcoin valide avec zéro frais. Mais en pratique, l’extrême majorité des nœuds du réseau vont refuser de diffuser une telle transaction afin d’éviter le spam. De ce fait, elle ne pourra jamais atteindre un mineur et ne sera jamais incluse dans un bloc.
Comment les mineurs prélèvent-ils les frais sur une transaction Bitcoin ?
Comme pour la subvention de bloc, les frais sont récupérés par le mineur gagnant au sein d’une transaction spécifique que l’on appelle « transaction coinbase ». La somme de frais pouvant être régénérés correspond à la différence entre toutes les entrées et toutes les sorties de chaque transaction incluse dans le bloc.
Par ailleurs, ces bitcoins récupérés dans une transaction coinbase ne sont pas dépensables durant une période de 100 blocs. C’est ce que l’on appelle la période de maturation des blocs.
➤ Tout savoir sur la construction d’un bloc Bitcoin.
Conclusion
Pour réaliser une transaction, les utilisateurs de Bitcoin doivent attribuer des frais à celle-ci, lesquels seront collectés par le mineur qui l’inclura dans un bloc valide.
Puisque la taille des blocs Bitcoin est strictement limitée, le mineur choisit en priorité les transactions qui paient le plus de frais en fonction de leurs poids (c’est-à-dire, en fonction de la place qu’elles prennent dans le bloc). Ainsi, on exprime les frais alloués à une transaction en sats / vB, un ratio entre la valeur absolue des frais et le poids de la transaction. Pour trouver le bon taux, il convient de s’informer sur l’état actuel du marché de frais. Lors des périodes de forte demande pour l’espace de bloc, les frais seront plus chers, et inversement.