Hechos clave:
-
Un atacante potencial necesitaría revelar su información y gastar más para afectar los nodos.
-
El acceso a los datos públicos no revelaría información crucial de los nodos y usuarios de Bitcoin.
Bitcoin es una red sin permisos que tiene como objetivo establecer un consenso sobre los datos públicos que se transmiten y archivan. Desde entonces, varios desarrolladores han estado trabajando en una propuesta de mejora de Bitcoin (BIP) que se centra en el transporte de mensajes P2P entre nodos de la red. Esta actualización protegerá a los nodos de los ataques y la censura mediante el cifrado “oportunista” de los mensajes. También reduciría ligeramente el ancho de banda requerido por las conexiones de red.
El BIP-324 fue originalmente propuesta por el desarrollador Jonas Schnelli en 2019. Desde entonces, otros desarrolladores destacados han participado en su programación, como Marko Falke, quien fue el principal mantenedor de Bitcoin, y pieter willequien propuso la mejora SegWit y es una de las personas que más ha contribuido al desarrollo de Bitcoin.
La motivación para un cambio en el protocolo P2P de Bitcoin parte de las condiciones de la versión actual, donde los datos transmitidos entre nodos son de naturaleza pública y las conexiones sin autenticación y encriptación pueden revelar información privada de los usuarios.
El protocolo P2P de Bitcoin es el sistema mediante el cual se ejecuta el consenso de la red. Porque es una red distribuida de computadoras en todo el mundo, intercambiando datos financieros en una red pública, los participantes comparten información entre sí para transmitir datos y conocer el estado del archivo de las transacciones. Actualmente, estas conexiones son fáciles de inspeccionar, por lo que la nueva versión implementará métodos de privacidad.
Limitaciones y riesgos del actual protocolo P2P de Bitcoin
Como explicar Según los desarrolladores de BIP-324, el protocolo P2P actual “tiene serios inconvenientes en presencia de atacantes” porque los datos se transmiten a través de texto sin formato. Esta condición permite exponer los metadatos de un mensaje y podría revelar información crucial del usuario.
Por ejemplo, “un atacante pasivo global que escucha a escondidas todas las conexiones P2P de Bitcoin puede identificar trivialmente la fuente y el momento de una transacción”, dicen. Además, las conexiones entre nodos se pueden manipular de forma económica con poco riesgo de detección, porque no es necesario mantener ningún estado para interactuar con la red.
Por otro lado, un atacante solo necesita inspeccionar los paquetes de datos, buscando una secuencia fija de “bytes mágicos” que identifican este tipo de conexión P2P, para revelar la conexión.
Como explican los desarrolladores del BIP-324:
La capacidad de detectar conexiones permite la censura y facilita los ataques antes mencionados, así como otros ataques que requieren que el atacante controle las conexiones de las víctimas, por ejemplo, ataques de eclipse dirigidos a mineros.
BIP-324, versión 2 del protocolo Bitcoin P2P
¿Qué es BIP-324 y cómo aborda los riesgos de ataque de Bitcoin?
La nueva versión del protocolo Bitcoin P2P (v2) propone el uso de “cifrado oportunista no autenticado” de las conexiones entre los nodos de la red, con el objetivo de aumentar los costes para realizar ataques (por ejemplo, si alguien intenta realizar a ataque de hombre en el medio). Esto también afecta a los espías pasivos, debido a porque el flujo de bytes se vuelve pseudoaleatorio (indistinguible de los bytes uniformemente aleatorios).
Esto significa que si un atacante intenta aprender una conexión de los nodos que usan BIP-324, debe exponer su estado y gastar recursos, “ya sea realizando un ataque persistente de intermediario (MitM), degradando las conexiones a la versión 1 o haciendo girar sus propios nodos y obteniendo nodos honestos para hacer conexiones”.
Un flujo de bytes pseudoaleatorio excluye las técnicas de identificación basadas en coincidencia de patrones y facilita la configuración del flujo de bytes para imitar otros protocolos utilizados en Internet. Esto aumenta el costo de un firewall de censura de conexión, obligándolos a recurrir a un ataque completo de hombre en el medio u operar en una lista de permitidos más obvia, en lugar de una lista de bloqueo.
BIP-324, versión 2 del protocolo Bitcoin P2P
Desde que se propuso el protocolo, sus desarrolladores han estado escribiendo código para su implementación, que en principio no requerirá una bifurcación de la red.
Entre las mejoras que se han adelantado, se encuentra la solicitud de incorporación que Pieter Wuille publicó recientemente en GitHub para que otros desarrolladores lo revisaran, llamado ElligatorSwift.
Elligator Swift es un formato de cifrado especial de 64 bytes para claves públicas, que genera matrices de 64 bytes para cada clave codificada. Esto permite una codificación aleatoria uniforme para cada clave pública o clave privada, que se utiliza para la fase de intercambio de datos en BIP-324. Por lo tanto, se crea un flujo de bytes pseudoaleatorio, “incluso antes de que se establezca la clave de cifrado compartida”.
BIP-324 está bajo revisión, pero todo indica que en el futuro será el protocolo estándar de Bitcoin, por sus propiedades para dificultar el rastreo de transacciones, la potencial censura de los gobiernos mediante el bloqueo de servidores de Internet que pudieran identificar conexiones P2P y el incremento de costos para potenciales atacantes que intenten manipular dichas conexiones.