论文部分内容阅读
电子投票系统是通过降低选举成本,增加选民参与,甚至允许选民直接核实整个选举程序来改善社会民主的强大技术。电子投票公告牌系统是电子投票系统中的重要组成部分,被称为“具有记忆的广播频道”。公告牌系统在选举期间公开有效投票以及相关的证据信息,以允许用户对投票过程进行可验证性检查。目前对于电子投票公告牌系统的研究,都不同程度地要求服务端保证安全性。现有的实用电子投票公告系统在异步假设下,只能够达到f<[n/3]的容错,这使得系统在更复杂的网络环境中可能不能抵御更多的恶意攻击。本文基于对同步拜占庭共识算法的研究,改进了高效同步拜占庭共识算法(ESBC),并基于此协议设计并实现了一个电子投票公告牌系统。该系统在同步假设下,能够达到f<[n/2]的拜占庭容错,并提供电子投票公告牌系统对完整性、可验证性、不可更改性的保证。本论文的主要工作如下:(1)分析研究了分布式共识问题,详细研究了同步假设下的一种拜占庭容错(BFT)的分布式共识算法——高效同步拜占庭共识算法(ESBC)。在理解其核心机制的基础上,实现ESBC共识协议并测试其性能,给出关键参数值以供后续应用。(2)在同步假设下,改进ESBC算法,设计了一种以时间片序列划分的共识算法。服务端副本通过对客户端的序列请求缓存,并以固定周期提交共识请求。每个时间片看作一次类似拜占庭协定的共识问题,多个时间片序列之间串行解决,单个时间片内的共识以并行的ESBC拜占庭广播解决。改进算法在未增加协议复杂度的基础上,保证了协定性及终止性,最大化了协议的效率。(3)分析了以往电子投票公告牌系统的实现方案,设计了一种改进的ESBC算法电子公告牌系统的方案。该系统工作在同步假设下,应用公钥系统保证投票过程的完整性、可验证。最后,对本文设计的电子公告牌系统进行仿真实验,并将系统部署在阿里云集群中,测试不同服务器节点数情况下对系统的吐吞量、延迟的影响。实验仿真结果表明,本系统能够实现电子投票系统的基本投票及查询验证功能,保证电子投票系统的匿名性、完整性、可验证性、不可重用性;在同步假设下能够达到f<[n/2]的拜占庭容错,具有良好的吞吐率以及秒级的响应时间。