Föderierte Reputation

Auf dem SocialHub schlug @keunes vor, Reputation zu federieren, in dem Sinne, dass falls Discourse ActivityPub unterstützen würde, Nutzer ihre bestehende Reputation von einem oder mehreren Discourse-Instanzen im gesamten Internet nutzen könnten, um die anfänglichen Vertrauensstufen 0 und 1 zu umgehen und beim Beitritt zu einem neuen Board direkt das Level 2 (Mitglied) zu erreichen.

Ich habe gerade meinen ersten Beitrag auf dieser Discourse-Instanz verfasst, und da ich neu hier bin, kann ich nur zwei Links posten. Verständlich, aber eher ärgerlich. Also dachte ich: Gibt es nicht eine Möglichkeit, Discourse zu „fediversifizieren", insbesondere meine Reputation?

Beispielsweise könnten wir im AntennaPod-Forum SocialHub als „vertrauenswürdige Vertrauensquelle" einrichten und Nutzern erlauben, von ihren an anderer Stelle erworbenen Vertrauensstufen zu profitieren.

Tatsächlich können die Einschränkungen niedrigerer Vertrauensstufen für bekannte Netznutzer mit guter Reputation zur Last werden, wenn sie neuen Foren beitreten. Andererseits könnte ein schlechter Ruf auch verhindern, dass man auf neuen Boards Privilegien erhält (z. B. als negatives Gewicht bei der Förderung der Vertrauensstufe, obwohl dies leicht durch die Verwendung einer neuen Identität umgangen werden kann).

Die Idee besteht also wirklich darin, den Austausch von Reputation für gutes Verhalten über Discourse-Instanzen hinweg zu erleichtern. Da bereits ein globales Netzwerk von Discourse-Instanzen existiert und eine Reihe von Nutzern hier auf Meta auch in mehreren anderen Instanzen aktiv sind, wird es zunehmend wünschenswert, Identitäten über Instanzen hinweg für regelmäßige Nutzer zu vereinheitlichen, damit Gespräche flüssiger werden. ActivityPub ist eine Möglichkeit, dies zu tun, und wir untersuchen derzeit Möglichkeiten, ein Plugin zu erstellen, das ActivityPod-Unterstützung für Discourse hinzufügt. Dies könnte als Grundlage für andere federierte Funktionen dienen, einschließlich dieser.

Parallele Geschichte

@erlend_sh erinnerte mich an diesen Vorschlag von vor drei Jahren:

Zusammenfassung der vorgeschlagenen interessanten Funktionen

Opt-in

Vertrauensnetzwerk

Auffindbarkeit

In Beitrag #4 schlug @erlend_sh vor, „gemeinsame Gemeinschaften" mit anderen Nutzern hinzuzufügen und schließlich Abzeichen über Gemeinschaften hinweg zu portieren, um es Mitgliedern zu erleichtern, neue Gemeinschaften zu entdecken.

9 „Gefällt mir“

Meine ersten Gedanken zur „Reputationsmigration":

  • Dies sollte pro Forum optional sein.
  • Dies sollte pro Nutzer optional sein (siehe 1).
  • Es sollte eine bearbeitbare Whitelist (möglicherweise von Discourse selbst bereitgestellt) zulässiger Foren geben.
  • Es sollte eine bearbeitbare Blacklist zulässiger Foren geben.

1: Dies wirft die Frage auf, ob wir den Nutzer in den ersten 5 Minuten der Nutzung des Forums damit belästigen wollen.

4 „Gefällt mir“

Ich dachte, die Vertrauensstufen dienten eher dazu, die Regeln und Gepflogenheiten der einzelnen Foren kennenzulernen. Es könnte problematisch sein, wenn man die zweiwöchige/15-Besuche dauernde „Eingewöhnungsphase" (Standard) nur aufgrund der Regeln anderer Foren überspringen könnte.

Mir würde nichts gegen eine zusätzliche Vertrauensstufe „assoziiertes Mitglied" einfallen, die auf Foren/Nutzer angewendet werden könnte, die in einem zentralen Verzeichnis-Hub registriert sind. Etwas, das mir Lesezugriff auf viele Foren ermöglichen würde und vielleicht die Option, an Umfragen abzustimmen oder Dinge zu liken – während ich mich dennoch für ein bestimmtes Forum anmelden müsste, um als Vollmitglied Beiträge zu verfassen und die Vertrauensstufe zu erhöhen, usw.

2 „Gefällt mir“

Ich betreibe einige kleine Discord-Instanzen und fürchte den Tag, an dem ich mich mit Moderations-Bots herumschlagen muss, um Spam und andere schädliche Aktivitäten zu verhindern.

Die meisten Mängel bei der Moderation auf Discord ließen sich durch Vertrauensstufen lösen, die in Community-Software nach wie vor stark untergenutzt werden.

Vernetzte (föderierte) Vertrauensstufen, die über mehrere interoperable Instanzen hinweg geteilt werden, ermöglichen zwei wichtige Funktionen:

Vertrauensnetzwerk

