Pourquoi je me suis installé sur l'Electrum Bitcoin Wallet

By Bitcoin Magazine - il y a 1 an - Temps de lecture : 16 minutes

Pourquoi je me suis installé sur l'Electrum Bitcoin Wallet

Le portefeuille Electrum permet Bitcoiners to interact with the protocol in ways that do not limit or sacrifice more detailed features for a friendlier interface.

Ceci est un éditorial d'Arman The Parman, un Bitcoin éducatrice passionnée par la vie privée.

Over many years, I have tinkered with various Bitcoin wallets and mentored many people to hold their private keys securely. I settled on "Portefeuille de bureau Electrum" comme mon portefeuille logiciel préféré et le plus polyvalent.

In this essay, I will outline some of Electrum's features, and my likes and dislikes. This is not a detailed guide on how to use it and get the most out of it. I also won't be going into why you should hold your own Bitcoin keys; it's assumed you know and desire to do this, but if you need to know why it's essential, please take a look at "Six Reasons To Withdraw Your Bitcoin From Exchanges."

J'ai expérimenté les idiosyncrasies d'Electrum et j'ai trouvé des solutions pour les surmonter - s'il est utilisé correctement, c'est le portefeuille le plus puissant que j'ai rencontré.

Electrum est destiné à la personne qui est ou aspire à être un utilisateur « puissant ». Parce qu'il permet beaucoup de contrôle et en raison de ma familiarité avec le logiciel, j'ai choisi d'enseigner ce portefeuille à la plupart des étudiants dans le cadre de mon Bitcoin Confidentialité et sécurité cours de mentorat (bien que certaines personnes aient besoin de quelque chose de plus simple à utiliser). L'expérience d'apprendre à l'utiliser m'a certainement aidé à comprendre ce que les gens trouvent intuitif et ce qu'ils trouvent délicat.

Pour le nouveau BitcoinEuh, en faisant cavalier seul, Electrum serait totalement sûr à utiliser, à condition qu'ils prennent leur temps et l'utilisent dans un environnement de test avec seulement un petit nombre de sats au début.

Système d'exploitation

Electrum peut être installé sur un PC Windows, un ordinateur Mac ou un PC Linux, et surtout pour certains, sur des ordinateurs à puce ARM (c'est-à-dire des Raspberry Pi).

Il peut également être installé sur un téléphone, mais la fonctionnalité de la version mobile est médiocre et sa connexion aux nœuds a été erratique, donc je ne recommande pas cette version. BlueWallet est une bonne alternative au portefeuille de téléphone.

Téléchargement et vérification

Le téléchargement et l'installation du programme sont simples pour Windows et Mac, et un peu délicats pour les utilisateurs de Linux, en particulier ceux qui apprennent encore à utiliser Linux.

Pour ceux qui testent simplement le programme, il suffit de le télécharger et de l'utiliser sans vérifier le logiciel - je ne le ferais tout simplement pas pour de grandes quantités, ou si la confidentialité est une grande préoccupation (c'est-à-dire si vous disposez d'un KYC gratuit). bitcoin, vous devez respecter une bonne confidentialité pour que les pièces ne soient pas identifiables).

Si vous allez en fait utiliser ce portefeuille pour une somme importante, vous devriez apprendre à vérifier le logiciel avec gpg. Vous pouvez développer vos compétences autour de cela ici. Vous pouvez le faire en attendant mon guide sur la façon d'utiliser Electrum en toute sécurité/privé.

L'environnement

Un problème avec Electrum est que si vous exécutez le programme de la manière la plus intuitive (c'est-à-dire double-cliquez simplement sur l'icône) plutôt que via la ligne de commande (avec certains indicateurs), vous vous connecterez presque certainement à un emplacement aléatoire. Bitcoin nœud qui exposera votre portefeuille et toutes ses 8.6 milliards d'adresses potentielles au propriétaire du nœud aléatoire - le propriétaire pourrait être une société de surveillance, et voilà votre vie privée (ils obtiendront toutes vos adresses utilisées et inutilisées, ainsi que votre adresse IP) .

Pour surmonter cela, je vous apprendrai, dans le prochain épisode, comment charger d'abord un portefeuille jetable, optimiser vos paramètres réseau (connectez-vous à votre propre nœud, ou à celui en qui vous avez confiance), et ensuite seulement charger votre vrai portefeuille dans Electrum.

Certaines personnes peuvent être perdues sur ce que je veux dire par paramètres réseau ou nœuds. Vous pouvez en savoir plus à ce sujet ici si vous avez envie d'aller sur un très important tangente.

Le portefeuille Electrum a une mise en page très propre affichant vos adresses, bien que vous deviez savoir aller dans le menu et sélectionner "afficher les adresses" pour le voir. Ensuite, vous obtiendrez une liste de vos 20 premières adresses de réception surlignées en vert (vous en avez 4.6 milliards mais évidemment pas toutes affichées), et une liste de vos 10 premières adresses de réception surlignées en jaune (encore une fois, vous avez 4.6 milliards de ce type ).

De nombreux autres portefeuilles logiciels ne vous affichent pas de liste d'adresses et ne fournissent une adresse que lorsqu'il est demandé d'envoyer des pièces au portefeuille. Cela cache des informations à l'utilisateur pour garder les choses simples, mais l'utilisateur a tendance à rester ignorant, car l'opportunité d'apprendre n'est pas présentée. J'ai rencontré de nombreuses personnes qui utilisent Ledger Live ou la suite Trezor, ou Blue Wallet sur leur téléphone, et ne réalisent pas qu'elles ont des adresses illimitées, sans parler de quelque chose appelé "changer" d'adresse.

Electrum vous montre également une liste de tous vos UTXO (mais vous devez sélectionner "afficher les pièces") pour l'activer.

Le serveur Electrum est nécessaire

Electrum Wallet ne peut pas se connecter à votre Bitcoin Noeud principal directement. C'est ennuyeux, mais cela accélère le fonctionnement de l'électrum. Plus vite. Tu as encore besoin Bitcoin Core, mais vous aurez également besoin d'un logiciel appelé Electrum Server (dont il existe différentes variétés, chacune avec ses avantages et ses inconvénients, que je n'aborderai pas ici). Installation Bitcoin Core is hard enough for some people. Installing Electrum Server is MUCH harder, you really need to be fairly techy.

Pour plus de facilité et de renforcement positif, je recommande aux gens d'installer, pour leur premier nœud, un package de nœuds comme MyNode (voir mon guide) ou Rasblitz (voir mon guide), avant de passer à l'installation d'un nœud et des logiciels associés sur un PC ordinaire.

These packages have some weaknesses but are excellent to begin with because with a single installation process on a Raspberry Pi 4, you get many applications (like Electrum Server, Lightning, BTCPay Server, Mempool viewer - which you’d otherwise il faut les installer un par un, et éventuellement vérifier) ​​et le coût n'est que d'environ 300 $ pour tout l'équipement (le logiciel est gratuit). Au fur et à mesure que vos compétences et votre intérêt progressent, je recommande aux gens de se tourner vers des configurations de nœuds plus avancées (dont aucune n'est coûteuse). Au cas où vous vous demanderiez pourquoi vous devriez exécuter un nœud, voici six excellentes raisons.

Création de portefeuille

Je pense qu'il est utile de définir les deux types de wallets avant d'aller beaucoup plus loin :

Software wallet - this is the program that manages your Bitcoin private keys and addresses. Eg Electrum, Sparrow, Blue Wallet.Bitcoin portefeuille - j'entends par là la collection d'adresses uniques créées de manière déterministe (et reproductible) à partir de votre phrase de départ mnémonique (généralement 12 ou 24 mots) - chaque phrase de départ a 8.6 milliards d'adresses uniques auxquelles elle peut accéder/créer.

