¿Ejecutar múltiples nodos BTC en máquinas virtuales separadas en la misma máquina host?

Tengo un servidor que funciona las 24 horas del día, los 7 días de la semana y me quedan muchos recursos. Quiero ejecutar un nodo de Bitcoin completo, pero en realidad, pensé en ejecutar algunas máquinas virtuales en él (usando virtualbox) y ejecutar un nodo de Bitcoin completo en cada una de ellas.

Obviamente, todos necesitarían usar diferentes puertos (que mi enrutador debe reenviar a las IP de LAN de VM particulares).

¿Funcionará eso, es decir, estarían en diferentes 'ubicaciones métricas' en la red de Bitcoin? (aunque tengan la misma ubicación física y la misma IP, por supuesto)

Motivo de este esfuerzo: estar 'lo más conectado posible' a diferentes partes de la red simultáneamente, como si tuviera múltiples nodos ejecutándose en diferentes ubicaciones físicas en todo el mundo.

Respuestas (1)

Tener varios nodos en ejecución lo ayudará a conectarse con más pares. El algoritmo detrás de la búsqueda de pares tiene en cuenta una variedad de variables, como la tasa de éxito de las conexiones anteriores y las direcciones IP que otros nodos transmiten. Por lo tanto, cuantos más nodos tenga en ejecución, mayores serán las posibilidades de conectarse a diferentes pares.

Esto significa que realmente no importa que se estén ejecutando en diferentes sistemas operativos. Puede ejecutar diferentes nodos en el mismo sistema operativo, en diferentes puertos. Esto sería lo mismo que ejecutarlos en diferentes máquinas virtuales.

Lo que importa aquí es la alta tasa de conexión entre pares, que se puede lograr ejecutando muchos nodos en diferentes puertos.

Ah, claro, sí, ¿entonces podría incluso ejecutar varias instancias de bitcoind en el mismo sistema operativo? (por supuesto, todos con diferentes configuraciones de bitcoin y directorio de trabajo) ¡Eso sería aún mejor!
Supongo que también necesitarían su propia copia de la cadena de bloques, ¿probablemente no puedan compartir esos datos en varias instancias? :)
Por cierto, ahora que lo pienso, si tengo 2 o más demonios de bitcoind ejecutándose (cada uno con su propio directorio de datos, configuración, puerto, etc.) e interactúo con ellos desde la interfaz de línea de comandos (como "bitcoind getinfo", etc. ) ¿cómo identificaría a qué instancia de bitcoind me refiero?
Recomiendo crear una cuenta de usuario separada para cada bitcoind. Luego, simplemente inicie sesión (o inicie sesión su) en cualquier cuenta y ejecute bitcoind getinfoesa instancia en particular. Así es como lo hago :-)