How to Vote Privately Using Bitcoin

  • Zhichao ZhaoEmail author
  • T.-H. Hubert Chan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9543)


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.


Full Paper Commitment Scheme Previous Protocol Individual Vote Money Transfer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Supplementary material


  1. 1.
    Checksig - bitcoin wiki. (2015). Accessed 10 May 2015
  2. 2.
    Testnet - bitcoin wiki. (2015). Accessed 10 May 2015
  3. 3.
    Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, L.: How to deal with malleability of bitcoin transactions (2013). CoRR, abs/1312.3230Google Scholar
  4. 4.
    Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, L.: Secure multiparty computations on bitcoin. In: IEEE Symposium on Security and Privacy, SP, pp. 443–458. Berkeley, 18–21 May 2014Google Scholar
  5. 5.
    Barber, S., Boyen, X., Shi, E., Uzun, E.: Bitter to better — how to make bitcoin a better currency. In: Keromytis, A.D. (ed.) FC 2012. LNCS, vol. 7397, pp. 399–414. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  6. 6.
    Ben-Sasson, E., Chiesa, A., Garman, C., Green, M., Miers, I., Tromer, E., Virza, M.: Zerocash: decentralized anonymous payments from bitcoin. In: IEEE Symposium on Security and Privacy, SP, pp. 459–474. Berkeley, 18–21 May 2014Google Scholar
  7. 7.
    Ben-Sasson, E., Chiesa, A., Genkin, D., Tromer, E., Virza, M.: SNARKs for C: verifying program executions succinctly and in zero knowledge. In: Canetti, R., Garay, J.A. (eds.) CRYPTO 2013, Part II. LNCS, vol. 8043, pp. 90–108. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  8. 8.
    Bentov, I., Kumaresan, R.: How to use bitcoin to design fair protocols. In: Garay, J.A., Gennaro, R. (eds.) CRYPTO 2014, Part II. LNCS, vol. 8617, pp. 421–439. Springer, Heidelberg (2014)Google Scholar
  9. 9.
    Chaum, D., Crépeau, C., Damgård, I.: Multiparty unconditionally secure protocols (extended abstract). In: Proceedings of the 20th Annual ACM Symposium on Theory of Computing, pp. 11–19. Chicago, 2–4 May 1988Google Scholar
  10. 10.
    Goldfeder, S., Gennaro, R., Kalodner, H., Bonneau, J., Kroll, J.A., Felten, E.W., Narayanan, A.: Securing bitcoin wallets via a new DSA/ECDSA threshold signature scheme (2015).
  11. 11.
    Goldreich, O.: Foundations of Cryptography, vol. 1. Cambridge University Press, New York (2006)zbMATHGoogle Scholar
  12. 12.
    Carlsson, J.: Snarkfront: a c\({++}\) embedded domain specific language for zero knowledge proofs.
  13. 13.
    Kumaresan, R., Bentov, I.: How to use bitcoin to incentivize correct computations. In: Proceedings of the ACM SIGSAC Conference on Computer and Communications Security, pp. 30–41. Scottsdale, 3–7 Nov 2014Google Scholar
  14. 14.
    Miers, I., Garman, C., Green, M., Rubin, A.D.: Zerocoin: anonymous distributed e-cash from bitcoin. In: IEEE Symposium on Security and Privacy, SP, pp. 397–411. Berkeley, 19–22 May 2013Google Scholar
  15. 15.
    Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008).
  16. 16.
    Zhao, Z., Hubert Chan, T-H.: How to vote privately using bitcoin. Cryptology ePrint Archive, Report 2015/1007 (2015).

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.The University of Hong KongPokfulamHong Kong

Personalised recommendations