-
Notifications
You must be signed in to change notification settings - Fork 103
Description
Is there an existing issue for this?
- I have searched the existing issues
Suggestion
Toward the initial goal of supporting cumulative voting, range Chaum-Pedersen proofs (encrypted plaintext is one of 0, 1, ..., or limit) generalize disjunctive Chaum-Pedersen proofs. When range Chaum-Pedersen proofs are used for both selection encryption limits and contest limits (replacing constant Chaum-Pedersen proofs there), they render placeholder selections unnecessary and in turn are more efficient (fewer exponentiations required for ballot encryption of all contest types, not just cumulative voting; submitted file size reduction).
Possible Implementation
Proof components will generalize to lists/arrays and eradicate the hard-coded zero- and one- proof components. Placeholder selections and their infrastructure will be removed.
The nuance between votes allowed for a particular selection and votes allowed across a contest (in sum) will be reflected in the code; meanwhile, this can amend the current conflation between number_elected and votes_allowed.
Anything else?
See this pull request with the corresponding schema changes.