Mittwoch, Mai 8, 2024

Das böse Büro

Uriel Fanellis Blog in deutscher Sprache

Uriel Fanelli

Fediverse und Threads, es geht wieder los.

Ich habe bereits gesagt, was ich über die Geschichte großer sozialer Netzwerke halte, die sich mithilfe von ActivityPub zusammenschließen, und ich habe bereits erklärt, warum sich das Modell nicht skalieren lässt. Das Irritierende daran ist, dass Leute wie Eugen Rochko (der Programmierer, der Mastodon schreibt) nicht versuchen zu beweisen, dass es skaliert, sondern sich nur an Details halten, wie „aber die Interaktion zwischen Instanzen basiert hauptsächlich auf dem Mechanismus des Folgens.“ “.

Das enthält einiges (aber nicht alles) Wahres, aber das Problem ist, dass dies NUR für bestehende Software gilt, von der Rochko glaubt, dass sie nur seine eigene ist.

Doch dem ist nicht so, denn Rochko tut so, als würde er andere Dinge vergessen.

1) Nein, bei Threads und anderen hängt der Verkehr NICHT nur vom Follow ab. Denn die anderen Systeme sind NICHT Mastodon.

Nehmen wir ein großes soziales Netzwerk. Nehmen wir eine bekannte Person: Ferragni hat rund 20 Millionen Accounts, die ihr folgen. Wir würden das Fediversum sagen, Anhänger. Stellen wir uns vor, Sie antworten Ferragni mit einem netten oder unangenehmen Bild und jemand antwortet folgendermaßen:

Um es bei Fediverse auszudrücken: Ich habe eine URL gepostet, die auf ein Bild zeigt, auf dem ich Eis esse, und jemand hat als Antwort mein Bild in einem anderen Bild gepostet. Vergessen wir die Tatsache, dass Sie mein Bild herunterladen mussten, um es in Ihrem Bild zu verwenden, aber das Problem ist, dass wir, wenn wir über Ferragni sprechen, in einem Moment absoluter Ebbe sie nur fünfzigtausend Mal sehen werden.

Aber es kommt noch schlimmer: Wenn mein Bild eine Kontroverse auslöst, laden wir problemlos bis zu eine Million Bilder herunter. Warum'? Weil der Algorithmus von Meta die Anzahl der Aufrufe maximieren möchte und daher tendenziell den Schwerpunkt auf Kontroversen legt.

Ein einzelner Beitrag, der über ActivityPub (das Bilder als Links sendet) übermittelt wird, wird der Rochko-Instanz wahrscheinlich den gleichen Traffic bescheren, als hätten alle Benutzer dasselbe Bild gepostet und mindestens eine Person hätte es angesehen.

Nur ein Beitrag.

Wenn wir bedenken, dass es Benutzer gibt, bei denen es sich um berühmte Sänger oder ganze Fernsehsender handelt, denen MILLIONEN Menschen folgen und die sie abonnieren, und dann die Kommentare lesen, können wir eines sagen: dass es NICHT stimmt, dass der Verkehr davon abhängt folgen.

Oder besser gesagt, wir können sagen, dass es linearer mit der Anzahl der Follower skalieren kann, abhängig vom Algorithmus auf der anderen Seite, der entscheidet, wie viel Bedeutung einem Beitrag – oder einer Kontroverse – beigemessen wird.

Wenn der Algorithmus entscheidet, dass Ihr Beitrag mit Ihrem Bild heute 25 Millionen Mal gesehen wird, muss Ihr Server damit umgehen. Punkt.


Die naive Antwort ist, dass Ihre Instanz die Bilder zu diesem Zeitpunkt jederzeit auf S3 oder einer anderen Cloud belassen kann. Bestimmt. Wir haben das alles getan, um uns zu dezentralisieren und uns von Internet-Oligarchen zu befreien, und jetzt hosten wir Inhalte bei einem Internet-Oligarchen.

Aber die CDN-Diskussion öffnet eine zweite Front. Dieser Blog wird beispielsweise manchmal auf Facebook und anderen sozialen Netzwerken erwähnt.

Wenn es erwähnt wird, erhält es viele Besuche. Was sehe ich auf meiner bescheidenen Grafana? Ich sehe es:

Denn große Systeme sind nicht EIN Server oder EINE IP-Adresse, die einem Host zugeordnet ist, wie es im Fediversum der Fall ist. Sie sind eine MILLIONENköpfige Hydra namens CDN. Wenn ich zum Beispiel in Düsseldorf bin und auf Facebook bin, sehe ich einen Beitrag als

https://scontent-dus1-1.xx.fbcdn.net/v/t39.2365-6/whatever

aber wenn ich das Gleiche aus, ich weiß, Rom beobachte, lese ich den Beitrag so, als käme er von https://scontent-rome1-1.xx.fbcdn.net/v/t39.2365-6/whatever und tatsächlich Muss ich die Protokolle für „fbcdn.net“ für die Gesamtdaten aggregieren?

