Cómo Ejecutar Bitcoin Como Servicio Tor Oculto En Ubuntu
¿Por qué debería de ejecutar un servicio oculto Bitcoin en su nodo?
- Aumenta la privacidad de otros usuarios Bitcoin quienes se encuentran anonimizando sus acciones a través de Tor. Específicamente, es una contramedida a muchos de los ataques de “observadores de la red” listados en el modelo de amenazas del Proyecto de Privacidad Abierta de Bitcoin.
- Vuelve a su propio nodo mucho más robusto contra ataques Sybil y particiones de red.
- No requiere demasiados recursos computacionales para ser ejecutado, sólo el coste de instalación unico que requiere configurar su máquina.
Existen numerosas maneras en las que usted puede configurar un nodo Bitcoin para conectarse a Tor, las cuales están explicadas en la documentación; para propósitos de esta guía, nos enfocaremos en la tercera opción: “escucha automática en Tor”.
Hasta Bitcoin Core 0.12, un nodo ejecutará automáticamente un servicio oculto si es capaz de conectarse a un daemon Tor local. Sin embargo, debemos asegurarnos que unas cuantas cosas están configuradas correctamente para que el nodo y daemon puedan comunicarse entre sí.
Primero, necesitamos seguir las instrucciones para instalar Tor. Necesitaremos conocer el nombre código del lanzamiento Ubuntu:
username@host:~$ lsb_release -c
Codename: xenial
Ahora podemos instalar Tor; reemplace con su versión.
username@host:~$ sudo vim /etc/apt/sources.list
Agregue estas dos líneas al archivo y guárdelo:
deb http://deb.torproject.org/torproject.org main
deb-src http://deb.torproject.org/torproject.org main
username@host:~$ gpg –keyserver keys.gnupg.net –recv 886DDD89
username@host:~$ gpg –export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add –
username@host:~$ sudo apt-get update
username@host:~$ sudo apt-get install tor deb.torproject.org-keyring
Ahora que Tor se encuentra conectado y ejecutándose, revise la configuración:
username@host:~$ sudo vim /usr/share/tor/tor-service-defaults-torrc
Asegúrese que las siguientes líneas se encuentran (en cualquier parte) en este archivo config:
ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1
Si cualquiera de esas líneas no estuvieran, guarde el archivo config y reinicie el daemon Tor vía:
username@host:~$ sudo /etc/init.d/tor restart
Ahora tenemos que asegurarnos de que el usuario linux que ejecuta el proceso bitcoind tiene acceso a la lectura de la cookie de autenticación tor. Usted puede determinar el nombre de este usuario Tor vía:
username@host:~$ grep User /usr/share/tor/tor-service-defaults-torrc
User debian-tor
Ahora modifique el usuario que ejecuta bitcoind en su máquina para ser miembro del grupo Tor:
username@host:~$ sudo usermod -a -G debian-tor
En este momento (sólo para estar seguros) usted debería de abrir una nueva ventana terminal / sesión SSH para asegurar que el usuario bitcoind tiene los permisos correctos. En esta nueva ventana, usted puede chequear los permisos vía:
username@host:~$ id
uid=1000(username) gid=100(users) groups=100(users),121(debian-tor)
Si su usuario se encuentra en el grupo tor, ahora podemos iniciar bitcoind. Asegúrese de detenerlo primero si se está ejecutando actualmente.
username@host:~$ bitcoin-cli stop
username@host:~$ bitcoind -daemon -debug=tor
Ahora chequee el log bitcoin para asegurarse que la configuración funciona:
username@host:~$ tail -f ~/.bitcoin/debug.log | grep tor
Debería de poder visualizar una salida como esta:
2016–08–18 20:36:10 torcontrol thread start
2016–08–18 20:36:10 tor: Successfully connected!
2016–08–18 20:36:10 tor: Connected to Tor version 0.2.8.6
2016–08–18 20:36:10 tor: Supported authentication method: COOKIE
2016–08–18 20:36:10 tor: Supported authentication method: SAFECOOKIE
2016–08–18 20:36:10 tor: Using SAFECOOKIE authentication, reading cookie authentication from /var/run/tor/control.authcookie
2016–08–18 20:36:10 tor: SAFECOOKIE authentication challenge successful
2016–08–18 20:36:10 tor: AUTHCHALLENGE ServerHash af7da689d08a67d5b4e789a98c76a6eacbabaa32baefc223ab0d7b1f46c3d
2016–08–18 20:36:10 tor: Authentication successful
2016–08–18 20:36:10 tor: ADD_ONION successful
2016–08–18 20:36:10 tor: Got service ID w4bh4cputinlptzm, advertising service w4bh4cputinlptzm.onion:8333
2016–08–18 20:36:10 tor: Cached service private key to /home/username/.bitcoin/onion_private_key
2016–08–18 20:36:10 AddLocal(w4bh4cputinlptzm.onion:8333,4)
Si observa este error:
2016-08-18 19:51:48 tor: Add onion failed with unrecognized command (You probably need to upgrade Tor)
Entonces usted no configuró el repositorio deb de Tor correctamente y accidentalmente instaló tor desde un repositorio vencido de Ubuntu. Necesitará “sudo apt-get remove tor” y reconfigurar el repositorio antes de reinstalarlo.
Si observa este error:
2016–08–18 20:01:28 tor: Error connecting to Tor control socket
2016–08–18 20:01:28 tor: Not connected to Tor control port 127.0.0.1:9051, trying to reconnect
Entonces su archivo tor-service-defaults-torrc está mal configurado u olvidó reiniciar el daemon para hacer que los cambios rindieran efecto.
Si observa este error:
2016–08–18 20:11:10 tor: Authentication cookie /var/run/tor/control.authcookie could not be opened (check permissions)
Entonces usted no agregó correctamente al usuario linux que ejecuta bitcoind en el grupo tor.
Al contrario, si todo se ve bien, visite https://bitnodes21.co/ y use la herramienta “check node” (chequear nodo) para asegurarse de que está aceptando conexiones.
Si bitnodes es capaz de conectarse, usted puede opcionalmente dar click al enlace verde que señala el estatus de su nodo, ir hacia el fondo de la página de estatus de su nodo e ingresar su dirección de email para recibir alertas si bitnodes presenta alguna vez problemas de conexión al servicio oculto de su nodo.
Gracias por ejecutar un servicio oculto Bitcoin.
Fuente: https://blog.lopp.net/how-to-run-bitcoin-as-a-tor-hidden-service-on-ubuntu/