Como rodar seu node Bitcoin Core usando Tor

Canivete Suíço Bitcoinheiro

Bitcoinheiros
7 min readSep 3, 2019
O navegador Tor é muito eficaz em esconder sua localização e impedir que seu tráfego seja rastreado.

TOR — Como usar Tor com seu node Bitcoin

Este artigo é complementar ao vídeo "Rode seu Node Bitcoin", parte da série “Canivete Suíço Bitcoinheiro. O tutorial está dividido em duas partes:

Opção I — Básica:
Rode seu node Bitcoin com Tor usando um proxy
Este setup é ótimo para iniciantes mas não oferece o máximo de privacidade possível por meio da rede Tor.

Opção II — Avançada (recomendada):
Rode seu node Bitcoin exclusivamente pela rede Tor e com um endereço onion

Opção avançada e um pouco mais difícil, mas que confere o máximo de privacidade para você rodar seu node Bitcoin core exclusivamente pela rede Tor com um endereço onion.

Por que rodar o node Bitcoin sobre Tor?

  • Aumenta a privacidade de outros usuários do Bitcoin que estão anonimizando suas ações via Tor. Especificamente, é uma contramedida para muitos dos ataques de “observadores de rede” listados no modelo de ameaça do Open Bitcoin Privacy Project.
  • Torna seu próprio nó mais robusto contra ataques Sybil e partições de rede.
  • Não requer muitos recursos computacionais para executar, apenas o custo de tempo para fazer a configuração inicial da sua máquina.

O Bitcoin Core é a principal implementação de software do protocolo Bitcoin. Uma vez instalado e funcionando, você terá um nó completo que valida todas as transações e faz de você um cidadão Bitcoin de primeira classe!

Inicialmente, é muito importante que você tenha uma compreensão básica do que significa rodar um Full Node Bitcoin. Se você não usar uma VPN ou Tor com o Bitcoin Core, seu endereço IP será exposto à rede e informará que você está rodando um node Bitcoin. Do ponto de vista da privacidade, isso deve ser evitado. Além disso, alguém que esteja monitorando a rede poderá conectar transações que você faz com o seu node e seu endereço IP.

Ainda assim, rodar o seu próprio node é sem dúvida uma melhor opção do que ter que confiar e usar uma carteira de terceiros. Mas é possível melhorar ainda mais sua privacidade de maneira simples.

Uma alternativa fácil é usar um VPN para melhorar sua privacidade. Neste caso, será necessário confiar que seu provedor de VPN não irá compartilhar nenhuma suas informações. Outra informação importante a ser considerada ao usar VPN é que provavelmente você só conseguirá fazer conexões de saída (não é possível abrir portas). Isso não afetará a validação ou a transmissão de transações, mas você ajudará um pouco menos a rede, já que outras pessoas não poderão fazer o download de dados do seu node.

Consideramos que usar o node sobre Tor pode ser uma opção ainda melhor para conferir privacidade. Isso ocultará o fato de que você está executando um Full Node do Bitcoin e transmitirá suas transações de maneira anônima.

O Tor é um software livre e de código aberto que ajuda você a se manter anônimo online. Ao navegar na Internet usando Tor, seu tráfego é direcionado aleatoriamente através de uma rede de servidores antes de chegar ao seu destino final, a fim de proteger sua localização e identidade.

Opção I — Básica:

Rode seu node Bitcoin com Tor usando um proxy

Este setup é ótimo para iniciantes mas não oferece o máximo de privacidade possível por meio da rede Tor.

Resumo:

  1. Instale o Tor;
  2. Inicie o navegador;
  3. Abra o seu node Bitcoin Core;
  4. Vá para Configurações> Opções;
  5. Altere a guia para Rede e selecione “Connect through SOCKS5 proxy (default proxy):”. Verifique se o IP do proxy é 127.0.0.1 e a porta 9050 (o número da porta padrão do Tor).
  6. Reinicie o Bitcoin Core para ativar as alterações.

Solução de problemas: Se você não estiver obtendo nenhuma conexão (você pode ver o número de conexões segurando o mouse no símbolo de rede no canto inferior direito ou indo até Help>Debug Window e alterando a guia para Peers), tente alterar o porta para 9150.

Opcional: verifique se você está conectado ao Tor. No Bitcoin Core, vá para Help>Debug Window. Mude a aba para Console, digite getnetworkinfo e aperte enter.

Você deverá ver a seguinte mensagem:

Certifique-se de que proxy é 127.0.0.1:9050 (ou 9150 se você mudou) e que “onion” é "reachable". Se esse é o caso (e você tem conexões), agora pode ter segurança de que está usando o Tor via proxy (confira a "Opção II avançada deste tutorial para ter acesso a toda a privacidade que o Tor oferece).

Teste fazer a opção avançada para conquistar ainda mais privacidade!

Opção II — Avançada (recomendada):

Rode seu node Bitcoin exclusivamente pela rede Tor e com um endereço onion

Opção avançada e que requer um pouco mais de dedicação, mas que confere o máximo de privacidade para você rodar seu node Bitcoin core exclusivamente pela rede Tor com um endereço onion.

Se você usar um Full Node do Bitcoin sobre Tor, normalmente só conseguirá fazer conexões de saída. Portanto, obterá um máximo de 8 conexões totais. Isso é bom, e não é algo com o qual você normalmente precise se preocupar, mas se seu computador estiver on-line e você quiser contribuir com a rede, poderá executar um serviço oculto do Tor para aceitar conexões recebidas via Tor.

Observe que não há a necessidade de encaminhar a porta 8333 ao usar um serviço oculto do Tor. O serviço oculto fará com que a maioria dos firewalls e configurações de NAT sejam ignoradas. Por esse motivo, a execução de um serviço oculto Tor também é uma boa idéia se você quiser conexões de entrada, mas, por algum motivo, não conseguir encaminhar a porta 8333.

Pré-requisitos:

  • Tor (pelo menos a versão 0.2.7.1);
  • Descobrir onde está o seu arquivo torrc (geralmente em / etc / tor / torrc);
  • Este tutorial assume as configurações padrão do Tor;
  • Bitcoin Core (pelo menos a versão 0.12.0);
  • Encontre o arquivo bitcoin.conf em seu diretório de dados na pasta bitcoin.

Sobre este Tutorial:

Este tutorial irá configurar um serviço oculto automático que é iniciado pelo Bitcoin Core. Na primeira inicialização do bitcoind após configurar o Bitcoin Core para usar o Tor, o Bitcoin Core irá gerar um arquivo chamado onion_private_key no diretório de dados "bitcoin".

O arquivo onion_private_key contém a chave privada necessária para gerar seu endereço xxxxxx.onion exclusivo. MANTENHA ESTE ARQUIVO SEGURO. Se alguém copiar esse arquivo, poderá executar um servidor com o seu endereço .onion.

Observe que, embora uma parte mal-intencionada não possa necessariamente associar o servidor a você como pessoa, contanto que seu servidor tenha o mesmo endereço xxxxxx.onion, poderão saber que ele é executada pela mesma pessoa.

Para segurança absoluta, exclua onion_private_keyem cada reinicialização ou em algum intervalo freqüente. Ao excluir este arquivo, na próxima vez que o bitcoind for carregado, será gerado um novo arquivo de chave e seu respectivo endereço xxxxxx.onion.

Passo a passo:

  1. Digite o comando brew install tor no Terminal e pressione “enter”;
    O Homebrew é um sistema de gerenciamento de pacotes de software gratuito e de código aberto que simplifica a instalação de software no sistema operacional macOS da Apple e no Linux.
  2. Digite o comando abaixo no Terminal para criar o arquivo torrc;
cp /usr/local/etc/tor/torrc.sample /usr/local/etc/tor/torrc

3. Edite o arquivo torrc, insira as 3 opções no arquivo e salve;

ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1

4. Rode o tor na linha de comando simplesmente digitando tor e pressionando “enter”;

5. Inicie o node Bitcoin Core (bitcoind);

6. Para ver o debug, digite o comando abaixo no Terminal:

tail -f ~/.bitcoin/debug.log

Neste ponto, seu node funcionará sobre o Tor sem a necessidade de outras configurações. O Bitcoin Core v0.12 e posterior tenta conectar-se automaticamente ao Tor através do ControlPort se listen = 1 estiver configurado no arquivo bitcoin.conf.

Por padrão, o Bitcoin Core geralmente se conecta através da Internet usual, bem como permite conexões de e para o serviço oculto do Tor. Isso ajudará outros usuários que desejam enviar transações para a rede bitcoin de forma segura e obscura, mas as transações que você enviar poderiam, teoricamente, ser rastreadas até seu endereço IP.

Se você quiser que o Bitcoin Core se conecte apenas via Tor (para anonimato), adicione estas linhas ao bitcoin.conf:

proxy=127.0.0.1:9050
listen=1
bind=127.0.0.1

Se você também quiser que o Bitcoin Core se conecte APENAS aos serviços ocultos do Tor, adicione também esta linha (não particularmente recomendada):

onlynet=onion

Essa configuração fará com que seu node específico de bitcoind seja indiscutivelmente mais seguro, porque ele nunca terá uma conexão não criptografada com outro nó.

No entanto, se todos usassem o comando onlynet=onion, ninguém na cadeia de bitcoins da onion seria capaz de se comunicar com a cadeia de clearnet (rede padrão). É essencial que alguns nós acessem tanto a "clearnet" quanto o Tor.

Se você precisar enviar transações de bitcoin para a rede com o nível mais alto de obscuridade, use onlynet=onion. Se você deseja apenas dar acesso ao seu nó para outros usuários do Tor, não o use.

Agora reinicie o Tor e depois o Bitcoin Core. Em algum momento durante a inicialização em ˜ / .bitcoin / debug.log você verá:

tor: Got service ID XXXXXXXX, advertising service XXXX.onion:8333

Agradecimento:

Agradecemos especialmente ao desenvolvedor @Tiago Salem pela contribuição neste tutorial. Muito obrigado!

Referências:

Como instalar Tor no Mac: https://2019.www.torproject.org/docs/tor-doc-osx.html.en

Bitcoin Wiki: https://en.bitcoin.it/wiki/Setting_up_a_Tor_hidden_service

Como rodar Tor como serviço oculto em ubuntu: https://blog.lopp.net/how-to-run-bitcoin-as-a-tor-hidden-service-on-ubuntu/?source=post_page---------------------------

Como usar o Navegador Tor: https://ssd.eff.org/en/module/how-use-tor-macos

--

--

Bitcoinheiros

Tudo o que você sempre quis saber sobre Bitcoin, em português e sem frescura. Nada de ICOs, projetos Blockchain, Altcoins ou qualquer outra distração promovida.