Gérer votre propre nœud Bitcoin

Gérer votre propre nœud Bitcoin

Nous entendons de plus en plus parler d’indépendance financière, de liberté économique et de vie privée. Le réseau Bitcoin et son design immaculé, nous donne les outils pour accéder à une nouvelle finance décentralisée, dont nous sommes les seuls gestionnaires et qui ne dépend pas de la confiance de tierces parties. Mais afin d’améliorer la protection de notre vie privée lors de l’utilisation de Bitcoin, nous devons cependant mettre en œuvre quelques éléments. L’une de ces étapes est certainement la configuration d’un nœud Bitcoin.

Nous le savions déjà, direz-vous. Oui, mais aujourd’hui je vais vous montrer comment vous pouvez devenir directement Bitcoin, en créant et en exploitant votre propre nœud de manière simple.

Qu’est-ce que cela signifie de faire fonctionner un nœud complet ?

Il s’agit d’acheter du matériel (hardware), d’assembler un petit ordinateur (généralement à l’aide de raspberry), puis d’y installer le système d’exploitation et tous les outils nécessaires. Il est ensuite connecté au réseau local de votre maison. C’est une expérience très instructive, mais surtout un objet qui présente de nombreux avantages. Examinons les principales d’entre elles :

  • Le nœud devient un élément du réseau Bitcoin et aide le réseau en termes de sécurité. Chaque nœud du réseau vérifie toutes les transactions Bitcoin, une par une, afin de s’assurer qu’elles sont conformes au protocole et d’accroître la fiabilité.
  • La blockchain complète est ensuitereconstruite et sauvegardée localement sur le nœud après la vérification de chaque transaction. Vous êtes alors assuré de disposer d’une copie authentique de l’historique complet des transactions. Les blocs ou les transactions non valides sont ensuite éliminés.
  • Nous pouvons connecter un ou plusieurs portefeuilles à notre nœud sans avoir à utiliser des services tiers. de cette façon, nous garantissons notre confidentialité, car aucun tiers ne recevra de données sur nos adresses et nos soldes.
  • La présence de la blockchain nous permet de vérifier nos soldes de manière indépendante
  • Avec notre portefeuille, connecté au nœud, nous pouvons diffuser nos transactions (broadcast), sans les envoyer à des tiers, et en veillant à ce qu’elles soient ensuite gérées par un mineur pour être vérifiées et ajoutées à une blockchain.
  • Nous pouvons connecter le nœud à TOR et de cette façon, il sera derrière le réseau Onion, ce qui nous permettra d’obtenir plus de confidentialité sur nos transactions Bitcoin.
  • Une fois que le nœud est connecté via TOR, nous pouvons également y accéder de l’extérieur en utilisant le réseau onion.

L’Hardware

raspberry pi4

Sur la photo, vous pouvez voir le matériel nécessaire. Ils sont tous facilement disponibles et le coût total est d’environ 300 CHF. Il s’agit du modèle raspberry pi4 avec 8 Go de RAM et un SSD externe avec connexion USB d’une capacité d’au moins 1 TB.

Les éléments ci-dessus vous permettront d’assembler un système fiable et assez rapide. Il convient également de considerer que la consommation d’énergie d’un nœud complet tel que celui-ci est totalement négligeable et peut être maintenu en fonctionnement continu sans aucun problème. De cette façon, vous faites partie intégrante du réseau Bitcoin.

Système d’exploitation et logiciels

umbrel bitcoin node

Parlons maintenant de la partie logiciels. Fondamentalement, il s’agit d’un système d’exploitation linux (de type debian) dans lequel nous devons placer divers logiciels. En faisant tout à la main, cette installation peut être compliquée, surtout si l’on veut équiper le nœud  avec le réseau onchain et le réseau lightning.

Mais il existe aussi une autre solution. Il existe en fait une distribution appelée Umbrel (il y en a aussi beaucoup d’autres), qui vous permet d’obtenir le système d’exploitation + tous les logiciels nécessaires immédiatement pré-installés et prêts à être utilisés.

Mais comment cela fonctionne-t-il ?

Nous téléchargeons le fichier image depuis le site Umbrel et ensuite nous faisons flash sur une SD card. La carte SD doit être insérée dans le raspberry pour le démarrer. Le système sera opérationnel en quelques minutes.

Les étapes suivantes consistent à effectuer la première initialisation, c’est-à-dire à définir les mots mnémoniques et à les sauvegarder. Vous pouvez accéder à votre nœud de deux manières différentes :

  • à travers le réseau local, avec l’adresse IP du raspberry sur le réseau local;
  • via TOR, depuis l’adresse onion attribuée à votre raspberry, immédiatement après l’installation;

La deuxième façon vous permet d’atteindre le nœud depuis l’extérieur de votre domicile, par exemple avec un Torbrowser.

Comme déjà mentionné, umbrel fournit une installation complète, gérée via Docker (un système de conteneurs très utile). L’utilisateur ne doit donc pas se soucier de configurer les logiciels individuellement, ni d’effectuer d’autres opérations complexes.

Une fois le système démarré, vous devez effectuer les opérations suivantes :

  • d’un mot d’accès
  • initialisation du mnémonique (séquence de 24 mots)

Quand cette opération est effectuée, le système commencera à valider la blockchain Bitcoin. Cela prendra quelques jours et environ 400 GB d’espace SSD pour le moment. Toutefois, il faut tenir compte du fait qu’une fois la synchronisation de la blockchain terminée, d’autres GB seront nécessaires pour l’adressage par le electrum server (qui est partie de la suite des logiciels).

Les principaux logiciels inclus sont:

  • Bitcoin core
  • LND (lightning implementation)
  • Electrum server
  • Ride the lightning
  • ….. beaucoup d’autres …..

    umbrel bitcoin node apps

Il existe de nombreux éléments supplémentaires qui peuvent être installés de manière modulaire en tant qu’APPS. certains ne sont pas liés au Bitcoin mais sont intéressants car ils peuvent fonctionner comme des ordinateurs personnels.

Une fois que la vérification de la blockchain est entièrement terminée, vous pouvez commencer à déposer des fonds onchain sur votre porte-monnaie local (faites attention à ce que ce soit un “hot wallet”) et ensuite vous avez la possibilité d’ouvrir un canal du réseau Lightning pour commencer à effectuer des paiements sur Lightning. Les prochaines étapes consisteront à apprendre à équilibrer un canal, à utiliser le RTL et à explorer les autres applications disponibles.

J’espère que je vous ai intriguée. L’installation de votre propre nœud est bénéfique pour votre vie privée et contribue à la sécurité et à la décentralisation du réseau. C’est définitivement une activité que je suggère à tous les amateurs de bitcoins.

vivre bitcoin

Vivre avec bitcoin en 2021

Est-il possible de vivre avec bitcoin en 2021 ? Percevoir vos propres rémunérations de travail, détenir votre propre capital et faire vos dépenses quotidiennes, en utilisant uniquement bitcoin ? Aujourd’hui, avec cet article, nous allons essayer de comprendre cela et voir quels services nous pouvons utiliser à cette fin.

Mais avant de commencer, nous devons répondre à la question : pourquoi ? En d’autres termes, pourquoi devrions-nous vivre avec bitcoin et les utiliser pour toutes nos dépenses quotidiennes ? Quels avantages sont liés à ce choix et qu’est-ce qui nous pousse dans cette direction ?

Aujourd’hui encore, de nombreuses personnes sont très sceptiques à l’égard du bitcoin, car il existe souvent des campagnes de désinformation menées par des personnes influentes ou des entités centrales contre  bitcoin, qui invoquent différents arguments, souvent toujours les mêmes : consommation d’énergie liée à la validation des transactions, utilisation présumée du bitcoin à des fins illégales, anonymat présumé des transactions. En réalité, nous savons que ces informations sont biaisées, tendancieuses et souvent mises en circulation par des personnes influentes, dans le but de manipuler le marché et de tirer ensuite profit lors de gros investissements.

De nombreuses personnes considèrent également que seul l’argent détenu sous forme de monnaie fiduciaire est valable et ne se considèrent donc comme des épargnants que lorsqu’elles accumulent des liquidités dans une banque.

D’une autre coté, pour toutes les autres personnes (les maximalistes du bitcoin), vivre avec le bitcoin est un objectif très important à atteindre afin de

  • Ne pas être dépendant de l’inflation (et donc ne pas perdre de pouvoir d’achat). Dans la finance traditionnelle, l’inflation est en fait décidée par des tiers de manière centralisée et incontrôlable;
  • S’affranchir de politiques économiques souvent manipulatrices des couches les plus fragiles de la société;
  • Ne pas avoir besoin des banques pour gérer leur propre argent;
  • Préserver ses actifs de la dévaluation générée par les deux premiers points ci-dessus;

Il est clair qu’il n’est pas facile d’atteindre ces résultats car il existe encore de nombreux obstacles: une réglementation de plus en plus stricte, bitcoin n’est pas souvent accepté par touts les commerçants, l’opinion publique est souvent contre lui en fonction des événements qui se produisent.

Cependant, il est possible de le faire. En fait, nous devons résoudre deux problèmes fondamentaux :

  1. Acquérir bitcoin au lieu de la monnaie fiduciaire (fiat), ou changer des fiat en bitcoin;
  2. Utiliser bitcoin pour nos dépenses;

Obtenir bitcoin

Pour changer fiat en bitcoin, il existe des échangeurs, véritables intermédiaires financiers dont le métier est de nous vendre bitcoin en échange d’espèces, en payant une commission. Il existe plusieurs échangeurs et le choix est donc très large (Bity, Kraken, Binance, Coinbase, etc).

Pour acquérir directement bitcoin au lieu de fiat, il existe également des services de paie, tels que bitwage.com par example. Ce service fournit à l’employé ou au professionnel un IBAN pour recevoir son virement de salaire. À la réception du transfert du salaire, le montant est converti en bitcoin et envoyé au employé sur son portefeuille privé. Ainsi, une personne peut recevoir directement son salaire en bitcoin sans se soucier de faire des échanges, tout se fait automatiquement. L’employé aura alors dans son portefeuille chargé la quantité de bitcoins correspondant à son salaire mensuel. C’est pratique, n’est-ce pas ?

Utiliser bitcoin pour les dépenses

Pour dépenser bitcoin, il existe deux options

  1. recherchez les commerçants physiques ou les services en ligne qui acceptent bitcoin ou les payements en Lightning Network (moyen de paiement construit sur la blockchain du bitcoin qui permet même les petites transactions et les transactions instantanées avec de très petites commissions). Ou demandez à vos fournisseurs s’ils acceptent les paiements en bitcoin.
  2. Utilisez des services de conversion, comme bitrefill.com, qui vous permettent d’utiliser bitcoin pour acheter des cartes de paiement pour une grande variété de services : commerce de détail, commerce électronique, téléphonie, etc.

bitrefill

Avec bitrefill.com en pratique, vous pouvez payer avec bitcoin ou Lightning Network et obtenir des cartes de consommation (bons d’achat) à utiliser dans les plus importants magasins physiques ou en ligne en Suisse et à l’étranger. Une opportunité vraiment intéressante et utile qui vous permet de dépenser facilement vos bitcoins même dans les entreprises qui ne le supportent pas.

En revanche, lorsqu’il est possible d’utiliser  bitcoin directement, il est facile de l’utiliser pour payer directement.

Un porte-monnaie mobile simple et efficace

Rappelons en effet que pour effectuer une transaction en bitcoin, il existe des portefeuilles simples qui (principalement utilisé pour les petites quantités) peuvent également être utilisés à partir de votre téléphone portable, tant avec bitcoin traditionnels qu’avec le réseau Lightning Network. Il existe par exemple bluewallet, qui gère les deux méthodes de paiement et est extrêmement facile à utiliser, même pour les utilisateurs inexpérimentés.

bluewallet

Avec ces petits conseils, vous pouvez commencer à gérer vous-même vos finances sans intermédiaire et utiliser bitcoin à la fois comme un moyen de préserver vos actifs et comme une méthode de dépense et d’encaissement. Les petites dépenses peuvent être facilement gérées sans grande expertise avec un simple téléphone portable. Vivre avec bitcoins est donc tout à fait possible.

J’espère avoir été utile et je suis à votre disposition pour toute information complémentaire. Je tiens à remercier mon collègue Luca Venturini, un maximaliste du bitcoin, avec qui j’ai eu le plaisir de discuter du sujet et qui a participé au contenu de cet article par le biais d’une interview vidéo.

Soyez votre propre banque

Soyez votre propre banque

