Abstract:Zhao and Chan recently proposed a bitcoin voting protocol that allows n voters to vote for one of two candidates to receive bitcoin funding. Voters first generated their votes by secret sharing, commitment, and zero knowledge proof techniques, and then voted and funded the candidates by Bitcoins through bitcoin transactions, which protected the privacy of voters. This study supports n voters to produce general votes for m candidates, and to vote and fund the candidates by Ethereum coins through smart contracts. Meanwhile, the smart contract in this study does not rely on a threshold signature scheme and is more efficient, and the main business logic of the contract is tested in a model checking tool.