Es gibt jetzt zwei Fälle: den einen, in dem mein Bild (eine Kopie) auf das Facebook-CDN hochgeladen wird (und dann ist es in Bezug auf Datenschutz und Profilerstellung so, als hätte ich ein Facebook-Konto), und den einen, in dem es dort belassen wird, wo es sich findet (zum Beispiel, weil es alt ist oder weil es nicht in Rom hochgeladen oder gelesen wird.

Wenn es um das Bild geht, können wir wählen zwischen dem Abschalten unseres Servers aufgrund von Überlastung oder der Übernahme durch Facebook und der anschließenden bequemen Arbeit, indem wir unser Profil (für uns entfernt) des Fediversums profilieren. Da wir jedoch keine Nutzer sind, bestehen KEINE Datenschutzverpflichtungen, die nur gelten, wenn ein Vertrag besteht, d. h. wir sind Nutzer.

Wenn das CDN jedoch unseren Beitrag oder Toot trägt, der das Bild in Form eines Links enthält, müssen wir uns darauf vorbereiten, mit GET-Anfragen bombardiert zu werden, deren Referrer der bestimmte Knoten des CDN ist, der die Anfrage verwaltet.

Entweder überlassen Sie es Facebook, den Inhalt zu übernehmen und sich um die Bereitstellung zu kümmern, wodurch Profiling möglich wird und einige Datenschutzmaßnahmen verloren gehen, oder Ihr Server stirbt an der Last, sobald jemand Taylor Swift folgt


3) Ah, ja. Haben Sie „Links“ gesagt?

Genau. Denn wenn wir in ein großes soziales Netzwerk gehen und auf einen „externen“ Link klicken, verweisen wir nicht auf den externen Link. Unser Ziel ist ein System, das „einige Prüfungen durchführt“ (kurz gesagt, es entnimmt Informationen vom Browser, erstellt ein sorgfältiges Profil von uns, erfasst alle möglichen Daten) und leitet uns dann zu den verlinkten Inhalten weiter.

Dies erfordert, dass in großen Systemen der „Zwischenlink“ mindestens einen HEAD zum endgültigen Inhalt macht, soweit er das sogenannte SEO-Poster lädt. Dies bedeutet, dass Ihr Server, abhängig davon, wie viele Personen den Thread lesen, mindestens einen Aufruf erhält, unabhängig davon, ob dem Link gefolgt wird.

Wenn Sie also eine Antwortnachricht an Taylor Swift posten, die die Suchmaschinenoptimierung der Nachricht oder nur Ihren Avatar enthält, lädt jeder, der in diesem Thread scrollt, parallel den Avatar. Selbst wenn Ihr Link NICHT befolgt wurde, würde bei einer einzigen Ansicht zumindest der Avatar geladen werden, was ein GET auslöst, oder in einem Cache gespeichert und für … „gute Zeit“ gespeichert.

In diesem Fall erzeugen die Links selbst, einschließlich des Links zu Ihrem Beitrag, Traffic, und zwar nicht im Verhältnis zur Anzahl der Follower, die Taylor auf IHRER Instanz hat, sondern im Verhältnis zu den Followern, die Taylor auf SEINER „Instanz“ hat ", da Ihr Link, oder zumindest der Link zu Ihrem Beitrag, von jedem Meta-Kunden gelesen oder zu Meta verschoben wird (was in Bezug auf Datenschutz und Profilerstellung so ist, als ob Sie dort ein Konto hätten).

4) Und hier liegt das Problem mit Berichten.

Wie ein Schwanz auf Makkaroni kommt das Problem der Mäßigung. Wenn ich unerwünschte Inhalte poste, kann dies dem Moderator gemeldet werden. Im Fediverse wird die Meldung zu einem bestimmten Vorfall auch an den Moderator weitergeleitet.

Bisher bewegen sich die Dinge auf dem Fediversum im Rhythmus von einem Bericht alle zwei Monate. Auf Hobbyebene also machbar. Aber was passiert, wenn ich ein auffälliges Foto verschicke und 23.000 Berichte von einem Big Player erhalte? Das bedeutet, dass ich 23.000 Berichte abschließen muss.

Während ich mir bei großen Systemen vorstelle, dass die Berichte nach Inhalt aggregiert werden, ist die Form des Berichts auf Mastodon frei, das heißt, ich kann einen Bericht für „Offends the God of the Buttered Rabbit“ erstellen, wenn ich einer sein möchte Guter Moderator, ich bin gezwungen, sie allen vorzulesen, weil jemand vielleicht einen guten rechtlichen Grund hat, sie zu erwähnen.

Die Moral der Geschichte: Sysadmin lässt sich auch nicht skalieren.


Sie werden sich fragen: Aber weiß Eugen Rochko diese Dinge nicht? Natürlich weiß er es, aber aus irgendeinem Grund spielt er das Problem lieber herunter oder tut so, als gäbe es es nicht. Er weiß sehr gut, dass, wenn ein Mastodon-Benutzer sich entscheidet, Taylor Swift zu folgen, es für jeden Beitrag auch einen Thread mit Antworten gibt, dem er folgen kann, und dass, wenn der Benutzer klickt, um den Thread zu lesen, der Datenverkehr des Mastodon-Servers von Taylors Erfolg abhängt und nicht durch die Anzahl der Follower in diesem Fall.

Aber er tut so, als wüsste er es nicht.

Pleroma hat ein Ratenbegrenzungssystem entwickelt, das mir persönlich gefällt, sodass ich das Problem entschärfen kann. Wenn Pleroma fehlschlägt, stelle ich eine Ratenbegrenzung für den Reverse-Ingress-Proxy ein, und wenn es immer noch nicht funktioniert, kümmert sich die Firewall darum. Und wenn das auch nicht funktioniert, begrenzt der maximale Datenverkehr meiner Docsis 3.1-Verbindung den Datenverkehr.

Aber das Problem bleibt bestehen: Wenn große Player einsteigen und den Datenverkehr nicht begrenzen, werden viele kleine Instanzen Probleme haben.

Warum Rochko so tut, als würde er es nicht verstehen, weiß ich nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert