Electrum Server
Un Electrum server expose les données du nœud Bitcoin Core via le protocole Electrum (Stratum). Indispensable pour les wallets light (Electrum, Sparrow). Self-hosting recommandé pour la vie privée.
Définition
Un Electrum server est un logiciel qui agit comme intermédiaire entre Bitcoin Core (le nœud complet) et les wallets light implémentant le protocole Electrum. Sa mission : transformer la base de données par bloc/UTXO de Core en une base indexée par adresse, et exposer cette information via un protocole réseau standardisé (basé sur Stratum, ports 50001 en TCP et 50002 en TLS).
Pourquoi ça existe
Un nœud Bitcoin Core ne sait pas répondre à la question : « quelles sont les transactions liées à cette adresse ? ». Pour le savoir, il devrait scanner toute la blockchain à chaque requête. C'est inacceptable pour un wallet qui consulte 1 000 adresses au démarrage. Un Electrum server résout ce problème en construisant et maintenant un index par script (scriptPubKey). Le wallet pose ensuite des questions optimisées :
blockchain.scripthash.get_balance: solde d'une adresse.blockchain.scripthash.get_history: historique des transactions.blockchain.scripthash.subscribe: notification temps réel.blockchain.transaction.broadcast: diffuser une transaction.
Les implémentations principales
| Implémentation | Langage | Caractéristiques | |---|---|---| | ElectrumX | Python | L'historique, encore largement utilisé | | Electrs (Zeyde) | Rust | Léger, populaire sur Raspberry Pi | | Electrs (Blockstream) | Rust | Fork avec REST API et Esplora | | Fulcrum | C++ | Le plus rapide, hungry en RAM | | EPS (Electrum Personal Server) | Python | Mode mono-utilisateur (déprécié) |
Pourquoi self-host
Quand votre wallet Electrum se connecte à un serveur public (du type electrum.blockstream.info), il lui envoie en clair toutes vos adresses dérivées. Le serveur peut donc reconstituer votre cluster d'adresses, votre solde total, vos schémas de dépense. Un opérateur malveillant ou compromis peut vendre ces données à des sociétés de blockchain analysis. C'est un risque de confidentialité majeur, souvent sous-estimé.
Self-héberger un Electrum server (Electrs, Fulcrum) sur votre propre Raspberry Pi ou mini-PC, derrière Tor, élimine entièrement cette fuite. Le coût : un SSD de 2 To, ~12 à 36 h de sync initiale, quelques watts en continu.
Considérations de performance
| Élément | Recommandation 2026 | |---|---| | Stockage | SSD NVMe, 2 To pour les années à venir | | RAM | 4 Go minimum (Electrs), 8-16 Go (Fulcrum) | | CPU | ARM (Raspberry Pi 5) ou x86 | | Réseau | Bande passante symétrique souhaitable | | OS | Linux / Umbrel / Start9 / NixOS |
Sécurité
Un Electrum server expose un port réseau. Quelques règles :
- Ne jamais l'exposer en clearnet sans TLS et authentification.
- Privilégier l'exposition via un hidden service Tor.
- Limiter les connexions entrantes par IP.
- Mettre à jour régulièrement (failles de parsing protocol fréquentes).
- Vérifier les signatures GPG des releases.
À retenir
L'Electrum server est l'un des piliers de la self-custody confortable et privée. Sans lui, soit on dépend d'un tiers (mauvais pour la vie privée), soit on doit faire tourner un wallet full node lourd. Voir Electrs et Fulcrum pour les implémentations modernes.
Termes lies
- Electrum (wallet)Electrum est un wallet desktop historique (Thomas Voegtlin, 2011). Light, hardware-friendly, multisig. Personnellement, configurable jusqu'aux multisigs avancés. À utiliser avec son propre Electrum server.
- ElectrsElectrs (Electrum Rust Server) est l'indexer open-source utilisé par les wallets Electrum. Léger, performant. Tourne sur la plupart des box (Umbrel, Start9). Alternative à Fulcrum.
- FulcrumFulcrum est un indexer Electrum très performant (C++). Plus rapide qu'Electrs sur les gros wallets. Utilisé par les power users et services. Le successeur naturel pour qui a la RAM.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.