Всеукраинский референдум. Техзадание.

Всеукраинский национальный референдум.
Попытка написать Техническое задание.

Из многочисленных обсуждений в ФБ, ДОУ, ЖЖ, и тд. я вынес такие требования к системе:
1. достоверная авторизация
2. неизменность внесенных данных
3. открытость данных (кроме персональных)
4. отказоустойчивость
5. масштабируемость
6. гарантированная имплементация результатов (иначе зачем тратить время)
7. широкая доступность ( web + Android, Ios)

Предлагаю пункты 3,4,5,7 не описывать, а просто оставить на потом, когда будет собрана команда единомышленников, готовых хотя бы бесплатно помогать, а не только свысока критиковать. Пусть они и оценят решение.

Авторизация

ЭЦП
Проще всего завести себе бесплатные варианты ЭЦП. Можем вообще сами себе быть сертификационным центром. Собрались, удостоверили свои личности, сделали ключи, внесли в базу. На первых порах покатит.

Авторизация по QAuth2
Больше всего надежд на Приватбанк, с его-то базой карточек. Однако от них я пока что имею такой фидбек, и что делать дальше я не знаю:

Дмитрий, всё очень просто.
Если у Вас коммерческий проект, то расскажите о нем, дайте нам компанию, которая будет его реализовывать.
Если некоммерческий, то дайте организацию, для которой Вы делаете его.
5 января 2016 г., 14:35

Я их понимаю , персональные данные и тд, но они не дают даже тестовые ключи а сделать проект чтоб им показать я не могу без тестов авторизации.
Неизменность данных
Это легко обеспечить либо подписывая данные голосования своим ключем, либо просто снимая MD5 хеш и храня его у себя локально, каждый сможет сверить свои данные с теми что в базе, она будет открыта на чтение.

Идея с blockchain интересна, но для других более крутых задач, о которых пока говорить рано.
В данном случае это явное излишество которое сильно затянет сроки разработки.
Открытые данные позволят любому делать снимки базы хоть каждые 5 мин. Для математика этого достаточно чтобы понять, если ли мухлеж с результатами или нет.

Каждый сможет делать себе копию данных (это и надежность повысит).

Имплементация результатов.

Все очень просто, вероятность внедрения результатов народного голосования может быть выражена в виде предела:

P = lim ( q -> 1 .. M ) F = q / M

где М = 42 000 000
соответственно если q=1 вероятность около 0,
а если q=42 000 000 то около 1.

Скажете нереально?
Спросите у Януковича.

https://drive.google.com/open?id=0B-EFPWmvnm7DQ2YxcS1CUnhIakk

https://drive.google.com/open?id=0B-EFPWmvnm7DZndQVzRGVUhZMHc

https://drive.google.com/open?id=0B-EFPWmvnm7DV1g5VklLRG1wckk

Комментарии

