Андрей писал(а):
В этом вы ошибаетесь. Т.к. пользователь не может подделать чужую подпись, ему придеться делать вброс под своей личной подписью. Вследствии этого, отследить его будет легче легкого.
Так... Ну мы же исходим из того, что если кто-то передает голос, то из этого не следует, что его вбросил именно он. Это - краеугольный камень анонимности. Как же "легче легкого"-то???
Вбрасывателя можно отследить только по числу передач - если их слишком много. Не согласны?
Поэтому я и предлагаю, чтобы тот, кто хочет передать кому-то голос, обязательно давал расписку о передаче. Без этой расписки принимать у него голос - себе дороже.
Андрей писал(а):
Кроме того, то, что кто-то один не пустит какие-то пакеты дальше - ничего не значит, т.к. пакеты будут распространяться многими путями. Невозможно даже ограниченной группе лиц заблокировать распространение информации по распределенной сети. Возможно вы не учитываете в своих рассуждениях именно этот момент. Он-же приведет к лавинообразному росту трафика "обратных подписей", о чем я писал выше.
Вот как раз все я учитываю, это Вы не учитываете.
Смотрите.
Вот пришел человеку уникальный голос.
Он получил за него расписку о передаче. Она дает ему "индульгенцию" на одну исходящую передачу.
Он решает: "А вот я этот голос себе запишу, но передавать его дальше не буду. Его другие передадут. А индульгенцию на исходящую передачу использую для вброса."
И не передает голос, а вместо него генерирует другой уникальный голос с уникальным ID. И передает соседям.
В итоге, этот голос, конечно, все равно дойдет, везде (не совсем же я идиотка чтоб это не учитывать
).
Но нелегальный голос дойдет тоже! И будут лишние голоса. А источник вброса отследить будет невозможно, потому что число исходящих передач у злоумышленника будет равно числу исходящих, он будет с этой точки зрения чист. Ну и?..
Андрей писал(а):
Вы, вероятно, не представляете какой трафик в сети вызовет такой метод. Знаете что делал первый известный вирус, за которого парня даже осудили? Ничего плохого - только забивал каналы своим трафиком. В следствии этого какие-то там биржи не смогли работать. Ущерб исчеслялся если не миллиардами, то сотнями миллионов это точно. В нашем случае такой метод просто прекратит работу сети.
Хорошо, можно обойтись без передач расписок по цепочке. Тогда у голосующего не будет возможности отслеживать свой голос.
Но оставить непосредственный контроль за голосом, который вручили тебе лично. Ты должен получить расписку за него, заверить своей подписью и отправить назад. А дальше она уже пускай не будет отправляться. Это сэкономит траффик.
Но во всяком случае, информацию о цепочках ПЕРЕДАЧ (именно передач, а не получений) ВСЕ должны передавать всем! Хоть во время голосования, хоть после. А иначе как вы собираетесь отслеживать все цепочки, "при согласии всех участников"?
Если это невозможно, то с мечтой о распределенном клиенте придется расстаться.
UPD хотя, этот процесс можно инициировать лишь в том случае, если обнаружились лишние голоса. Но тогда уже точно голосование придется срывать. Потому что будет очень много пострадавших.
Андрей писал(а):
Честно говоря, вот этого не понял. Все этим будет заниматься клиент. И какая разница в каком порядке он рассылает информацию по сети?
Такая, что сначала надо отчитаться за голос, а потом брать следующие и отправлять тем же соседям. Замедлять это не будет: какое замедление от того, что все делается в порядке очереди? Никакого замедления, а только больше упорядоченности
А иначе - см. выше, про вброс голосов и экономию числа передач.
Андрей писал(а):
Опять-же, не понял что это даст? Почему-бы тогда не пойти дальше и не подтверждать последнюю передачи подписью последнего, кто принял подтвержденине? Система подтверждений нужна, но не надо доводить ее до абсурда.
Вот я и предлагаю выше
povischuk писал(а):
Хорошо, можно обойтись без передач расписок по цепочке. Тогда у голосующего не будет возможности отслеживать свой голос.
Но оставить непосредственный контроль за голосом, который вручили тебе лично. Ты должен получить расписку за него, заверить своей подписью и отправить назад. А дальше она уже пускай не будет отправляться.
Андрей писал(а):
Вы не задумывались почему ключ называется "публичным"? Поясню... Потому, что он доступен всем изначально.
Да ради бога, пускай доступен. Но нужно его передавать только соседу, которому передаешь голос. Чтобы сосед, приняв этот публичный ключ, зашифровал им ID голоса, приставил твой ключ подписи, свой ключ подписи (ты ему передал) - и сгенерировал такую расписку о передаче. Которую ты обязан ему подписать.
Андрей писал(а):
povischuk писал(а):
2. Персональные данные клиента:
ID своего голоса. Этот ID хранится в оперативной памяти и переписывается клиентом ручкой на бумагу, или фотографируется.
Огромный минус удобству. Никто такой системой пользоваться не будет 100%. "Зачем мне что-то записывать если у меня компьютер под рукой?"
Ой, ну вот нашли к чему прицепиться. Ну доверяешь своему компьютеру - храни. В принципе, все так и делают. Та же история, что и с хранением паролей - любых паролей вообще. Все хранят их на компьютере, хотя правильнее - в другом месте, хотя бы на съемном носителе
Я лишь хотела сказать о том, что программа НЕ ТРЕБУЕТ хранения этого дела на жестком диске.