Cryptology ePrint Archive: Report 2015/1007

How to Vote Privately Using Bitcoin

Zhichao Zhao and T-H. Hubert Chan

Abstract: Bitcoin is the first decentralized crypto-currency that is currently by far the most popular one in use. The bitcoin transaction syntax is expressive enough to setup digital contracts whose fund transfer can be enforced automatically.

In this paper, we design protocols for the bitcoin voting problem, in which there are n voters, each of which wishes to fund exactly one of two candidates A and B. The winning candidate is determined by majority voting, while the privacy of individual vote is preserved. Moreover, the decision is irrevocable in the sense that once the outcome is revealed, the winning candidate is guaranteed to have the funding from all n voters.

As in previous works, each voter is incentivized to follow the protocol by being required to put a deposit in the system, which will be used as compensation if he deviates from the protocol. Our solution is similar to previous protocols used for lottery, but needs an additional phase to distribute secret random numbers via zero-knowledge-proofs. Moreover, we have resolved a security issue in previous protocols that could prevent compensation from being paid.

Category / Keywords: applications / anonymity, bitcoin, zero-knowledge

Original Publication (with minor differences): ICICS2015

Date: received 16 Oct 2015

Contact author: zczhao at cs hku hk

Available format(s): PDF | BibTeX Citation

Version: 20151016:153719 (All versions of this report)

Short URL:

Discussion forum: Show discussion | Start new discussion

[ Cryptology ePrint archive ]