Abstract
We present the first implementation of a decentralised and self-tallying internet voting protocol with maximum voter privacy using the Blockchain. The Open Vote Network is suitable for boardroom elections and is written as a smart contract for Ethereum. Unlike previously proposed Blockchain e-voting protocols, this is the first implementation that does not rely on any trusted authority to compute the tally or to protect the voter’s privacy. Instead, the Open Vote Network is a self-tallying protocol, and each voter is in control of the privacy of their own vote such that it can only be breached by a full collusion involving all other voters. The execution of the protocol is enforced using the consensus mechanism that also secures the Ethereum blockchain. We tested the implementation on Ethereum’s official test network to demonstrate its feasibility. Also, we provide a financial and computational breakdown of its execution cost.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
It is also possible for voters that have not yet cast their vote to collude and compute the partial tally of the cast votes. For simplicity, we discuss a single voter in regards to the fairness issue.
- 2.
- 3.
We have included the code to create and verify the two types of zero knowledge proofs in the cryptography contract. The code is independent of the Open Vote Network and can be used by other smart contracts.
References
Adida, B.: Helios: web-based open-audit voting. In: USENIX Security Symposium, vol. 17, pp. 335–348 (2008)
Aradhya, P.: Distributed Ledger Visible to All? Ready for Blockchain? Huffington Post, April 2016
Boucher, P.: What if blockchain technology revolutionised voting? Scientific Foresight Unit (STOA), European Parliamentary Research Service, September 2016. http://www.europarl.europa.eu/RegData/etudes/ATAG/2016/581918/EPRS_ATA(2016)581918_EN.pdf
Buterin, V.: Long-term gas cost changes for IO-heavy operations to mitigate transaction spam attacks. Ethereum Blog, October 2016. https://github.com/ethereum/EIPs/issues/150. Accessed 01 Nov 2016
Buterin, V.: Transaction spam attack: next steps. Ethereum Blog, September 2016. https://blog.ethereum.org/2016/09/22/transaction-spam-attack-next-steps/
Clark, J., Essex, A.: CommitCoin: carbon dating commitments with Bitcoin. In: Keromytis, A.D. (ed.) FC 2012. LNCS, vol. 7397, pp. 390–398. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32946-3_28
Cramer, R., Damgård, I., Schoenmakers, B.: Proofs of partial knowledge and simplified design of witness hiding protocols. In: Desmedt, Y.G. (ed.) CRYPTO 1994. LNCS, vol. 839, pp. 174–187. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-48658-5_19
Croman, K., et al.: On scaling decentralized blockchains. In: Clark, J., Meiklejohn, S., Ryan, P.Y.A., Wallach, D., Brenner, M., Rohloff, K. (eds.) FC 2016. LNCS, vol. 9604, pp. 106–125. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53357-4_8
Danezis, G., Meiklejohn, S.: Centrally banked cryptocurrencies. In: 23nd Annual Network and Distributed System Security Symposium, NDSS 2016 (2016)
Ekblaw, A., Azaria, A., Halamka, J.D., Lippman, A.: A case study for blockchain in healthcare: MedRec prototype for electronic health records and medical research data (2016). http://dci.mit.edu/assets/papers/eckblaw.pdf. Accessed 26 Oct 2016
Eth: How do Ethereum mining nodes maintain a time consistent with the network? Ethereum Wiki, June 2016. https://github.com/ethereum/wiki/wiki/Light-client-protocol. Accessed 6 Feb 2017
Ethereum: Light client protocol. Ethereum Wiki, May 2016. https://github.com/ethereum/wiki/wiki/Light-client-protocol
Ethereum: The mix Ethereum DApp development tool. GitHub (2016). https://github.com/ethereum/mix. Accessed 10 Oct 2016
Eyal, I., Sirer, E.G.: Majority is not enough: Bitcoin mining is vulnerable. In: Christin, N., Safavi-Naini, R. (eds.) FC 2014. LNCS, vol. 8437, pp. 436–454. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-45472-5_28
Fiat, A., Shamir, A.: How to prove yourself: practical solutions to identification and signature problems. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 186–194. Springer, Heidelberg (1987). https://doi.org/10.1007/3-540-47721-7_12
Groth, J.: Efficient maximal privacy in boardroom voting and anonymous broadcast. In: Juels, A. (ed.) FC 2004. LNCS, vol. 3110, pp. 90–104. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-27809-2_10
Hao, F., Ryan, P.Y., Zielinski, P.: Anonymous voting by two-round public discussion. IET Inf. Secur. 4(2), 62–67 (2010)
Hertig, A.: The first Bitcoin voting machine is on its way. Motherboard Vice, November 2015. http://motherboard.vice.com/read/the-first-bitcoin-voting-machine-is-on-its-way
Higgins, S.: Abu Dhabi stock exchange launches blockchain voting. CoinDesk, October 2016. http://www.coindesk.com/abu-dhabi-exchange-blockchain-voting/
Higgins, S.: IBM invests $200 million in blockchain-powered IoT. CoinDesk, October 2016. http://www.coindesk.com/ibm-blockchain-iot-office/
Horrocks, R.: Error while compiling: stack too deep. Ethereum Stack Exchange, June 2015. http://ethereum.stackexchange.com/a/6065
International Association for Cryptologic Research: About the Helios System, October 2016. http://www.iacr.org/elections/eVoting/about-helios.html
Khader, D., Smyth, B., Ryan, P.Y., Hao, F.: A fair and robust voting system by broadcast. In: 5th International Conference on Electronic Voting, vol. 205, pp. 285–299. Gesellschaft für Informatik (2012)
Kiayias, A., Yung, M.: Self-tallying elections and perfect ballot secrecy. In: Naccache, D., Paillier, P. (eds.) PKC 2002. LNCS, vol. 2274, pp. 141–158. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45664-3_10
Kumaresan, R., Bentov, I.: How to use Bitcoin to incentivize correct computations. In: Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, pp. 30–41. ACM (2014)
Luu, L., Chu, D.-H., Olickel, H., Saxena, P., Hobor, A.: Making smart contracts smarter. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, pp. 254–269. ACM (2016)
McCorry, P., Shahandashti, S.F., Clarke, D., Hao, F.: Authenticated key exchange over Bitcoin. In: Chen, L., Matsuo, S. (eds.) SSR 2015. LNCS, vol. 9497, pp. 3–20. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-27152-1_1
Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system, November 2008. https://bitcoin.org/bitcoin.pdf. Accessed 01 Jan 2015
Narayanan, A., Bonneau, J., Felten, E., Miller, A., Goldfeder, S.: Bitcoin and Cryptocurrency Technologies. Princeton University Press, Princeton (2016)
Reitwiessner, C.: Smart contract security, June 2016. https://blog.ethereum.org/2016/06/10/smart-contract-security/
Sapirshtein, A., Sompolinsky, Y., Zohar, A.: Optimal selfish mining strategies in Bitcoin. In: Grossklags, J., Preneel, B. (eds.) FC 2016. LNCS, vol. 9603, pp. 515–532. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54970-4_30
Schnorr, C.-P.: Efficient signature generation by smart cards. J. Cryptol. 4(3), 161–174 (1991)
Sompolinsky, Y., Zohar, A.: Secure high-rate transaction processing in Bitcoin. In: Böhme, R., Okamoto, T. (eds.) FC 2015. LNCS, vol. 8975, pp. 507–527. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47854-7_32
Business Wire: Now you can vote online with a selfie. Business Wire, October 2016. http://www.businesswire.com/news/home/20161017005354/en/Vote-Online-Selfie
Acknowledgements
The second and third authors are supported by the European Research Council (ERC) Starting Grant (No. 306994). We would like to thank Nick Johnson for taking the time to answer questions about Ethereum, Solidity and the test-framework Dapple. We thank Maryam Mehrnezhad and Ehsan Toreini for their support in this work during the Economist Case Study Challenge, Malte Möser for his comments on an early draft of the paper, and the anonymous reviewers for their constructive feedback.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 International Financial Cryptography Association
About this paper
Cite this paper
McCorry, P., Shahandashti, S.F., Hao, F. (2017). A Smart Contract for Boardroom Voting with Maximum Voter Privacy. In: Kiayias, A. (eds) Financial Cryptography and Data Security. FC 2017. Lecture Notes in Computer Science(), vol 10322. Springer, Cham. https://doi.org/10.1007/978-3-319-70972-7_20
Download citation
DOI: https://doi.org/10.1007/978-3-319-70972-7_20
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-70971-0
Online ISBN: 978-3-319-70972-7
eBook Packages: Computer ScienceComputer Science (R0)