Using Blockchain technology to create a secure voting system
Tran, Phong (2021)
Tran, Phong
2021
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2021060113228
https://urn.fi/URN:NBN:fi:amk-2021060113228
Tiivistelmä
The main goal of this thesis was to study and implement a voting system using blockchain technology, specifically Ethereum Smart Contract. Such a system is necessary because the voting results can easily be manipulated if the data is not stored in a secured database. The use of blockchain ensures that the data is immutable, thus providing a transparent result after the voting is over.
The theoretical part of this thesis familiarizes the readers with the definition of blockchain, how the data is stored inside the ledger, how the data is verified using blockchain, and how it is impossible for a malicious user to tamper with data inside the network. Moreover, the theoretical part explains the Ethereum ecosystem and how to interact with Ethereum Smart Contracts.
The practical part provides the specification needed to build this application, along with instructions as to how the application is created. The application was created using ReactJS as a Front-end Framework, NodeJS to build the Back-end server, and Solidity language to build the Ethereum Smart Contract.
After the practical part, the outcomes and the results of the application are discussed in the result and the discussion section. Possible considerations and improvements are also discussed, along with one downside of the application. Finally, the conclusion of this thesis discusses how the developed code solves the original tasks of secure voting. One alternative method is also mentioned in this section and why the alternative may not be the better option. Lastly, further improvement, updates, and thoughts are also mentioned in the conclusion as well.
The theoretical part of this thesis familiarizes the readers with the definition of blockchain, how the data is stored inside the ledger, how the data is verified using blockchain, and how it is impossible for a malicious user to tamper with data inside the network. Moreover, the theoretical part explains the Ethereum ecosystem and how to interact with Ethereum Smart Contracts.
The practical part provides the specification needed to build this application, along with instructions as to how the application is created. The application was created using ReactJS as a Front-end Framework, NodeJS to build the Back-end server, and Solidity language to build the Ethereum Smart Contract.
After the practical part, the outcomes and the results of the application are discussed in the result and the discussion section. Possible considerations and improvements are also discussed, along with one downside of the application. Finally, the conclusion of this thesis discusses how the developed code solves the original tasks of secure voting. One alternative method is also mentioned in this section and why the alternative may not be the better option. Lastly, further improvement, updates, and thoughts are also mentioned in the conclusion as well.