Voting refers to the submission of an election or an opinion on a specific matter by expressing an intention on the ballot to a certain place. The existing voting method has the burden of counting time and cost. For this reason, research has been conducted to introduce an e-voting system. However, despite the advantages of e-voting, it is not widely used due to the risk of manipulation of voting results and various requirements. Recently, in order to reduce the risk of data manipulation, research is being conducted to apply the blockchain, a technology that guarantees data integrity, to e-voting. Blockchain guarantees the integrity of data, but has a weakness in secrecy. This paper applies the critical encryption technique to the blockchain and satisfies the requirements for voting such as verifiability, anonymity, fairness, non-reusability, competence, safety, transparency, and non-ticketing. We propose a system design and implementation method. The proposed blockchain-based e-voting system provides voter anonymity by issuing a voter certificate based on a blockchain address. The e-voting election monitoring committee generates a threshold group encryption key, and the proposed blockchain-based e-voting system guarantees confidentiality by a threshold group encryption algorithm during the voting process. The voting result is encrypted through a homomorphic encryption algorithm and stored in the blockchain. Thus, the released voting results ensure safety, confidentiality, transparency, and non-vote ticketing. In addition, the proposed blockchain-based e-voting system guarantees the unity and competence of voting through the blockchain’s smart contract.