Recently, voting in elections has become a major topic of debate. The legitimacy of election results is being questioned, whether it be elections on the government, municipality, university, or even department level. This led to a general distrust between the voting populations of developing countries and developed nations and electoral committees. Looking at election turnout rates, it becomes ... [Show full abstract] clear that an ever-widening rift between voters and trust in traditionally held elections has caused prominent voter apathy. The general population sees policymakers as not having taken serious strides in solving these problems. Electronic voting was seemingly introduced to alleviate some problems. Yet, the public has expressed concerns about election manipulation through hacking since electronic systems are notoriously vulnerable to those kinds of attacks and are hard to shield from. Introducing blockchain technology to this field is a logical step to evolving traditional e-voting systems. Traditional voting and, by extension, e-voting suffer from centralization, where a single entity oversees the election process. This creates a single point of failure. Thus, it becomes easy to tamper with voter data and election results. Blockchain technology offers a solution to decentralize and restore trust in the process; it embraces decentralization, the entire process becomes open to the public, and the need for a centralized managerial entity is reduced. In this paper, we introduce and implement a blockchain-based voting system that addresses the issues mentioned earlier in centralized voting. Moreover, our system proposes solutions to some of the problems and side-effects that are likely to happen when adopting blockchain-based voting systems, especially the anonymity of the voters and the confidentiality of the results until the time of the official announcement. We show that it is possible to have a voting system that accomplishes decentralization and trustworthiness for all the parties involved in the voting process.