Ein Nutzer, der auf Meta Vertrauensstufe 2 (TL 2) erreicht hat, sollte beim Beitritt zu jedem Forum, das meta.discourse.org als vertrauenswürdiges Forum aufgelistet hat, direkt auf TL 1 hochgestuft werden. Im Wesentlichen ist dies der nächste Schritt nach Let experienced users skip "new to Discourse" features.

Es handelt sich um ein sehr unkompliziertes, dem PageRank ähnliches System.

Auffindbarkeit

Discord bietet eine praktische Funktion, mit der du sehen kannst, welche Chat-Communities (Server) du und ein anderer Nutzer gemeinsam habt:

Das hat mich an das erinnert, was ich nach wie vor für den attraktivsten Anwendungsfall für unser schwer fassbares Discourse Hub halte:

Eine ähnliche Art der Übertragung von Abzeichen von anderen Instanzen wäre ebenfalls sehr nützlich. Wenn jemand sein erstes „Hilfreich"-Abzeichen erhalten hat (ein solches Abzeichen existiert standardmäßig noch nicht), dient jede weitere Instanz, auf der es angezeigt wird, als Erinnerung und Bestätigung für diese Person, dass sie die Art von Community-Mitglied ist, die anderen hilft.

6 „Gefällt mir“

Wenn das Vertrauensnetzwerk eingeführt würde, würde ich auch Unterstützung für eine Vertrauenswürdige-Vertrauensliste (Trusted Trust List) neben dem Vertrauenswürdigen-Forum sehen. Das heißt, eine Discourse-Instanz könnte ihre Liste der vertrauenswürdigen Foren veröffentlichen, und ich könnte beispielsweise wählen, auf meiner Instanz meta.discourse.org/trusted-forums.json als vertrauenswürdig einzustufen. (Wahrscheinlich nicht rekursiv)

3 „Gefällt mir“

Wie siehst du das funktionieren? Anonym ohne Benutzerdaten oder …?

Ich bin mir nicht sicher, welche Benutzerdaten speziell für die Liste der vertrauenswürdigen Foren relevant wären. Ich stelle mir „Trusted Forums" als etwas vor, das der Instanz-Administrator auswählt. Falls der Administrator entscheidet, diese Liste zu veröffentlichen, würde eine Anfrage an meta.discourse.org/trusted-forums.json (oder eine andere URL) etwas wie Folgendes zurückgeben:

{
  "trustedForums": [
    "meta.discourse.org",
    "bestforum.com",
    "marvellousdiscussions.org",
    ...
  ]
}

Als Administrator einer Instanz könnte ich dann „meta.discourse.org" in die Liste der vertrauenswürdigen Foren eintragen, um nur diese Instanz zu vertrauen (nicht aber die Instanzen, denen sie vertraut), oder ich könnte sie stattdessen in eine „Vertrauensliste" (mit einem besseren Namen) eintragen, um dieser Instanz und den Instanzen, denen sie vertraut, zu vertrauen.

Das JSON würde wahrscheinlich tatsächlich keinen Verweis auf die eigene Instanz enthalten; dies dient nur dazu zu veranschaulichen, dass das Vertrauen in die Liste einer anderen Instanz auch das Vertrauen in diese Instanz selbst implizieren sollte.


Da du Benutzerdaten erwähnst, nehme ich an, du beziehst dich darauf, wie ich das Vertrauen selbst funktionieren sehe. Das geht über den Rahmen meiner Bemerkungen hinaus, aber angesichts der Idee von @erlend_sh, einen Benutzer auf TL1 hochzustufen, müsste die Instanz vermutlich beim Registrieren (oder wahrscheinlicher in einem Sidekiq-Job nach der Registrierung) etwas wie einen SHA256-Hash der E-Mail-Adresse mit den vertrauenswürdigen Foren teilen.

Obwohl dies die direkte Weitergabe von Benutzerdaten vermeidet, sehe ich sofort einen Fehler, wenn man das obige JSON als Beispiel nimmt. Wenn ein Benutzer ein Konto auf bestforum.com hat und sich dann bei meta.discourse.org anmeldet, würde dies dem ersten Forum offenbaren, dass der Benutzer ein Konto auf dem zweiten erstellt hat, und dem zweiten Forum könnte offenbart werden, dass der Benutzer bereits ein Konto auf dem ersten hat. Das könnte unerwünscht sein.

Ich bin mir nicht wirklich sicher, wie man damit umgehen soll. Dass der Benutzer sich bei der Registrierung explizit dafür entscheidet, kann nicht wirklich als verlässlich angesehen werden, da eine Instanz, die diesen Mechanismus missbrauchen möchte, diese Option einfach entfernen könnte.

Möglicherweise könnte das „Discourse Hub" dieses Problem weitgehend lösen, indem es nur (und auch nur erhält) gehashte E-Mail-Adressen mit den zugehörigen Instanzen und Vertrauensstufen speichert. Eine Instanz würde das Hub mit einer gehashten E-Mail-Adresse abfragen und vielleicht ein punktebasiertes System mit den Instanzen verwenden, bei denen dieser Hash gesehen wurde und die erreichten Vertrauensstufen. So würde eine Instanz niemals sehen, welche anderen Instanzen beteiligt sind, sondern nur das resultierende Ergebnis.

