rchain-community / rvote

an voting dApp for RChain Coop governance
https://rv2020-beta.netlify.app/
Apache License 2.0
10 stars 6 forks source link

secret ballot (stretch goal) #18

Open dckc opened 4 years ago

dckc commented 4 years ago

I don't (yet?) see a way through these constraints:

I have read some articles that do seem to meet many of these constraints, but they seem to involve elaborate use of elliptic curve cryptography; in particular, they start with the voters having key pairs, not just email addresses.

dckc commented 4 years ago

@TheoXD has been investigating https://github.com/fentec-project/CiFEr

wish: decryption in rholang

dckc commented 4 years ago

Helios Voting provides secret ballots. It's a turn-key solution.

It also uses postgres, so presumably the same mirroring approach could apply... though I'm not sure that would preserve confidentiality.

https://github.com/benadida/helios-server/blob/master/INSTALL.md

dckc commented 4 years ago

@leithaus said the coop (secretary) does not need to know which member voted for what.

dckc commented 4 years ago

idea: a low-tech social approach...

The governance committee could be empowered (by the board) to collect votes confidentially.

A member could choose to meet confidentially with at least 3 members of the governance committee who would authenticate the member and communicate their vote to the secretary without sharing it with the rest of the membership (let alone the world).

The governance committee as a whole would share some audit trail with the board and membership, such as "we collected votes from 7 members confidentially."

TheoXD commented 4 years ago

@dckc https://en.wikipedia.org/wiki/ThreeBallot Maybe this can give some ideas.