论文部分内容阅读
随着社会的进步,经济的快速发展,投票调查、意见采集在社会生活中起了越来越重要的作用。网上投票系统以高效率、节省资源、易传播等特性替代了线下投票活动。但是由于网上投票系统的数据存储在中心化服务器中,存在许多弊端。例如:(1)用户的投票信息有被泄漏的风险;(2)选民投票以后,普通的选民无法验证投票结果是否正确;(3)投票数据、结果可能会被恶意篡改。本论文利用区块链技术的去中心化、信息不可篡改、公开透明的特性,构建了公平、公正、公开透明的投票系统。本文旨在通过利用区块链中的转账交易替代投票过程,以解决现有网上投票系统存在的问题。系统为每个用户和投票选项生成一个区块链账号,并且为每个投票活动发行一种投票代币。系统中每个用户只能领取一次投票代币,用户把自己拥有的投票代币转账给投票选项的区块链账号。最后,系统统计各投票选项拥有的投票代币数量,把它记为投票选项所得票数,公示投票结果。本论文主要成果如下:(1)完成了基于区块链技术的投票系统的设计。本系统分为三层组织结构,分别是布比区块链作为底层、SDK工具作为中间件层和投票系统的业务作为实现层。设计封装了 SDK工具,方便系统后台业务灵活调用底层区块链。设计了本系统的系统业务总体模块结构,对系统中的管理员子系统、用户子系统中的各个功能模块进行详细设计。最后,根据系统的功能模块,抽象出系统数据库中的实体对象,进而设计了本系统数据库中的表结构。(2)完成了基于区块链技术的投票系统的实现。首先,实现了底层区块链的安装部署,安装了四个Ubuntu服务器作为区块链中的节点,使四个节点达成共识,保证底层区块链正常运行。其次,按照设计部分实现完成数据库部署建立,以保证投票系统的上层业务实现。再次,完成了投票系统业务实现,采用Spring+SpringMVC+Mybatis框架开发实现了基于区块链的投票系统的业务功能。最后,对系统的各个模块进行功能测试,保证了系统正常稳定运行。