Voters may vote 0 or 1. We want to aggregate their votes, proving runs efficiently $O(n)$ in number of votes but verifying runs $O(1)$ or $O(\log n)$. Voting has to be cryptographically secure - no double voting. Is there a way to return a tally of the votes for 1 and 0?
By secure, we mean we guarantee authenticity, so given the public keys of the voters, anyone can verify that the tally is correct - though they may not need to use all public keys. The votes need not be kept secret.
Some interesting ideas might be to use key shares, to sub-sample a tally of the votes or to use zero knowledge proofs. Not sure how this may be done though.