MASTERING BITCOIN
Tabla de contenidos:

Como Instalar Tor en macOS

Si ya tienes instalado bitcoin core en Mac OS, con estas instrucciones puedes conectarlo a través de tor para mejorar tu privacidad.

Autor

EntrePlanctonyBallenas.
Twitter para correcciones, comentarios o sugerencias: @entreplanctony1

El presente tutorial fue elaborado para el Curso Mastering Bitcoin de @libreriadesatoshi.

En el siguiente enlace puedes encontrar la documentación de referencia:
https://2019.www.torproject.org/docs/tor-doc-osx.html.en

Videotutorial

Puedes consultar el siguiente video para instalar Tor en tu sistema operativo.https://youtu.be/Jcowrjh21Qg

Preparación

💡 Los comandos de esta guía deben ser ejecutados en una aplicación de Terminal para línea de comandos. Mac OS viene con una Terminal incorporada, para abrirla ejecuta la secuencia de teclas ⌘+barra_espaciadora e introduce la palabra terminal.
Administrador de paquetes Homebrew

Homebrew es un gestor de paquetes para macOS que permite instalar paquetes desde la línea de comandos de manera fácil.

Para instalar Homebrew, corre:

📝 Nota: Si tienes problemas al instalar Homebrew o al descargar paquetes, consulta la página de solución de problemas.

Instalación en MacOS

Una vez instalado brew, puedes instalar tor corriendo el siguiente comando:

El comando va a instalar todas las dependencias requeridas para el funcionamiento del programa.

Inicializar y detener el servicio

Una vez instalado el programa debes pedirle al sistema que lo ejecute:

Si en algún momento quieres detener el servicio, corre el comando:

⚠️ Debes detener bitcoind también y editar el bitcoin.conf para que no se use Tor mientras el servicio está abajo
Activar la minería de Bitcoin en cualquier escala es una actividad que no debe tomarse a la ligera, ya que una mala instalación eléctrica, una locación inadecuada para el manejo de los equipos o incluso un plan de mantenimiento “pobre”, puede acarrear serios problemas y hasta perdida de la inversión.
Mac OS terminal cheat sheet:

lsof -i Te mostrará todos los procesos que están abiertos a la internet.

brew services list Muestra los procesos que están corriendo a través de brew.

Como configurar Bitcoin Core (bitcoind) para que use Tor

Estoy suponiendo que ya instalaste un nodo de Bitcoin y bajado la blockchain, de forma que podemos modificar la configuración para que bitcoind se comunique con los otros nodos exclusivamente a través de Tor y así tener más privacidad y anonimidad.

Ve a la ruta donde está el archivo bitcoin.conf y edítalo.

Agrega las siguientes líneas al archivo bitcoin.conf quedaría así:

Expliquemos un poco estos parámetros:

debug=tor  agrega logs que tengan que ver con tor
onlynet=onion le indica a Bitcoin Core que las conexiones salientes sean sobre Tor
proxy=127.0.0.1:9050 le indica a Bitcoin core como comunicarse mediante Tor

bind: 127.0.0.1 restringirá las conexiones entrantes de Bitcoin Core desde otros nodos, ya que solo acepta conexiones locales.

dnsseed=0 and dns=0 Evita que Bitcoin Core intente conectarse a las “semillas” de DNS predeterminadas que se encuentran el siguiente archivo del repositorio de bitcoin:
https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp#L116
A pesar de las restricciones entrantes/salientes que establecimos anteriormente, sin estas dos configuraciones, nuestro nodo aún intentará conectarse a estos hosts.

¿Por qué queremos evitar que se conecte a esas semillas?

Dado que a finales del año 2021 se dejó de tener soporte para la versión 2 de Tor, entonces varias personas tuvieron problemas obteniendo conexiones entrantes de nodos con la versión 3 de Tor cuando hicieron la actualización.

Por eso vamos a agregar semillas manualmente para conectarnos.
Con addnode se añaden las semillas, que son otros peers que se van a conectar a nuestro nodo. Y dado que estamos ejecutando el nodo solo sobre Tor, debemos agregar las direcciones onion de otros peers en lugar de las direcciones IP. Una vez que nos conectamos a ellos, nos envían más a los que podemos conectarnos.

Eventualmente, nuestro nodo creará una larga lista de nodos y ya no necesitará los nodos semilla, por eso más adelante los quitaremos.

La lista de nodos la extraje de este hilo de Reddit, donde un usuario tuvo problemas porque con la versión 3 de Tor y no obtenía conexiones entrantes de otros nodos, de modo que varias personas le compartieron sus direcciones onion.

https://www.reddit.com/r/Bitcoin/comments/kzhhgk/bitcoin_core_0210_tor_v3/

Terminada la explicación del archivo de configuración procedemos a detener bitcoind:

Ahora lo arrancamos de nuevo:

Si ejecutamos el comando

Podemos observar que estamos conectados mediante Tor, connections_in aún está en cero porque tarda un poco en ir obteniendo conexión de otros nodos.