Obwohl der offensichtliche Betreiber eines solchen Hubs die „Civilized Discourse Construction Kit, Inc." (CDCK) wäre, wirft diese Vereinbarung immer noch eine wichtige Frage auf: Möchte ich als Nutzer von meta und anderer Instanzen, dass CDCK sehen kann, welche anderen Instanzen ich verwende? (Es wäre für einen Instanz- und Hub-Betreiber möglich, ihre eigenen Instanz-Benutzer mit Einträgen im Hub zu verknüpfen.)

Zusammenfassend lässt sich sagen, dass die Funktionsweise des Vertrauens für dieses verwirrte Gehirn zu kompliziert ist. :slight_smile:

Obwohl ich den Ansatz der „vertrauenswürdigen Foren" interessant und nützlich finde, sehe ich auch ein potenzielles Sicherheitsproblem: Angreifer könnten weniger überwachte „vertrauenswürdige Foren" ins Visier nehmen, um Zugang zu ihrem eigentlichen Ziel zu erlangen – dorthin, wo sie keinen direkten Zugang hätten. Wenn wir also einen solchen Mechanismus der transitiven Vertrauensbildung implementieren wollen, darf er nicht leicht durchlaufbar sein und muss mit einer starken Vergeltungsmaßnahme einhergehen, die einen Angreifer instanzübergreifend sperrt. Ich betrachte dies als eine harte Anforderung, die erhebliche Komplexität hinzufügen würde und besser einer zweiten Entwicklungsphase vorbehalten bleiben sollte.

Andererseits wäre es (anscheinend) einfacher, eine private Liste vertrauenswürdiger Foren zu führen, bei der der Ruf eines Mitglieds auf jedem dieser Foren seinen lokalen Status stärkt. Vielleicht könnte das Konzept der Vertrauensstufen auch auf Instanzen sowie auf Benutzer ausgeweitet werden? Wenn eine Instanz, sagen wir Meta, eine Vertrauensstufe 3 (TL3) hat, könnten Personen, die von dort kommen, zunächst TL2 erhalten, mit einem Abklingfaktor, falls der Nutzer nicht aktiv ist. Das fügt eine weitere Komplexitätsebene hinzu, aber ich denke hier nur laut nach und wollte einige alternative Möglichkeiten zum Vertrauen in ganze Instanzen skizzieren.

Ich stimme der Diskretion bezüglich der Nutzung bestimmter Instanzen zu. Dies sollte berücksichtigt werden, obwohl das Veröffentlichen auf öffentlichen Instanzen möglicherweise dem Offenlegen der Tatsache gleichkommt, dass man sie nutzt; dies könnte jedoch auf private Foren zutreffen.

2 „Gefällt mir“

Ich warte immer noch auf eine Benutzerliste auf Verzeichnisebene. :slightly_smiling_face:

 https://DiscourseDiscovery.org -

Anonyme Benutzer sehen ein Verzeichnis der Foren, die sich registriert haben, um in die öffentliche Liste aufgenommen zu werden (durchsuchbar nach Kategorie oder „Forum-Tags"), und können zudem nach Schlüsselwörtern über alle Instanzen im Verzeichnis hinweg suchen.

Melde dich an, um ein DiscourseDiscovery-Benutzerkonto zu erstellen. Neue Konten beginnen auf Hub_Level_0 und können die verbleibenden Hub_Levels erreichen, indem sie bestimmte Aktionen ausführen und eine angepasste Discobot-„Forum-Training"-Einheit absolvieren, die alle notwendigen Fähigkeiten abdeckt, die deiner Meinung nach für Nutzer erforderlich sind.

Unterschiedliche Hub_Levels gewähren Zugriff auf weitere Funktionen im gesamten Verzeichnis. Zum Beispiel: Kategorien sehen, die normalerweise für anonyme Benutzer unsichtbar sind, Aktionen wie „Gefällt mir" durchführen oder bei Umfragen abstimmen (Avatarbilder könnten mit einem roten Kreis umrandet sein, um Mitglieder auf Ebene Associate/Hub_Level zu kennzeichnen) oder Benachrichtigungen zu Themeninhalten erhalten usw. Ein Tippen auf einen Avatar öffnet die DiscourseDiscovery-Benutzerkarte dieser Person.

Benutzer können dann beliebige „Vollmitglied"-Forenkonten zu einer zusammengefügten DiscourseDiscovery-Benutzerseite hinzufügen (mit der Option, alle, die sie möchten, wegzulassen). Hier können Abzeichen zusammengefasst werden, ebenso wie die neueste Aktivität usw.

Foren könnten zudem in den Sicherheitseinstellungen die Option haben, den Zugriff auf bestimmte Dinge (Kategorien, Umfragen usw.) nur auf Vollmitglieder zu beschränken. Sie könnten auch wählen, ob sie im öffentlichen Verzeichnis enthalten sein möchten, in einem privaten, das auf den Hub_Levels eines Benutzers basiert, oder gar nicht aufgenommen werden sollen.

Nur ein paar Ideen. :slightly_smiling_face:

3 „Gefällt mir“