Проект "Свободные голосования"

Электронная системы голосований через интернет
Текущее время: 27 ноя 2024, 15:37

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
СообщениеДобавлено: 07 сен 2011, 21:49 
Не в сети

Зарегистрирован: 19 июл 2011, 19:26
Сообщения: 1494
Зачем они будут вечно висеть? Вечно висеть могут только голосовалки по вечным вопросам.))) А по другим особенно политическим голосование все же должно быть конечным, кто то ушел из политики кто то умер, сменилась политическая ситуация, наконец режим. Опрос становиться уже историей какой то, документом. А открытый будет меняться исходя из текущей ситуации. Например отношение к Путину в 2003 году не идентично с отношением в 2011г.

_________________
89DC B598 306B 26C8 B9AA 5C0C CFB6 7184 B2B2 FF17


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 07 сен 2011, 21:58 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
yurial писал(а):
Думаю идея ясна - далее детали.

Это очень тяжело сделать надежно. К тому-же, разница в количестве голосов и количестве голосовавших может однозначно указывать на взлом. Делать ее преднамеренно - существенно снижать надежность.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2011, 09:57 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Андрей писал(а):
yurial писал(а):
Думаю идея ясна - далее детали.

Это очень тяжело сделать надежно. К тому-же, разница в количестве голосов и количестве голосовавших может однозначно указывать на взлом. Делать ее преднамеренно - существенно снижать надежность.

Мне почему то казалось, что в вашей схеме занесение в таблицу голосовавших и занесение голоса и так планировалось производить асинхронно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2011, 11:39 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
yurial писал(а):
Мне почему то казалось, что в вашей схеме занесение в таблицу голосовавших и занесение голоса и так планировалось производить асинхронно.

Разными путями, но не асинхронно. Сначала добавляется подпись, затем голос.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2011, 19:33 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Запрос от клиента к серверу один единственный?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 08 сен 2011, 19:38 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
yurial писал(а):
Запрос от клиента к серверу один единственный?

Запроса два. Но выполняются они последовательно через ajax запросы по одному нажатию пользователем на кнопку.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 сен 2011, 13:28 
Не в сети
Аватара пользователя

Зарегистрирован: 07 сен 2011, 15:30
Сообщения: 13
Откуда: Томск
Андрей писал(а):
yurial писал(а):
Запрос от клиента к серверу один единственный?

Запроса два. Но выполняются они последовательно через ajax запросы по одному нажатию пользователем на кнопку.

Не самый лучший вариант:
  1. связь может оборваться, IP смениться и так далее - сеть не всегда надёжна при передаче информации;
  2. может упасть браузер, вырубиться питание и прочее - Москва обесточивается на раз из-ха рассыпающегося оборудования;
  3. пользователь может передумать голосовать (мало ли), в конце концов, его могут отвлечь, а потом он и забудет уже, а вспомнит только назавтра.

Всё это приводит к тому, что может-таки возникнуть расхождение между количеством голосовавших и количеством голосов. Всё должно делаться именно в пределах одного запроса, в пределах одной транзакции. 2 запроса возможны только в том случае, если результат первого где-то хранится, а непосредственно транзакция занесения производится по второму запросу. Но обращение к БД должно быть одно, а вот кликов на вебморде можно делать сколько душе угодно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 сен 2011, 13:36 
Не в сети

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
Андрей Геннеберг писал(а):
Не самый лучший вариант:
  1. связь может оборваться, IP смениться и так далее - сеть не всегда надёжна при передаче информации;
  2. может упасть браузер, вырубиться питание и прочее - Москва обесточивается на раз из-ха рассыпающегося оборудования;

Эти два запроса идут один за другим с достаточно небольшим интервалом - доли секунды. Вероятность что все, описанное вами, произойдет именно между передачами, конечно, есть, но она достаточно мала. И она оправдана тем что повышается анонимность.

Вот тут еще почитайте - http://wiki.cdemocracy.ru/index.php/Безопасность

