Федеративная репутация

На SocialHub пользователь @keunes предложил федерировать репутацию в том смысле, что если Discourse поддерживал бы ActivityPub, пользователи могли бы использовать свою существующую репутацию на одном или нескольких экземплярах Discourse в интернете, чтобы обойти начальные уровни доверия 0 и 1 и сразу перейти к уровню 2 (участник) при присоединении к новой доске.

Я только что создал свой первый пост на этом экземпляре Discourse, и поскольку я здесь новичок, я могу публиковать только две ссылки. Это понятно, но довольно раздражает. Поэтому я подумал: неужели нет способа федерализовать Discourse, особенно мою репутацию?

Например, на форуме AntennaPod мы могли бы установить SocialHub как «доверенный источник доверия» и позволить пользователям пользоваться уровнями доверия, полученными в других местах.

Действительно, когда вы известный пользователь сети с хорошей репутацией, ограничения низких уровней доверия могут стать обузой при присоединении к новым форумам. С другой стороны, если вы заработали плохую репутацию, это также может помешать вам получить привилегии на новых досках (например, действовать как отрицательный вес при повышении уровня доверия, хотя это легко обойти, используя новую личность).

Идея заключается в том, чтобы облегчить обмен репутацией за хорошее поведение между экземплярами Discourse. Поскольку глобальная сеть экземпляров Discourse уже существует, и ряд пользователей здесь, на Meta, также активны на множестве других экземпляров, становится всё более желательным объединение идентичностей для обычных пользователей на разных экземплярах, чтобы сделать общение более плавным. ActivityPub — один из способов сделать это, и мы в настоящее время исследуем возможности создания плагина для добавления поддержки ActivityPub в Discourse, который мог бы стать основой для других федеративных функций, включая эту.

Параллельная история

@erlend_sh напомнил мне о предложении, прозвучавшем три года назад:

Сводка интересных предложенных функций

Опциональное включение

Сеть доверия

Обнаруживаемость

В посте #4 @erlend_sh предложил добавлять раздел «общие сообщества» с другими пользователями и в конечном итоге переносить значки между сообществами, чтобы участникам было легче находить новые сообщества.

9 лайков

Первые мысли, пришедшие в голову касательно «миграции репутации»:

  • это должно быть опционально для каждого форума
  • это должно быть опционально для каждого пользователя (см. 1)
  • должен быть доступный для редактирования белый список (возможно, предоставляемый самим Discourse) разрешённых форумов
  • должен быть доступный для редактирования чёрный список разрешённых форумов

1: это поднимает вопрос, хотим ли мы напоминать пользователю об этом в первые 5 минут использования форума

4 лайка

Мне казалось, что уровни доверия больше связаны с изучением правил и норм конкретного форума. Разрешение людям пропускать двухнедельный этап «адаптации» по 15 посещений (по умолчанию) на основе правил других форумов может не сработать так хорошо.

Мне бы не помешал дополнительный уровень доверия «ассоциированный участник», который можно было бы применять к форумам/пользователям, зарегистрированным в центральном каталоге-хабе. Что-то, что дало бы мне право на чтение во многих форумах и, возможно, возможность голосовать в опросах или ставить лайки, при этом для полноценного участия (публикаций и продвижения по уровням доверия и т. д.) всё ещё требовалась бы регистрация на конкретном форуме.

2 лайка

Я управляю несколькими небольшими экземплярами Discord и с ужасом жду того дня, когда мне придётся настраивать ботов для модерации, чтобы бороться со спамом и другим вредоносным поведением.

Большинство недостатков системы модерации в Discord можно было бы устранить с помощью уровней доверия (Trust Levels), которые в программном обеспечении для сообществ до сих пор используются крайне недостаточно.

Сетевые (федеративные) уровни доверия, общие для нескольких взаимодействующих экземпляров, позволяют реализовать две важные функции:

Сеть доверия

Пользователь, достигший уровня доверия 2 (TL2) на Meta, должен автоматически получать уровень TL1 при вступлении в любой форум, который указал meta.discourse.org в качестве доверенного форума. По сути, это следующий шаг после Let experienced users skip "new to Discourse" features.

Это очень простая система, аналогичная PageRank.

Обнаруживаемость

В Discord есть удобная функция, позволяющая увидеть, какие чат-сообщества (серверы) у вас и другого пользователя общие:

Это напомнило мне то, что я до сих пор считаю самым привлекательным сценарием использования нашего неуловимого Discourse Hub:

Аналогичный механизм переноса значков с других экземпляров также был бы очень полезен. Когда кто-то получает свой первый значок «Полезный» (по умолчанию такого значка пока не существует), каждый дополнительный экземпляр, где он отображается, служит напоминанием и подтверждением для этого человека, что он является тем типом участника сообщества, который помогает другим.

6 лайков

Если бы была введена сеть доверия, я бы хотел видеть поддержку не только доверенных форумов, но и списка доверенных доверий (Trusted Trust List). То есть экземпляр Discourse мог бы публиковать свой список доверенных форумов, и я мог бы, например, выбрать доверие к meta.discourse.org/trusted-forums.json на своём экземпляре. (Вероятно, без рекурсии)

3 лайка

Как вы видите это работающим? Анонимно, без данных пользователей или…?

Я не уверен, какие данные пользователей были бы релевантны конкретно для списка доверенных форумов. Я представляю себе «Доверенные форумы» как список, который выбирает администратор экземпляра, и если администратор решит опубликовать его, то запрос к meta.discourse.org/trusted-forums.json (или какому-либо другому URL) вернул бы что-то вроде этого:

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

