Scuttlebutt

- Lesezeit: 15 Minuten -

Vorwort

Forever
free
No ads.
No pay wall.
No data centers.
No cloud. No cookies.
No company. No investors.
No token. No ICO. No blockchain.
No tracking. No spying. No analytics.
No tedious registration. No premium costs.
No annoying notifications, emails, and banners.

… treffend formuliert.

Allgemein

Ein soziales Netzwerk mit Messenger, das so konstruiert ist, dass es auch offline, über WLAN, Bluetooth oder gar USB-Speicherstick funktioniert. Das ist natürlich nichts für Sofortnachrichten (instant messenging), wie man das allgemein so kennt - aber dafür interessant, falls man mal keinen Internetzugang hat (am Schiff, längerer Strom/Netzausfall, z.b. wie beim Hochwasser). Man verpasst dann nichts, denn es synchronisiert sich nach, sobald man wieder Zugang hat, oder jemand im selben WLAN ist, der Zugang hatte.

Für wirklich kritische Kommunikation (Journalisten, Dissidenten, Geheimnisverräter (‘whistleblower’), …) ist Briar natürlich die bessere Wahl. Briar ist ähnlich - nur muss der andere gleichzeitig online sein. Scuttlebutt ist jedoch offlinefähig und dadurch verbindungsunabhängig. Das macht es besonders spannend.

Eine Meinung über SSB:
Ich habe die Idee so verstanden, dass man bewusst online geht und nachher wieder abdrehe - also ein Bierli mit Freunden im Pub, und dann nach Hause. Im Garten kann ich dann nachlesen, was sich bei den anderen so getan hat. Geschlossene Gruppen mögen nicht der primäre Anwendungsfall von ‘social’-Dingen sein. Anderseits sind die auch in Facebook schon sehr beliebt. Ich würde Scuttlebutt eher als Twitter-Ersatz sehen und finde es auch etwas problematisch, daß dein social Graph (mit wem man in Verbindung ist) sichtbar ist.

Hybrid statt reines P2P

Entwickelt hat es einer, der in Neuseeland am Segelschiff unterwegs ist und dort gibt es einfach kein Internet. Im Hafen wird dann synchronisiert, während er zu tun hat. Dann, wenn wieder Zeit ist, wird gelesen und geschrieben - denn reines P2P ist einfach unpraktisch, da man nur Nachrichten schicken/empfangen kann, wenn der andere online ist. Letztlich will man einfach Hybrid-Modelle statt reinem P2P: So wie bei den Funklöchern und dem „Surfvergnügen“ während des Bahnfahrens oder wenn man auf der Alm im Urlaub ist … das erfordert „hybrid“:

Also: P2P wenn möglich, Server wo nötig!

Bei den klassischen sogenannten „sozialen“ Medien darf jeder Depp rausschreien, was ihn gerade so stört. Und der Algorithmus spült es in die Timeline, wann immer man reinschaut. „Freedom of Speech“ heißt es dann. Das Internet ist laut geworden - ständig Benachrichtigungen immer und überall, ständig irgendwelcher Müll, der aufregt und dich aufwühlt.

Scuttlebutt gibt einem die „Freiheit des Zuhörens“.

Bei Scuttlebutt kant man nur mitmachen, wenn man eingeladen wird. Entweder in einen „Pub“ (geselliger Treff), einen Raum („room“) oder direkt von einer anderen Person. Man kann Nutzer blockieren, von dem und mit dem es dann keinerlei Nachrichtenaustausch mehr gibt. Und: Man tritt nur mit anderen Nutzern in Kontakt, denen man vertraut.

Konzeptionell

So sehr man den Chatstandard XMPP evtl. mag, man ist dort auch wieder abhängig von Servern - auch wenn es sogar ein eigener ist. Der Nachteil von serverbasierten Systemen ist, daß sämtliche Inhalte und Nachrichten mit der Datenbank des Anbieters stehen und fallen: Fällt diese aus, ist alles weg und das ist nicht prickelnd.

Scuttlebutt ist mehr als ein Messenger - das ist eher so ein Soziales Netzwerk, was XMPP nur bedingt kann (Libervia und Movim sind dort erste Ansätze, die auch sehr spannend sind) und grob vergleichbar mit einem lokalen Git-Repo, das mit anderen abgeglichen wird.

