论文部分内容阅读
电子投票在社会活动尤其是经济和政治领域中发挥着重要的作用。在设计投票系统时,如何保证投票结果的可信性以及投票者的隐私始终是最重要的问题。目前,大多数电子投票协议都依赖于一个完全可信的公共公告板。然而,在现实的电子投票系统中,公共公告板所显示的信息往往会受到投票者和公众的质疑,甚至会被黑客或恶意的投票管理者篡改。区块链以及智能合约的兴起为电子投票协议的设计提供了新的思路。本文提出了一个半诚实模型下基于智能合约的去中心化安全电子投票协议。区块链以及其上运行的智能合约为电子投票系统提供了一个信息可信的公共公告板以及计算可信的运行环境。包含可链接环签名的选票可以保证投票结果的正确性,并避免一票多投的情况发生。此外,无可信中心的门限加密方案可保证在选票统计阶段之前,任何人都不能获得解密的私钥,从而保证所有投票者能够同时获得投票结果且在投票过程中没有人能够获得中间结果。投票结果的可信性不完全依赖于投票管理员,而由投票管理员和所有投票者共同保证。在协议中,部分恶意的投票者不会破坏投票的最终结果。若所有投票者都是恶意的,投票会被中止,而不会产生错误的结果。本文对协议的安全性进行了详细的分析。然而在本协议中,随着投票规模的增大、恶意选民的增加,恶意选民所造成的计算资源的浪费不断增大,系统健壮性不断减弱。本文提出了一个恶意模型下基于智能合约的去中心化安全电子投票协议。为增强投票协议的健壮性,本文提出了恶意模型下的无可信中心门限加密方案。恶意的参与者能够被及时检测出来并被禁止参与密钥生成,以保证恶意参与者不会造成的无效加密操作,避免了计算资源的浪费。通过在投票协议中引入选民代表角色,选民代表负责进行公钥的生成以及私钥的保存,有效的降低了选民的计算消耗。在此协议中,协议中止所造成的计算资源损失较小,整个协议的隐私性与公平性得到保证。经分析,本方案适合大规模投票活动。根据安全电子投票协议,本文完成了基于以太坊的安全电子投票智能合约的开发,并根据不同角色所需要的不同功能完成了去中心应用系统的开发。该系统通过太坊所提供的相应接口实现与以太坊上智能合约的交互。同时本文测试了不同规模投票所消耗的计算资源以及各项操作的运行时间,并对实验结果进行了分析。