论文部分内容阅读
在当今的信息时代,电子投票由于成本低、效率高、方便快捷、计票简单的特点正慢慢取代传统纸质投票。但是就目前已有的电子投票而言,仍然存在很多需要解决的问题。由于现有电子投票系统都是建立在第三方服务器的基础之上,因此存在数据不够公开透明,且容易被篡改或者伪造;不能保证选民的隐私和选票的隐私性;不能对选民的选票的有效性进行公开验证等问题。这些问题没有很好的解决之前,电子投票的应用仍然受限。自比特币发布以来,区块链技术和以太坊技术的发展,为电子投票的设计带来了新的解决方案和解决思路。区块链技术由于其去中心化,不可篡改的特点,可以弥补当前电子投票系统存在的问题和不足。所以将区块链技术和电子投票方案结合的研究有很重要的意义和前景,本文针对这一思路作了如下工作:1、分析了投票的应用场景,对比了各种投票实现方式存在的一些问题,分析了将区块链应用于电子投票的意义。2、详细介绍了区块链相关技术和以太坊相关技术及技术关键细节。3、针对当前电子投票系统在匿名性,透明性,公开计票等方面存在的问题,本文提出了一种基于一次性环签名的区块链的电子投票方案。方案中利用一次性环签名对投票者身份信息进行加密,可以保证投票者的匿名性。通过生成的一次性的密钥镜像,每位投票者只能使用一次该密钥镜像进行投票,因此不存在重复投票的问题。同时通过匿名地址技术使得不同的投票者对相同的候选者的选票都不一样,保证了候选者的匿名性,任何人或第三方机构都无法在投票结束前获得投票中间结果。另外通过区块链技术,将投票信息存储在以太坊区块链上,任何人在投票结束后都可以对选票进行验证和统计。通过安全性和性能分析,该方案符合电子投票系统的基本安全标准。4、针对本文提出的基于一次性环签名电子投票方案,提出了一个改进的密钥共享算法,通过改进的密钥共享算法,将候选者的两个密钥中的其中一个密钥对通过密钥共享的方式生成,可以大大简化计票统计算法的时间复杂度。将计票算法的时间复杂度由O(mn)降为线性时间复杂度O(m+n),有效地提高了计票验票的效率。5、本文通过以太坊区块链上的智能合约技术开发实现了基于以太坊区块链的电子投票方案,并为智能合约设计实现了投票系统Dapp的用户交互界面。对基于以太坊的区块链电子投票系统进行了详细地分析和设计,并在智能合约的基础之上使用了web前端技术为其设计了投票系统的交互界面。通过实现的投票系统分析了一次性环签名中环的大小和生成签名的时间、验证签名的时间和签名大小之间的关系。可以选择合适的环的大小从而即能保证签名的可靠性,又能尽量提高生成签名和验证签名的效率。