Date of Award


Degree Type


Degree Name

Master of Science in Software Engineering


Electrical Engineering and Computer Science

First Advisor

Zhao, Wenbing

Subject Headings

Computer Engineering


Blockchain has been one of the hottest topics among the state-of-the-art technologies. As the enabling technology for Bitcoin, the pioneering cryptocurrency, blockchain is an append-only distributed ledger that is virtually impossible to attack. Hence, blockchain holds great promises as the fundamental technology to enable Internet-based electronic voting. However, Internet-based voting has additional requirements than what monetary transactions such as Bitcoin have to offer. In this thesis, we discuss the key differences of a blockchain-based voting system with digital currencies. In this context we also highlight the requirements, review existing proposed solutions, and outline possible improvements. Specifically, we propose several schemes on how to tackle various issues such as authentication, privacy, transparency, scalability, safety, as well as several other practical aspects of the platform. Most importantly, a blockchain-based voting system needs to ensure that the prospect of tampering with the election result is to a large extent eliminated. At the same time, the voting platform should have proper performance characteristics, i.e. sufficient throughput, for a voting of large magnitude such as a presidential election. Being heavily linked together, security and performance should be investigated in a unified framework to capture the interaction effects between the two. To address this concern, for the first time, we will study the performance and security implications of the blockchain voting system in a quantitative manner, using a blockchain simulator developed by researchers at Swiss Federal Institute of Technology, ETH Zurich. In our analysis, we will specifically investigate the stale block rate and relative mining share of the dishonest network, as the central security measures, as a function of important network parameters that determine the throughput of the network, i.e. block size and block interval. Ultimately, we focus on selfish mining and eclipse attacks as the most critical threats to the integrity of the blockchain voting in order to find the optimal network parameters.