This commit is contained in:
KoreaComK 2021-09-19 14:44:27 -03:00
parent 214dd882ec
commit 8f308d4e1c
2 changed files with 40 additions and 40 deletions

View File

@ -1,19 +1,19 @@
# Capítulo 15: Usando o I2P # Capítulo 15: Usando o I2P
Existem alternativas ao Tor. Uma é o Projeto Internet Invisível (I2P, ou Invisible Internet Project em inglês), uma camada de rede privada e totalmente criptografada. Ele utiliza um [banco de dados de rede](https://geti2p.net/pt-br/docs/how/network-database) distribuído e túneis criptografados unidirecionais entre os usuários. A maior diferença do I2P para o Tor é que o Tor é, em essência, uma rede de proxy que oferece serviços de internet de uma forma privada, enquanto que o I2P é fundamentalmente uma rede sequestrada que oferece serviços I2P apenas à rede I2P, criando uma "rede em uma rede". No entanto, você pode querer tê-la apenas como uma alternativa, para que você não dependa apenas do Tor. Existem alternativas ao Tor. Uma é o Projeto Internet Invisível (I2P, ou Invisible Internet Project em inglês), uma camada de rede privada e totalmente criptografada. Ele utiliza um [banco de dados de rede](https://geti2p.net/pt-br/docs/how/network-database) distribuído e túneis criptografados unidirecionais entre os usuários. A maior diferença do I2P para o Tor é que o segundo é, em essência, uma rede de proxy que oferece serviços de internet de uma forma privada, enquanto que o I2P é fundamentalmente uma rede separada que oferece serviços I2P apenas à rede I2P, criando uma "rede dentro de uma rede". No entanto, podemos querer tê-la apenas como uma alternativa, para que não dependamos apenas do Tor.
No momento, o I2P não é instalado pelo [Bitcoin Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts) porque suporte ao I2P foi adicionado recentemente ao Bitcoin Core. No entanto, este capítulo explica como podemos instalá-lo manualmente. No momento, o I2P não está instalada com o [Bitcoin Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts) porque o suporte ao I2P foi adicionado recentemente ao Bitcoin Core. No entanto, neste capítulo, iremos explicar como podemos instalá-lo manualmente.
## Objetivos para Este Capítulo ## Objetivos para Este Capítulo
Depois de trabalharmos neste capítulo, um desenvolvedor será capaz de: Depois de trabalharmos neste capítulo, um desenvolvedor será capaz de:
* Executar o Bitcoin Core como um serviço I2P - Executar o Bitcoin Core como um serviço I2P.
Objetivos secundários incluem a abilidade de: Objetivos secundários incluem a habilidade de:
- Compreender a rede I2P - Compreender a rede I2P;
- Aprender a diferença entre o Tor e o I2P - Aprender a diferença entre o Tor e o I2P.
## Tabela de Conteúdo ## Tabela de Conteúdo

View File

@ -6,40 +6,40 @@ Ao invés de utilizarmos o serviço baseado em proxy do Tor para garantir a priv
## Compreendendo as Diferenças ## Compreendendo as Diferenças
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: 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 a base do design do I2P, eles também foram otimizados:
| | Tor | I2P | | | Tor | I2P |
| ---------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | | ---------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| Roteamento | [Onion](https://www.onion-router.net/) | [Garlic](https://geti2p.net/en/docs/how/garlic-routing) | | Roteamento | [Onion](https://www.onion-router.net/) | [Garlic](https://geti2p.net/en/docs/how/garlic-routing) |
| 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) | | Banco de Dados da Rede | [Servidores de Diretório](https://blog.torproject.org/possible-upcoming-attempts-disable-tor-network) Confiáveis | [Banco de Dados de Rede Distribuído](https://geti2p.net/en/docs/how/network-database) |
| 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 | | 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 |
| Serviços Ocultos | Devagar | Rápido | | Serviços Ocultos | Devagar | Rápido |
Podemos encontrar uma comparação mais detalhada em [geti2p.net](https://geti2p.net/pt-br/comparison/tor). Podemos encontrar uma comparação mais detalhada em [geti2p.net](https://geti2p.net/pt-br/comparison/tor).
### Compreenda os Tradeoffs para Limitar Conexões de Saída ### Compreenda os Tradeoffs para Limitar as Conexões de Saída
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`. Existem [tradeoffs](https://bitcoin.stackexchange.com/questions/107060/tor-and-i2p-tradeoffs-in-bitcoin-core) caso escolhamos usar apenas o I2P, apenas o Tor, ou ambos. Essas configurações, que limitam conexões de saída na clearnet, são feitas no Bitcoin Core usando o argumento `onlynet` no `bitcoin.conf`.
* `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. * `onlynet=onion`, que limita conexões de saída ao Tor, pode expor um node a ataques "Sybil" e criar redes separadas, devido às conexões limitadas entre o Tornet e a clearnet.
* `onlynet=onion` e `onlynet=i2p`, juntas, que executa serviço Onion com serviço I2P, é experimental por enquanto. * `onlynet=onion` e `onlynet=i2p`, juntas, que executa serviço Onion com serviço I2P, é experimental por enquanto.
## Instalando o I2P ## Instalando o I2P
Para instalar o I2P, devemos nos certificar de que configuramos as portas devidamente e apenas então continuar com o processo. Para instalar o I2P, devemos nos certificar de que configuramos as portas de maneira correta, para então, continuar com o processo.
### Preparando as Portas ### Preparando as Portas
Para usar o I2P, devemos abrir as seguintes portas, necessárias para o I2P: Para usar o I2P, devemos abrir as seguintes portas, necessárias para o I2P:
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. 1. **De saída (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.
- 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 - 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.
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) 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)
- Para maximizarmos privacidade, é preferível desabilitarmos conexões de entrada. - Para maximizarmos privacidade, é preferível desabilitarmos as conexões de entrada.
### Executando o I2P ### Executando o I2P
O seguinte irá executar serviços I2P no Bitcoin Core: Os comandos à seguir irão executar os serviços I2P no Bitcoin Core:
1. Instalando `i2pd` no Ubuntu: 1. Instalando `i2pd` no Ubuntu:
@ -49,7 +49,7 @@ O seguinte irá executar serviços I2P no Bitcoin Core:
sudo apt-get install i2pd sudo apt-get install i2pd
``` ```
Para instalarmos em outros sistemas operacionais, podemos ver [estes documentos](https://i2pd.readthedocs.io/en/latest/user-guide/install/). Para instalarmos em outros sistemas operacionais, podemos ver [a documentação](https://i2pd.readthedocs.io/en/latest/user-guide/install/).
2. [Executando](https://i2pd.readthedocs.io/en/latest/user-guide/run/) o serviço I2P: 2. [Executando](https://i2pd.readthedocs.io/en/latest/user-guide/run/) o serviço I2P:
@ -57,7 +57,7 @@ O seguinte irá executar serviços I2P no Bitcoin Core:
$ sudo systemctl start i2pd.service $ sudo systemctl start i2pd.service
``` ```
3. Verificando se o I2P está em execução, devemos vê-lo na porta 7656: 3. Para verificar se o I2P está executando, devemos observar a porta 7656:
``` ```
$ ss -nlt $ ss -nlt
@ -67,14 +67,14 @@ O seguinte irá executar serviços I2P no Bitcoin Core:
LISTEN 0 4096 127.0.0.1:7656 0.0.0.0:* LISTEN 0 4096 127.0.0.1:7656 0.0.0.0:*
``` ```
4. Devemos adicionar as seguintes linhas em `bitcoin.conf`: 4. Devemos adicionar as seguintes linhas no `bitcoin.conf`:
``` ```
i2psam=127.0.0.1:7656 i2psam=127.0.0.1:7656
debug=i2p debug=i2p
``` ```
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` A opção para os logs, `debug=i2p`, é utilizada para observarmos as 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`
5. Reiniciando o `bitcoind` 5. Reiniciando o `bitcoind`
@ -115,10 +115,10 @@ O seguinte irá executar serviços I2P no Bitcoin Core:
## Resumo: Bitcoin Core como um Serviço I2P (Projeto Internet Invisível) ## Resumo: Bitcoin Core como um Serviço I2P (Projeto Internet Invisível)
É 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. É 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 experimentá-lo e reportar bugs se encontrarmos algum problema.
> :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". > :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".
Siga em frente para "Programando com RPC" no [Capítulo Dezesseis: Conversando com o Bitcoind com C](16_0_Talking_to_Bitcoind.md). Siga em frente para o "Programando com RPC" no [Capítulo Dezesseis: Conversando com o Bitcoind com C](16_0_Talking_to_Bitcoind.md).
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. 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.