Electrum Server: conecta tu wallet a tu nodo
El problema que resuelve un servidor Electrum
Bitcoin Core no tiene noción de "saldo por dirección". Su base de datos registra el conjunto UTXO global, no un índice de transacciones por dirección. Cuando una billetera (wallet) como Sparrow o Electrum necesita mostrar el historial completo de una dirección o xpub, requiere un índice adicional. Los servidores Electrum construyen y mantienen ese índice, respondiendo a preguntas como "dame todas las transacciones que involucran a esta dirección" en milisegundos.
La alternativa habitual, conectarse a un servidor Electrum público (como electrum.blockstream.info), implica revelar al operador del servidor cada dirección y xpub que consultas. Un servidor propio elimina esa dependencia.
Las tres implementaciones principales
Electrs es la implementación más popular en entornos domésticos. Escrita en Rust, tiene una huella de memoria muy baja (menos de 500 MB en operación normal) y un diseño minimalista: no implementa el protocolo Electrum completo por sí sola sino que actúa como un índice que otras capas (como romanz/electrs o el fork iontzibar/electrs) exponen. Es la opción por defecto en Umbrel y Start9. Su principal limitación es la velocidad de construcción del índice inicial, que puede tomar 1–3 días.
Fulcrum está escrito en C++ y es significativamente más rápido tanto en la indexación inicial como en la respuesta a consultas. Benchmarks publicados por la comunidad muestran tiempos de respuesta 3–10x inferiores a Electrs bajo carga. Es la elección preferida para operadores que sirven a múltiples billeteras o que priorizan la velocidad. Requiere algo más de RAM (2–4 GB durante la indexación) y es algo más complejo de configurar.
ElectrumX es la implementación original en Python, escrita por Neil Booth. Es la más madura y la que soporta más variantes del protocolo Electrum, incluyendo monedas alternativas. En instalaciones modernas de Bitcoin-only ha sido desplazada por Electrs y Fulcrum en gran medida, pero sigue siendo referencia de protocolo y es la opción si necesitas compatibilidad con versiones antiguas de Electrum Wallet.
Requisitos de almacenamiento
El índice UTXO que construyen estos servidores es adicional a la cadena de bloques completa. En la práctica, Electrs genera un índice de aproximadamente 100–130 GB. Fulcrum genera un índice algo mayor, entre 110–150 GB dependiendo de la configuración. Sumado a los 500+ GB de la cadena, el almacenamiento total necesario para un nodo con servidor Electrum ronda los 650–700 GB, lo que eleva el mínimo recomendado de disco a 1 TB con margen.
Nota importante: un nodo podado no puede correr un servidor Electrum, porque el índice requiere acceso a todos los bloques históricos para construirse.
Conectar Sparrow Wallet al servidor propio
En Sparrow Wallet (versión de escritorio), la configuración del servidor se encuentra en File → Preferences → Server. Se selecciona "Private Electrum", se introduce la dirección del servidor (la IP local o la dirección .onion si usas Tor) y el puerto (por defecto 50001 para TCP, 50002 para SSL). Si el servidor está en Umbrel, la dirección .onion aparece en la interfaz de la app Electrs. Sparrow descargará el esquema de claves completo desde el servidor propio y mostrará el historial completo de la billetera sin contactar ningún servicio externo.
Para Electrum Wallet, el procedimiento es equivalente: Tools → Network → Server, desactivar "Select server automatically" e introducir la dirección y puerto.
El protocolo Electrum y sus consideraciones de seguridad
El protocolo Electrum (documentado en electrumx.readthedocs.io) es un protocolo cliente-servidor propietario, no un estándar abierto de Bitcoin como un BIP. Esto implica que las billeteras que lo usan tienen una dependencia de implementación específica. El servidor no puede robar fondos (nunca maneja claves privadas), pero sí puede mentir sobre el saldo o el historial de una dirección si está comprometido. Por esta razón, conectarse a un servidor propio —cuya integridad controlas tú— es materialmente superior en el modelo de seguridad a confiar en un servidor de terceros, incluso uno reputado.
Para operadores que quieran eliminar incluso esa dependencia, la alternativa es usar Sparrow Wallet en modo Bitcoin Core directo (RPC), que se comunica con bitcoind sin capa intermedia, aunque con menor rendimiento para carteras con muchas transacciones.
Debate abierto: ¿es el protocolo Electrum sostenible a largo plazo?
Algunos desarrolladores critican el modelo de servidor Electrum por centralizar el acceso al historial de billeteras en pocos servidores (en el caso público) y por requerir hardware significativo para autoalojarse. Alternativas en desarrollo como el protocolo BIP-157/158 (Neutrino) apuntan a que los clientes descarguen filtros y verifiquen localmente, sin requerir un servidor con índice completo. Sin embargo, en 2025 el servidor Electrum propio sigue siendo el estándar de facto para privacidad máxima con billeteras de escritorio.
Errores habituales
- Intentar instalar un servidor Electrum sobre un nodo podado: requiere el historial de bloques completo para construir el índice.
- Confundir Electrum Wallet (la billetera) con Electrum Server (el indexador de backend): son software completamente distinto.
- Asumir que conectarse a un servidor Electrum de confianza (como el de un amigo) ofrece la misma privacidad que el propio: el operador del servidor conoce tus xpubs y puede reconstruir tu historial completo.
Conceptos relacionados
Fuentes primarias
- Electrs – github.com/romanz/electrs
- Fulcrum – github.com/cculianu/Fulcrum
- ElectrumX – electrumx.readthedocs.io
- Electrum Protocol specification – electrumx.readthedocs.io/en/latest/protocol.html
- Sparrow Wallet documentation – sparrowwallet.com/docs