Алгоритм распределенной или децентрализованной репутации / доверия - PullRequest
12 голосов
/ 16 июня 2009

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

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

Я представляю что-то похожее на PageRank - Я доверяю своей подруге Алисе, она доверяет своему другу Бобу, поэтому у меня есть некоторое переходное доверие к Бобу. Если моя вторая подруга Кэрол тоже доверяет Бобу, мое доверие к Бобу возрастает.

Есть ли какой-нибудь способ вычислить это глобально, или каждый пользователь должен отслеживать свою собственную сеть?

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

Ответы [ 5 ]

12 голосов
/ 16 июня 2009

Взгляните на алгоритм EigenTrust :

Алгоритм EigenTrust для управления репутацией в P2P-сетях - С. Д. Камвар, М. Т. Шлоссер и Х. Гарсия-Молина

Этот алгоритм присваивает каждому пиру в сети глобальное значение доверия.

5 голосов
/ 16 июня 2009

Веб-сайт Advogato реализует метрику распределенного доверия. Исходный код доступен. Вот FAQ и описание метрики доверия .

1 голос
/ 16 июня 2009

Возможно " Алгебра для оценки доверия в сертификационных цепочках ."

Однако доверие - это сложная человеческая проблема, которая в лучшем случае может быть аппроксимирована с помощью алгоритма, подобного упомянутому в статье.

Дальнейшее рекомендуемое чтение:

1 голос
/ 16 июня 2009

Я думаю, что, возможно, система, в которой каждый пользователь отслеживает и обслуживает свои собственные доверительные ссылки, могла бы работать в такой ситуации. Например; скажем, пользователь A доверяет пользователю B и оценивает его как 5 в доверительной собственности (из 10). Допустим, я не знаю, доверять ли пользователю A или B; если пользователь А делает что-то, что заставляет меня доверять им, я могу пометить их как доверенных, и они могут сказать мне, кому ОНИ доверяют; тогда я получу рейтинг пользователя А от пользователя Б, и я могу настроить доверие по своему усмотрению; если я доверяю пользователю A, я могу дать пользователю B оценку 5 (полностью на основе рейтинга пользователя A); если я немного доверяю пользователю A, я мог бы дать пользователю B оценку 1 (лучше, чем отсутствие доверия, но не так, как ему доверяет, как считает пользователь A). Таким образом, пользователи определяют первый порядок доверия с помощью достоверных вещей (голосование за свои посты и т. П.), А затем могут иметь «связанное» доверие от тех пользователей, которым они явно доверяют; происходит сетевой эффект «второго порядка». В частности, я бы сказал, что когда пользователь получает информацию о доверии для других пользователей от кого-то, ему следует предоставлять «неявное доверие» только тем пользователям, которым «явное доверие» было предоставлено тем пользователем, от которого они получают информацию о доверии.

1 голос
/ 16 июня 2009

проблема не может быть легко решена

Вы правильно поняли. Это очень активно исследуемая область, особенно в среде P2P. Быстрый поиск в Google для доверия по сети p2p приводит к тому, что на нем довольно много документов.

Этот , в частности, поднимает хороший список вещей для рассмотрения (и предоставляет алгоритм сортировки).

Преодоление барьера для повторного входа и входа. Как вы можете предотвратить создание псевдонима и присоединение к сети плохих людей?

Создание стимулов для оценки - Каков стимул для большой P2P-сети, чтобы оценивать доверие других пользователей?

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

...