Recevoir des paiements en Bitcoin : une alternative concrète à l’euro
- Le problème de départ : accepter un paiement sans compte en euros
- Le portefeuille : la base de tout
- Utiliser son portefeuille : les transactions
- Pourquoi Bitcoin, et pas les autres cryptomonnaies ?
- La mécanique au cœur du réseau
Dans notre précédent article, nous avons survolé la notion de portefeuille comme moyen de gérer ses clés d’accès. Nous avions également vu que ce portefeuille venait à l’origine de Bitcoin, qui est avant tout un système monétaire avec une philosophie bien précise : la raison d’être même en est de rendre à ses utilisateurs leur souveraineté monétaire.
Dépendre des banques et du système bancaire classique, comme nous le vivons au quotidien avec l’euro, signifie obéir à leurs règles, leurs délais et leurs frais. Bitcoin propose une autre voie : un réseau monétaire décentralisé dans lequel n’importe qui peut envoyer ou recevoir de la valeur sans passer par une banque. Pour comprendre comment cela fonctionne réellement, nous nous proposons de partir du problème concret — recevoir un paiement — et dérouler progressivement les mécanismes qui le rendent possible.
Le problème de départ : accepter un paiement sans compte en euros
Imaginons que nous voulions recevoir un soutien en Bitcoin. Contrairement à un virement SEPA, il n’existe pas de « numéro de compte » unique et permanent. Sur le réseau Bitcoin, chaque paiement se fait vers une adresse de réception. Cette adresse est une chaîne de caractères (souvent commencée par bc1… aujourd’hui) que le payeur utilise pour envoyer des bitcoins. Une fois la transaction confirmée par le réseau, les fonds apparaissent dans notre portefeuille.
Tout est public. La blockchain Bitcoin est un registre ouvert que n’importe qui peut consulter. Chaque transaction y est enregistrée de façon permanente. C’est à la fois la force du système (transparence et vérifiabilité) et sa contrainte principale (la confidentialité n’est pas garantie par défaut).
Le portefeuille : la base de tout
Nous l’avons vu dans notre précédent article, le HD Wallet est un portefeuille de clés cryptographiques. À la base, chaque clé privée permet de dépenser les fonds associés, tandis que la clé publique correspondante permet de recevoir des fonds. Cependant, pour des raisons de sécurité, nous ne manipulons que très rarement les clés publiques et privées directement. Nous utilisons plutôt une clé publique étendue (représentée par une chaîne de caractère commençant par « xpub » ou « zpub » selon le format) et des adresses de transaction, elles-mêmes dérivées depuis cette clé étendue.
Custodial et propriété
Comme nous l’avons vu, le Wallet part d’une seed. La seed est « la » clé pour contrôler notre wallet. Typiquement, il suffit de connaître cette seed pour être capable de récupérer son wallet n’importe où, avec n’importe quelle application compatible, et retrouver tous les Bitcoins dont nous sommes propriétaires. Et seule la personne qui possède cette seed possède les Bitcoins qui ont été acquis avec les clés de ce wallet.
La notion de possession de wallet s’appelle la « custodial. » Avec ce qu’on a vu jusqu’ici, nous voyons assez vite à quel point c’est important. « Custodial » vient de « custody » et renvoie à la notion de garde.
Quand un wallet est « custodial », cela signifie que le fournisseur du service de wallet détient la seed et les clés, et donc le propriétaire du service est le véritable détenteur des Bitcoins. Pour l’analogie, son fonctionnement est relativement proche du système bancaire classique, vu que nous nous fions à la banque pour détenir nos fonds (le fournisseur du service peut être assimilé à une banque dans cette analogie).
Un exemple relativement connu de Wallet custodial est Binance, qui permet d’acheter et vendre des Bitcoins… Sans vraiment en être propriétaire, contrairement à des solutions self-custodial que nous allons voir maintenant.
Le véritable aboutissement lorsque nous nous intéressons à Bitcoin est d’être « self » ou « non » custodial : en peu de mots, nous gardons nous-même nos Bitcoins (sans garde tierce, en auto-géré). Typiquement lorsque nous créons notre wallet, si nous obtenons une seed, cela signifie que nous sommes réellement propriétaires de nos Bitcoins (à la confiance près envers l’outil, qui pourrait également envoyer les informations à un tiers : la prudence est toujours de mise).
Un exemple de wallet en self-custodial est Proton Wallet. Celui-ci permet de récupérer les données de notre wallet – seed, clés publiques et privées, et adresses de transaction – et lorsque nous creusons son fonctionnement, nous voyons que les données sensibles sont chiffrées directement sur notre appareil à l’aide d’une clé dérivée de notre mot de passe principal, avant d’être synchronisées. De la sorte, Proton ne voit jamais nos données… Cet atout attire d’ailleurs chez Proton toute personne désireuse de disposer d’une boîte e-mail et d’un drive sécurisé.
Cold wallet ?
Il s’agit là d’un domaine que je n’ai pas encore exploré en détail, et pour cause : il faut aller encore plus loin que « self custodial » et acheter un wallet en « physique ». Il ne s’agit pas d’une pochette avec des clés dedans, mais plutôt d’un genre de clé USB avec un écran…
Bitcoin est un actif numérique. Cela signifie qu’il mène sa petite vie sur le réseau. Les wallets classiques fonctionnent aussi sur le réseau, c’est-à-dire que nous installons une application sur notre ordinateur ou notre mobile, et que nous accédons à notre wallet avec cette application. Les wallets classiques, que nous pourrons qualifier de « hot » par opposition, sont accessibles via Internet. Nous devons donc encore faire confiance à un tiers : le fournisseur du service … S’il est malhonnête, il peut très bien se débrouiller pour s’envoyer une copie de notre seed au moment de sa génération pour ensuite accéder à nos clés et récupérer nos Bitcoins à notre insu…
La logique du cold wallet, c’est de posséder un appareil physique sur laquelle sont stockées notre seed et nos paires de clés publiques / clés privées. Une interface simplifiée permet alors de générer des adresses de transaction à la volée, et de les utiliser soi en les copiant, soit en connectant notre portefeuille (via un port USB) le temps de la transaction. Le procédé est exactement le même pour l’envoi de fonds, via la signature d’une transaction avec la clé privée, avec une connexion ponctuelle le temps de signer cette transaction.
En effet, même la génération de la seed et des clés peut se faire hors ligne. Ceux-ci appliquent des algorithmes pour lesquels aucune connexion internet n’est nécessaire, avec suffisamment de garanties techniques pour assurer que nos clés sont uniques. Cet aspect est particulièrement technique, mais nous pouvons le simplifier simplement en considérant que la génération des clés s’appuie sur des fonctions pseudo-aléatoires, de façon suffisamment complexe pour que le « pseudo-aléatoire » puisse être considéré comme « aléatoire ».
Et c’est ainsi qu’absolument personne ne peut retrouver l’accès à notre portefeuille. Envoi et réception de fonds se réalisent de telle sorte que la seed et les clés ne sortent jamais de notre cold wallet.
Un exemple de cold wallet est Ledger, une entreprise française spécialisée en crypto-actifs. Au moment où cet article est rédigé, ils proposent des wallets à partir de 50€. Un cold wallet est donc intéressant quand nous commençons sérieusement à stocker des économies en Bitcoin.
Choisir son wallet : souveraineté et maîtrise de ses Bitcoins
Nous l’avons vu, le choix d’un portefeuille repose sur l’importance accordée au fait d’être réellement propriétaire de ses Bitcoins. Le passage à des solutions « cold » plutôt que « hot » commence à être un peu plus technique et coûteux, mais le minimum pour débuter est de prendre une solution « non-custodial ». Ce peut également être un moyen de tester sans exposer ses fonds directement.
Maintenant, si nous ne voulons pas « seulement » tester, mais réellement nous servir de Bitcoin comme une monnaie (réserve de valeur, moyen d’échange, etc.), nous n’avons pas tellement le choix : nous devons posséder réellement notre wallet.
Utiliser son portefeuille : les transactions
Le niveau supplémentaire de protection
Dans un ancien projet, j’avais mis en place un lien de soutien grâce auquel tout détenteur de Bitcoin pouvait me payer en Bitcoin. Pour recevoir ces paiements, nous n’utilisons pas directement la clé publique, car Bitcoin ajoute une couche de sécurité supplémentaire au-delà du système de clés publiques et clés privées : les adresses de réception.
À partir d’une clé publique, nous dérivons une adresse que nous reconnaissons par son format (il commence souvent par bc1… du fait de l’encodage spécifique). Cette adresse est ce que nous partageons pour recevoir des bitcoins. Plusieurs raisons expliquent ce niveau supplémentaire.
Il permet notamment d’ajouter une couche de confidentialité, car il est possible (et même fortement recommandé) d’utiliser une nouvelle adresse pour chaque transaction… Ce que nous allons voir à présent.
Pourquoi plusieurs adresses plutôt qu’une seule ?
Le registre de Bitcoin est public. C’est un élément clé de cette monnaie, car cela permet à tout le monde de vérifier de façon indépendante que les bitcoins existent et qu’ils n’ont pas déjà été dépensés. C’est ce qui résout le problème de la double dépense sans avoir besoin d’une banque ou d’un tiers de confiance. Par contre, cela implique que les adresses sont visibles : nous pouvons retracer l’historique de toutes les transactions qui ont eu lieu dessus.
Dans ces conditions, réutiliser toujours la même adresse permet à quiconque de relier toutes les transactions d’un même destinataire, ce qui peut amener à deviner une partie de son patrimoine (ce que cette personne possède). Pour limiter cette traçabilité, la bonne pratique consiste donc à utiliser une nouvelle adresse de réception pour chaque paiement (ou au moins pour chaque payeur). C’est le principe de la rotation d’adresses : elle s’apparente à créer une nouvelle carte bleue à chaque achat en euro ou dollar (par exemple).
Comment obtenir notre adresse de transaction ?
Les standards qui formalisent cette pratique sont les « Bitcoin Improvement Proposals » (BIP) qui sont des propositions d’implémentation pour Bitcoin, que les solutions compatibles choisissent (ou non) d’adopter. Deux d’entre eux sont particulièrement importants ici :
- BIP44 (publié dès 2014) définit une structure hiérarchique pour les portefeuilles multi-comptes. Il introduit le chemin de dérivation qui permet de générer de façon déterministe des adresses de réception.
- BIP84 s’appuie sur BIP44 et ajoute la mécanique par laquelle les données sont restructurées et encodées de sorte à être sécurisées et compactes tout en restant lisibles pour réduire les risques d’erreurs de saisie. Ce sont les fameuses adresses commençant par
bc1.
À partir de la clé publique étendue dont nous avons déjà parlé, un logiciel peut ainsi calculer l’adresse d’index 0, puis 1, puis 2, et ainsi de suite, sans jamais avoir besoin de la clé privée.
Comment vérifier qu’une adresse est encore disponible ?
Étant donné que le registre est public, nous pouvons interroger n’importe quel nœud ou service d’exploration (comme l’API de Blockstream) pour savoir si une adresse a déjà reçu des fonds. Si le nombre de transactions associées à cette adresse est supérieur à zéro, nous pouvons la considérer comme utilisée et nous passons à la suivante. C’est ainsi que nous maintenons une réserve d’adresses fraîches.
Typiquement, des services comme Proton Wallet ou Electrum permettent de réaliser cette rotation de façon presque transparente. Ils proposent une action de génération de nouvelles adresses en quelques clics, et sont capables de détecter parmi les prochaines adresses (par rapport à la dernière où leur outil détecte une transaction) si elles portent des transactions (le nombre peut varier, mais ils explorent environ 20 adresses sans transaction avant de s’arrêter).
Du côté du payeur : scanner et envoyer
Nous présentons nos adresses de réception généralement sous la forme d’un texte ou d’un QR Code : beaucoup d’applications dédiées permettent de scanner cette adresse directement, permettant au payeur de récupérer notre adresse. Le texte ou le QR Code contiennent une chaîne de caractères suivant le format bitcoin:bc1…?label=… que la plupart des applications reconnaissent nativement. Elles préremplissent alors le destinataire et attendent simplement le montant et la confirmation de l’utilisateur.
Une fois la transaction signée avec la clé privée du payeur et diffusée sur le réseau, elle entre dans le mempool : c’est la salle d’attente des transactions non encore confirmées. Les mineurs la sélectionnent, l’incluent dans un bloc, et la propagent. Après quelques confirmations (généralement six pour une sécurité élevée), la transaction est considérée comme irréversible.
Le cycle complet d’une transaction
Résumons le chemin parcouru :
- Nous dérivons, à partir de notre clé publique étendue, une adresse de réception encore jamais utilisée.
- Nous communiquons cette adresse (ou son QR code) au payeur.
- Le payeur construit une transaction qui déplace des bitcoins de ses propres adresses vers la nôtre, la signe avec sa clé privée, et la diffuse.
- Les nœuds du réseau valident la signature, vérifient que les fonds n’ont pas déjà été dépensés, et inscrivent la transaction dans la blockchain.
- Notre portefeuille, en interrogeant le réseau, détecte l’arrivée des fonds sur l’adresse concernée.
Tout cela se fait sans autorisation préalable d’une banque, sans possibilité de gel unilatéral, et avec une finalité de règlement mesurable en minutes ou en heures selon les frais que l’on choisit de payer.
Pourquoi Bitcoin, et pas les autres cryptomonnaies ?
Lorsque nous explorons le vaste monde des cryptomonnaies, nous en croisons non pas quelques dizaines, mais des centaines, et probablement bien plus encore.
Toutes ne sont pas des pièges assumés
Si beaucoup d’entre elles sont clairement des pièges, des « crypto actifs » créés pour attirer des investisseurs, qui vont acheter des actifs dont la valeur va rapidement s’effondrer, d’autres semblent plus robustes, et supportées par une philosophie un peu plus saine. Ces dernières se présentent bien souvent comme une alternative aux monnaies traditionnelles – euro, dollar, yen, yuan, etc. – dans la mesure où elles nous évitent de dépendre d’une banque centrale – BCE, Fed, etc. – mais,… elles restent centralisées : ce sont des actifs portés par une entreprise bien spécifique, et donc potentiellement manipulés par celle-ci. Et qui plus est, si l’entreprise disparaît (pour quelque raison que ce soit), plus rien ne garantit que le détenteur de la crypto correspondante puisse retrouver ses fonds.
L’État des cryptos
D’autres cryptomonnaies sont en réalité des variantes cryptographiques des monnaies de banque centrale. En Europe, nous entendons depuis quelque temps parler d’un « euro numérique » qui se calquerait sur leurs équivalents en dollar (USDT, USDC, etc.). Ces monnaies fonctionnent non seulement comme les monnaies de banque centrales classiques (qui en restent seules détentrices et émettrices), elles sont même encore pire : un billet de 100€ dans notre porte-monnaie est et restera un billet de 100€. La BCE peut en modifier ou en affecter la valeur, mais elle ne peut pas nous en priver (à part indirectement via l’impôt). Par contre, l’euro numérique resterait techniquement en possession de la banque centrale, nous ne verrions que le solde de notre compte. Utiliser un tel support nécessite une confiance absolue en notre chère et tendre banque centrale (ils sont très gentils, je n’oserais jamais dire du mal d’eux, voyons !).
Le seul, l’unique,… Bitcoin
Nous le voyons, si nous explorons les monnaies cryptos dans une logique de souveraineté, toutes ces solutions ne sont pas satisfaisantes. Il nous faut une monnaie dont nous soyons réellement propriétaire, dont personne ne peut contrôler la valeur, et qui ne risque pas de couler avec l’entreprise qui l’a créée… Et ça tombe bien, Bitcoin coche toutes ces cases :
- l’évolution de la valeur de Bitcoin dépend du protocole, et il ne peut pas être modifié sans l’accord des dizaines de milliers de possesseurs de nœuds Bitcoin ;
- Satoshi Nakamoto, le créateur de Bitcoin, a disparu il y a plus de 10 ans, et Bitcoin est toujours là, personne n’a pu « l’éteindre » personne ne le détient, ou plutôt, il est détenu par chaque personne qui possède leurs Bitcoins en propre… D’où l’intérêt d’un portefeuille en self-custodial.
La mécanique au cœur du réseau
Recevoir un paiement en Bitcoin n’est pas un simple transfert de solde. C’est l’utilisation d’un système de clés asymétriques, d’adresses dérivées de façon déterministe, d’un registre public immutable (qui ne peut être modifié) et d’un mécanisme de consensus distribué. Chaque étape — de la génération d’une adresse fraîche jusqu’à la confirmation dans un bloc — repose sur des règles ouvertes et vérifiables par tous.
En comprenant ces principes, nous cessons de voir Bitcoin comme une simple « alternative à l’euro » et nous commençons à le saisir pour ce qu’il est : un protocole monétaire dont les transactions sont à la fois transparentes, programmables et indépendantes de toute autorité centrale.
C’est précisément cette architecture qui permet, aujourd’hui, de recevoir un soutien en quelques clics, tout en restant maître de ses propres clés.
Write a comment