As part of VotePeer research and development, I’ve implemented a Merkle Tally Tree library. This library is part of Bitcoin Unlimited’s software stack. Merkle Tally Trees was described by Andrew Stone in his Blockchain Voting Techniques article and will be added to VotePeer in an iteration of the transparent vote contract.
Merkle Tally Trees provide an efficent tally of an electronic vote. It scales to millions of votes, while still being able to prove efficently to every voter that the tally was fair. Using merkle tally tree, you can create:
- Efficient proof that a vote was tallied in a result (vote included).
- Efficient proof that a vote was not tallied in a result (vote excluded).
- Efficient proof of number of ballots included in the tally (no ballot witholding).
The library is located here: