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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Автор Сообщение
СообщениеДобавлено: 18 янв 2012, 15:34 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Dim писал(а):
Синхронизируем результат.

Вы имеете ввиду синхронизация самих голосов? - ок
Dim писал(а):
Проверяем их.

Голоса? - ок
Dim писал(а):
Подписываем результат.

т.е. сначала считаем, а потом подписываем? - ок
Dim писал(а):
В аналогично начинаем обмениваться результатами подсчётов.

Достаточно обменяться подписями результата.
Dim писал(а):
В суммарных результатах присланные результаты от группы отбрасываются при равенстве все кроме одного. При неравенстве вычисляем "редиску" по большинству и распространяем всем в группе сообщение о попытке фальсификации. Все кто может и не считал начинают пересчёт.

До этого места у нас одинаково, кроме того, что у меня жестко указывается кто должен считать и сколько.
Dim писал(а):
По окончании синхронизируем промежуточный результат.
Считаем.
Подписываем уже этот результат.
Обмениваемся.
И т.д. пока не будет подсчитан окончательный результат.

А вот это я уже не понял. Где у нас обмен между группами подсчета?

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


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

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
yurial писал(а):
Достаточно обменяться подписями результата.
Не достаточно. Результаты подсчёта знают только в группе, а тут обмен внутри группы в которую входит эта группа.
140 000 000
140 х 1 000 000
1 000 000
1000 х 1000
yurial писал(а):
А вот это я уже не понял. Где у нас обмен между группами подсчета?
Там где как Вы считаете достаточно обменяться подписями результата.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


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

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Ок, тогда все еще хуже.
Вот в группе подсчитались данные.
Как группы между собой обмениваются данными? У вас по 1024 ноды в каждой группе, ип и паблик ключи вы знаете.

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


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

Зарегистрирован: 17 июн 2011, 18:14
Сообщения: 2543
В идеале, если не разбиваться на группы, все участики субъекта должны подписать результаты голосования.

По логике вещей, дальше эти посубъектные результаты должны рассылаться всем и у каждого должен формироваться и подписываться общий результат.

_________________
7BF9BDC16428245B55CF04EF4A609CA44E0F6E68


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

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Андрей писал(а):
В идеале, если не разбиваться на группы, все участики субъекта должны подписать результаты голосования.

Не реально.
Андрей писал(а):
По логике вещей, дальше эти посубъектные результаты должны рассылаться всем и у каждого должен формироваться и подписываться общий результат.

Тем не менее быстро посчитать все нельзя.

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


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

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
yurial писал(а):
Как группы между собой обмениваются данными?
Ровно также как и в группе. Только в пакете данные не по одному голосу, а по группе.
yurial писал(а):
Не реально.
В больших субъектах нереально.
yurial писал(а):
Тем не менее быстро посчитать все нельзя.
Этот вариант быстрее просто потому что подсчёты в группах идут параллельно над небольшим объёмом данных. А затем суммируются уже результаты.
И мы в результате не тянем за собой необходимость подписывать результат всеми. Достаточно ограниченного количества подписей. Причём мне кажется даже одной.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 янв 2012, 22:59 
Не в сети

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Dim писал(а):
yurial писал(а):
Как группы между собой обмениваются данными?
Ровно также как и в группе. Только в пакете данные не по одному голосу, а по группе.

У вас есть 1024 ноды в одной шруппе и 1024 ноды в другой, все начинают стучаться к друг-другу генерируя много траффика.
Для подсчета результата более высокого уровня будет обмен между группами по 2048 нод, и так далее.

В моем же алгоритме, количество нод которые "должны" считать - неизменно. Они же и подписывают результат. Поэтому считаю свой вариант алгоритма более продуманным, хотя и далеким от совершенства.
Dim писал(а):
И мы в результате не тянем за собой необходимость подписывать результат всеми. Достаточно ограниченного количества подписей. Причём мне кажется даже одной.

Одной мало, я б такому результату не поверил, а вот подписей в половину группы подсчета (т.е. 50% посчитали одинаково) думаю достаточно и не сильно накладно.

Есть аргументы против предложенного мной алгоритма?

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 янв 2012, 01:00 
Не в сети

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
Объясняю на кисках.
Открытое голосование. (При закрытом тоже самое, но для простоты открытое.)

Два варианта.
Андрей 1
yurial 2
Сергей 2
Dim 1
IgorK 1
Андрей на мега-копе и мгновенном канале посчитал быстрее всех. За 1 вариант 3 голоса, за 2 - 2 голоса. Подписал результат и начал рассылку результата. Сергей посчитал вторым и получил тот же результат, но ему уже пришёл подсчёт Андрея. Он запомнив для себя что согласен с результатом подсчётов далее рассылает результат подписанный Андреем. У Dim ситуация та же посчитал - согласен. Но у нас два товарисча которые не считали вообще: yurial и IgorK. Им пришёл результат подписанный Андреем. Но мы помним что они голосовали за разные варианты. IgorK результаты устраивают и он не возражает. yurial оказавшийся в меньшинстве имеет на выбор два варианта. Первый. Увидев что возражений нет согласиться с результатом подписанным Андреем, но запомнив что не проверял его. Второй. Взять голоса и пересчитать. Получив тот же результат что и Андрей.Тем самым оказавшись в ситуации Сергея: результат не устраивает но посчитано правильно. Остаётся ему только согласиться.

Как мне кажется оказывается достаточно одной подписи.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


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

Зарегистрирован: 24 сен 2011, 23:06
Сообщения: 395
yurial писал(а):
Есть аргументы против предложенного мной алгоритма?
Только количество хранимых данных. Мы уже храним первичные данные с подписями. И к ним добавляются подписи результатов.

Причём, то что нужно хранить подписи только половины проголосовавших погоды не делает. В моём варианте количество сохраняемых подписей уменьшается на 3 порядка.

Можно проверить оба и посмотреть во что обходятся они на практике.

_________________
Во вселенной нет общества в котором "Vox populi, vox Dei" не переводилось бы "О, Боже, как мы в это вляпались".


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

Зарегистрирован: 27 авг 2011, 22:36
Сообщения: 460
Если группа 1024 ноды, то хранить надо по 512 подписей на "уровень".
8 млрд = 23 уровня. Подпись 512б (вообще, конечно же зависит от ключа, для для примера пусть будет эта константа)
Итого: 23 * 512 *512 = 6мб.

6мб для голосования с 8 млрд. нод.
Для маленьких голосований и количество нод в группе будет меньше (если не требуется сверх надежность) и количество уровней.

_________________
AF4B DFB0 0E41 2F7A 09FD 4971 96F0 B176 EA1C DD85


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

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


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

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


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

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