论文部分内容阅读
作为比特币和其他现有的加密货币背后支撑的基础技术,区块链已经成为一种划时代意义的模型。因此,这项重要的技术将引领互联网和线上服务新时代的开始。然而,尽管大多数人都专注于利用区块链技术通过比特币来实现加密货币,但过去在线完成的许多行政和财务程序现在都可以作为线上服务在互联网上进行。以太坊智能合约的引入使区块链成为数字化日常服务的有力工具,例如以太坊区块链平台。而构建以太坊去中心化应用程序的基础平台需要用到智能合约,智能合约包含特定区块链应用程序需要执行的规则和功能的代码。因此在本研究中,我们将使用智能合约来开发适用于不同类型选举过程的基于区块链的电子投票系统。开发满足人民合法要求的电子投票系统确实一直以来都是具有挑战性的。基于这一点,创建一个满足大众需求并且具有安全透明性的平台是有必要的。诚然,过去已经建立了一些电子投票系统,但大多数都存在安全性和完整性问题。在我们的项目中,我们将会解决这些问题,来确保我们的系统是足够安全并且无漏洞的。另一方面,因为区块链具有分布式账本的特征,其包括先前交易的历史。它还为安全性,去中心化和透明度等至关重要的应用性质提供技术进步。因此,本研究旨在结合一个安全的数据库平台firebase,用于存储和验证选民和候选人的信息。因为区块链允许对网络上存储的所有信息的可访问,这对于避免用户的私人信息被区块链网络上的任何人访问是至关重要的。区块链将仅仅捕获投票过程,投票统计和计数。它还将号召大众投票并且实时向所有节点发布和分发投票结果。再者,我们介绍了区块链概念及其框架,并在前几章中简要讨论了几种类型的区块链。然后,我们描述了提出的系统的设计和算法,它解决了传统电子投票系统的局限性。我们还讨论了与智能合约代码相关的DAO攻击(去中心化的自治组织)以及如何在我们的以太坊智能合约代码中防止这些攻击。最后,在我们的本地区块链测试框架Ganache中,我们使用以太网伪账户的操作并调试区块链投票系统,执行和测试了我们的以太坊智能合约。此外,Truffle环境用于实现我们的智能合约和本地区块链之间的交互,Solidity是我们在编写智能合约时使用的编程语言。我们的结果应用实验在本研究的第5章中介绍,并且提及关于进一步研究涉及到的可靠性,透明度和安全性的想法。