¿Qué es una conexión de solo relé de bloque? ¿Para qué se usa esto?

Las versiones modernas del núcleo de bitcoin establecen un número fijo de conexiones salientes: 8 conexiones salientes de retransmisión completa y 2 conexiones de solo retransmisión en bloque . ¿Cuál es el propósito de las conexiones de solo relé de bloque y cómo se usan?

Aquí hay dos entradas de registro de ejemplo de un nodo que establece estas conexiones:

2022-03-10T14:50:36Z New outbound peer connected: version: 70015, blocks=726709, peer=1566 (outbound-full-relay)
2022-03-10T14:55:28Z New outbound peer connected: version: 70016, blocks=726710, peer=1576 (block-relay-only)

Aquí hay una consulta CLI de ejemplo que muestra todos los pares conectados:

$ bitcoin-cli -netinfo
Bitcoin Core v22.0.0 - 70016/Satoshi:22.0.0/

            ipv4    ipv6   onion   total   block  manual
    in         0       0      24      24
    out        2       0       9      11       2       1
    total      2       0      33      35

Local addresses
REDACTED     port   8333    score      4

Nota: este nodo tiene una addnodeentrada en su bitcoin.confarchivo. Los nodos conectados de esta manera no cuentan para los límites de conexión de salida 8 y 2, por lo que esto agrega un 11.º par de salida adicional.

Respuestas (1)

Se agregaron conexiones de relé de bloque al núcleo de bitcoin en v0.19.0.1 en noviembre de 2019. Su propósito es fortalecer la red peer-to-peer contra ataques de partición. Lo hacen a través de una inteligente combinación de factores:

Protección contra fugas de información de topología de red

Un nodo bitcoind no chismeará sobre la dirección o la información de la transacción a través de una conexión de solo relé de bloque . Esto evita que el nodo pierda información de topología de red. Un mapa de topología de red puede ser peligroso por dos razones:

  • Se puede utilizar para rastrear la IP de origen de una transacción de bitcoin.
  • Se puede utilizar para realizar un ataque de eclipse.

Aumente las conexiones salientes sin aumentar significativamente el tráfico de red

Los mensajes de chismes de direcciones y transacciones constituyen la mayor parte del consumo de ancho de banda de la red de un nodo. Por lo tanto, agregar conexiones salientes adicionales que no chismeen estos mensajes permite un gráfico de red más estrechamente integrado con un impacto muy limitado en el ancho de banda requerido para ejecutar un nodo.

Nodos de anclaje

Normalmente, un nodo de bitcoin se conectará a pares aleatorios al inicio. Una conexión ancla es una conexión de nodo saliente que persiste después de un reinicio. Las conexiones de solo relé de bloque se convirtieron en conexiones ancla en la versión 0.21.0 lanzada en enero de 2021.

Las conexiones ancla protegen de un ataque de reinicio remoto, que es el vector más probable de un ataque de eclipse. El ataque funciona así:

  • Inunde el administrador de direcciones del nodo de destino con direcciones de nodos maliciosos.
  • Use algún otro exploit para forzar el reinicio del nodo de destino (o espere una actualización de software). Esto engaña al nodo de destino para que borre sus conexiones salientes y se conecte solo a nodos maliciosos.

Demasiados nodos de anclaje pueden ser algo malo porque afianzará una conexión de nodo malicioso y dificultará que un nodo se defienda o se recupere de un ataque de eclipse. También pueden hacer que el gráfico de topología de red sea más estático y, por lo tanto, más fácil de mapear y particionar. Pero definitivamente desea tener algunos nodos de anclaje para protegerse de los ataques de eclipse de reinicio remoto con cierta redundancia. El uso de conexiones de solo relé de bloque como conexiones de anclaje logra un buen equilibrio en este sentido. Esta configuración también se beneficia del hecho de que las conexiones de solo retransmisión en bloque son difíciles de detectar para un atacante debido a la falta de mensajes ADDR y TX.

Las conexiones de anclaje fortalecen la red entre pares mediante el principio de "un par honesto". Siempre que un nodo de bitcoin esté conectado a un par honesto, podrá mantenerse informado sobre la cadena de bloques válidos con la mayor prueba de trabajo total. El nodo puede confiar en el costo infalsificable de la prueba de trabajo como la máxima garantía de seguridad. Esto, a su vez, depende de que un atacante no obtenga el control de la mayoría del poder hash en la red. En pocas palabras, los nodos de retransmisión de solo bloque vinculan el modelo de seguridad de igual a igual más estrechamente con el modelo de seguridad de prueba de trabajo.

Recursos adicionales