Blockchain/Nivel X · Cerrando el círculo/10.2 La receta/Lección 6
Paso 6: tu propio nodo
La suma de verificación, el índice y la máquina que dice no
MaterialesUna computadora con unos 20 GB libres para un nodo simplificado, o 1 TB para un nodo completo.Software GPG instalado para verificar las firmas de los desarrolladores en los archivos descargadosUn indexador local compatible con Electrum, como Fulcrum o electrs.
Curiosidad
- ¿Cómo puede un usuario verificar que el software que descargó no ha sido modificado por un atacante intermedio o por un repositorio comprometido?
- ¿Por qué conectarse a un servidor público para verificar el saldo es equivalente a revelar su situación financiera a un tercero, y cómo resuelven esto los indexadores locales?
- ¿Cuál es la diferencia entre validar una transacción a través de una autoridad remota y verificar de forma independiente sus reglas en relación con la cadena?
Explorar
- Bitcoin Core (lección 3.1.5) valida cada bloque desde el origen hasta el más reciente, asegurándose de que todos cumplan con las reglas de consenso. Antes de ejecutar cualquier versión, los usuarios deben verificar su integridad utilizando los archivos SHA256SUMS y SHA256SUMS.asc. Estos contienen hashes criptográficos firmados por varios desarrolladores independientes. Al importar sus claves públicas GPG y verificar las firmas, el usuario confirma que el binario coincide con lo publicado por los desarrolladores de confianza, evitando así la ejecución de código manipulado que podría robar claves o dañar datos.
- La descarga inicial del bloque (IBD) obtiene y verifica toda la cadena, que supera con creces los 600 GB, y tarda desde varias horas hasta días, dependiendo del hardware y de la conexión. Un nodo completo guarda ese historial en el disco. Un nodo podado valida cada bloque pero solo conserva los más recientes (el valor mínimo es prune=550, en MiB); por lo tanto, con el conjunto UTXO ocupa aproximadamente entre 10 y 20 GB. Ambos tipos aplican las reglas de consenso de forma independiente, lo que permite a los usuarios rechazar transacciones inválidas antes de que ingresen a su propio mempool.
- Las billeteras de software suelen conectarse a servidores remotos para obtener información sobre los saldos y transmitir transacciones. Esto revela las direcciones y saldos de la billetera al operador de dicho servidor. Para mantener la privacidad, los usuarios pueden ejecutar una implementación local del servidor Electrum, como Fulcrum o electrs, junto con Bitcoin Core. Estos indexadores ofrecen una API compatible con las billeteras estándar, pero funcionan localmente en la máquina del usuario. Al conectar la billetera a esta instancia local, se asegura de que el historial de direcciones y los datos de saldos nunca salgan del perímetro de red del usuario.
- La conexión directa RPC es otro método para integrar una billetera con Bitcoin Core, evitando por completo los servidores intermedios. Este enfoque permite a los usuarios avanzados personalizar la estructura de las transacciones y la lógica de tarifas directamente desde su propio nodo. Ya sea utilizando RPC o un indexador compatible con Electrum, la diferencia clave es que la fuente de datos pertenece al usuario. El nodo verifica localmente el conjunto de UTXO, confirmando que los fondos no han sido utilizados y son válidos según las reglas del protocolo antes de firmar cualquier cosa.
- Ejecutar un nodo traslada la confianza de los intermediarios centralizados a la verificación matemática. Un nodo local también transmite las transacciones del propio usuario, por lo que ningún servidor de billetera puede rechazarlas o registrarlas en secreto. El compromiso es el costo del hardware y la responsabilidad de su mantenimiento: los usuarios deben encargarse de las actualizaciones de software, la expansión del disco y el tiempo de funcionamiento continuo. Sin embargo, esta autonomía garantiza que la falla de cualquier entidad individual —intercambio, proveedor de billeteras o operador de servidores— no genere pérdida de acceso ni control sobre los fondos.
- Verifique la configuración. En Bitcoin Core, ejecute getblockchaininfo y confirme que el número de bloques sea igual a la altura actual en un explorador público y que initialblockdownload sea false; compare getbestblockhash con el hash del último bloque del explorador. En la configuración del servidor de la billetera, confirme que apunte a su propio nodo o al servidor de Electrum y no a uno público. Si los saldos se cargan con los servidores públicos desactivados, la billetera está leyendo desde su propio nodo.
Datos clave
- Los archivos SHA256SUMS.asc son firmados por varios desarrolladores independientes para verificar la integridad del binario de Bitcoin Core.
- Un nodo podado valida todos los bloques pero solo conserva los más recientes, ocupando aproximadamente de 10 a 20 GB.
- Ejecutar indexadores locales como Fulcrum o Electrs evita que las direcciones de billetera y sus saldos sean revelados a servidores de terceros.
- La descarga inicial de bloques verifica más de 600 GB de bloques y lleva horas o días.
- La conexión RPC directa permite que las billeteras interactúen con Bitcoin Core sin capas de servidor intermedias.
- Un nodo local valida las transacciones de forma independiente según las reglas de consenso, rechazando los datos inválidos antes de su difusión.
Ejercicio nueve, seis, tres, uno
9ReunirEnumere 9 componentes o pasos distintos involucrados en la configuración y verificación de un entorno de nodo completo personal de Bitcoin.
6AgruparAgrupe los 9 elementos en 6 categorías según su función: verificación de fuentes, gestión del almacenamiento, sincronización de red, protección de la privacidad, integración de software o mantenimiento.
3DestilarReduzca los 6 grupos a 3 razones principales por las cuales ejecutar un nodo local ofrece ventajas de seguridad en comparación con depender de servicios públicos.
1CristalizarLa autoválidación reduce los costos de cómputo y almacenamiento, pero implica depender de la confianza en datos internos en lugar de en terceros.
Verificación de hechos
Fechas, cifras y afirmaciones verificadas con las fuentes publicadas que se enumeran a continuación.