Андрей Геннеберг писал(а):
  • пользователь может передумать голосовать (мало ли), в конце концов, его могут отвлечь, а потом он и забудет уже, а вспомнит только назавтра.

  • Если он уже нажал на кнопку "Проголосовать" как он может передумать? А если не нажал - пусть передумывает сколько захочет.

    Андрей Геннеберг писал(а):
    Всё это приводит к тому, что может-таки возникнуть расхождение между количеством голосовавших и количеством голосов. Всё должно делаться именно в пределах одного запроса, в пределах одной транзакции. 2 запроса возможны только в том случае, если результат первого где-то хранится, а непосредственно транзакция занесения производится по второму запросу. Но обращение к БД должно быть одно, а вот кликов на вебморде можно делать сколько душе угодно.

    Нет - этот способ самый очевидный и самый неправильный. Если мы беремся соблюдать тайность голосования, его и надо соблюдать. Если уж решать указанные проблемы, то не за счет анонимности. Лучшим решением этой проблемы будет отказ от тайных голосований. Но пока это нереально.

    _________________
    7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


    Вернуться к началу
     Профиль  
     
    СообщениеДобавлено: 13 сен 2011, 16:17 
    Не в сети
    Аватара пользователя

    Зарегистрирован: 07 сен 2011, 15:30
    Сообщения: 13
    Откуда: Томск
    И всё-таки, что делать, если такой обрыв случился? С точки зрения системы либо появляется голосующий, который не сделал выбора, либо появляется "ничейный" голос. В первом случае можно, конечно, решить, что ну и фиг с ним. А во втором получается проблемка: явление идентично вбросу и, по идее, это гробит всё голосование. Но на самом деле первый вариант тоже не "ну и фиг с ним", потому что голосуют не только одиночки, но и делегаты. Если механизм голосования работает по принципу "вот мой голос и ещё мешок таких же" (пока не разобрался - ещё с базой воюю), то все эти голоса как-то обламываются. Если всё работает по принципу "follow me" и пользовательское ПО просто голосует вслед за выбранным пользователем лидером, то тоже облом, потому что лидер не выбрал (с точки зрения системы).

    Единственный вариант - хранить выбор в локальной базе пользовательского ПО и "доголосовать" позже, после восстановления связи и/или работоспособности ПО. Но это будет позже и на какой-то период времени система голосование станет невалидным, в течении которого может быть зафиксирован вброс или другое нарушение нормальной работы. И есть ли вообще такая возможность - доголосовать?

    В общем, вопросы такие:
    • в какой последовательности отправляются запросы?
    • каково будет состояние системы в случае, если проходит только один запрос из двух?
    • есть ли возможность "доголосовать" и тем самым восстановить равновесие и валидность системы?
    • есть ли возможность автоматического восстановления валидного состояния системы (удаление непарных записей)?
    • как разруливается ситуация, если автоматически это не делается?


    Вернуться к началу
     Профиль  
     
    СообщениеДобавлено: 13 сен 2011, 17:21 
    Не в сети

    Зарегистрирован: 27 авг 2011, 22:36
    Сообщения: 460
    Изучите следующий вариант работы системы тайного голосования: http://облачная-демократия.рф/forum/viewtopic.php?p=1704#p1704
    мне было бы интересно ваше мнение.


    Вернуться к началу
     Профиль  
     
    Показать сообщения за:  Поле сортировки  
    Начать новую тему Ответить на тему  [ Сообщений: 52 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

    Часовой пояс: UTC + 3 часа [ Летнее время ]


    Кто сейчас на конференции

    Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


    Вы не можете начинать темы
    Вы не можете отвечать на сообщения
    Вы не можете редактировать свои сообщения
    Вы не можете удалять свои сообщения
    Вы не можете добавлять вложения

    Найти:
    Перейти:  
    Powered by phpBB® Forum Software © phpBB Group
    Русская поддержка phpBB