O Guia Definitivo da ZeroNet

Porque o futuro é distribuído — e legal!

Não faz muito tempo eu comecei uma pesquisa sobre IPFS, o Sistema de Arquivos InterPlanetário. E eu realmente aprecio que haja um esforço honesto para que um protocolo seja criado para lidar com “questões distribuídas”. Mas há pessoas que gostam de partir rapidamente para as questões mais práticas e acabam conseguindo construir algumas coisas bem interessantes.

É o caso do projeto ZeroNet.

Conceitos

Dentro de uma rede P2P estilo BitTorrent, distribuir websites inteiros entre cada par conectado, sendo que cada máquina que acessa um site acaba também servindo-o para terceiros.

Os sites podem ser atualizados “em tempo real”, mas também podem ser acessados quando sua máquina está sem internet. A rede P2P também pode funcionar dentro de uma mesma subrede, sem necessariamente acesos ao “backbone”.

A apresentação da coisa toda (em inglês) é beeem interessante:

https://docs.google.com/presentation/d/1_2qK1IuOKJ51pgBvllZ9Yu7Au2l551t3XBgyTSvilew/pub

Tanto que fiz questão de traduzir:

https://docs.google.com/presentation/d/e/2PACX-1vQL5gTYT9WVrQWDaGByoQAFPyPsiVApsWLQPn8Bc1OywenHVvVVlFY5IIBVeZe-F5o7ZVXoWBit6M-3/pub?start=false&loop=false&delayms=60000

Características interessantes

Interface de gerenciamento dos sites

Quando você inicia o processo da ZeroNet, é enviado para essa “Hello ZeroNet”, que é um tipo de painel de controle do sistema todo.

Mas não é só isso. No canto superior direito de cada site há sempre um ícone do “zero menu”. Se você só clicar nele, você volta ao “Hello ZeroNet”. Mas se arrastar para o centro da página, terá acesso ao chamado “Dev Center”, onde poderá configurar diversos aspectos do site em questão (incluindo o size limit).

Limite de tamanho para os sites

O limite inicial é de 10MB por site. E é óbvio o motivo: você baixa o site todo quando o visita. E como sabemos bem, se deixar tem gente que soca gigabytes de dados numa única página (vide o trabalho que é carregar uma página do Confluence, da Atlassian, por exemplo…).

E esses tais 10MB acabaram gerando um mito: que esse é um limite fixo. Não é. Quando o site começa a chegar perto dos 10MB, um aviso aparece na interface da ZeroNet perguntando se você quer aumentar esse limite. Simples assim.

CoffeScript

Não sei quão bom ou ruim foi a escolha de CoffeScript como “língua franca” da ZeroNet. Eu [acho que] sei que quem quiser pode usar Javascript “direto”, mas, enfim, é um ponto a se observar.

Comunidade que acredita

Há um servidor do Discord bem interessante, chamado “The New Web”. Eis o link do convite para entrar lá:

https://discord.gg/4kY4yAD

O pessoal por lá fala pouco, mas no geral parece gente bem intencionada. :)

Alguns “zero sites” interessantes

ZeroID

Apesar de a rede ser distribuída e isso geralmente ser visto como algo bom, há uma porção de problemas que provém da possibilidade do anonimato. O ZeroID serve para amenizar um pouco isso: você cria sua conta lá, associando um nome amigável à sua chave pública, e outros sites podem decidir confiar no ZeroID como provedor de autenticação (a maioria confia).

Ele não é o único, entretanto, mas é o mais bonito, então criei minha conta nele. :)

Minha recomendação: caso queira aproveitar ao máximo a ZeroNet, já crie uma conta lá.

ZeroMedium

Oh, ho-ho! O que temos aqui? Um clone do Medium em plena ZeroNet?

Ok, não é um clone perfeito, mas a ideia é muito boa e o desenvolvedor parece estar indo no caminho certo.

ZeroMail

E-mail descentralizado com dados criptografados de ponta a ponta.

Funciona só entre contas “ZeroMail”, claro — você não conseguirá enviar coisas para um GMail da vida. Mas eu gostei bastante da mera existência de um sistema assim.

ZeroTalk

Fórum bem fácil de usar, bem movimentado, rápido e funciona sem problemas.

ZeroBlog

É tanto um blog que fala sobre o desenvolvimento da ZeroNet quanto um site clonável. Ou seja: você pode criar seu blog baseado nele, o que é bem fácil de se fazer.

Git Center

Parece que ambição não tem sido um problema para essa turma.

IPFS Wiki

Não é nada oficial, mas o sistema de wiki é bem interessante.

Problemas

Alguma fricção durante o uso

Há alguns sites que exigem um “F5” (atualizar a página) de quando em quando. E isso é meio chato. Parece que a comunicação com o servidor local (o processo ZeroNet em si) “enrosca” de quando em quando, e há alguns casos mesmo em que tive que reiniciá-lo completamente.

É o fim do mundo? Não. Mas definitivamente é algo que poderia melhorar.

Muitos projetos ainda sem maturar

O Git Center é um bom exemplo. Ele até funciona, mas a usabilidade precisa melhorar muito. Não chega a ser um projeto abandonado, mas o desenvolvedor obviamente não tem todo o tempo do mundo para dedicar ao projeto.

Isso é até bem comum, mas considerando-se a novidade da coisa toda, me parece algo até esperado.

A ZeroNet, no fim das contas, acaba se dividindo em quatro categorias:

Alguns sites abandonados

De quando em quando aparece um site abandonado. Como a navegação pela ZeroNet ainda é bem “estilo diretório”, é até fácil encontrá-los.

Não chega a ser um grande problema. A web como a conhecemos também abunda de sites abandonados. Mas contribui para a sensação geral de uma certa imaturidade (seja isso um fato ou não — e eu acredito que não tanto).

O que falta

Endereços transparentes

Você acessa todos os sites via um PATH sob “http://127.0.0.1:43110/”. Isso é meio feio e até bem esquisito, especialmente para quem não entende direito como essas coisas funcionam.

O ideal seria pode acessar os sites via znet:// ou algo do gênero.

Não encontrei nenhuma extensão para Firefox que fizesse isso acontecer.

Servidor transparente

Não sei como isso funcionaria, especialmente porque tua instância gerencia tuas chaves, mas o ideal seria que o processo da ZeroNet pudesse ficar rodando “no sistema” ao invés de ter de ser iniciado pelo usuário, assim todos os usuários do computador poderiam usá-la, além de aumentar o tempo online do próprio ato de servir os sites entre os visitantes.

App decente para Android

Hoje até há uma app experimental baseada em Kivy, mas simplesmente não funciona bem. Talvez o ideal fosse transpilar com VOC ou algo assim. Não sei. Mas do jeito que está simplesmente não rola usar no celular.

Resumo

Minha impressão geral da ZeroNet é que é talvez o projeto com mais chance de alcançar o público geral de todos os que vi, incluindo até o Dat, que tem um navegador próprio (mas é podrinho, coitado…). Há diversos sites bem usáveis, a comunidade é bem movimentada, não é tão difícil botar para rodar e há uma certa semelhança entre a WWW e a ZeroNet que faz com que o processo de começar a usar esta última seja mais tranquilo.

Ela vai substituir a web? Não. Mas pode ser que se enquadre como uma forma alternativa bem comum, inclusive entre “leigos”, e talvez especialmente em países cujo acesso à internet é reprimido ou em que há condições péssimas de rede.

;–)


Este post foi escrito originalmente em 25/02/2018