Secure Scuttlebutt - uma rede social p2p que também funciona offline.

Scuttlebutt — uma gíria comum entre marinheiros americanos, que significa rumores e fofocas. O desenvolvedor de Node.js Dominic Tarr, que vive a bordo de um veleiro na costa da Nova Zelândia, usou essa palavra no nome de uma rede p2p destinada ao compartilhamento de notícias e mensagens pessoais. Secure Scuttlebutt (SSB) permite compartilhar informações usando apenas acesso ocasional à Internet ou mesmo sem conexão alguma.

O SSB já está em funcionamento há vários anos. As funcionalidades da rede social podem ser testadas através de dois aplicativos de desktop (Patchwork e Patchfoo) e um aplicativo para Android (Manyverse). Para os geeks, existe ssb-git. Você está curioso sobre como funciona uma rede p2p offline-first sem anúncios e sem registro? Não deixe de conferir.

Secure Scuttlebutt - uma rede social p2p que também funciona offline.

Para o funcionamento do Secure Scuttlebutt, são necessários apenas dois computadores conectados em uma rede local. Aplicativos baseados no protocolo SSB enviam mensagens UDP de forma broadcast e conseguem se encontrar automaticamente. A busca por nós na Internet é um pouco mais complicada, e voltaremos a esse ponto em alguns parágrafos.

Uma conta de usuário representa uma lista encadeada de todas as suas entradas (um diário). Cada entrada subsequente contém o hash da anterior e é assinada com a chave privada do usuário. A chave pública serve como identificador do usuário. A exclusão e a edição de entradas não são possíveis, nem pelo autor, nem por mais ninguém. O proprietário pode adicionar entradas ao final do diário. Outros usuários podem apenas lê-lo.

Os aplicativos que estão na mesma rede local se veem e automaticamente solicitam atualizações em seus diários uns dos outros. Não importa de qual nó você baixa a atualização, pois a autenticidade de cada entrada pode ser verificada usando a chave pública. Durante a sincronização, não há troca de nenhuma informação pessoal, exceto pelas chaves públicas dos diários que você se interessa. À medida que você muda entre diferentes redes WiFi/LAN (em casa, no café, no trabalho), as cópias dos diários que você tem localmente serão automaticamente transferidas para os dispositivos de outros usuários que estão próximos a você. Isso é semelhante ao funcionamento do «boca a boca»: Vasya contou a Masha, Masha contou a Petya, e Petya contou a Valentina. A diferença significativa em relação ao 'boca a boca' é que, ao copiar os diários, a informação neles não é distorcida.

‘Ter alguém como amigo’ aqui adquire um significado físico específico: meus amigos mantêm uma cópia do meu diário. Quanto mais amigos eu tiver, mais acessível meu diário estará para os outros. Na descrição do furo está escrito, que o aplicativo Patchwork sincroniza diários que estão a uma distância de até 3 passos (amigos de amigos de amigos) de você. Na maioria dos casos, isso permite ler longas discussões com muitos participantes, mesmo estando offline.

O diário do usuário pode conter registros de diferentes tipos: mensagens públicas, semelhantes a postagens no muro do VKontakte, mensagens pessoais criptografadas com a chave pública do destinatário, comentários em postagens de outros usuários, curtidas. Esta é uma lista aberta. Imagens e outros arquivos volumosos não são inseridos diretamente no diário. Em vez disso, registra-se o hash do arquivo, com o qual esse arquivo pode ser solicitado separadamente do próprio diário. A visibilidade dos comentários para o autor da mensagem original não é garantida: se não houver um caminho suficientemente curto entre você e seus amigos em comum, é provável que você não veja tais comentários. Assim, mesmo que os 'guerreiros de picles' tentem sequestrar sua postagem, se não forem seus amigos ou amigos de amigos de amigos, você não notará nada.

Secure Scuttlebutt não é a primeira rede p2p e nem mesmo a primeira rede social p2p. O desejo de se comunicar sem intermediários e sair da influência das grandes empresas existe há muito tempo, e tem várias razões óbvias. Os usuários se irritam com a imposição de regras de jogo por grandes jogadores: poucos querem ver anúncios na tela ou ser banidos e esperar dias pelo suporte ao cliente. A coleta incontrolável de dados pessoais e sua transferência a terceiros, resultando, eventualmente, na venda desses dados no dark web, relembra continuamente a necessidade de construir outras formas de interação, onde o usuário teria mais controle sobre seus dados. E também seria responsável por sua disseminação e segurança.

Redes sociais descentralizadas bem conhecidas, como Diaspora ou Mastodon, e o protocolo Matrix não são verdadeiramente peer-to-peer, pois sempre há uma parte cliente e uma parte servidor. Ao invés de uma base de dados comum como o Facebook, você pode escolher seu servidor 'doméstico', onde seus dados serão armazenados, e isso já é um grande avanço. No entanto, o administrador do seu servidor 'doméstico' ainda tem muitas possibilidades: ele pode compartilhar seus dados sem seu conhecimento, deletar ou bloquear sua conta. Além disso, ele pode perder o interesse em manter o servidor e não te avisar sobre isso.

No Secure Scuttlebutt, também existem nós intermediários que facilitam a sincronização (eles são chamados de 'pab'). Contudo, o uso de pabs é opcional e eles são intercambiáveis. Se o seu nó habitual não estiver disponível, você pode utilizar outros sem perder nada, pois uma cópia completa de todos os seus dados estará sempre com você. O nó intermediário não armazena dados irrecuperáveis. Um pab, se você pedir, irá te adicionar como amigo e, ao se conectar, atualizará sua cópia do seu diário. Quando seus assinantes se conectarem com ele, poderão baixar suas novas postagens, mesmo que você já tenha se desconectado. Para que um pab se torne seu amigo, você deve conseguir um convite do administrador do pab. Geralmente, isso pode ser feito por conta própria através da interface web (lista de pabs). Se você for banido por todos os administradores dos pabs, o seu diário será distribuído da maneira descrita anteriormente, ou seja, apenas entre aqueles que você encontra pessoalmente. A transmissão de atualizações em um pen drive também é possível.

Embora a rede esteja em funcionamento há algum tempo, há poucas pessoas nela. Segundo André Staltz, desenvolvedor do aplicativo Android, Manyverse, em junho de 2018 havia cerca de 7 mil chaves. Para comparação, na Diaspora são mais de 600 mil, no Mastodon, cerca de 1 milhão.

Secure Scuttlebutt - uma rede social p2p que também funciona offline.

O guia para iniciantes pode ser encontrado aqui. Passos principais: instalar o aplicativo, criar um perfil, obter um convite no site do pub, copiar esse convite no aplicativo. É possível conectar vários pubs ao mesmo tempo. Você precisará ter paciência: a rede funciona muito mais devagar que o Facebook. O cache local (pasta .ssb) rapidamente crescerá para vários gigabytes. É fácil encontrar posts interessantes por hashtags. Você pode começar a ler, por exemplo, com Dominik Tarr (@EMovhfIrFk4NihAKnRNhrfRaqIhBv1Wj8pTxJNgvCCY=.ed25519).

Todas as imagens são da artigo de André Staltz «Uma rede social fora da grade» e seu twitter.

Links úteis:

[1] Site oficial

[2] Patchwork (aplicativo para Windows/Mac/Linux)

[3] Manyverse (aplicativo para Android)

[4] ssb-git

[5] Descrição do protocolo («Guia do Protocolo Scuttlebutt — Como os pares do Scuttlebutt se encontram e se comunicam»)

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster