Dezentralisierte soziale Netzwerke – The missing Link

Letztens hatte ich eine längliche (teils öffentliche, teils nicht-öffentliche) Diskussion mit @servicecase18 zum Thema tent.io. Dabei handelt es sich um einen neuerlichen Versuch, dezentralisierte soziale Netzwerke salonfähig zu machen.

Ich persönlich denke, dass die derzeitigen Formen von dezentralisierten Netzwerken einfach nicht funktionieren. Sehen wir uns z.B. status.net - eine OpenSource-Software, die einem einen Twitter-Clon bereitstellt, mit allem, was dazugehört. Dank des Protokolls OStatus könnte jeder seine eigene status.net-Instanz betreiben und alle könnten gemeinsam denten/twittern/posten/whatevern. Aber kaum einer tut das. Die meisten Nutzer finden sich bei einem zentralisierten Dienst: identi.ca! (Dass es generell funktioniert, kann man z.B. bei Dominik George sehen.)

Oder sehen wir uns DIASPORA* an: Ebenfalls ein dezentrales soziales Netzwerk, von dem es ebenfalls mehrere Instanzen gibt - eine direkt von den Entwicklern (joindiaspora.com) und noch einige andere. Leider ist Diaspora wieder in der Versenkung verschwunden.

Was ist passiert?

Ganz einfach: Man hat angefangen, Diaspora-Accounts zu sammeln. Einige Leute waren direkt auf joindiaspora.com zu finden, andere wiederum haben sich einen Account bei geraspora.de geholt. Diese wiederum waren aber nicht einfach so bei joindiaspora.com auffindbar. Und wer sich irgendwo anders angemeldet hatte, war weder bei dem einen noch bei dem anderen zu finden. Etc. etc. etc.

The missing Link?

Wenn wir uns zurück erinnern. Was war denn der große Vorteil von sozialen Netzwerken (speziell StudiVZ und Facebook)? Man heute Leute wiedergefunden! Das war wahrscheinlich DER Grund, einem sozialen Netzwerk beizutreten. Man wusste noch den Namen und den Wohnort einer Person? Oder den Namen der Schule, die man gemeinsam besucht hat? Oder den Namen des Sportvereins, in dem man war? Oder den Namen der Uni? Das alles waren Möglichkeiten, andere Leute wiederzufinden, die man aus den Augen verloren hatte. DAS war das absolute Novum bei sozialen Netzwerken!

Aber was passiert denn nun, wenn jeder seine eigene Instanz betreibt? Richtig! Man hat zwar seine eigenen Daten auf seinem eigenen Server. Aber man wird nicht mehr gefunden. Früher oder später bilden sich (ein oder mehrere) zentrale Instanzen heraus, die so beliebt sind, dass sich dort alle Leute anmelden. Diese Leute bilden dann ein Mikronetzwerk, da es nicht mehr alle Nutzer enthält, sondern nur noch einen Teil derer, die die gleiche (eigentlich dezentrale) Infrastruktur verwenden.

Die Person mit ihrer eigenen Instanz ist nur dann auffindbar, wenn durch Mundpropaganda bekannt wird, WIE bzw. WO sie erreichbar ist. Oder: Indem sie sich beim gleichen Mikronetzwerk anmeldet und ihren Account dort mit ihrem tatsächlichen Account verknüpft. Inwieweit das jedoch noch etwas mit Dezentralisierung zu tun hat, wenn sich erst zentralisierte Elemente entwickeln müssen, damit die Technologie nutzbar ist, ist in meinen Augen diskussionswürdig.

Beispiel?

Nehmen wir jetzt als Beispiel tent.io - auch dort gibt es diese vielfach genutzte Testinstanz: tent.is. Auch Leute, die ihre eigene tent.io Instanz (Update: zu verstehen als Instanz einer Software, die das tent.io Protokoll implementiert) betreiben, sind dort zu finden. Zum Beispiel auch jue.tent.is, der dort auf seine private Instanz jue.yt verweist.

Sucht man aber nun z.B. einfach mal nach "jue", so findet man nur Ergebnisse, die zur lokalen Instanz jue.tent.is gehören und keine, die zur fremden Instanz jue.yt gehören. Damit ist diese Person über die Instanz tent.is nur INDIREKT erreichbar. Nämlich, wenn man (z.B. durch Mundpropaganda) erfährt, dass er dort existiert.

Ist das Problem neu?

Dieses Problem ist schon ziemlich alt. Wir müssen nur an die Blogs denken. Wie funktioniert denn das Auffinden von Blogs? Entweder, man findet neue Blogs durch Linktausch-Bereiche (wie in meinem Blog) - aka. Mundpropaganda - oder, man wird über Blogkataloge wie bloggerei.de fündig.

Was fehlt also?

Es fehlt die Möglichkeit, gefunden zu werden. Eine der Hauptfunktionen eines sozialen Netzwerks. Wenn wir uns mal die Funktion von Twitter angucken, so stellt sich heraus, dass diese eigentlich ziemlich beschränkt ist. Twitter besteht nur aus den Informationen "Name von Person X", "Nachricht von Person X" und "Person X folgt Person Y". Alle anderen relevanten Informationen lassen sich daraus ableiten. Followerlisten, Followingslisten, Timelines, Mentionslisten, etc.
Das funktioniert super einfach und super schnell, weil alles in der gleichen Datenbank gespeichert ist. Bei dezentralisierten Lösungen ist das jedoch nicht der Fall. Diese 3 wesentlichen Informationen (eines Mikroblogging-Dienstes) sind dort auf N Servern verteilt. Es muss ein Weg gefunden werden, wie diese Informationen sämtlichen Servern zur Verfügung gestellt werden, und zwar so, dass diese die Informationen auch verarbeiten und in ihre eigenen Indizes aufnehmen.

Für viele kleine Instanzen würde das jedoch ein schierer Daten-Overload werden. Die wahrscheinlichste Folgerung ist also, dass man sich auf einige wenige Instanzen einigt, die sämtliche Daten von kleineren Instanzen als Input erhalten und diejenigen Instanzen sind, die für den Output zuständig sind. Sprich: Wenn jemand wissen will, ob er gementioned wurde, MUSS er Instanz A fragen, obwohl er selbst Instanz B betreibt. Damit würde man jedoch wieder die Hohheit über seine Daten verlieren, denn Instanz A müsste eine Kopie ALLER Daten erhalten. Dumm nur, dass diese zentralen Instanzen irgendwann wieder anfangen könnten, den kleineren Teilnehmern irgendwelche Restriktionen aufzuerlegen. Ein Wechsel auf eine andere Zentralinstanz wäre dann zwar möglich, aber sehr aufwändig. Ein Teufelskreis.

Fazit?

Solange das zentrale Problem der Auffindbarkeit der einzelnen dezentralen Instanzen nicht gelöst ist, werden sich dezentrale soziale Netzwerke (in meinen Augen) nicht durchsetzen. Selbst die derzeitige Lösung von tent.io halte ich z.B. für viel zu komplex. Es ist zum Beispiel möglich, über jede tent.io Instanz den Inhalt einer anderen tent.io Instanz anzeigen zu lassen. Damit werden die Leute auf Dauer nicht klar kommen:

Na? Den Unterschied bemerkt? Sieht für mich so aus, als ob hier der Server von tent.is dazu veranlasst wird, eine Seite auf einem fremden Server abzurufen und dessen Inhalt direkt anzuzeigen. Von den Sicherheitslücken, die da mit im Spiel sein könnten, will ich gar nicht mal reden. Hier noch ein anderes Beispiel:

Also alles in allem gibt es noch viel zu tun und viele Lösungen zu finden.
Zentralisierte Grüße, Kenny