Scuttlebutt hat Pull-Benachrichtigung! Das hört sich in einer Welt, die vermeintlich ohne Push-Benachrichtigungen nicht funktioniert merkwürdig an, denn Push-Benachrichtigungen entsprechen der „Freiheit zu sprechen“. Jeder kann immer und überall sprechen und seinen Sermon in die Welt hinausbrüllen. Und jeder kriegts mit. Ständig klingelt das Smartphone oder bimmelt etwas am Desktop … ah, neue Nachricht - und schon ist man wieder abgelenkt.

Pull-Benachrichtigungen dagegen entsprechen der „Freiheit zuzuhören“. Soll jeder seinen Müll raustragen, wann und wohin er will - aber man selbst entscheidet, wann man ihn hören möchte. Und ob.

Eine Meinung zum aktiven Abrufen („Pull“) von Nachrichten am Beispiel der Telefonie:
Meine Mitmenschen leiden seit der Einführung der Mobiltelefonie in meinem Freundes/Bekanntenkreis darunter, dass ich selten abhebe. Klar, macht es das nicht immer einfach. Aber ich lebe das, seit ich ein Mobiltelefon habe (seit über 20 Jahren) konsequent so weiter, wie es noch zu Festnetzzeiten gewesen ist (ohne Anrufbeantworter wohlgemerkt! Mailbox deaktiviert). Wenn ich nicht daheim bin, kann ich gar nicht hören, dass du anrufst. Wenn es wirklich wichtig ist, ruf noch einmal an. Und wenn ich grad am Klo bin, heb ich auch nicht ab. Und im Zug telefoniere ich auch nicht gern, weil es niemanden etwas angeht, was ich mit dir spreche. Und im Supermarkt heb ich auch nicht ab. Das Einzige was mich interessiert ist: Hat jemand angerufen und wer, und eventuell noch wann? Dann kann ich zurückrufen, und mir die Info abholen (pull) die du für mich gehabt hast. Vielleicht gefällt mir deshalb Scuttlebutt so gut. :)


Funktionsweise

Grundsätzliches

Öffentliche Treffpunkte

Es gibt öffentliche Treffpunkte („pubs“) - also öffentlich in dem Sinne, dass sich jeder (mehrfach) ohne explizite Einladung (mit öffentlichem Einladungscode) registrieren/einklinken kann. Das System ist in der Tat sympathisch und „cool“ - gerade die Art und Weise des Austauschs von Offline-Nachrichten. Man schreibt auf seinem Geräte und wenn die Internetverbindung nicht funktioniert, kann man nichts posten und nichts Neues lesen - weder auf Facebook, noch auf Mastodon, noch auf Friendica. Aber durch diese Konzeption hat man zumindest die Möglichkeit, geschlossenere Gemeinschaften zu pflegen.

Der Austausch zwischen zwei Geräten gelingt direkt, wenn beide im selben Netzwerk sind; also beide im selben WLAN angemeldet oder per Bluetooth verbunden sind. Will man über das weltweite Netz kommunizieren, dann muss man in einen sogenannten „pub“ oder Raum („room“) gehen. So wie ich mit meiner Frau daheim plaudern kann, mich aber mit meinem Freund im „Pub” (der Kneipe / im Wirtshaus) treffen muß.

Man kann also öffentliche Pubs betreten, die quasi immer online sind. Diese haben einen Identifier, der die öffentlich erreichbare Adresse (domain oder IP+Port) und den öffentlichen Schlüssel (Public-Key) zur Verschlüsselung beinhaltet. Um mit anderen kommunizieren zu können, benötige ich einen Einladungscode mit diesen Informationen - man kommt also nur auf „Einladung“ rein. Und man kann nur mit Kontakten direkt kommunizieren, die ebenfalls in diesem Pub sind. Man entscheidet selbst, ob und wann man ins Gasthaus geht, sich dort austauscht und wann man wieder heim geht.

Man kann auch relativ einfach einen eigenen Pub aufmachen, und seinen Freunden einen Einladungscode dafür zukommen lassen. In dem Fall kann man natürlich selbst entscheiden, wen man zu sich reinläßt - man hat das Hausrecht.

Größere Dateien wie Bilder, Videos, Audio-Files usw. können anscheinend gefahrlos vom eigenen Gerät gelöscht werden, um Platz zu sparen.

Räume statt Kneipen

Es gibt Pub-Server, die den Verlauf aller damit verbundenen Nutzer vorhalten und diese natürlich auch im Internet repräsentieren - als Alternative dazu gibt es auch noch „Room-Server“, die mit aktuell verbundenen Nutzern den Austausch über das Internet ermöglichen (und damit den Abgleich von gemeinsamen Freunden), aber keine Gesprächs-/Nutzerdaten vorhalten.

Replikationsweite

Der geniale Part bei Scuttlebutt ist die einstellbare Replikationsweite: Wenn ein Kontakt, mit dem man gerade verbunden ist, einen aktualisierten Nachrichtenverlauf eines gemeinsamen Kontaktes von uns hat, der aber momentan nicht online ist, kann man sich über unseren gemeinsamen Freund dessen Aktualisierungen abholen. Man wird also indirekt auf dem aktuellen Stand gehalten.

Sollte ein Gerät verloren gehen, kaputt gehen oder gestohlen werden, benötigt man nur seinen privaten, geheimen Schlüssel (das ist die Datei ~/.ssb/secure) und überträgt diesen auf das neue Gerät. Dann holt sich z.B. die Android-App Manyverse von den Freunden (man ist mit dem geheimen Schlüssel automatisch authentifiziert) die persönliche Historie wieder zurück. Die Sicherungskopie (das „Backup“) sind also Freunde, denen man vertraut.

Da auf dem eigenen Handy/Laptop/PC der gesamte Verlauf aller Kontakte gespeichert ist, sollte man automatisch auch darauf zu achten, wirklich nur mit Menschen Kontakt zu haben, denen man 1. vertraut und die es 2. wirklich wert sind, den Kontakt zu halten. Über die Replikationsweite kann man einstellen, über wie viele Verbindungen man man sich Nachrichten herunterlädt (und somit, wieviele Daten). Trotzdem kann man ausschließlich das lesen, was für einen selbst bestimmt ist.

Your scuttlebutt app is interested in the people you follow, and the people they follow (2 hops out). It won’t show those more distant people to you in most screens of the app, but it will try to download their posts in case you try to look at them.

Quelle: https://scuttlebutt.nz/docs/introduction/detailed-start/

Blockieren

Wenn sich jetzt jemand daneben verhält, so kann man ihn blockieren. Wenn das viele tun, ist die Person dann ziemlich schnell einsam. Damit diese wieder mitmischen kann, müsste sie sich eine neue (Scuttlebutt-)Identität zulegen - da man in der Regel jedoch nur eingeladen wird, wenn einem jemand vertraut, ist das Vertrauen auch schnell einmal für einen Wiedereintritt verspielt. Ganz anders als Bei Facebook oder Twitter, bei denen sich jeder vielfach registrieren kann, andere nerven oder Unwahrheiten verbreiten.

Das Blockieren eines Nutzers führt also dazu, dass dieser einen Zugang weniger zur Gemeinschaft hat. Wird ein Nutzer von vielen blockiert, so ist dieser irgendwann abgeschnitten - und alleine. Das und die Tatsache, daß man seine eigene Gemeinschaft aufgrund des Speicherplatzes am Smartphone klein halten wird, führt wahrscheinlich automatisch dazu, dass sich Ungute, Deppen, Aufrührer, Hassverbreiter, Trolle usw. nicht lange in der Gemeinschaft wohlfühlen werden. Oder in ihrer eigenen abgeschotteten Hater-Gemeinschaft alleine bleiben und den Rest nicht mehr belangen können. Das könnte womöglich erstmals das „Troll-Problem“ in öffentlichen Foren „lösen“ …

Unterschied zu Movim

Bei Movim hat man ein Konto bei einem Anbieter, wo man seine eigenen Einträge („postings“) auf einem öffentlichen Service speichern kann, die von anderen abonniert werden. Man sucht sich also ein Movim-pod aus, auf dem man sen soziales Netzwerk pflegen will. Egal auf welchem pod man ist, man hat die eigenen Beiträge immer mit dabei - die der anderen allerdings nicht.

Ja die Movim-Architektur ist verwirrend: Ein “Pod” ist eine Movim-Instanz, also PHP-Code der auf einem Webserver läuft. Dieser PHP-Code ist ein reiner XMPP-Chatclient; die Interaktion ist also “podübergreifend” genau wie jede andere XMPP-Kommunikation “clientübergreifend” ist.

Der Hauptunterschied ist also, daß man bei Movim(XMPP) ein Chatkonto bei einem Anbieter hat und bei Scuttlebut total unabhängig von irgendwelchen Anbietern ist.


Nutzungsdetails

Nochmal zur Replikationsweite:

