Eddy_Em: p2p? Соединение точка-точка, все верно.
p2p = peer-to-peer
а не point to point
честные голосования. Должен быть открытый доступ к спискам: кто проголосовал и за кого проголосовал
это верно, что голосования должны быть честными. Но при этом должна сохраняться тайна голосования.
Что такое тайна голосования:
конституционный принцип, гарантирующий гражданам тайну их волеизъявления при голосовании на выборах в органы государственной власти и местного самоуправления и референдуме. См. Принципы избирательного права.
Тайна голосования исключает возможность какого-либо контроля за волеизъявлением гражданина, гарантирует, что результаты его голосования не могут стать известны иным лицам. Данный принцип обеспечивает свободу волеизъявления граждан. Никто не может принудить гражданина голосовать за или против того или иного кандидата, за или против решения, вынесенного на референдум.
Тайна голосования обеспечивается специальными процедурами, предусмотренными законодательством о выборах и референдуме.
Что такое «честно»: это
1) когда каждый может убедится, что его голос посчитан
2) каждый может убедится в верности суммирования (это означает, что программа должна быть опенсорсной и, вероятно, подсчет должен проводиться на машине каждого участника голосования)
Существует много алгоритмов голосования:
http://en.wikipedia.org/wiki/Voting_system#Compliance_of_selected_systems_.28...
подойдет любой
учтите, что это серьезные научные темы для студентов, а не для школьников:
http://en.wikipedia.org/wiki/Homomorphic_secret_sharing
лучше не пишите, если не знаете.