Тогда, будучи администратором экземпляра, я мог бы ввести meta.discourse.org в «Доверенные форумы», чтобы доверять только этому экземпляру (но не тем, которым он доверяет), или же ввести его в «Список доверенных доверенных списков» (с более подходящим названием…), чтобы доверять этому экземпляру и тем экземплярам, которым он доверяет.

В JSON, вероятно, не будет прямого ссылки на сам экземпляр; это лишь иллюстрация того, что доверие к списку из другого экземпляра должно подразумевать доверие и к самому этому экземпляру.


Так как вы упомянули данные пользователей, я предполагаю, что речь идет о том, как я вижу работу самого механизма доверия. Это выходит за рамки моего комментария, но, учитывая идею @erlend_sh о повышении пользователя до уровня TL1, предположительно экземпляр должен был бы передавать доверенным форумам что-то вроде SHA256-хэша адреса электронной почты в момент регистрации (или, что более вероятно, в фоновом задании Sidekiq после регистрации).

Хотя это позволяет избежать прямой передачи данных пользователей, я сразу вижу один недостаток, если использовать приведенный выше JSON в качестве примера. Если у пользователя есть аккаунт на bestforum.com, а затем он регистрируется на meta.discourse.org, это раскроет первому, что пользователь создал аккаунт на втором, и может раскрыть второму, что у пользователя уже есть аккаунт на первом, что может быть нежелательно.

Я не совсем уверен, как с этим справиться. Зависимость от выбора пользователя при регистрации ненадежна, так как экземпляр, желающий злоупотребить этим механизмом, может просто убрать эту опцию.

Возможно, «Discourse Hub» мог бы в значительной степени решить эту проблему, храня (и получая) только хэшированные адреса электронной почты с привязкой к экземплярам и уровням доверия. Экземпляр мог бы запрашивать хаб, передавая хэшированный адрес электронной почты, и, возможно, использовать систему на основе баллов, учитывающую экземпляры, где был замечен этот хэш, и достигнутые уровни доверия. Таким образом, экземпляр никогда не увидит, какие именно другие экземпляры задействованы, а получит только итоговый балл.

Однако, учитывая, что очевидным оператором такого хаба является компания Civilized Discourse Construction Kit, Inc., в этой схеме остается важный вопрос: хочу ли я, как пользователь meta и других экземпляров, чтобы CDCK могла видеть, какие еще экземпляры я использую? (Ведь оператор экземпляра+хаба мог бы связать пользователей своего экземпляра с записями в хабе).

В общем, я думаю, что то, как может работать доверие, слишком сложно для моей затуманенной головы. :slight_smile:

Хотя я нахожу подход «доверенных форумов» интересным и полезным, я также вижу потенциальную проблему безопасности: злоумышленники могут атаковать менее контролируемые «доверенные форумы», чтобы получить доступ к своей реальной цели, куда они не смогли бы проникнуть напрямую. Поэтому, если мы решим реализовать такой механизм транзитивного доверия, он не должен быть легко проходимым и должен сопровождаться мощным механизмом ответных мер, который позволял бы приостанавливать действия агрессора во всех экземплярах. Я считаю это жестким ограничением, которое добавит значительную сложность, и поэтому его лучше отложить на второй этап разработки.

С другой стороны, может показаться проще поддерживать частный список доверенных форумов, где репутация участника на каждом из этих форумов будет укреплять его статус локально. Возможно, концепцию уровней доверия можно распространить не только на пользователей, но и на экземпляры? Если, например, у экземпляра Meta есть уровень TL3, то пользователи, приходящие оттуда, могут изначально получать TL2, с коэффициентом затухания, если пользователь не участвует в обсуждениях. Это добавляет ещё один уровень сложности, но я просто думаю вслух и хотел набросать некоторые альтернативные варианты доверия целым экземплярам.

Я согласен с необходимостью соблюдать конфиденциальность в отношении того, какие экземпляры используют пользователи. Это следует учитывать, хотя публикация на публичных экземплярах может быть равносильна самому факту использования этих экземпляров; однако это может быть актуально для частных досок.

2 лайка

Я всё ещё ищу список пользователей на уровне каталога. :slightly_smiling_face:

 https://DiscourseDiscovery.org -

Анонимные пользователи увидят каталог форумов, зарегистрированных для включения в публичный список (поиск по категориям или «тегам форумов»), а также смогут искать ключевые слова по всем экземплярам в каталоге.

Зарегистрируйтесь, чтобы создать учётную запись пользователя DiscourseDiscovery. Новые учётные записи начнут с уровня Hub_Level_0 и смогут переходить на следующие уровни Hub_Levels, выполняя определённые действия и проходя адаптированное обучение Discobot «Обучение форуму», охватывающее все необходимые навыки, которые, по вашему мнению, понадобятся пользователям.

Разные уровни Hub_Levels будут предоставлять доступ к большему количеству функций в каталоге. Например: просмотр категорий, обычно недоступных анонимным пользователям, выполнение действий, таких как лайки или голосование в опросах (аватары могут быть обведены красным для обозначения участников ассоциации/членов уровня Hub), получение уведомлений о содержимом тем и т. д. При нажатии на аватар откроется карточка пользователя DiscourseDiscovery.

Затем пользователи могут добавить любые учётные записи форумов с полным доступом на объединённую страницу пользователя DiscourseDiscovery (с возможностью исключить любые из них, если они того пожелают). Здесь можно будет подсчитывать значки, а также отображать последнюю активность и многое другое.

Форумы также могут иметь опции в разделе «Безопасность» для ограничения доступа к определённым элементам (категории, опросы и т. д.) только для полных участников. Они также могут выбрать, быть ли включёнными в публичный каталог, в более приватный каталог в зависимости от уровня Hub пользователя (или не быть включёнными вовсе).

Просто несколько идей. :slightly_smiling_face:

3 лайка