一个基于区块链的投票软件设计与实现开题报告

 2022-09-08 11:10:25

1. 研究目的与意义

背景:随着时代的发展,越来越多的场合需要进行投票,投票过程的透明性,投票结果的真实性,投票的可溯源性变得越发重要。

传统的投票方式有纸质投票、某些软件投票等,这些方法存在着一些缺点:投票过程不可见,投票结果容易被篡改,可能出现刷票等现象,这样投票结果的公平性将无法得到保证。

意义:因此我想实现一个基于区块链的投票系统,区块链的五大特点:去中心化、开放性、防篡改性、匿名性、可追溯性,与投票过程所要求的高度一致,目前区块链的短板在于存在一定的延迟性。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

2. 课题关键问题和重难点

关键问题:1、投票数据成功被添加到底层的区块链之前,需要经过交易判定、交易分发、添加 区块和节点投票等一系列的过程。

2、节点收到数据后,首先要判断数据的格式是否正确,是否出现双花现象,须判断这笔交易的输入是否依赖于其他交易(判断交易是否为创世块)。

若交易不合法,则节点会向交易的发送方回传错误信息并丢弃该笔交易。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

3. 国内外研究现状(文献综述)

国外现状:电子投票已成为目前的研究热点之一 ,大量学者围绕 电子投票的安全问题进行了研究 。

1992 年 ,a fujioka 等[1]使用盲签名技术提出著名的 foo 电子投票协议,该协议真正实现了大规模选举投票的安全性和灵活性,为电 子投票协议的实际应用提供了理论基础;emagkos 等提出一种基于匿名信道的大规模投票方案[2],该方案满足了电子投票协议的基本要求,基于pki技术有效解决了投票者的隐私保护问题;1994 年 benaloh[3]提出无收据性概念。

现有投票方案中实现无收据性的方式大致分为3种: 利用 mix-net协议的、基于盲签名的,以及基于同态加密的。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 研究方案

本系统使用 java 语言进行编程,基于 b/s (browser/server)架构,即浏览器/服务器模式。

并使用 ssm(spring springmvc mybatis)框架。

数据库使用 mysql5.7,应用交互层的 web 程序部署在tomcat8 服务器上,区块链底层程序部署在 windows服务器上。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

5. 工作计划

第1-2周:阅读大量区块链技术相关的文献,了解区块链技术及其在投票场景下的运用,学会基于盲签名、环签名的电子投票方案、基于全同态加密的电子投票方案和基于混合网络的电子投票方案三种投票方案的使用。

选取其中优点加以应用。

第3-4周:学会智能合约的部署、学会采用pbft 算法,通过投票来达成共识的机制,并解决数据分叉以及投票数据丢失和篡改等问题。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版