Skip to content

Commit 214dd88

Browse files
committed
Translate 15_1
1 parent 702a1dd commit 214dd88

File tree

1 file changed

+124
-0
lines changed

1 file changed

+124
-0
lines changed

pt/15_1_i2p_service.md

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
# 15.1: Bitcoin Core como um Serviço I2P (Projeto Internet Invisível)
2+
3+
> :information_source: **NOTA:** Esta seção foi adicionada recentemente ao curso e ainda é um rascunho inicial que pode estar aguardando revisão. Proceda com cuidado, leitor.
4+
5+
Ao invés de utilizarmos o serviço baseado em proxy do Tor para garantir a privacidade das nossas comunicações no Bitcoin, podemos querer utilizar o I2P, que é projetado para agir como uma rede privada dentro da internet, ao invés de simplesmente oferecer acesso privado a serviços de internet.
6+
7+
## Compreendendo as Diferenças
8+
9+
Tanto o Tor quanto o I2P oferecem acesso privado a serviços online, mas com roteamentos, bancos de dados e arquiteturas para retransmissões diferentes. Como serviços ocultos (como acesso ao Bitcoin) são centrais ao design do I2P, eles também foram otimizados:
10+
11+
| | Tor | I2P |
12+
| ---------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
13+
| Roteamento | [Onion](https://www.onion-router.net/) | [Garlic](https://geti2p.net/en/docs/how/garlic-routing) |
14+
| Banco de Dados da Rede | [Servidores de Diretório](https://blog.torproject.org/possible-upcoming-attempts-disable-tor-network) Confiados | [Banco de Dados de Rede Distribuído](https://geti2p.net/en/docs/how/network-database) |
15+
| Retransmissão | Conexões criptografadas de **mão-dupla** entre cada Retransmissor | Conexões de **mão-única** entre todo servidor em seus túneis |
16+
| Serviços Ocultos | Devagar | Rápido |
17+
18+
Podemos encontrar uma comparação mais detalhada em [geti2p.net](https://geti2p.net/pt-br/comparison/tor).
19+
20+
### Compreenda os Tradeoffs para Limitar Conexões de Saída
21+
22+
Existem [tradeoffs](https://bitcoin.stackexchange.com/questions/107060/tor-and-i2p-tradeoffs-in-bitcoin-core) caso escolhamos suportar apenas o I2P, apenas o Tor, ou ambos. Essas configurações, que limitam conexões de saída de clearnet, são feitas no Bitcoin Core usando o argumento `onlynet` em `bitcoin.conf`.
23+
24+
* `onlynet=onion`, que limita conexões de saída ao Tor, pode expor um node a ataques "Sybil" e criar partições na rede, devido às conexões limitadas entre Tornet e clearnet.
25+
* `onlynet=onion` e `onlynet=i2p`, juntas, que executa serviço Onion com serviço I2P, é experimental por enquanto.
26+
27+
## Instalando o I2P
28+
29+
Para instalar o I2P, devemos nos certificar de que configuramos as portas devidamente e apenas então continuar com o processo.
30+
31+
### Preparando as Portas
32+
33+
Para usar o I2P, devemos abrir as seguintes portas, necessárias para o I2P:
34+
35+
1. **De saída (olhando para a internet):** uma porta aleatória entre 9000 e 31000 é selecionada. É melhor se todas essas portas estiverem abertas para conexões de saída, o que não afeta nossa segurança.
36+
- Podemos checar o status do nosso firewall usando `sudo ufw status verbose`, o que não deve negar conexões de saída por padrão
37+
2. De entrada (olhando para a internet): opcional. A variedade de portas de entrada são listadas na [documentação do I2P](https://geti2p.net/pt-br/faq#ports)
38+
- Para maximizarmos privacidade, é preferível desabilitarmos conexões de entrada.
39+
40+
### Executando o I2P
41+
42+
O seguinte irá executar serviços I2P no Bitcoin Core:
43+
44+
1. Instalando `i2pd` no Ubuntu:
45+
46+
```
47+
sudo add-apt-repository ppa:purplei2p/i2pd
48+
sudo apt-get update
49+
sudo apt-get install i2pd
50+
```
51+
52+
Para instalarmos em outros sistemas operacionais, podemos ver [estes documentos](https://i2pd.readthedocs.io/en/latest/user-guide/install/).
53+
54+
2. [Executando](https://i2pd.readthedocs.io/en/latest/user-guide/run/) o serviço I2P:
55+
56+
```
57+
$ sudo systemctl start i2pd.service
58+
```
59+
60+
3. Verificando se o I2P está em execução, devemos vê-lo na porta 7656:
61+
62+
```
63+
$ ss -nlt
64+
65+
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
66+
67+
LISTEN 0 4096 127.0.0.1:7656 0.0.0.0:*
68+
```
69+
70+
4. Devemos adicionar as seguintes linhas em `bitcoin.conf`:
71+
72+
```
73+
i2psam=127.0.0.1:7656
74+
debug=i2p
75+
```
76+
77+
A opção para os logs, `debug=i2p`, é utilizada para recordarmos informações adicionais no debug log sobre nossas configurações e conexões I2P. O lugar padrão para esse arquivo de debug no Linux é: `~/.bitcoin/debug.log`
78+
79+
5. Reiniciando o `bitcoind`
80+
81+
```
82+
$ bitcoind
83+
```
84+
85+
6. Devemos verificar se o I2P foi configurado corretamente olhando o `debug.log`, ou se algum erro apareceu nos logs.
86+
87+
```
88+
2021-06-15T20:36:16Z i2paccept thread start
89+
2021-06-15T20:36:16Z I2P: Creating SAM session with 127.0.0.1:7656
90+
91+
2021-06-15T20:36:56Z I2P: SAM session created: session id=3e0f35228b, my address=bmwyyuzyqdc5dcx27s4baltbu6zw7rbqfl2nmclt45i7ng3ul4pa.b32.i2p:18333
92+
2021-06-15T20:36:56Z AddLocal(bmwyyuzyqdc5dcx27s4baltbu6zw7rbqfl2nmclt45i7ng3ul4pa.b32.i2p:18333,4)
93+
```
94+
95+
O nosso endereço I2P é mencionado nos logs, e termina com _b32.i2p_. Por exemplo `bmwyyuzyqdc5dcx27s4baltbu6zw7rbqfl2nmclt45i7ng3ul4pa.b32.i2p:18333`.
96+
97+
7. Devemos confirmar que `i2p_private_key` foi criado no diretório do Bitcoin Core. A primeira vez que o Bitcoin Core conectar ao roteador I2P, o endereço I2P (e a chave privada correspondente) será automaticamente gerado e salvado em um arquivo chamado *i2p_private_key*:
98+
99+
```
100+
~/.bitcoin/testnet3$ ls
101+
102+
anchors.dat chainstate i2p_private_key settings.json
103+
banlist.dat debug.log mempool.dat wallets
104+
blocks fee_estimates.dat peers.dat
105+
```
106+
107+
8. Devemos verificar que `bitcoin-cli -netinfo` ou `bitcoin-cli getnetworkinfo` retorna o endereço I2P:
108+
109+
```
110+
Local addresses
111+
bmwyyuzyqdc5dcx27s4baltbu6zw7rbqfl2nmclt45i7ng3ul4pa.b32.i2p port 18333 score 4
112+
```
113+
114+
Agora temos um servidor do Bitcoin acessível através da rede I2P no nosso novo endereço local.
115+
116+
## Resumo: Bitcoin Core como um Serviço I2P (Projeto Internet Invisível)
117+
118+
É sempre positivo termos alternativas para privacidade e não dependermos exclusivamente do Tor para executarmos o Bitcoin Core como um serviço oculto. Como I2P foi adicionado recentemente ao Bitcoin Core, poucas pessoas o utilizam. Podemos experimentar com ele e reportar bugs se encontrarmos algum problema.
119+
120+
> :information_source: **NOTA:** Para a implementação oficial do I2P em Java, podemos visitar a [página de download do I2P](https://geti2p.net/en/download) e seguirmos as instruções para nosso Sistema Operacional. Após instalado, podemos abrir uma janela do Terminal e escrever `i2prouter start`. Em seguida, podemos visitar o endereço `127.0.0.1:76571` em um navegador e permitirmos o SAM. Para fazermos isso, selecionamos: "Configure Homepage", então "Clients", e finalmente selecionar o "Play Button" ao lado da Bridge de aplicativo SAM. No lado esquerdo da página, devemos ver uma luz verde próximo a "Shared Clients".
121+
122+
Siga em frente para "Programando com RPC" no [Capítulo Dezesseis: Conversando com o Bitcoind com C](16_0_Talking_to_Bitcoind.md).
123+
124+
Ou, se não formos programadores, podemos pular para o [Capítulo Dezenove: Compreendendo Sua Configuração Lightning](https://github.com/namcios/Learning-Bitcoin-from-the-Command-Line/blob/portuguese-translation/pt/18_0_Understanding_Your_Lightning_Setup.md) para continuarmos nosso aprendizado da linha de comando com a rede Lightning.

0 commit comments

Comments
 (0)