Electrum, par défaut, crée des portefeuilles qui ne sont pas standards ce qui est très gênant. Le protocole le plus courant est appelé BIP39 (Bitcoin Proposition d'amélioration 39) que presque tous les portefeuilles utiliseront.

Cela signifie que les 12 ou 24 mots créés par votre portefeuille BIP39 seront compatibles avec d'autres portefeuilles BIP39, de sorte que si vous perdez votre portefeuille logiciel (ou matériel), vous pouvez le récupérer en entrant vos mots clés dans n'importe quel portefeuille BIP39 compatible. - il n'est pas nécessaire que ce soit la même marque.

Le développeur Electrum, cependant, a ses propres plans et pense que la norme de l'industrie n'est pas sûre (il a une préoccupation outrageusement irréaliste à propos de BIP39). Au lieu de BIP39, Electrum crée des portefeuilles basés sur son propre protocole - qu'aucun autre portefeuille n'utilise par défaut. Malheureusement, si vous créez une phrase de départ Electrum, vous ne pouvez utiliser cette phrase de départ qu'avec Electrum.

Surtout, Electrum vous permettra d'y restaurer un portefeuille BIP39, mais vous devez savoir comment. Il ne sera cependant pas engendrent un portefeuille BIP39 pour vous. Mais il existe des moyens de contourner cela.

Vous pouvez également simplement charger une seule adresse dans Electrum pour observer son solde - il n'est même pas nécessaire qu'elle soit la vôtre (bien que, n'ayez pas d'idées sur la façon de dépenser le solde, ce n'est pas possible à moins que vous ne chargiez la clé privée, dans laquelle cas l'adresse serait la vôtre).

Lors de la création ou de la restauration d'un Bitcoin wallet avec Electrum, vous pouvez choisir le type d'adresse à avoir :

Legacy - ces adresses commencent par 1 - l'original Bitcoin adresses. Pay-to-Script-Hash - ces adresses commencent toutes par « 3 ».Segwit - À partir de 2017, après le soft fork de Segwit, vous pouvez créer un « Pay-to-witness-public-key-hash » (également appelé « Native Segwit »). , ou « Bech32 »). Ce sont les plus couramment utilisés actuellement. Ils commencent tous par « bc1q ». Taproot. Ceci est nouveau et n'est pas encore pris en charge par Electrum. Taproot était un soft fork en 2021. Les adresses commencent par « bc1p ».

Les trois premiers types d'adresses répertoriés ont des clés publiques étendues qui sont légèrement différentes les unes des autres. Ils commencent respectivement par xPub, yPub et zPub. Je crois que la racine pivotante est tPub, mais je suis encore en train de me familiariser avec cela. Pour plus de matériel pédagogique sur Bitcoin clés publiques et privées, vous pouvez lire ici.

Etiquettes

Cette fonctionnalité n'est pas unique, mais très importante si vous souhaitez préserver la confidentialité grâce à un bon contrôle des pièces. En étiquetant vos UTXO, vous saurez lesquels vous voudrez peut-être éviter de dépenser avec d'autres. Par exemple, si vous avez une pièce sans KYC ou mixte, et que vous la sélectionnez avec une pièce KYC et envoyez le total combiné quelque part, alors la pièce privée peut être identifiée comme appartenant à celui qui possède la pièce KYC (puisque quelqu'un avait le possibilité de dépenser les deux ensemble). Ne fais pas ça. Les étiquettes peuvent être enregistrées dans un fichier afin qu'elles puissent être téléchargées sur un autre ordinateur si vous avez des portefeuilles en double.

Sélection de pièces

La sélection de pièces est une fonctionnalité intéressante. Vous pouvez accéder à vos fenêtres d'adresse et choisir la pièce que vous souhaitez dépenser - ou en regrouper plusieurs pour les dépenser. Si vous ne sélectionnez pas la pièce que vous souhaitez dépenser, comme tout autre logiciel, Electrum choisira la "meilleure" pièce à dépenser pour vous - mais le logiciel ne sait pas toujours ce qui est le mieux. Il ne sait pas quelles pièces ne pas fusionner, lesquelles sont des attaques de poussière et lesquelles sont mélangées. Vous n'avez sachez cela, car vous les avez étiquetés, et ensuite vous pouvez décider comment le gérer.

Envoi / Réception

Le processus d'envoi bitcoin les paiements sont très « réglables avec précision ». Vous pouvez rester simple, mais il existe également un bouton avancé que j'encourage les gens à toujours utiliser - au moins apprendre à se familiariser. Ici vous pouvez voir exactement les éléments importants du Bitcoin transaction - les entrées (avec les identifiants et adresses Tx), les sorties, si les adresses répertoriées se trouvent ou non dans votre propre portefeuille (grâce à un code couleur), les frais miniers et la possibilité de les affiner, la taille de la transaction (en octets), s'il y a un temps de verrouillage et si le remplacement par frais est activé. Vous n'avez pas besoin de savoir tout de suite ce que toutes ces choses signifient, mais au moins elles sont là et, au fur et à mesure que vous gagnerez en expérience, vous saurez quelles choses apprendre.

Lors de la réception, vous pouvez accéder à l'onglet de réception et la prochaine adresse inutilisée sera fournie - avec cela, vous pouvez copier/coller au besoin ou générer un code QR. Vous pouvez également accéder à la fenêtre d'adresse et sélectionner n'importe quelle adresse que vous voyez pour créer une facture. Vous pouvez cliquer avec le bouton droit de la souris, sélectionner les détails et vous verrez un bouton pour créer un code QR de l'adresse ou vous pouvez simplement copier le texte de l'adresse.

Dès qu'un paiement est effectué à une adresse et attend dans le mempool, Electrum vous montrera le paiement assis avec l'adresse, ce qui est pratique - vous n'avez pas besoin d'attendre qu'un mineur exploite la pièce pour que vous puissiez savoir que le paiement arrive. Electrum vous permet également de passer une telle pièce non confirmée.

Si un expéditeur a fixé des frais très bas et que la confirmation prend du temps, vous pouvez accélérer le paiement en transférant la transaction non confirmée à une autre de vos adresses. Dans cette deuxième transaction (en aval), vous pouvez ajouter des frais miniers élevés. Pour percevoir les frais, un mineur devrait inclure la première transaction (non lucrative) et la transaction en aval que vous avez créée (lucrative) - pourquoi ? Parce que la deuxième transaction est invalide jusqu'à ce que la première transaction soit valide (car vous ne pouvez pas dépenser de pièces qui n'existent théoriquement pas). Cette technique s'appelle "l'enfant paie pour le parent".

Une autre technique possible avec Electrum, pour accélérer les paiements, s'appelle RBF (replace by fee). Ceci n'est pas possible pour les récepteur faire comme décrit ci-dessus avec "l'enfant paie pour le parent". Au lieu de cela, un destinataire impatient doit demander au expéditeur pour effectuer un RBF. L'expéditeur renverra l'UTXO d'origine qui a été "dépensé" mais pas encore miné dans la blockchain. Cet UTXO peut être placé dans une transaction alternative (dépense à la même adresse que la première transaction, ou une autre), et avec des frais de minage plus élevés. La première des deux transactions extraite sera valide et l'autre deviendra invalide.

As a side note, RBF allows the potential for fraud. If a receiver (merchant) accepts an unconfirmed transaction as "payment received" and delivers the goods to the sender of the payment, the sender has an opportunity to perform a RBF transaction before the original payment gets mined. They would use their own address as the recipient of the payment, and add a high fee. When that gets mined, the original transaction becomes invalid, is dropped by all the nodes from the mempool, and the balance from the merchant's wallet disappears. This is why you'll notice that Bitcoin échanges, lorsque vous déposez bitcoin, attendra la confirmation sur la blockchain avant de créditer votre compte.

Portefeuilles multisignatures

Electrum gère très bien les portefeuilles multisignatures, et pendant un certain temps, je pense que c'était le seul portefeuille logiciel que vous pouviez utiliser. Vous pouvez avoir des cosignataires avec des touches de raccourci (portefeuilles logiciels) ou des touches froides (portefeuilles matériels connectés). Les clés publiques multisignatures peuvent être créées une à la fois, à des jours différents, à différents endroits sur différents ordinateurs (ou portefeuilles matériels) - la répartir réduit le risque d'un seul point de défaillance/attaque. Jusqu'où vous prenez les précautions dépend de vous.

Détails supplémentaires sur les portefeuilles et les clés multisig peuvent être trouvés ici, et j'aurai un guide sur la fabrication de ces portefeuilles à l'avenir. Le processus de création de portefeuille est excellent, mais avec quelques bizarreries qui deviennent inutiles une fois que vous les connaissez.

J'aime vraiment la façon dont Electrum gère les signatures partielles Bitcoin transactions (PSBT), une caractéristique importante des portefeuilles multisig, discutée ensuite.

PSBT

Un électrum bitcoin la transaction est représentée par juste un tas de texte (qui eux-mêmes représentent des nombres binaires, comme toutes les données informatiques). Vous avez la possibilité d'enregistrer ce texte dans un fichier, un QR code ou dans le presse-papiers (sous forme de texte, pour le copier/coller dans un email par exemple). Ce texte peut être envoyé n’importe où et comme vous le souhaitez. Si vous le souhaitez, vous pouvez extraire le texte et l'envoyer par e-mail, une lettre physique, un code Morse, des signaux de fumée, des ondes gravitationnelles dans le temps via un trou noir ou une danse interprétative - à vous de choisir.

Electrum vous donne la possibilité d'extraire ce texte et de l'enregistrer, before c'est signé, après c'est signé, ou dans un cadre multisignature quand c'est partiellement signé.

Multisignature is particularly interesting. If there are for example 3 key holders around the world, you can sign a transaction on your computer, extract the partially signed Bitcoin transaction, envoyez-la par e-mail (ou un code QR lors d'un appel vidéo) à un autre participant à l'étranger, il peut l'importer, la signer, puis l'envoyer à la 3ème personne pour signature et diffusion. Non, ce n'est pas unique à Electrum, j'aime juste la façon dont Electrum le gère. Le flux de travail n’est cependant pas intuitif et demande de la pratique.

Payer à plusieurs (PayJoin et CoinJoin)

Il existe une fonctionnalité cachée (recherche dans les menus) où vous pouvez choisir plusieurs destinations (plusieurs sorties) lors de vos dépenses. Par exemple vous pouvez prendre 6.15hXNUMX bitcoin, et envoie 0.01 bitcoin à 615 employés différents, le tout en une seule transaction. Cette fonctionnalité vous permet de créer des PayJoins manuellement - quelque chose que seule une minorité de personnes ferait, ou même comprendrait, mais c'est néanmoins cool.

Pay to Many vous permet également de créer vos propres CoinJoins manuels. Pour plus d'informations sur ce que c'est et comment le faire, voir ce guide.

Limite d'écart

Une fonctionnalité importante que tous les portefeuilles ne possèdent pas est la possibilité de définir la limite d'écart. Comme je l'ai mentionné plus tôt, chaque portefeuille est une collection de 8.6 milliards d'adresses. Le portefeuille logiciel doit se connecter à un nœud et demander si une adresse a bitcoin associated with it. It’s not going to check all 8.6 billion of them. Electrum asks for the first 20 addresses. If they are uded, it will ask for another 20, and so on. It will keep this up until the node returns 20 unused addresses in a row.

C'est une façon d'expliquer que la limite d'écart par défaut est de 20, mais vous pouvez la modifier. Pourquoi voudrais-tu? Parce que parfois les commerçants permettent aux clients de produire bitcoin s'adresse via une application de paiement (comme mon page de dons, indice-indice). Si les 20 premiers clients établissent des factures (une adresse chacun, donnée séquentiellement par l'application), puis que le 21e client génère une facture et paie, le portefeuille Electrum apparaîtra vide. Cela se produit parce que les 20 premières adresses seront interrogées, jugées inutilisées, puis Electrum arrêtera la recherche. Electrum vous permet de modifier la limite d'écart, par exemple à 500, mais il n'y a pas d'instructions, vous devrez rechercher en ligne ou la trouver ici :

Vous devrez d'abord aller dans le menu : view→show console, puis taper cette commande dans la console (bien sûr le "500" peut être changé en un autre nombre) :

portefeuille.change_gap_limit(500)

Avec cette commande, vous verrez 500 nouvelles adresses dans la fenêtre d'adresse.

Regarder des portefeuilles

Ce sont des portefeuilles sans clés privées, nécessaires pour que les portefeuilles matériels puissent se connecter. La plupart des personnes disposant d'un portefeuille matériel utilisent le logiciel de l'ordinateur fourni avec l'appareil, mais il ne s'agit généralement pas d'un logiciel open source. Electrum est une alternative qui peut être utilisée avec n'importe quel périphérique matériel.

Ordinateurs isolés

Il est possible d'installer Electrum sur un ordinateur qui ne peut jamais se connecter à Internet (ordinateur Air Gapped). Cet ordinateur peut être utilisé pour vérifier que la phrase de départ fournie par un portefeuille matériel a créé les adresses correctes à partir de la graine.

Par exemple, vous pouvez acheter un portefeuille matériel BitBox02, et il crée une graine de 24 mots pour vous, et à partir de là, créez des adresses (avec les clés privées associées cachées). En fonction de votre niveau de paranoïa (et de la quantité de bitcoin you are storing), you might choose not to trust the embedded software, and assume at first that the addresses it creates belong to the CEO to start with.

Pour vérifier que les adresses sont authentiques, vous devez mettre les mots clés dans (restaurer) un autre portefeuille - par exemple Electrum ; et assurez-vous qu'Electrum génère des adresses identiques. C'est assez facile, mais vous ne pouvez pas simplement taper des graines dans n'importe quel vieil ordinateur avec Electrum dessus. Bien toi vous mais vous ne devriez vraiment pas le faire - les logiciels malveillants peuvent potentiellement extraire vos frappes et voler votre bitcoin.

Une solution consiste à entrer les graines dans Electrum sur un ordinateur propre et sécurisé (ou un portefeuille matériel de marque différente).

Le moyen le moins cher est avec un Raspberry Pi Zero - Ils coûtaient environ 10 $ avant les pénuries induites par la pandémie. La puce ARM de ces appareils signifie que tous les portefeuilles logiciels ne sont pas compatibles. Electrum est et fonctionne magnifiquement.

Voici comment créer le vôtre. C'est comme un signataire de graine mais il a toutes les fonctionnalités d'Electrum.

Signer/Vérifier un message

A Bitcoin une transaction est un paiement qui contient une pièce qui était auparavant « verrouillée » par une adresse. Pour débloquer la pièce (dans le respect des règles de Bitcoin) and be allowed to spend it, using public/private key cryptography, one must prove they own the private key to the address contained within. That is done with a signature (using the private key, but not revealing it).

La transaction signée est elle-même un message ; un peu de données informatiques, bien que suivant un protocole strict.

Utilisation de la cryptographie à clé publique/privée, en dehors de Bitcoin, vous pouvez réellement signer N'IMPORTE QUEL message. Par exemple, voici un message que j'ai signé après avoir sélectionné une adresse (et donc sa clé privée). Vous trouverez ci-dessous le message, l'adresse et la signature (texte qui semble absurde), qui ont été produits après avoir cliqué sur « signer ».

Maintenant, vous ou n'importe qui pouvez prendre l'adresse, le message et la signature, le mettre dans Electrum (ou un autre logiciel), et vérifier que c'était vraiment la bonne clé privée (correspondant à l'adresse) qui a produit ce message (c'est en fait le même type de vérification que Bitcoin les nœuds font pour n'importe quel Bitcoin transaction). J'ouvrirai un autre portefeuille qui ne possède pas la clé privée appropriée, pour démontrer la vérification. Je suis allé dans la fenêtre « Vérifier le message », puis j'ai entré tous les détails comme vous le voyez ci-dessus, puis j'ai cliqué sur Vérifier :

Chiffrer/déchiffrer un message

Au lieu de signature un message avec cryptographie à clé publique/privée, la sortie peut être un crypté version du message (c'est-à-dire mélangée et illisible) en utilisant la clé/l'adresse publique de quelqu'un d'autre. La version cryptée peut ensuite être envoyée à toute personne disposant de la clé privée correspondante, car le texte ne peut être lu que lorsque la clé privée est utilisée pour inverser le processus.

Par exemple, on aurait pu vous donner mon bitcoin clé publique, j'ai chiffré ce message comme ci-dessus, m'a envoyé le texte chiffré (le texte aléatoire dans le champ du bas), et comme j'ai la clé privée de la clé publique, je peux inverser le message chiffré sous la forme originale et lire votre message de mauvaise pensée. De cette façon, vous pouvez m'envoyer du texte via un canal de communication non sécurisé, et moi seul peux le lire.

C'est la magie de la cryptographie à clé publique/privée, et l'un des principaux composants qui ont permis Bitcoin possible. We should all be thankful that the cypherpunks fought hard, and won, against the US government who tried to ban it in the 1990s.

Résumé

Il s’agissait d’une longue revue du portefeuille de bureau Electrum. J'espère que cela a éveillé votre intérêt pour apprendre à l'utiliser - je publierai un guide à ce sujet très bientôt. En attendant, cela vaut peut-être la peine de pratiquer des techniques très basiques. Bitcoin transactions by following cet exercice.

Ceci est un article invité par Arman The Parman. Les opinions exprimées sont entièrement les leurs et ne reflètent pas nécessairement celles de BTC Inc ou Bitcoin Magazine.

Source primaire: Bitcoin Magazine