Unter ‘Verbindungen’ werden eine Hand voll Pubs angezeigt, die mit scuttlebutt.de befreundet sind. Im ‘Öffentlichen Bereich’ sollten sämtliche (öffentliche) Posts von allen anderen Nutzern auftauchen, die mit den Pubs verbunden sind/waren, mit denen man sich gerade synchronisiert. Die “Tiefe” der angezeigten Bekanntschaften in den Einstellungen festgelegt werden. Sie ist auf “2” voreingestellt. Das heißt man sieht die eigenen Freunde (besser: direkten Kontakte), mit denen man sich aktiv befreundet hat und deren Freunde, mit denen diese befreundet sind. Je höher die Zahl, desto mehr siht man. Also bei einem Pub, bei dem 1.200 Leute sind, müsste man 1.200 Leute zumindest synchronisiert haben und deren updates bekommen.

Clients

Es gibt verschiedene Clients. Auf Android gibt es „Manyverse“; die Desktopclients „Patchwork“ und „Patchbay“ z.B. haben einen noch größeren Funktionsumfang. Am Desktop-Rechner ist es egal, ob man Patchwork oder Patchbay verwendet - beide greifen auf die selbe Datenbank zu. Einsteigerfreundlich oder Funktionsmonster? -> Einfach mal hier schauen und dann testen: https://scuttlebutt.nz/get-started/ (extern)

Kennung/ID

Die Kennung ist der öffentliche Schlüssel eines ed25519-Schlüsselpaares.: @xlJXm+xuEcf8EDH0rBajDnFrTWR+xMdrT+x5JBAaXAD/U8k=.ed25519

Jedes Gerät hat seine eigene Kennung. Wenn man den geheimen Schlüssel auf mehreren Geräten gleichzeitig benutzt, werden die jeweils anderen Geräte automatisch geblockt, was man nicht möchte. Deshalb bietet es sich an, diese zu unterscheiden in z.B. ““meinname :pc:” und “meinname :mobil:“.

Räume

Räume kann man erstellen, indem man einfach einen Hashtag schreibt.
Neuerungen („Rooms 2.0“): https://m.youtube.com/watch?v=W5p0y_MWwDE (extern)

Spezialwissen

Interessant an Scuttlebutt ist auch die Verbindung zu Git:


Vorteile

  • Vollständige Unabhängigkeit von Anbietern („providern“). Also nicht nur in dem Sinne, daß man (wie bei Mastodon oder XMPP) auch mit Nutzern (sowie der Software) anderer Anbieter kommunizieren kann. Sondern eben auch in dem Sinn, dass das Konto (besser das Gerät für den Zugang) nicht an einen Anbieter gebunden ist.
  • Einfacher Umzug auf neue/andere Geräte, da verteilte „Sicherung“ bei Kontakten
  • Spezialisierung auf Offline-Funktionalität

Nachteile

  • Anfangs muss man sehr große Datenmengen herunterladen (je nach Replikationstiefe mehrere GB!)
  • Maximal 7 Teilnehmer bei „geschlossenen Gruppen“ was direkten Nachrichten an mehrere (max. 7) Empfänger entspricht. (stimmt diese Beschreibung?)
  • Nicht mehrgerätefähig. Echte Mehrgerätefähigkeit ist ohne Anbieterabhängigkeit (ohne autoritative Server-Instanz zur Verwaltung der Daten) sicherlich auch nicht ganz einfach.
  • Hoher Akkuverbrauch. Auf Grund der Synchronisation über ggfs. mehrere Ebenen beansprucht Manyverse den Akku mehr als Briar
  • Viel Speicherbedarf (maximal viele Daten lokal vorzuhalten maximiert natürlich die Chance, dass die Offline-Nutzung funktioniert).
  • Es hat aber schon auch technische Aspekte, die evtl. negativ gesehen werden können wie “Ad-hoc-JSON-Spec, Node.js-Server, …

Fragen

  • Wie viele Ressourcen braucht es, um gut zu funktionieren?
  • Irgendwie scheint es einen “basic account” auf einem Server zu geben … ?

Fazit

Massentauglich scheint Scuttlebut (noch) nicht zu sein - aber mit einem eigenem pub/room-server sehr wohl familientauglich und auch für echte Freunde geeignet!


Infos:

Projektseite: https://scuttlebutt.nz (extern) Wiki: https://github.com/ssbc/ssb-server/wiki/#ssbrooms (extern)
Manyverse-Client: https://www.manyver.se (extern)
Infos zu Manyverse: https://gitlab.com/staltz/manyverse/-/wikis/roadmap (extern)
Entwickler von Maniverse: https://staltz.com (extern)

SSB Logo