Аватар пользователя ded
Почему 42 000 000 , если это население Украины, то понятно, но это не правильно и не соответствует количеству лиц имеющих право голосовать. Где то проскакивала цифра около 10 000 000чел.с учотом Крыма и Донбасса. Сейчас другая.... Но это можно уточнить у статистики.или в центрвыборчкоме. Я думаю, что с этой цифрой нужно быть осторожным, т.к. от нее зависит %.
+1
0
-1
14 января 2016 // 23:19 []
Аватар пользователя softranger
Тогда это пишется так lim ( q -> M ) q / M = 1. Запись 1..М это совсем из другой оперы, а именно из отношений между таблицами в БД. Ни к чему там предел, поверь бывшему преподавателю высшей математики.
+1
0
-1
15 января 2016 // 00:22 []
Аватар пользователя dimson
не согласен как инженер-математик с образованием прикладная математика, а запись неверная специально чтоб понятнее, тк щас кью реально равно 1 - это я, впрочем я не понял тебя, твое кредо ковыряться в мелочах что ли?
+1
0
-1
15 января 2016 // 07:56 []
Аватар пользователя softranger
Есть, надо было все непрофильные посты в форум поместить. Там даже раздел есть такой "Когда не дует", насколько я помню. Главная же в основном для профильных постов.
+1
0
-1
15 января 2016 // 15:00 []
Аватар пользователя chabapok
Система, при которой каждый может проверить лишь свой голос, плохо защищена от вбросов. А система, при которой можно проверить всех - не будет анонимной. Я не знаю, как можно совместить в одной системе возможность проверки всего и анонимность. Кроме того, есть проблема перекупки связок ключей. В идеале надо сделать так, чтобы перекупщику не было смысла скупать ключи, потому что иначе скупки ключей будут. И насчет blockchain. На самом деле, предлагались не биткоины, а основные принципы, которые там используются. Основная идея была в том, что раз люди умудрились построить платежную систему, то и другие похожие впринципе могут быть как-то построены похожим образом. blockchain в том виде, как он используется там, разумеется, не годится. Просто когда возникает задача, которую неясно как решать - я пытаюсь найти близкие аналогии и как-то их адаптировать для нужной задачи.
+1
0
-1
15 января 2016 // 01:49 []
Аватар пользователя chabapok
Подразумевалось следующее
Допустим, в результате проведенного голосования получена база голосов. Если в этой базе ты можешь проверить только подлинность своего голоса, но не можешь проверить подлинность чужих, то такая база не защищена от вбросов голосов. То есть, к такой базе можно влить дополнительные голоса в пользу кого-нибудь - и факт влития невозможно будет определить.
+1
0
-1
15 января 2016 // 13:10 []
Аватар пользователя dimson
какой перекупщик? у кого он купит? мы на первых порах будем видимо сами себе сертификационным центром, и думаю такие люди вряд ли придут к нам, это будут энтузиасты
+1
0
-1
15 января 2016 // 08:02 []
ищите 100500 человек которые аутентифицируются за 50грн(проблема бомжа) и позволяют влиять на референдум в нужной мере. вот вам и вброс. потом с каждого из этих людей делаете "делать снимки базы хоть каждые 5 мин"(ну это ж непроблема да?) и добиваетесь, что остальные люди вообще не голосуют. вот вам и 100% голосов.
+1
0
-1
15 января 2016 // 10:47 []
Аватар пользователя chabapok
Это будет работать хорошо в малых масштабах.
В масштабах страны это работать не будет.
Или же можно сказать, что голос - это собственность, а собственность можно покупать и продавать. Тогда продажа голосов не является преступлением и законна. Тогда, эта проблема не является актуальной. В некоторых случая такой подход реально оправдан - но не в масштабах страны.
Поэтому делать допущение "такие люди к нам не придут" - это фактически заведомо отказаться от внедрения системы в масштабах страны.
+1
0
-1
15 января 2016 // 13:16 []
Аватар пользователя chabapok
И еще. Тут в каментах форматирования текста нет. Это раздражает. А форумом люди слабо пользуются. С такими каментами проблема необсуждаема. :( И я тут погуглил. Весьма интересная статья в плане применяемых подходов - "проблема обедающих криптографов" (не путать с обедающими философами).
+1
0
-1
15 января 2016 // 02:25 []
Аватар пользователя chabapok
Это не форум. Форум вверху справа по ссылочке - и там юзабельный движок. А это "стена" или я не знаю каким словом это назвать. Тут, насколько я понимаю, предполагалось, что будет статья, и к ней каменты в которых больших обсуждений не будет. И это нормально.

Но в итоге люди предполагают (скорей всего, небезосновательно), что на форум заходят слабее, чем сюда. Поэтому большая часть тусовки тут.
+1
0
-1
15 января 2016 // 13:28 []
Аватар пользователя dimson
кто-то готов тестировать? Самый интересный вопрос. Кто готов тестировать. Реально скоро дам линк , надо будет скачать менеджер сертификатов, создать сертификат и встетиться для внесения в базу (с паспортом, для взаимной автентификации, только один раз), можем в коворкинге все сделать... и вперед на сайт голосовать. Пишите +1 если готовы.
+1
0
-1
15 января 2016 // 10:21 []
автор, вы читали какието законы Украины? ну там хотя бы о защите персональных данных? о голосовании? о референдуме?

ну и все тот же вопрос, чем ваш проект луше других? того же прозоро.

ну и куча моментов в описании. кавалификация вызывает сомнения, особенно в части HA, прости димсан.
+1
0
-1
15 января 2016 // 10:43 []
Аватар пользователя chabapok
Та пускай делает, если есть желание. У нас же демократия.

Когда будет на что смотреть - можно будет судить ок или не ок, и если ок - то приводить в соответствие законам, (или законы приводить в соответствие, бгг).

Может даже если оно не приживется - то свою роль в эволюции подобных систем сыграет.
+1
0
-1
15 января 2016 // 13:40 []
а что это даст? учитывая что "будет честно"(C). просто вы демонстрируете толи полное отсутствие критического мышления, толи офигенный идеализм, толи офигенный пофигизм. что не особо вяжется с завяленной профессией и должностью. или это тролинг такой?
+1
0
-1
15 января 2016 // 20:12 []
а я так не могу. у меня профдеформация. критическое мышление,любопытство и аналитика включены постоянно и не выключаются. поскольку у меня тоже заявленые 15+лет стажа ИТ и образование соответсвующие(теория программирования). и я очень удивляюсь, что при завяленной проффесси у вас такой деформации нету.
а что умеет ваш юрист и команда мне не ведомо. они ж тут не пишут ничего.
а идеи никакой особо новой я не вижу. вижу кучу огрех в предпологаемом исполнении(багов) о чем вам и сообщаю.
не нравится? могу не сообщать.
+1
0
-1
15 января 2016 // 22:44 []
вот именно. конретно ничего от вас пока не видно. все описанные требования относятся к любой системе среднего размера(даже не большого как вы пытаетесь сделать).
+1
0
-1
16 января 2016 // 12:37 []
Аватар пользователя dimson
ну сайт готов, база готова, доки я выложил, если ты зашел чисто пообсерать то в принципе мне уже надоело... или ты читаешь доки или просто не мешай, ок?
+1
0
-1
16 января 2016 // 14:12 []

Страницы