
El equipo de desarrollo de Bitcoin Core publicó en X el 12 de junio, confirmando que la nueva funcionalidad -privatebroadcast introducida en la versión 31.0 de Bitcoin Core tiene una vulnerabilidad de privacidad: en determinadas condiciones de red, si falla el handshake v2, se conectará a los pares del destinatario mediante IPv4 o IPv6, revelando así al receptor la dirección IP en claro del emisor.
De acuerdo con el anuncio oficial de Bitcoin Core, el nodo solo se ve afectado por esta vulnerabilidad cuando se cumplen simultáneamente las siguientes cinco condiciones:
· El nodo ejecuta Bitcoin Core 31.0 y ya tiene habilitada la función -privatebroadcast
· Las transacciones se difunden mediante el comando RPC sendrawtransaction (los RPC de billetera como sendtoaddress, sendall, etc. no usan difusión privada, por lo que no se ven afectados)
· Puede establecer directamente conexiones de salida IPv4 o IPv6 (sin restricciones -onlynet y sin configuración -proxy=...)
· La transmisión BIP324 v2 no está deshabilitada (no se configuró -v2transport=0)
Las conexiones hacia pares onion e I2P no se ven afectadas, porque en cualquier reintento v1, estas conexiones siempre pasan por sus rutas de proxy respectivas.
Según la explicación oficial, el mecanismo para activar la vulnerabilidad es el siguiente: cuando los pares IPv4 o IPv6 seleccionados para la difusión privada admiten la transmisión v2 (BIP324), la conexión inicial se realiza como se espera mediante la ruta de proxy de Tor. Si el handshake v2 falla, Bitcoin Core intentará nuevamente usando el protocolo v1; este reintento v1 no pasa por el proxy de Tor, sino que se conecta directamente mediante IPv4 o IPv6, revelando así la dirección IP del iniciador.
Este comportamiento contradice la garantía de privacidad descrita en la versión 31.0: «El receptor nunca sabrá sus direcciones IP (y su ubicación geográfica)». El equipo de desarrollo confirmó que esta vulnerabilidad probablemente se activa de manera artificial al cerrar deliberadamente el handshake v2 por parte de un par malicioso, con el fin de forzar el reintento v1.
Bitcoin Core ofrece las siguientes tres soluciones temporales:
Opción uno (recomendada): deshabilitar directamente el ajuste -privatebroadcast configurándolo en -privatebroadcast=0
Opción dos: deshabilitar la transmisión v2 configurando -v2transport=0. Nota: este ajuste hará que todas las conexiones del nodo usen el protocolo v1 no cifrado, lo que facilita el reconocimiento por huella digital y la censura en la red pública.
Opción tres: enrutar el tráfico de salida IPv4/IPv6 hacia Tor configurando -proxy=127.0.0.1:9050 (reemplazar por el puerto SOCKS real de Tor). Nota: esta configuración hará que el nodo sea más susceptible a ataques de Sybil (Sybil Attack).
De acuerdo con el anuncio oficial de Bitcoin Core, los RPC de billetera (como sendtoaddress, sendall, etc.) no usan la función de difusión privada, por lo que no se ven afectados por esta vulnerabilidad. Esta vulnerabilidad solo se activará cuando se difunda mediante sendrawtransaction y se cumplan las otras cuatro condiciones restantes.
Según la explicación oficial, para los pares que realmente admiten la transmisión v2, normalmente no es probable que falle el handshake v2 en condiciones normales. Esta vulnerabilidad probablemente se activa de manera artificial al cerrar deliberadamente el handshake v2 por parte de un par malicioso para forzar el reintento v1.
Según el anuncio oficial de Bitcoin Core, la solución se publicará con la versión 31.1, pero el anuncio no proporciona una fecha de lanzamiento específica. La recomendación oficial es, antes de actualizar a 31.1, adoptar una de las tres soluciones temporales mencionadas.
Noticias relacionadas
Coinbase advierte un riesgo cuántico de 7 millones de BTC y propone tres soluciones clave
Circle lanza Arc Privacy para la protección de datos de blockchains empresariales
Circle lanza Arc Privacy para contratos inteligentes confidenciales
Informe diario de Gate (11 de junio): el programa de market maker automatizado de Raydium fue atacado; Tom Lee afirma que la oferta de Ethereum se está contrayendo