Алгоритм надежной системы голосования, исключающий «накрутки»?

Приветствую создателей будущего нашей планеты, читателей и активистов Хабра!


Наш проект основывается на голосовании. Результат голосований — главный показатель проекта, который должен вызывать у наших пользователей доверие к нам. Результат изучения популярных схем исключения «накрутки» голосов:


Схема №1:

Один ip-адрес — Один голос.

«Плюсы»:

— Не требует регистрации;

«Минусы»:

— Очень не надежный в исключении «накрутки».


Схема №2:

Регистрация на сайте через подтверждение email почты пользователя.

«Плюсы»:

-Не вызывает подозрений что сайт мошеннический;

«Минусы»:

— «Накрутка» возможна при регистрации множества аккаунтов на сайте через создание множество email.


Схема №3:

Получение возможности голосовать после какой-либо Положительной активности, одобренной членами сообщества сайта (Используемая на Хабре).

«Плюсы»:

— Эффективность исключения «накрутки» максимальная;

«Минусы»:

— Невозможность голосовать простым зарегистрированным читателям сайта за Публикации(Для нас это важно).


Схема №4 (используемая нами):

Регистрация на сайте через подтверждение мобильного телефона путем отправки подтверждающего кода в смс.

«Плюсы»:

— Эффективность исключения «накрутки» близка к максимальной;

— Честность перед пользователями за результат голосования близок к максимальному;

«Минусы»:

— 90% пользователей относятся с подозрительностью к новым сайтам, которые просят указывать при регистрации номер их мобильного телефона.


Собственно сам вопрос:

Посоветуйте максимально удобный для пользователей и максимально надежный вариант исключения возможности «накрутки» голосования. Также рассмотрим и коммерческие решения данного вопроса (Просим присылать в Личку).
  • Вопрос задан
  • 6657 просмотров
Пригласить эксперта
Ответы на вопрос 9
rakot
@rakot
Не бывает голосований исключающих накрутки(хорошим примером являются выборы у нас в стране).

Единственное, что нужно сделать это поставить защиту от накруток, обход которой не является рентабельной в случае победы.
Ответ написан
Сколько не старайтесь, но траст на смс Вам скорее всего не получить… У меня несколько проектов с защитой именно по смс авторизации.
Пример1:
Имеем приложение которое просит для авторизации номер телефона.
Только 30% вообще вводят свой номер телефона. Из этих 30% многие оставляют отзывы вида «Боялся вводить номер. Не верил что денег не снимут! Но зря боялся!»
После сотни положительных отзывов получаем один отзыв от конкурента: «Мошенники! После ввода номера с меня сняли ххх рублей!»
Несмотря на то, что у нас сотни положительных и всего 1% отрицательных, люди паникуют и просят службу поддержки срочно удалить их номер с проекта!

Пример2:
Трастовый проект. 7лет на рынке. После ввода смс количество регистраций упало в 3 раза.
После чего появились сервисы которые «примут» смс для активации на сайте. Таких сервисов десятки. Накрутить даже тысячи голосов не составит труда если это будет выгодно.

Что бы выбрать метод Вам нужно отталкиваться от возможностей. И не зацикливайтесь на одном. Комбинируйте 2-3 и это будет более менее защищенный вариант. Например берите oAuth+ип+карма. Пользователям не говорите как вообще подсчитываются голоса. От кармы зависит вес голоса. ип для отслеживания накрутки…
Ответ написан
Antelle
@Antelle
Если смс бесплатное и сайт внушает уважение (например, вспомните голосование за схему метро), подозрений ни у кого не будет. Имхо если проект кошерный, то так удобнее всего. И да, никаких регистраций не надо: зашёл — подтвердил — проголосовал. Ну или регистрация как обычно, а голосование по смс.
Ответ написан
oleg1977
@oleg1977
брать плату за голос
Ответ написан
Комментировать
@rPman
Проблема — в регистрации пользователей, пока либо легко но ненадежно, либо надежно но сложно.

Круче уже предложенного, только регистрация 'по паспорту'.

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

Можно воспользоваться тем же механизмом, что и webmoney — потребовать от пользователя выслать минимальный платеж в системе contact (от 50р но у них самое лучшее покрытие офисами по стране), будет возможность получить информацию о том кто отослал — паспортные данные.
Ответ написан
@edogs
В свое время решали похожий вопрос. К сожалению единственный рабочий вариант который нашли, это смс.
Если сайт внушает доверие, то это не должно быть проблемой.
Цена — по 10-20 копеек за штуку при большом опте, что для серьезного сайта не разорительно (программеру за создание голосовалки больше отдадите).
Если начнут «ддосить» конкуренты, то да, это проблематично, эту проблему решили проще — если телефонный номер подпадал под подозрение — говорили что для него бесплатная регистрация нереальна и предлагали платную, за счет юзера ценой в пару рублей…
После первого голосования — присылать смс сразу с постоянным кодом доступа для голосования, что бы по 10 раз не слать смс-ки на один номер и/или предлагать полноценную регистрацию.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Используйте HASH-CRAM для получения голоса при нажатии «Голосовать».
2. Регистрируйте все голоса.
3. Показывайте накрутку на счетчике голосов.
4. При результирующем подсчете — отметайте накрученные и блокируйте IP (при том скрыто!): схему не раскрываю здесь.

СПАСИБО компании Google за подсказки!
Ответ написан
Комментировать
@egorinsk
Проверка паспортных данных — единственный надежный способ.
Ответ написан
@Siberia_86_Nik
Почему не проводить голосование через Госуслуги? Одна учётная запись, один голос. Повторно регистрацию не пройти.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы