Taller - Montar un nodo Bitcoin y LND (Actualizado a Marzo 2019)

Que quiere decir los que anuncian su presencia? Se puede tener un nodo oculto o algo asi?

Tengo entendido que en los parámetros del nodo lo puedes configurar para que se anuncie su presencia en la red o para que no lo haga. También se dice que los que no anuncian su presencia son mucho más numerosos que los que la anuncian, de forma que hay muchos más nodos de lo que pensamos.
 
Tengo entendido que en los parámetros del nodo lo puedes configurar para que se anuncie su presencia en la red o para que no lo haga. También se dice que los que no anuncian su presencia son mucho más numerosos que los que la anuncian, de forma que hay muchos más nodos de lo que pensamos.


Habláis de nodos de Bitcoin o de LN ?
 
Nodos de bitcoin.


Entonces a lo que llamais "ocultos" son nodos que estan detras de un router que no deja pasar las conexiones entrantes. Es decir, ese nodo puede abrir conexiones salientes hacia otros nodos (8 maximo por defecto) pero no puede recibir conexiones de otros nodos. Como las paginas esas en las que mirais los nodos que estan activos no pueden conectarse a esos nodos, no los contabiliza.

Hablo de memoria si digo que hay unos 10k nodos en el mundo que aceptan conexiones entrantes. Luke habia desarrollado un sistema para contar los nodos totales y creo recordar que eran sobre 100k
 
Entonces a lo que llamais "ocultos" son nodos que estan detras de un router que no deja pasar las conexiones entrantes. Es decir, ese nodo puede abrir conexiones salientes hacia otros nodos (8 maximo por defecto) pero no puede recibir conexiones de otros nodos. Como las paginas esas en las que mirais los nodos que estan activos no pueden conectarse a esos nodos, no los contabiliza.

Hablo de memoria si digo que hay unos 10k nodos en el mundo que aceptan conexiones entrantes. Luke habia desarrollado un sistema para contar los nodos totales y creo recordar que eran sobre 100k
La web de Luke que calcula el número de nodos obteniendo la información en base a conexiónes con otros nodos es la siguiente: Bitcoin Node Services
El número de nodos que muestra ahora son 86000

En bitcoin (y ahora tambien en LN) lo que se puede ocultar es la IP utilizando Tor; esta página guardadla en favoritos sino la tenéis ya:
Bitcoin Core Config Generator

Es un generador de parámetros para bitcoin.conf según lo que se quiera aplicar; en la parte de privacidad están los parámetros para Tor.

Hablando de privacidad os dejo el último vídeo de Andreas Antonopolous:

Bitcoin Q&A: Coin selection and privacy - YouTube
 
Última edición:
Tengo entendido que en los parámetros del nodo lo puedes configurar para que se anuncie su presencia en la red o para que no lo haga. También se dice que los que no anuncian su presencia son mucho más numerosos que los que la anuncian, de forma que hay muchos más nodos de lo que pensamos.

Ya me extrañaba que hubiera tan poco "visibles".
60 nodos en toda españa es una cantidad ridicula.

De todas maneras para que sea un fullnode autentico, se debe abrir el puerto, con solo 8 conexiones es una cosa.
 
Ya me extrañaba que hubiera tan poco "visibles".
60 nodos en toda españa es una cantidad ridicula.

De todas maneras para que sea un fullnode autentico, se debe abrir el puerto, con solo 8 conexiones es una cosa.


¿Cuantas conexiones teneis normalmente?

Es que tengo algun problema y llevo dos dias peleandome con el router :´(

El caso es que empieza a coger conexiones hasta 16 o 18 y luego el puerto se cierra y vuelven a caer a 8. Ya no sé que más probar.
 
¿Cuantas conexiones teneis normalmente?

Es que tengo algun problema y llevo dos dias peleandome con el router :´(

El caso es que empieza a coger conexiones hasta 16 o 18 y luego el puerto se cierra y vuelven a caer a 8. Ya no sé que más probar.


Yo ahora mismo 19. Lo tengo configurado con máximo 20. A lo largo del dia algunos nodos se desconectan y se conectan otros distintos.
 
Es llamativo la de intentos que se ven en el nodo colando bloques inválidos o creando bitcoins de la nada.

eef2a3cea159e366795f45bd3639cdf3.jpg


Twitter

Para verlo en el nodo, hay buscar las frases que contengan la palabra ERROR dentro del fichero debug.log
Esto se hace entrando en el directorio '.bitcoin' y lanzando el comando:

grep -R ERROR debug.log

Otro interesante es buscar la palabra 'incorrect':

grep -R incorrect debug.log
 
Última edición:
¿Cuantas conexiones teneis normalmente?

Es que tengo algun problema y llevo dos dias peleandome con el router :´(

El caso es que empieza a coger conexiones hasta 16 o 18 y luego el puerto se cierra y vuelven a caer a 8. Ya no sé que más probar.
Mi raspberry suele tener unas 24, pero yo también lo tengo limitado a 25. Cuando no lo estaba llegaba al máximo, 125 conexiónes.

Puedes pegar el contenido del fichero de configuración bitcoin.conf (esta dentro de .bitcoin)? Elimina antes los pass siquieres.

Otra cosa, puedes pegar la salida de este comando:

curl -s https://bitnodes.earn.com/api/v1/nodes/me-8333/

Debería de darte "success": true si el puerto 8333 esta abierto hacia tu raspberry.
 
Esto es lo que tengo, hice copia pega de lo que pusiste tú.

Código:
mqpubrawblock=tcp://127.0.0.1:18504
zmqpubrawtx=tcp://127.0.0.1:18504
rpcuser=
rpcpassword=
daemon=1
server=1
dbcache=1000



pi@raspberrypi:~ $ curl -s https://bitnodes.earn.com/api/v1/nodes/me-8333/
{"success":true}

Desde esa misma pagina veo mi nodo en red cuando pilla mas de 8 conexiones pero lo vuelvo a mirar al de un rato y ha desaparecido y las conexiones caen a 8, testeo el puerto y me dice que esta cerrado.

He usado esta pagina tambien:

Open Port Check Tool - Test Port Forwarding on Your Router

Estoy por resetear el modem a valores de fabrica y vover a configurarlo.
 
Esto es lo que tengo, hice copia pega de lo que pusiste tú.

Código:
mqpubrawblock=tcp://127.0.0.1:18504
zmqpubrawtx=tcp://127.0.0.1:18504
rpcuser=
rpcpassword=
daemon=1
server=1
dbcache=1000



pi@raspberrypi:~ $ curl -s https://bitnodes.earn.com/api/v1/nodes/me-8333/
{"success":true}

Desde esa misma pagina veo mi nodo en red cuando pilla mas de 8 conexiones pero lo vuelvo a mirar al de un rato y ha desaparecido y las conexiones caen a 8, testeo el puerto y me dice que esta cerrado.

He usado esta pagina tambien:

Open Port Check Tool - Test Port Forwarding on Your Router

Estoy por resetear el modem a valores de fabrica y vover a configurarlo.

Sí, parece cosa de tu router o del proveedor de Internet que te limita las conexiones p2p.
Mira en el router a ver si hay algún parámetro que indique número de conexiónes máximas por puerto o algo similar. Aunque los routers que tenemos en casa suelen venir capados y de primeras no suelen dejar acceder a este tipo de configuración; en Vodafone por ejemplo, el router viene con el firewall activado y para desactivarlo hay que seguir un proceso bastante engorroso.
 
Esto es lo que tengo, hice copia pega de lo que pusiste tú.

Código:
mqpubrawblock=tcp://127.0.0.1:18504
zmqpubrawtx=tcp://127.0.0.1:18504
rpcuser=
rpcpassword=
daemon=1
server=1
dbcache=1000



pi@raspberrypi:~ $ curl -s https://bitnodes.earn.com/api/v1/nodes/me-8333/
{"success":true}

Desde esa misma pagina veo mi nodo en red cuando pilla mas de 8 conexiones pero lo vuelvo a mirar al de un rato y ha desaparecido y las conexiones caen a 8, testeo el puerto y me dice que esta cerrado.

He usado esta pagina tambien:

Open Port Check Tool - Test Port Forwarding on Your Router

Estoy por resetear el modem a valores de fabrica y vover a configurarlo.



Si eso es todo lo que tienes en el archivo de configuración entonces el problema es simplemente que no has especificado el número máximo de conexiones, por lo que te pilla el valor por defecto que es 8. Por otro lado también veo que tienes el dbcache a 1000(MB) Eso para una raspberry es muchísimo, básicamente es el 100% de la RAM

Te dejo el mio a modo de ejemplo:

Código:
bitcoin@raspberrypi:~ $ more .bitcoin/bitcoin.conf
server=1
daemon=1
testnet=0
txindex=1

# Connection Settings

rpcuser=xxxx 
rpcpassword=xxxx
zmqpubrawblock=tcp://127.0.0.1:18501
zmqpubrawtx=tcp://127.0.0.1:18501



# Raspberry Pi Optimizations

dbcache=100
maxorphantx=10
maxmempool=50
maxconnections=20
maxuploadtarget=5000


El router parece que lo tienes bien configurado para recibir conexiones entrantes. Prueba el siguiente comando a ver que te sale:

Código:
bitcoin@raspberrypi:~ $ bitcoin-cli getpeerinfo|grep inbound
    "inbound": false,
    "inbound": true,
    "inbound": false,
    "inbound": false,
    "inbound": false,
    "inbound": false,
    "inbound": true,
    "inbound": true,
    "inbound": true,
    "inbound": false,
    "inbound": false,
    "inbound": true,
    "inbound": true,
    "inbound": true,
    "inbound": false,
    "inbound": true,
    "inbound": true,
    "inbound": true,

Eso son todas las conexiones del nodo, las que estan a true son entrantes y las que esta a false salientes.
 
Si eso es todo lo que tienes en el archivo de configuración entonces el problema es simplemente que no has especificado el número máximo de conexiones, por lo que te pilla el valor por defecto que es 8. Por otro lado también veo que tienes el dbcache a 1000(MB) Eso para una raspberry es muchísimo, básicamente es el 100% de la RAM

Te dejo el mio a modo de ejemplo:

Código:
bitcoin@raspberrypi:~ $ more .bitcoin/bitcoin.conf
server=1
daemon=1
testnet=0
txindex=1

# Connection Settings

rpcuser=xxxx 
rpcpassword=xxxx
zmqpubrawblock=tcp://127.0.0.1:18501
zmqpubrawtx=tcp://127.0.0.1:18501



# Raspberry Pi Optimizations

dbcache=100
maxorphantx=10
maxmempool=50
maxconnections=20
maxuploadtarget=5000


El router parece que lo tienes bien configurado para recibir conexiones entrantes. Prueba el siguiente comando a ver que te sale:

Código:
bitcoin@raspberrypi:~ $ bitcoin-cli getpeerinfo|grep inbound
    "inbound": false,
    "inbound": true,
    "inbound": false,
    "inbound": false,
    "inbound": false,
    "inbound": false,
    "inbound": true,
    "inbound": true,
    "inbound": true,
    "inbound": false,
    "inbound": false,
    "inbound": true,
    "inbound": true,
    "inbound": true,
    "inbound": false,
    "inbound": true,
    "inbound": true,
    "inbound": true,

Eso son todas las conexiones del nodo, las que estan a true son entrantes y las que esta a false salientes.

¿Estas seguro que si no le específicas el número máximo de conexiones entrantes te coge 8? Ahora no lo puedo probar pero yo creo que no. Si no se lo específicas te coge el máximo posible (125); estoy un 99,99% seguro. Las 8 conexiones por defecto son las salientes, pero entrantes 125.

Sobre lo la dbcache, tengo el parámetro 1000 puesto en la raspberry porque al igual que tu lo tenia en 100 y vi que si lo ponía a 1000 el nodo sincroniza más rápido. De hecho, la recomendación es:
"Recommend setting as high as possible based upon machine's available RAM."

Otra cosa, le has pasado el archivo bitcoin.conf con "txindex=1". @DEREC esto no lo pongas, ya que te obligará a reindexar toda la blockchain.
 
Última edición:
Volver