Nombreux sont ceux qui recherchent actuellement des alternatives à ElectrumX. Nous avons donc pensé que c’était l’occasion de mettre en lumière certaines des nouvelles options permettant de faire tourner un serveur Electrum, en particulier Esplora de Blockstream, un explorateur de blocs open-source qui est désormais proposé avec un serveur Electrum qui permet de traiter un nombre important de requêtes.
Faites tourner votre propre serveur Electrum
Le wallet Electrum se connecte par défaut à un ensemble aléatoire de serveurs Electrum. Cela pose un problème de confidentialité car des tiers inconnus ont ainsi connaissance des adresses de vos wallets et de leur solde. Il est de notoriété publique que de nombreux serveurs Electrum sont gérés par des entreprises spécialisées dans la surveillance de la blockchain, ou pire. Si vous utilisez Electrum comme wallet, nous vous recommandons donc, dans la mesure du possible, d’avoir votre propre serveur Electrum et d’y connecter votre wallet.
Les développeurs travaillant sur des applications Bitcoin doivent évaluer attentivement ces différentes options, car chaque implémentation de serveur Electrum propose des compromis différents. Certaines implémentations sont ainsi plus appropriées à un usage qu’à un autre.
La bonne nouvelle, c’est que les solutions pour avoir son propre serveur Electrum sont de plus en plus nombreuses, chacune s’adaptant ainsi aux besoins des différents types d’utilisateurs. Nous allons les présenter ici.
ElectrumX par Electrum
Récemment forké de la version originale d’ElectrumX et désormais géré par l’équipe officielle d’Electrum, ElectrumX par Electrum est plus performant que d’autres solutions destinées à une utilisation personnelle. Il comprend un protocole de découverte P2P qui permet aux applications wallet de se connecter automatiquement. Ces éléments en font une excellente solution pour la l’installation de serveurs Electrum publics.
Electrum Personal Server
Electrum Personal Server (EPS) est moins performant que ElectrumX ou Electrs, mais il est aussi plus facile à installer et à connecter à un nœud Bitcoin, ce qui en fait un très bon choix pour ceux qui souhaitent installer un serveur Electrum privé pour leur usage personnel. Il est aussi beaucoup moins gourmand en ressources qu’ElectrumX ou Electrs, qui doivent réaliser un index complet des transactions ; il peut donc tourner sur des machines peu puissantes.
Bitcoin Wallet Tracker
Combiné avec le récent plugin pour Electrum, Bitcoin Wallet Tracker (BWT) propose une installation simplifiée en un clic, et devrait rapidement devenir une option populaire pour les serveurs Electrum à usage personnel. Implémenté en Rust, BWT est suffisamment performant pour servir de backend pour des wallets Bitcoin et des processeurs de paiement. Il peut même fonctionner avec une blockchain “élaguée”. Cependant BWT en est encore à un stade précoce de son développement et pourrait encore souffrir de bugs, prudence donc !
Electrs
Electrs est une implémentation légère d’un serveur Electrum écrite en Rust qui fournit un index de toutes les transactions Bitcoin et pas seulement celles de l’utilisateur, comme le font Electrum Personal Server ou Bitcoin Wallet Tracker. Cela se fait au prix d’une consommation de ressources plus importantes. Cependant, comme il stocke moins d’informations en cache, Electrs n’est pas aussi résistant aux attaques Dos, ni aussi performant qu’Esplora (cf ci-dessous) ou ElectrumX. Il reste une excellente option pour les réseaux locaux ou les déploiements avec des capacités de stockage réduites, et jouit d’un temps de synchronisation excellent.
Esplora
Esplora de Blockstream est l’explorateur de blocs open-source qui utilisé par l’explorateur de blocs officiel de Blockstream de nombreux autres projets, tels que l’explorateur de Bitcoin Magazine, de Mempool, et de Light Nite.
Ce que l’on sait moins c’est qu’Esplora contient également un serveur Electrum optimisé basé sur un fork d’Electrs maintenu séparément. Grâce aux nombreuses améliorations et optimisations apportées par notre équipe au cours des deux années écoulées, Esplora est devenu l’une des solutions les plus rapides et les plus scalables pour un serveur Electrum de l’environnement Bitcoin. Esplora est aussi le seul serveur Electrum prenant en charge le Lightning Network.
Esplora est aussi utilisé pour l’authentification par un deuxième facteur dans le backend de notre serveur Blockstream Green. Globalement, c’est un excellent choix pour une API de wallet haut débit.
Indexation élargie pour plus de vitesse et de scalabilité
Contrairement à Electrs, qui doit interroger un nœud Bitcoin pour répondre à la plupart des requêtes (c’est lent !), Esplora crée une base de données complète de la blockchain, et n’a donc pas besoin d’interroger un nœud Bitcoin à chaque demande. Une fois cet index réalisé, la dépendance d’Esplora au nœud Bitcoin se limite à la mise à jour du cache de la mempool de façon asynchrone et à la réception des notifications pour les nouveaux blocs.
Grâce à son indexation exhaustive, à l’utilisation du cache et au pré-remplissage des résultats, Esplora permet une recherche plus rapide des adresses, offre une meilleure résistance aux attaques par déni de service, et permet l’import automatique de plusieurs wallets.
Le prix à payer c’est que tout ceci nécessite davantage d’espace disque et de temps d’indexation qu’Electrs ou d’autres serveurs Electrum conçus pour un usage personnel (EPS et BWT).
La découverte de pairs
Jusqu’à aujourd’hui, ElectrumX était le seul serveur qui permettait la découverte de pairs, ce qui a fait que presque tous les wallets Electrum étaient dépendants de serveurs utilisant la version originale d’ElectrumX. Cette semaine, nous avons ajouté la découverte de pairs en option dans Esplora, ce qui en fait la seule alternative à ElectrumX pour opérer un serveur Electrum public ouvert aux connexions.
Voudriez-vous un explorateur de blocs en plus de tout ça ?
Même si la configuration avancée pourrait décourager certains utilisateurs de serveurs personnels, Esplora est une option intéressante pour ceux qui ont à la fois besoin d’un serveur Electrum et d’un explorateur de blocs personnels. En combinant les deux, Esplora peut faire gagner beaucoup de temps aux utilisateurs qui n’ont pas besoin d’installer les deux séparément.
Aussi léger que nécessaire
Ceux qui prévoient une utilisation personnelle uniquement peuvent activer le mode léger de Blockstream Esplora. Cela permet de réduire significativement l’espace disque requis au prix d’une capacité moindre à traiter un nombre important de requêtes ainsi qu’une moindre résistance aux attaques par déni de service. Le mode léger conserve les fonctionnalités d’explorateur de blocs et de serveur Electrum, ses performances sont largement suffisantes pour une utilisation domestique ou dans une petite entreprise.
Se connecter au serveur Electrum de Blockstream
Même si nous recommandons toujours aux utilisateurs d’avoir leur propre serveur Electrum, le serveur officiel de Blockstream accepte toutes les connexions. Vous trouverez les informations nécessaires ci-dessous. Ce serveur est opéré selon les mêmes principes que l’explorateur Blockstream : pas de logs, pas de tracking, accessible via Tor.
Connexions TCP
Adresse | blockstream.info |
Adresse Tor v2 | explorernuoc63nb.onion |
Adresse Tor v3 | explorerzydxu5ecjrkwceayqybizmjjznk5izmitf2modhcusuqlid.onion |
Port Mainnet | 110 |
Port Liquid | 195 |
Port Testnet | 143 |
Connexions TLS
Adresse | blockstream.info |
Port Mainnet | 700 |
Port Liquid | 995 |
Port Testnet | 993 |
Se lancer avec Esplora
Le plus rapide pour commencer à utiliser Esplora est d’utiliser Docker. Vous devez d’abord construire le container puis configurer Esplora pour le mainnet de Bitcoin.
Il est important de noter que si l’index nécessite environ 600GB d’espace de stockage après compactage, vous aurez besoin d’environ 1TB d’espace libre pour le processus d’indexation initial (sans compactage).