Немного разобравшись с тем, как в Голосе и Стиме работает репутация (спасибо @arcange !) у меня возникла идея как алгоритм её расчета можно улучшить для защиты от возможной "накрутки" со стороны злоумышленников.
Если предельно упрощать, то репутация пользователя - это сумма выплат, полученных данным пользователям от других пользователей за "апвоуты" за все время существования сети. Обычно, это очень большое число, выраженное даже не Голосах, а во внутренней единице Голоса - GEST. Поэтому, для удобства отображения на сайте golos.io от этого большого числа берут логарифм, и поэтому репутация большинства пользователей принимает значения от 25 до 69. Вообще, возможно и больше, но пока максимальное число - 69, список пользователей отсортированных в сторону уменьшения репутации можно посмотреть здесь.
Что дает репутация?
Репутация используется системой Голоса при принятии решения уменьшать ли выплату автору контента, если его контент получил флаг от другого пользователя. Так, если репутация "флагующего" выше репутации "флагуемого", то у "флагуемого" из награды будет вычтена сумма пропорционально Силе Флага, которая, в свою очередь, пропорциональна Силе Голоса у "флагующего". В противном случае флаг не снижает награды автора. Таким образом, можно подытожить, что репутация пользователя важна в конфликтных ситуациях.
Что я предлагаю?
Идея в том, чтобы ввести понижающих коэффициент при начислении очков репутации от апвоутов каждого конкретного аккаунта в зависимости от того, сколько уже начислено репутации (суммарно, за все время) от апвоутов данного аккаунта. Чем больше один и тот же пользователь "апвоутит" другого пользователя, тем менее эффективны будут его "апвоуты" с точки зрения поднятия репутации другого пользователя. Это позволит избежать ситуации, когда пользователь с большой СГ повышает свою репутацию, просто ставя "апвоуты" своим же постам или постам своего второго аккаунта. Накрутка репутации станет неэффективной.
Вторая идея состоит в том, чтобы разрешить снижение выплаты за пост, даже если флаг ставит пользователь с репутацией меньше чем у автора. Однако, снижение выплаты должно быть уменьшено на коэффициент, зависящий от соотношения репутаций "флагующего" и "флагуемого". Таким образом, флаги от пользователей с низкой репутацией всё равно будут наносить урон для пользователей с высокой репутацией, но урон этот будет ослаблен в зависимости от того, насколько сильна разница между их репутацией. Данное изменение позволит снижать репутацию пользователей, которые находятся в топе по репутации, благодаря тому, что часто постят всевозможные отчеты, статистику, ставки на спортивные игры и т.п.
Так, в Стиме сейчас никто не может снизить выплаты @steemsports, зафлаговав их пост, просто по тому, что ни у кого нет репутации выше, чем у них. Я считаю, что это не нормально.
Идеи даны очень общо, без каких либо формул, поэтому есть что обсудить в комментариях.
Вот это утверждение:
Не корректно по своей сути.
Выставленный флаг всегда уменьшает авторскую выплату, вне зависимости от репутации минусующего.
Если репутация минусующего меньше репутации автора, то флаг не окажет влияния на репутацию автора, но всегда окажет влияние на выплату автору - авторсие выплаты уменьшатся тем больше, чем больше Сила Голоса минусующего.
Соответственно, вывод что:
Тоже не верен - если будет много флагов, то выплаты будут снижены или их вообще не будет.
Еще раз - авторские выплаты зависят только от Силы Голоса (в плюс или минус) апвоутов или минусующих, вне зависимости от их репутации.
Вы так говорите, как будто это что то хорошее )
Я так говорю, потому что накручивать репутацию саму по себе довольно бессмысленно. Нужно просто выдавать хороший контент, а репутация подтянется сама собой.
И еще вопрос, будет ли такое утверждение верно:
репутация равна сумме Reward Shares за все время, полученных данным пользователям от других пользователей за "апвоуты" и исключая сумму Reward Shares, вычтенных у данного пользователя за флаги от пользователей с репутацией выше, чем у него.
Интересно. Но тогда какой практический смысл в репутации, если она не влияет на выплаты авторам?
Практический смысл в том, что если у автора отрицательная репутация, то все его посты и комментарии автоматически скрываются из общей ленты.
В любом случае, спасибо за разъяснение. Если бы не написал пост, то так бы и не разобрался. Можете показать ссылку на аккаунт с отрицательной репутацией? Хотелось бы посмотреть на такой аккаунт через golosdb.com.
Кстати, первая идея все равно остается актуальной?
По поводу идеи ограничения накруток репутации собственными аккаунтами - в принципе, идея неплохая.
Но сейчас в ней нет практического смысла, т.к. нет резона вообще накручивать репутацию. Достаточно, чтобы она просто была положительной. Т.е. разницы между аккаунтами с репутацией 25 и 65 - нет никакой с практической точки зрения.
Поэтому накручивать именно репутацию нет нужды. Тем более, что при расчёте репутации учитывается Сила Голоса, и чтобы накрутка была эффективной - потребуется много аккаунтов с большой Силой Голоса.
Но распределять Силу Голоса по нескольким аккаунтам экономически абсолютно не выгодно с учётом квадратичности голосования. Так что я сильно сомневаюсь, что кто-то будет вкладывать значительные финансовые средства в накрутку своей репутации, с учётом экономической невыгодности этого процесса и практической бесполезности в накрутке репутации.
Например, вот аккаунты с отрицательной репутацией: @qwertas @alexandrnikonov
Видно, что репутация имеет большой смысл: получив отрицательную репутацию (и как следствие - после этого их перестают читать), такие авторы прекращают активность на Голосе.
Так вы всё-таки предлагаете внести изменения в подсчёт репутации или в авторские выплаты?
Это совершенно разные вещи.
Для авторских выплат предлагаемый механизм может иметь негативные последствия. Например, активные кураторы будут получать всё меньше и меньше выплат за свои действия, т.к. хороших авторов не так уж и много и объективно активные кураторы довольно часто будут голосовать за одних и тех же авторов.
В итоге хорошие авторы (и кураторы) будут получать всё меньше и меньше и в итоге вынуждены будут уйти из Голоса. Это не очень хороший вариант развития событий.
Накручивать репутацию действительно смысла большого нет, ведь это не дает больших преимуществ, но вот голосовать за свои посты и комментарии для того чтобы максимизировать долю в общем пуле наград смысл есть. Предлагаемый коэффициент будет стимулировать более широкое распределение пула наград, т.к. систематически голосуя за одних и тех же пользователей "злоумышленник" будет приносить им все меньше и меньше выплат на один "апвоут".
Первое предложение по накрутке довольно интересно, в этом есть смысл
О!...обнаружил себя на почетном 3-м месте!!!!...ух, как начну флаги раздавать!!...)))))))))))))...не, не дождетесь..))
Полезные комменты, спасибо @primus, еще больше прояснилось про репутацию. Статья оказалась нужной:)
Есть у меня более интересная и сложная система на основе репутации, постораюсь навоять сервис для этого)
По примеру игры Герои 3))) моя любимая стратегия, вот если бы ее на крипту перевести, это была бы бомба. Предлагаю как идею) сам в программировании чайник, а идей много)