Алгоритм распределенной или децентрализованной репутации / доверия
кто-нибудь знает алгоритм вычисления того, насколько Вы "доверяете" другому пользователю (своей репутации) в децентрализованной системе.
сайты, подобные этому, используют централизованный орган для отслеживания точек репутации, но когда вы не можете доверять органу, чтобы поддерживать этот список беспристрастно, или инфраструктура не существует, как вы можете ранжировать репутацию своих коллег?
Я представляю что-то вроде PageRank - Я доверяю моей подруге Алисе, она доверяет ей друг Боб, поэтому у меня есть переходное доверие к Бобу. Если другая моя подруга Кэрол тоже доверяет Бобу, то мое доверие к Бобу возрастает.
есть ли способ вычислить это глобально, или каждый пользователь должен отслеживать свою собственную сеть?
Я думал, что вы можете просто "объявить", кому Вы доверяете, что даст каждому человеку соответствующий набор входящих ссылок доверия, но я чувствую, что это будет легко играть, создавая много пользователей зомби, которые просто создают очки репутации, как link farms в результатах поиска. И это может быть ядром проблемы: если у Google все еще есть проблемы с людьми, генерирующими поддельные оценки PageRank, это может быть не проблема, легко решаемая :)
5 ответов
посмотри EigenTrust:
алгоритм EigenTrust для управления репутацией в p2p сетях - С. Д. исправив, М. Т. Шлоссер и Х. Гарсиа-Молина
этот алгоритм присваивает каждому одноранговому узлу в сети глобальное значение доверия.
веб-сайт Advogato реализует метрику распределенного доверия. Исходный код доступен. Вот это часто задаваемые вопросы и Описание показателя доверия.
это может быть не проблема легко решить
вы правильно поняли. Это очень активно исследуемая область, особенно в среде P2P. Быстрый поиск google для trust P2P network оказывается довольно много документов на нем.
этот в частности, приводит хороший список вещей для рассмотрения (и предоставляет своего рода алгоритм).
преодолевать барьер входа и входа-как вы предотвращаете плохих людей от делать новое прозвище и воссоединение с сетью?
создание стимулов для оценки-каков стимул для большой сети P2P оценивать других пользователей за доверие?
для одного авторизованного сервера часто намного проще управлять доверием / репутацией между пользователями. Вам придется придумать вескую причину, почему вы хотите, чтобы он был децентрализован.
Я думаю, возможно, система, с помощью которой каждый пользователь отслеживает и обслуживает свои собственные доверительные восходящие линии, может работать в такой ситуации. Например; скажем, пользователь A доверяет пользователю B и оценивает их 5 в доверии (из 10). Предположим, я не знаю, доверять ли пользователю А или пользователю Б; если пользователь а делает что-то, что заставляет меня доверять им, я могу пометить их как доверенных, и они могут сказать мне, кому они доверяют; тогда я бы получил рейтинг пользователя а пользователя Б, и я могу настроить доверие, как я считаю нужным; если у меня есть высокое доверие к пользователю A, я мог бы дать пользователю B рейтинг 5 (полностью основанный на рейтинге пользователя a); если я доверяю пользователю немного, я мог бы дать пользователю B рейтинг 1 (лучше, чем нет доверия, но не так доверяют, как пользователь A находит их). Таким образом, пользователи определяют первый порядок доверия по заслуживающим доверия вещам (повышение их сообщений или тому подобное), а затем могут иметь "связанное" доверие от тех пользователей, которым они явно доверяют; происходит сетевой эффект "второго порядка". Я бы в частности, когда пользователь получает от кого-то информацию о доверии для других пользователей, они должны предоставлять "неявное доверие" только тем пользователям, которым этот пользователь предоставил "явное доверие", от которого они получают информацию о доверии.
возможно,"Алгебра для оценки доверия в цепочках сертификации."
тем не менее, доверие трудно человека задача, которая может быть в лучшем случае аппроксимирована алгоритмом, подобным упомянутому в статье.
далее рекомендуется читать: