— è una parola slang, diffusa tra i marinai americani, che indica voci e pettegolezzi. Il sviluppatore di Node.js Dominic Tarr, che vive su un veliero al largo della Nuova Zelanda, ha usato questo termine nel nome di una rete p2p progettata per lo scambio di notizie e messaggi personali. Secure Scuttlebutt (SSB) consente di condividere informazioni utilizzando solo un accesso sporadico a Internet o persino senza di esso.
SSB è attivo da diversi anni. Le funzionalità del social network possono essere testate tramite due applicazioni desktop ( e ) e un'app per Android (). Per i geek c'è . Ti interessa sapere come funziona una rete p2p offline-first senza pubblicità e senza registrazione? Ti invito a continuare a leggere.

Per il funzionamento di Secure Scuttlebutt sono sufficienti due computer collegati in rete locale. Le applicazioni basate sul protocollo SSB inviano messaggi UDP in broadcast e riescono a trovare automaticamente l'uno l'altro. La ricerca dei nodi su Internet è un po' più complicata, e torneremo su questo argomento tra qualche paragrafo.
L'account utente rappresenta un elenco collegato di tutte le sue registrazioni (diario). Ogni registrazione successiva contiene l'hash della precedente e viene firmata con la chiave privata dell'utente. La chiave pubblica è l'identificativo dell'utente. La rimozione e la modifica delle registrazioni non sono possibili né dall'autore né da altri. Il proprietario può aggiungere registrazioni alla fine del diario. Gli altri utenti possono solo leggerlo.
Le applicazioni all'interno di una rete locale vedono tra loro e richiedono automaticamente agli altri aggiornamenti sui diari di loro interesse. Non importa da quale nodo scarichi l'aggiornamento, poiché puoi verificare l'autenticità di ogni registrazione tramite la chiave pubblica. Durante la sincronizzazione non viene scambiata alcuna informazione personale, tranne le chiavi pubbliche dei diari di tuo interesse. Man mano che ti sposti tra diverse reti WiFi/LAN (a casa, al bar, al lavoro), le copie dei diari salvati localmente verranno automaticamente trasferite ai dispositivi di altri utenti vicini a te. È simile al funzionamento di : Vasya ha raccontato a Masha, Masha a Petya, e Petya a Valentin. La differenza sostanziale rispetto al «passaparola» è che copiando i giornali le informazioni al loro interno non vengono distorte.
«Essere amici di qualcuno» qui acquista un significato fisico concreto: i miei amici custodiscono una copia del mio giornale. Più amici ho, più il mio giornale è accessibile agli altri. Nella descrizione del bug , l'applicazione Patchwork sincronizza i giornali che si trovano fino a 3 passi (amici di amici di amici) lontano da te. Nella maggior parte dei casi, questo consente di leggere lunghe discussioni con molti partecipanti mentre si è offline.
Il diario dell'utente può contenere registrazioni di diversi tipi: messaggi pubblici, simili ai post su un muro di VKontakte, messaggi privati crittografati con la chiave pubblica del destinatario, commenti ai post di altri utenti, reazioni. Questo è un elenco aperto. Le immagini e altri file di grandi dimensioni non vengono inseriti direttamente nel diario. Invece, viene registrato un hash del file, che consente di richiedere quel file separatamente dal diario stesso. La visibilità dei commenti per l'autore del messaggio originale non è garantita: se non esiste un percorso sufficientemente breve attraverso amici comuni, probabilmente non vedrai tali commenti. Pertanto, anche se gli utenti malevoli cercano di appropriarsi del tuo post, se non sono tuoi amici o amici di amici, probabilmente non te ne accorgerai.
Secure Scuttlebutt non è la prima rete p2p e nemmeno la prima rete sociale p2p. Il desiderio di comunicare senza intermediari ed uscire dall'influenza delle grandi aziende esiste da tempo, e ci sono diverse ragioni evidenti per questo. Gli utenti sono infastiditi dall'imposizione delle regole da parte dei grandi player: pochi desiderano vedere pubblicità sui propri schermi o essere bloccati e attendere giorni per una risposta dal servizio clienti. La raccolta indiscriminata di dati personali e la loro condivisione con terzi, che alla fine porta a vendere questi dati nel dark web, ricorda continuamente la necessità di costruire altri modi di interazione, dove l'utente abbia un maggiore controllo sui propri dati e sia responsabile della loro diffusione e conservazione.
Reti sociali decentralizzate ben note, come o , e il protocollo non sono peer-to-peer, poiché ci sono sempre una parte client e una parte server. Invece di una base di dati condivisa come Facebook, puoi scegliere il tuo server "domestico" dove saranno memorizzati i tuoi dati, il che rappresenta già un grande passo avanti. Tuttavia, l'amministratore del tuo server "domestico" ha ancora molte possibilità: può condividere i tuoi dati senza il tuo consenso, cancellare o bloccare il tuo account. Inoltre, potrebbe perdere interesse nel mantenere il server e non avvisarti di questo.
In Secure Scuttlebutt, there are also intermediary nodes that facilitate synchronization (they're called "pubs"). However, using pubs is optional, and they are interchangeable. If your usual node is unavailable, you can use others without losing anything, as you always have a complete copy of all your data. An intermediary node does not store irreplaceable data. If you ask, a pub will add you as a friend and will update its copy of your journal upon connection. When your followers connect with it, they can download your new posts, even if you've already disconnected. For a pub to become friends with you, you need to get an invite from the pub's administrator. Most often, this can be done through the web interface.). If you get banned by all the pub administrators, your journal will be distributed in the manner previously described, that is, only among those you meet in person. Transferring updates via USB is also possible.
Although the network has been operating for quite some time, it has very few people. According to André Staltz, the developer of the Android app , in June 2018, his local database had . A titolo di confronto, in Diaspora — , in Mastodon — circa 1 milione.

Le istruzioni per i principianti si trovano . I passaggi principali: installare l'app, creare un profilo, ricevere un invito sul sito del pub, copiare questo invito nell'app. È possibile collegare più pub contemporaneamente. Servirà un po' di pazienza: la rete funziona molto più lentamente di Facebook. La cache locale (cartella .ssb) crescerà rapidamente fino a diversi gigabyte. Post interessanti possono essere trovati facilmente tramite hashtag. Puoi iniziare a leggere, ad esempio, con Dominik Tarr (@EMovhfIrFk4NihAKnRNhrfRaqIhBv1Wj8pTxJNgvCCY=.ed25519).
Tutte le immagini provengono dall'articolo di André Staltz e ai suoi .
Link utili:
[1]
[2] (app per Windows/Mac/Linux)
[3] (app per Android)
[4]
[5] («Scuttlebutt Protocol Guide — Come i peer Scuttlebutt si trovano e comunicano tra loro»)
Fonte: habr.com