Vous aurez souvent entendu cette phrase : “soyez votre propre banque” (be your own bank). C’est maintenant devenu un slogan pour tous les bitcoiners. Le plus grand désir de nombreux utilisateurs est de pouvoir être indépendants dans la gestion de leurs finances et de leurs capitaux, sans intermédiaires et sans risques liés à l’intermédiaire lui-même : faillites, blocages, bureaucratie, etc.

Dès sa naissance, le bitcoin s’est fixé des objectifs de ce type. Voulant devenir une alternative à la monnaie traditionnelle et un moyen d’échange numérique décentralisé, indépendant des banques et des gouvernements. Au fil du temps et de la détérioration de l’économie mondiale, le bitcoin est également devenu beaucoup plus. Il est en effet devenu un moyen de préservation de la valeur, de l’or numérique, un moyen par lequel le petit épargnant peut détenir des richesses à long terme.

Tout cela peut se faire en toute sécurité grâce à des protocoles décentralisés de validation des transactions, comme la preuve de travail (POW) qui bénéficie aujourd’hui d’un hashrate très fort.

La fonction de monnaie d’échange, telle qu’elle a été initialement conçue dans le bitcoin, s’est lentement déplacée vers les actifs refuges. La fonction d’échange d’argent est au contraire actuellement jouée par le réseau Lightning Network dont la fonction est précisément de faciliter les paiements de faible valeur en quelques secondes et avec des frais extrêmement bas. Le réseau Lightning est basé sur Bitcoin (layer 2) et utilise le bitcoin pour des échanges économiques très rapides et efficaces. Cependant, il ne convient pas aux paiements importants pour lesquels les transactions traditionnelles en bitcoin restent préférables.

S’il est vrai que le réseau Lightning est encore en version beta, son fonctionnement va être de plus en plus affiné et perfectionné.

Mais tout cela est-il suffisant pour être la banque de nous-mêmes ? En fait, pas encore. Pour être totalement indépendant des tiers, le bitcoiner qui veut détenir et gérer ses bitcoin sans l’influence de quiconque, a besoin d’un élément supplémentaire : le nœud Bitcoin.

Qu’est-ce que le nœud bitcoin

Le nœud Bitcoin est essentiellement un ordinateur (qui peut aussi être de petite taille, par exemple un raspberry ou un odroid) avec le logiciel bitcoin installé, connecté à l’internet et ensuite aux autres nœuds du réseau. Ce nœud synchronisera toutes les transactions sur le réseau Bitcoin, du début à la fin, en les vérifiant indépendamment une par une, selon les règles du protocole. Cette vérification des transactions et des blocs est indépendante, réalisée par ses propres moyens, et ne dépend pas de tiers. Vous comprenez la puissance de ceci.

Comme nous le savons, Bitcoin est un réseau “peer-to-peer”, ce qui signifie qu’il est décentralisé et qu’aucune tierce partie n’est nécessaire pour garantir sa bonne utilisation. Cela est possible grâce à l’utilisation de nœuds entièrement validés (full nodes). Pour la première fois dans l’hystoire de l’économie, avec bitcoin, un utilisateur peut manœuvrer ses bitcoins avec son portefeuille et peut également vérifier indépendamment chaque transaction avec son nœud, s’assurant lui-même de ses soldes et transactions.

Chaque nœud Bitcoin complet conserve sa propre copie de la blockchain Bitcoin et utilise cette copie pour valider toutes les transactions et tous les blocs de bitcoins. Lorsqu’un nœud valide une transaction ou un bloc, il transmet ces données aux autres nœuds complets afin qu’ils puissent parvenir à un consensus. Cette responsabilité de valider l’ensemble de la blockchain et de faire respecter les règles du Bitcoin est ce qui rend un nœud “complet” (full node). Veuillez noter cependant que le nœud complet Bitcoin n’est pas un mineur. Un mineur, enfait, est un nœud particulier, doté d’un hardware de grande puissance, dont le travail consiste à valider les nouvelles transactions et à les ajouter à un nouveau bloc, via une solution de proof-of-work.

La mise en place d’un nœud est une nécessité si vous avez l’intention d’utiliser bitcoin de la manière pour laquelle il a été créé, c’est-à-dire un système économique de pair à pair.

Les avantages ?

Vous n’avez pas à faire confiance à qui que ce soit. Vous devenez votre propre banque personnelle. Ceci doit être une priorité très importante pour tous les bitcoiners et vous amène à retrouver votre souveraineté financière.

  • Si vous utilisez un nœud complet et que vous transmettez vos transactions par ce nœud, vous êtes sûr qu’elles atteindront les mineurs;
  • Vous contrôlez votre propre logiciel et n’utilisez que les fonctions que vous souhaitez. En gérant votre propre nœud, vous ne dépendez d’aucune tierce partie, car vous faites partie du réseau;
  • Disposer d’une copie de la blockchain que vous avez vous-même validée, plutôt que de devoir faire confiance à un tiers;
  • Protégez votre patrimoine en bitcoins en soutenant le réseau;
  • Disposer d’une copie locale de la blockchain pour une interrogation plus rapide et plus confidentielle. Cela vous permet également de défendre votre vie privée contre les sociétés de chain-analisys qui tentent d’exploiter le réseau pour obtenir des informations sur les personnes et leur patrimoine. En fait, cela vout permet d’atteindre la plus forte confidentialité disponible. Les nœuds complets n’interrogent pas de tiers comme les portefeuilles centralisés et les SPV.

J’espère avoir piqué votre curiosité et vous avoir fourni des informations utiles et fructueuses. Je reste disponible pour toute question et tout commentaire.

puissance du bitcoin proof of work massimo musumeci

Proof of Work (POW). Pourquoi cela fait-il la puissance du réseau Bitcoin ?

Les gens sont souvent confus à propos de la “proof of work” dans le réseau Bitcoin et pourtant, il s’agit de l’une des caractéristiques de sécurité les plus importantes du protocole et donne donc à Bitcoin ses caractéristiques de valeur enviable que tout le monde lui attribue. De nos jours, Bitcoin fait également l’objet d’une grande couverture médiatique grâce à une augmentation de l’adoption, même par les acteurs institutionnels, et de nombreuses entreprises se lancent dans le minage.

POW

La proof of work consiste en un élément d’information extrêmement coûteux à obtenir mais très facile à vérifier, que le mineur doit produire pour valider son bloc candidat et que chaque nœud du réseau peut vérifier facilement et rapidement.

La procédure de preuve du travail est effectuée sur un bloc candidat qui rassemble toutes les transactions que le nœud a dans son propre mempool qu’il décide d’ajouter. Ces transactions sont vérifiées indépendamment par chaque nœud, mais ne sont pas confirmées, c’est-à-dire qu’elles ne font pas encore partie de la blockchain, car elles n’ont pas encore été insérées dans un bloc valide.

Lorsque le mineur calcule l’hash du blockheader, il considère en fait toutes les transactions présentes dans le bloc, car le merkleroot du bloc candidat résume toutes les transactions qui ont été insérées dans le bloc, parce que c’est la valeur “digest” de l’arbre de merkle.

L’arbre de merkle (merkle tree) n’est rien d’autre qu’une structure de hashs de transactions qui résume progressivement toutes les transactions qu’il a examinées, jusqu’à ce qu’il atteigne le sommet, qui est un seul hash global qui est l'”empreinte” de toutes les transactions.

La procédure de validation

Le POW est donc obtenu par une procédure par laquelle le mineur crée le hash du blockheader, de manière répétée, jusqu’à ce qu’il puisse trouver une valeur de ce hash qui soit inférieure à une valeur fixée par le protocole (target) qui peut varier grâce à un auto-ajustement tous les 2016 blocs. Dans ce cas, on parle d’une procédure de “réglage de la difficulté” qui réagit automatiquement au hashrate disponible dans le réseau en calibrant la difficulté et en s’assurant que le réseau Bitcoin produit 1 bloc toutes les 10 minutes, ni plus ni moins.

proof of work bitcoin minage
la valeur target de la difficulté actuelle

Pour pouvoir satisfaire cette valeur, le mineur, fait de nombreuses tentatives en changeant certains paramètres de l’en-tête, y compris le nonce et le extra nonce.

La récompense au mineur

Parmi les transactions présentes dans le bloc, la première est la transaction coinbase. Cette transaction permet au mineur de s’octroyer la récompense pour avoir exploité le bloc selon la valeur établie par les règles du protocole.

Les frais des transactions insérées font également partie de la récompense du mineur. C’est pourquoi le mineur est incité à ajouter autant de transactions que possible, en commençant par celles dont les frais sont les plus élevés. Toutefois, les règles du protocole autorisent encore des blocs comportant très peu de transactions.

Une fois cela fait, le bloc est propagé au réseau et tous les autres nœuds vérifient le respect du protocole, puis vérifient le bloc. Si le bloc est vérifié, il devient le TIP, c’est-à-dire le bloc le plus élevé.

Si le bloc avait une récompense différente, qui n’est pas compatible avec la valeur actuelle autorisée par le protocole, il serait ici rejeté par les autres nœuds et le mineur n’aurait aucune récompense. Cet événement s’inscrit dans le cadre du mécanisme d’avantage/punition du système d’incitation économique de Bitcoin.

J’espère avoir été utile pour comprendre le fonctionnement du mécanisme de validation des transactions du réseau Bitcoin. Si vous avez des questions, vous pouvez poster un commentaire et me contacter, je resterai disponible. Je suis également heureux si vous souhaitez me joindre sur mon site web ou sur mon linkedin.

Bitcoin: Fongibilité, Coinjoin et Lightning network

Bitcoin: Fongibilité, Coinjoin et Lightning network

L’un des problèmes les plus importants et les plus significatifs du bitcoin, surtout à mesure qu’il se répand et qu’il est utilisé comme moyen de paiement, est sa fongibilité. Cet aspect joue un rôle extrêmement important en ce qui concerne la vie privée des utilisateurs et la confidentialité de leurs patrimoines.

Essayons de comprendre ce que nous voulons dire.

Commençons par le concept d’UTXO. Une UTXO définit une output d’une transaction qui n’a pas encore été dépensée, c’est-à-dire qui n’a pas été utilisée comme input pour une nouvelle transaction. Cette définition est très importante.

Les UTXO

Les outputs sont des super-ensembles UTXO. Chaque UTXO doit être considéré comme une monnaie identifiable ayant un historique de transactions publiques. Pour donner un exemple : Si Alice envoie à Bob une certaine coin, BOB ne recevra aucune pièce mais spécifiquement cet UTXO particulier qu’Alice lui a envoyé. En regardant la blockchain, nous pouvons voir le passage dans la transaction, ainsi que toutes les transactions antérieures à celle d’Alice à Bob. Lorsque Bob utilise cette UTXO pour créer une nouvelle transaction, en envoyant cette pièce à une autre personne, il peut vérifier l’historique des transactions précédentes en regardant la blockchain.

Il est évident que tout ce que nous venons de dire concerne la blockchain et les transactions traditionnelles de bitcoins, alors que sur le réseau Lightning (le réseau construit sur la chaîne de blocs de bitcoins), les choses sont différentes. Dans la prochaine image il y a une transaction onchain standard. Nous pouvons voir ici sa structure en termes de inputs et outputs.

transaction basic
Revenons au discours d’Alice et Bob. Un observateur de la chaîne, par exemple une société d’analyse de chaîne ou même un utilisateur intéressé par des informations sur Alice ou Bob, peut alors faire l’aller-retour dans la chaîne et obtenir de nombreuses informations sur ses homologues et ses transactions précédentes. Le fait que seuls les adresses et les codes soient contenus dans la chaîne de blocage rend le système pseudonyme. Mais il suffit de relier l’identité d’une personne à une adresse, pour pouvoir toujours suivre le chemin que ce capital a pris dans l’histoire de ses transactions.

La fongibilité est une propriété essentielle de l’argent, c’est-à-dire que c’est la propriété qui permet de remplacer un billet de banque par un autre de même valeur. Confidentialité et fongibilité vont de pair. Cela est tout aussi important pour le bitcoin, car son utilisation est de plus en plus importante dans l’économie actuelle.

Ici entrent en jeu deux aspects de plus en plus utilisés pour augmenter la fongibilité des bitcoins et donner la confidentialité qui nous attend d’un moyen de paiement traditionnel.

Coinjoin

Le premier s’appelle Coinjoin. Il s’agit d’une technique, devenue une pratique exemplaire, qui permet de créer des transactions particulières dans lesquelles différentes inputs (appartenant à différentes personnes) sont combinées en une seule transaction et des outputs sont générés en faveur des mêmes contreparties. Le nombre d’interlocuteurs et la technologie utilisée garantissent ainsi que chaque participant à la transaction obtient un nouvel UTXO dans lequel le lien avec les transactions précédentes est rompu ou du moins brouillé. En d’autres termes, de nouveaux UTXO sont créés, qui sont plus fongibles que leurs prédécesseurs.

Cette technique est en train de devenir une pratique courante pour tous les utilisateurs de bitcoins à long terme afin de garantir la confidentialité et la sécurité. Dans la prochaine image il y a un example de transaction simple de Coinjoin.

coinjoin

Lightning Network

La seconde est de passer au lightning network. En fait, lorsque les bitcoins passent à lightning network, seules les transactions d’ouverture et de fermeture de canaux sont enregistrées, tandis que toutes les autres transactions n’apparaissent jamais sur la blokchain. Cela augmente considérablement la fongibilité des satoshi (petites fractions de bitcoin) qui sont transmis sur le lightning network car la blockchain analisys n’est plus applicable. Il est clair que les aspects de la transmission d’informations sur le réseau liés à la vie privée demeurent, mais c’est une autre question.

ouvrir canal lightning

J’espère que cet article a intéressé mes lecteurs et je reste volontiers à leur disposition pour toute question ou remarque, tant ici dans les commentaires que dans mes contacts sur linkedin, sur mon blog ou par telegram.

Paiements électroniques rapides sans intermédiaire

Paiements électroniques rapides sans intermédiaire ?

Les paiements électroniques ont toujours été l’apanage des géants des cartes de crédit, quelques très grandes entreprises qui se partagent le marché international des paiements en ligne. Autour de ces sociétés gravitent d’autres entreprises plus petites qui s’occupent de divers niveaux de services à valeur ajoutée tels que :   l’interface avec les boutiques en ligne, de la gestion des autorisations ou de la réalisation d’opérations comptables, etc. En bref, l’ensemble de ce marché est d’une importance considérable dans l’économie actuelle qui est de plus en plus numérisée.

Carte de crédit

Pour les paiements en ligne, c’est clair que la rapidité et la fiabilité sont très importantes. Toutefois, l’utilisation des cartes de crédit comporte les points suivants :

  • l’accès au marché financier traditionel et donc au système bancaire;
  • l’acceptation du modèle de protection de la vie privée imposé par les grandes sociétés de paiement;
  • la nécessité de disposer souvent de comptes courants;
  • acceptation du modèle de prépaiement (dans la plupart des cas);

Cela pose aujourd’hui des problèmes et certains utilisateurs veulent utiliser des systèmes ouverts qui ne dépendent pas d’intermédiaires et qui respectent davantage notre vie privée. Aussi parce que nous savons maintenant qu’il existe des solutions alternatives à l’ère des crypto-monnaies. En fait, nous savons que les paiements en bitcoin sont possibles et que le bitcoin représente “l’or numérique”, la préservation de la valeur et une barrière contre l’inflation. Mais qu’en est-il du bitcoin utilisé comme instrument de paiement ? Est-il aussi efficace ? Examinons deux cas typiques, c’est à dire l’envoi de paiements de gros montants et ceux de faible valeur, pour voir comment bitcoin peut nous aider.

Bitcoin onchain

Les paiements onchain[1] avec bitcoin présentent les caractéristiques suivantes

  • très sécurisé et efficace pour les gros montants. En fait, sur les gros montants, les frais de transaction ont très peu d’impact et par contre, la sécurité obtenu  par la blockchain des bitcoin est extrêmement élevée;
  • relativement rapide pour les gros montants, car attendre un heure pour transférer de gros montants peut ne pas poser de problème;
  • permettre le transfert électronique et international de fonds entre des personnes qui ne se connaissent pas, sans qu’il soit nécessaire de faire appel à un intermédiaire de confiance;

mais il est clair que pour les petits paiements, le bitcoin avec des transactions onchain n’est pas le choix le plus efficace. En fait, pensez par exemple à payer une facture de 5 ou 10 euros, cela n’aurait pas beaucoup de sens d’attendre une demi heure ou de payer 1-2 euro de frais de transaction. La comparaison avec les cartes de crédit ne tient donc pas, par rapport à ces dernières.

Bitcoin Lightning network

Mais c’est là qu’intervient le réseau Lightning Network, c’est-à-dire le réseau créé au-dessus des bitcoins, le “layer 2”, qui utilise la blockchain de bitcoin pour placer un système de transfert très efficace et rapide de petites sommes d’argent par-dessus.

Ce système permet de transférer des fractions de bitcoin (généralement exprimées en milliers de satoshis[2]) entre utilisateurs de manière très rapide, c’est-à-dire comparable aux cartes de crédit. Les frais de transaction sont négligeables et très faibles, ce système est donc parfait pour payer rapidement de petites sommes d’argent simplement avec votre smartphone par exemple et sans attendre les confirmations typiques de la blockhain.

Le système est basé sur un réseau de canaux établis entre différents pairs du réseau, sur lequel notre paiement est acheminé. Elle est très efficace pour les petits paiements, alors que, contrairement aux paiements on-chain, elle est plus inefficace pour les gros paiements en raison du “problème d’équilibrage des canaux”.

Cette technologie en est encore à ses débuts et en développement continu, mais elle fonctionne déjà assez bien et certains portefeuilles sophistiqués ont déjà été produits qui vous permettent d’utiliser ce système sans avoir à vous soucier de rien, car tout est géré en arrière-plan par le logiciel sous-jacent.

Ci-dessous quelques écrans du portefeuille lightning phoenix, qui vous permet de payer et de recevoir des paiements via votre smartphone grâce à une interface très simple et intuitive. Les paiements sont envoyés et reçus en quelques secondes et sans que l’utilisateur n’ait besoin de connaissances particulières.

 

Nous pouvons donc faire des micro achats en ligne ou payer personnellement, avec le smartphone utilisant le réseau lightning de manière extrêmement simple et sans dépendre de personne.

Notes:

[1] Onchain: Cela signifie que la transaction est une transaction bitcoin qui se déroule sur la blochain, c’est-à-dire une transaction bitcoin traditionnelle qui nécessite une vérification et des confirmations. A opposer aux transactions de réseau lightning network qui ne sont pas écrites sur la blockchain et constituent ce qu’on appelle le layer 2.

[2] Satoshi: Le satoshi est actuellement la plus petite unité de bitcoin enregistrée sur la blochckain. Il s’agit d’un cent millionième d’un seul bitcoin (0,00000001 BTC). Cette unité a été nommée en hommage au créateur original du bitcoin, Satoshi Nakamoto.

 

certifier document numerique

Certifier l’existence d’un document numérique

Dans le passé, de nombreux chercheurs en informatique se sont intéressés à trouver un moyen de certifier l’existence d’un document numerique à un moment précis (date et heure). Cela s’appelle timestamping. Jusqu’à présent, cela s’est toujours fait par l’intervention d’un notaire ou d’une autre autorité pouvant certifier l’existence du document. La technologie de la blockchain, introduite par bitcoin, a cependant complètement changé la donne en rendant disponible un registre universel, ouvert, accessible à tous et immuable, capable de créer une sorte de calendrier partagé et distribué.

Bitcoin, nous le savons tous, est un système économique décentralisé, utilisé pour effectuer des transactions entre des personnes éloignées qui ne se connaissent pas, avec une sécurité maximale et sans intermédiaire financier. En pratique, bitcoin nous permet d’échanger de la valeur en appuyant notre sécurité sur un protocole mathématique précis et non modifiable, capable d’assurer la confiance de toutes les parties concernées.

La blockchain peut résoudre le problème de la certification?

Mais comment bitcoin peut-il également aider à résoudre le problème de la certification? La réponse se trouve dans la chaîne de blocs utilisée par bitcoin. La blockchain est en fait un registre comptable dans lequel les transactions sont en séquence dans un ordre temporel acceptée par tous les nœuds du réseau (consensus) et non modifiable. La blockchain de bitcoin certifie ensuite de manière temporelle précise chaque transaction qu’elle contient, comme s’il s’agissait d’une véritable “horloge” du passé, absolument immuable.
Pour toutes ces raisons, nous pouvons donc penser à une opération particulière qui peut inscrire dans ce registre non pas un mouvement comptable comme cela se fait habituellement, mais une autre information numérique. On peut donc utiliser la chaîne de blocs pour stocker une petite partie des informations dans un bloc afin de certifier que ces informations existaient réellement à ce moment précis. Ces informations deviendraient immuables et irréfutables.

L’opérateur OP_RETURN

Cela est possible depuis la version 0.9 du bitcoin core qui a introduit l’opérateur RETURN. Avec cet opérateur, nous pouvons écrire 80 bytes de données non liées à un paiement, sur une “output” de transaction. Dans ce cas, cependant, l’opérateur RETURN crée une output non consommable qui ne doit pas être enregistrée dans le UTXO set. De cette façon, la chaîne de blocs peut stocker les données sans créer de fausses UTXO.

Vous vous demandez peut-être : que fais-je avec seulement 80 bytes de données ? Aucun document n’est si petit que je puisse traiter si peu d’informations. Mais c’est là que la magie des mathématiques et du cryptage entre en jeu. En fait, nous n’allons pas écrire les données correspondant au document, mais un “digest” de celui-ci, c’est-à-dire le résumé du document.

L’hash du document

Nous pouvons facilement calculer un hash sha256 du document (32 bytes) et sauvegarder cette information dans la transaction. Le hash du document est un nombre hexadécimal qui représente le “résumé” du document, il n’est pas inversible et n’est pas sujet à collision (on ne peut pas trouver deux données différentes avec le même hash – ou plutôt il y a une très faible probabilité que cela se produise). De plus, le hash est déterministe, dans le sens où chaque fois que je le calcule sur le même document, j’obtiens toujours le même résultat.

Ce nombre peut être utilisé pour vérifier l’intégrité d’un document, en fait il suffit de changer un byte du document numérique pour obtenir un digest complètement différent. Donc, si nous prenons un document numérique, calculons son hash et enregistrons ensuite ce hash dans une transaction de bitcoin, nous aurons certifié l’existence de ce document à ce moment précis, de manière sûre, immuable et irréfutable.

Pour cette opération, les 80 bytes sont suffisants et nous avons également la possibilité d’ajouter une autre petite quantité de données à l’hash du document qui est en fait de juste 256 bits.

tx return transaction

Ce type de certification nécessite une transaction. Dans cette transaction, il n’y a aucune dépense de bitcoin à l’exception des frais payés aux mineurs pour la vérification de la transaction elle-même. Comme d’habitude, après 6 confirmations, nous pouvons considérer que la transaction est complètement sécurisée et ancrée dans la blockchain, puis le document vérifié.

Comment pouvez-vous vérifier par la suite que le document existait à cette date ? il suffit de conserver l’identifiant de la transaction (dans notre cas, une sorte de reçu de certification). à ce stade, n’importe qui peut vérifier sur la blockchain cette transaction, visualiser le hash enregistré ci-dessous à l’opérateur RETURN pour confirmer que ce hash est présent.

Accélération des transactions bitcoin

Accélération des transactions bitcoin avec RBF et CPFP

Dans cet article technique, nous allons examiner comment nous pouvons accélérer une transaction qui a déjà été envoyée mais qui est restée en attente dans le mempool depuis longtemps. Dans ce cas, en fait, cela signifie qu’aucun mineur n’a encore saisi la transaction dans son bloc miné. Cela se produit généralement parce que vous définissez des frais trop bas pour la transaction ou parce que les frais augmentent soudainement immédiatement après l’arrivée de votre transaction dans le mempool (il est conseillé d’utiliser un explorateur pour voir le statut des frais et du mempool, par exemple avec le bot telegram @btcnode_bot).
Voyons maintenant comment nous pouvons résoudre efficacement la situation. Il est important de noter que tant que la transaction n’est pas écrite sur la blockchain, elle ne peut être considérée comme efficace et valable. Vous devez attendre la première confirmation, puis les suivantes.

btcnode_bot mempool fees

Double spend & RBF

Que signifie “double spend” ? Cela signifie produire deux transactions qui dépensent les mêmes UXTOs. Formellement rien ne vous empêche de faire cela. La question est la suivante: “Que fait un nœud s’il voit deux tx de double dépense ?
Vous ne savez pas, parce que vous ne contrôlez pas les nœuds des autres. Par défaut, ils doivent accepter le premier et rejeter les autres, mais ils n’ont aucun moyen de faire respecter ces règles. Avec RBF (replace by fee), vous pouvez aller remplacer une TX qui est déjà dans mempool. Comme les nœuds rejettent par défaut les doubles dépenses, le RBF a été inventé pour “dire” aux nœuds que vous envoyez une TX et que vous pourriez devoir augmenter les frais. En gros, les nœuds acceptent que vous augmentiez les frais.

Mais comme vous n’avez aucun contrôle sur les nœuds, vous ne savez pas quel TX entrera. Ce sont les nœuds des mineurs qui décident du TX à laisser entrer dans le bloc. Les nœuds qui acceptent le RBF admettent qu’une tx ultérieure avec des frais plus élevés remplacera celle qu’ils ont déjà reçue dans le mempool. RBF doit etre défi par l’expéditeur et ce dernier peut augmenter les frais avant que la transaction ne soit confirmée, par exemple via electrum (wallet)[¹] qui prend en charge cette fonction.

rbf electrum wallet

Utiliser la méthode CPFP

C’est un acronyme pour “child pays for parents“. Ce n’est pas une caractéristique, mais cela fait partie du système économique de bitcoin. Fondamentalement, lorsque les mineurs décident de la TX à inclure, ils agissent comme un tout. Ils incluront donc volontiers une transaction à frais élevés même si elle est le résultat d’une transaction à frais faibles[²]. Si la moyenne des frais est supérieure à la valeur actuelle des frais, ils accepteront d’inclure les deux transactions. Voyons comment les appliquer dans les deux situations où vous êtes soit l’expéditeur de la transaction, soit le destinataire de la transaction.

CPFP si vous êtes le bénéficiaire

Pour ce faire, si vous êtes le destinataire, vous pouvez créer une nouvelle transaction, en utilisant l’UTXO reçu (ou l’un de ceux reçus) pour construire une nouvelle transaction pour vous-même (à votre adresse) avec des frais tels que la moyenne avec les frais précédents est plus élevée que les frais actuels par transaction. De cette manière, les deux seront rapidement vérifiés.

CPFP Si vous êtes l’expéditeur de la transaction

Si vous êtes l’expéditeur, vous pouvez toujours utiliser cette méthode, voici comment. Dans la transaction que vous avez envoyée, il y a presque certainement un reste. Prenez alors l’UXTO lié au reste et utilisez-le pour vous constituer une nouvelle transaction à des frais très élevés.

Comme vous avez pu le voir dans cet article, il est donc possible et aussi très simple d’accélérer une transaction qui se trouve dans le mempool depuis longtemps. Nous avons vu comment il est possible de le faire avec les deux techniques les plus utilisées. J’espère vous avoir été utile et avoir apporté une valeur ajoutée. Je reste à votre disposition.

Notes:

[¹] electrum est un portefeuille bitcoin très efficace et utilisé

[²] une transaction ne peut être confirmée sans que le parent ne soit confirmé, car une transaction de fille n’existe pas si le parent n’existe pas.

freelance bitcoin

Être freelance en 2020 : les paiements en bitcoin

L’économie en 2020 est en ligne

J’ai eu l’occasion de parler très souvent du commerce électronique au cours des derniers mois et de la façon dont il a beaucoup évolué, notamment en raison de la situation extraordinaire que nous connaissons depuis le mois de mars de cette année. L’utilisation du commerce électronique par les personnes et les entreprises a considérablement augmenté, notamment en raison de la difficulté de se déplacer. Ainsi, les géants du commerce électronique mondial ont augmenté leur chiffre d’affaires, mais cela a également été le cas pour les petites entreprises de commerce électronique.

Bitcoin, en revanche, représente la liberté financière de pouvoir gérer sa valeur de manière indépendante et sans intermédiaire, ce qui est bien adapté aux paiements en ligne. J’en ai également parlé récemment lors d’une conférence sur ce sujet.

L’obtention de paiements en bitcoin au lieu de la monnaie traditionnelle, permet de le faire soi-même, sans intermédiaire, avec une plus grande sécurité et avec l’avantage d’acquérir un paiement avec un moyen numérique anti-inflationniste. La plupart des personnes qui acquièrent des paiements de cette manière, utilisent ensuite des bitcoins également pour leurs achats et les conservent à long terme dans leur portefeuille en remplacement de la monnaie fiduciaire.

Un modèle de paiement numérique

Alors pourquoi ne pas appliquer ce modèle aux paiements des professionnels indépendants ? En fait, si vous êtes un professionnel et que vous travaillez dans le domaine du conseil et de la prestation de services, bitcoin est parfaitement adapté à votre entreprise.
Vous pouvez immédiatement commencer à créer vos factures électroniques en bitcoin et vous faire payer de manière simple par vos clients. Tout ce dont vos clients ont besoin est un simple smartphone avec l’un des nombreux portefeuilles disponibles aujourd’hui pour payer rapidement votre facture en scannant le code qr associé. Tout cela sans aucun intermédiaire et sans avoir besoin de conclure des contrats avec des institutions financières.

Le système que nous utilisons à cette fin est opensource et s’appelle btcpay server. Il s’occupe de la connexion au réseau bitcoin, obtient des informations en temps réel sur le taux de change du bitcoin en monnaie fiduciaire et crée une nouvelle adresse de paiement valide. Le fabricant de logiciels résume en fait brièvement et efficacement les étapes simples pour commencer à travailler avec bitcoin :

bitcoin paiements

Très souvent, le client est préoccupé par le point 1, qui semble être le plus complexe. En réalité, ce n’est pas le cas car si vous ne disposez pas des compétences nécessaires pour effectuer l’installation sur un serveur privé virtuel, vous pouvez recourir à l’aide de tiers ou utiliser des comptes préconfigurés créés sur des serveurs de paiement partagés du fornisseur. Au sein de Denali, par example, nous avons également indiqué les deux solutions, propres à faciliter l’expérience de l’entreprise.

Pour que le paiement arrive dans votre portefeuille bitcoin, il suffit de configurer le système avec le “extended public master key” de votre portefeuille. De cette façon, btcpay pourra générer une adresse bitcoin différente, associée à votre portefeuille pour chaque facture. De cette manière, il n’y aura pas de réutilisation des adresses, ce qui contribuera à préserver la vie privée de vos clients et vous-même.

La création de la facture

En créant la facture, vous pouvez très facilement saisir les données de la monnaie fiduciaire (montant et denomination). Le système effectuera la conversion nécessaire et créera un code QR afin que votre client puisse effectuer le paiement. Cet outil peut être utilisé en ligne et convient donc parfaitement à tous les professionnels qui fournissent des conseils et des services. Bien entendu, il peut également être associé à un magasin en ligne pour y payer automatiquement les factures d’achat, ou vous pouvez utiliser des apps adaptées à cet effet.

Nous voyons ci-dessous la procédure par images de création d’une facture bitcoin pour un service de freelance.

Il est très important de montrer les applications possibles du commerce électronique et des bitcoins à l’ère numérique, car cela vous permet de résoudre de nombreux problèmes et d’accélérer et d’améliorer votre activité. J’espère vous avoir aidé à comprendre cette possibilité et ses avantages ou, du moins, à stimuler votre intérêt.

Générer un portefeuille bitcoin en papier (paper-wallet)

Générer un portefeuille bitcoin en papier (paper-wallet)

Qu’est-ce qu’un portefeuille en papier Bitcoin à adresse unique ? Il ne s’agit que d’une paire de clés spécialement générée avec l’adresse de réception correspondante. En pratique, vous utilisez un script pour générer une clé privée en utilisant une entropie réelle et vous générez ensuite l’adresse de réception correspondante dans les formats autorisés par le protocole Bitcoin.

Aucun dispositif externe ne doit être impliqué dans la génération mais seulement un ordinateur sans connexion Internet (ceci est très important pour la sécurité). C’est pourquoi on utilise souvent une distribution live, comme pas example “tails“.

Ce type de portefeuille en papier n’est pas dérivé d’une clé “seed” ou d’un mnémonique de 24 mots. Il ne s’agit donc pas d’un portefeuille déterministe hiérarchique (HD), mais seulement d’une clé unique avec adresse associée. De cette façon, vous pouvez recevoir des bitcoins sans utiliser de dispositif matériel.

Pour générer un portefeuille en papier, il est essentiel d’utiliser une source d’entropie réelle capable de produire des clés véritablement aléatoires. Le scénario que je vous fournis à titre de référence utilise en fait le caractère aléatoire provenant du bruit de fond du microphone de l’ordinateur.

Un portefeuille en papier est-il en sécurité ?

La sécurité du portefeuille en papier est déterminée par la méthode par laquelle le portefeuille en papier est généré et les conditions entourant l’environnement dans lequel il est généré. La sécurité dépend en effet de la déconnexion totale de l’ordinateur de génération et de la présence de logiciels malveillants. Il est clair qu’en générant un portefeuille papier, nous déplaçons la confiance vers le système d’exploitation que nous utilisons. Les principaux avertissements sont les suivants :

  • Utilisez une distribution linux live comme “tails” et désactivez le support réseau, en déconnectant aussi physiquement le connecteur réseau;
  • Ne pas imprimer le portefeuille obtenu sur papier mais le transférer sur une clé usb après l’avoir formaté ou le transférer par le biais du scan du qrcode produit par le script; si vous voulez vraiment imprimer le portefeuille, assurez-vous de le faire sur une imprimante qui ne possède pas de mémoire interne afin que la clé privée n’y soit pas stockée.
  • S’assurer qu’il n’y a pas d’appareil électronique qui puisse reprendre les opérations (caméras, webcam ou même la webcam d’un téléphone portable);

Il est clair qu’il peut être compliqué d’obtenir des conditions optimales pour la génération du portefeuille et je ne recommande donc pas de garder de grosses sommes sur un portefeuille de ce type. Toutefois, c’est une excellente solution pour transférer les bitcoins au porteur (en livrant simplement un morceau de papier), ou pour les cartes de fidélité ou les cartes-cadeaux.

Le script que j’ai créé est réalisé en python en utilisant un nombre minimal de bibliothèques. Il est plutôt recommandé de ne pas utiliser de scripts en ligne et de ne pas utiliser de scripts qui utilisent un grand nombre de bibliothèques, encore plus si les bibliothèques utilisées ne sont pas standard.

Comment l’utiliser?

Les fonds déposés sur un portefeuille en papier peuvent être transférés dans votre portefeuille froid grâce à la fonction de “sweep” (par example dans le logiciel electrum). Dans un prochain article, nous pourrions voir comment faire.

Les fonds sur un portefeuille en papier peuvent être vérifiés à l’aide d’un explorer (bitcoin blockchain explorer) ou d’un nœud bitcoin. il suffit d’entrer l’adresse publique correspondante et de visualiser le solde rapporté par l’explorer.

Executer le script

Le script est évidemment gratuit, open source et sans garantie ni support. Vous pouvez le télécharger à partir du dépôt github à l’adresse url :

https://github.com/massmux/Papergen

le script doit être exécuté sur un ordinateur équipé d’un microphone en état de marche car il utilise l’entropie du bruit du microphone pour générer un nombre aléatoire de 256 bits pour la clé privée. En l’exécutant sur la testnet, voici le type de résultat que vous obtenez (n’envoyer pas aucune transaction a ces addresses)

[email protected]:~/Papergen$ ./papergen.py -n testnet
**WALLET**

network : bitcoin testnet
private : 27656071d377dcf3688d16a987329846175ba03bd3d6a95a06752293d8d6babc
public : 02265FBAFEE5AA97F6C229E744BAF3E8B60CB85EA9EEE44EC515437329B2FA6171
hash160 : 8012e50d4452e26ade1e2e9ce6051e36f4e60301
WIF : cNuHKz4SW968tCQcKCnJvdYYA5wSpVWM2t5mZzHJNpfkxxKEnzSK
p2pkh : msC9RSKks8wfNDU2WMyjeBLzn3T5tH3tZs      (legacy address)
p2wpkh-ps2h : 2Mwh3yqzhrBRVtrQQHHSkZVP3E4FzkjgMmJ   (segwit)
p2wpkh : tb1qsqfw2r2y2t3x4hs796wwwvpg7xm6wvqcp0pmx3v  (native segwit, bech32)

J’espère que je vous ai intrigué et aidé avec cet article. Bitcoin nous permet d’entrer dans la finance numérique de plusieurs façons et de développer de nombreuses technologies à coté. C’est pourquoi il s’agit d’une technologie révolutionnaire qui fait l’objet d’un consensus de plus en plus large dans le monde, même dans une période de crise comme celle-ci, où les banques et la finance traditionnelles s’effondrent.