CN109671205B - 基于区块链的投票方法、装置、设备及计算机存储介质 - Google Patents

基于区块链的投票方法、装置、设备及计算机存储介质 Download PDF

Info

Publication number
CN109671205B
CN109671205B CN201811121522.1A CN201811121522A CN109671205B CN 109671205 B CN109671205 B CN 109671205B CN 201811121522 A CN201811121522 A CN 201811121522A CN 109671205 B CN109671205 B CN 109671205B
Authority
CN
China
Prior art keywords
voting
information
block chain
block
combination information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811121522.1A
Other languages
English (en)
Other versions
CN109671205A (zh
Inventor
江虹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Financial Technology Co Ltd Shanghai
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201811121522.1A priority Critical patent/CN109671205B/zh
Publication of CN109671205A publication Critical patent/CN109671205A/zh
Application granted granted Critical
Publication of CN109671205B publication Critical patent/CN109671205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于区块链的投票方法,包括:从接收的投票消息中获取投票用户的身份信息和被投票人的标识,关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息,对所述投票信息进行计数以获取投票数目,当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块。本发明还公开了一种基于区块链的投票装置、基于区块链的投票设备和计算机存储介质。本发明通过将多条投票信息生成投票组合信息并存储到区块链上,缩短投票信息的存储和同步周期,节约区块链节点的计算能力,从而提高区块链实现投票的效率。

Description

基于区块链的投票方法、装置、设备及计算机存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链的投票方法、基于区块链的投票装置、基于区块链的投票设备及计算机存储介质。
背景技术
随着区块链技术的发展,区块链技术在金融、医疗、认证等多个领域的应用成为热点。其中,区块链的去中心化、数据共享、无法篡改等技术特点为建立一个公平透明的投票平台提供了良好的基础,但是在区块链共识机制执行过程中,需要所有的区块链节点完成完整数据集的确认和同步,同步花费时间过多,效率较低,所以在将区块链技术应用于投票场景下面临着处理效率低的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于区块链的投票方法、基于区块链的投票装置、基于区块链的投票设备和计算机存储介质,旨在解决将区块链技术应用于投票场景下面临着处理效率低的问题的技术问题。
为实现上述目的,本发明提供一种基于区块链的投票方法,所述基于区块链的投票方法包括如下步骤:
当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识;
关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息;
对所述投票信息进行计数以获取投票数目;
当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块。
优选地,所述根据所述投票信息生成投票组合信息的步骤包括:
对所述投票信息进行哈希计算生成哈希值,将所述哈希值作为所述投票信息对应的投票组合信息。
优选地,所述根据所述投票信息生成投票组合信息的步骤之后还包括:
关联保存所述投票信息和所述哈希值,以根据所述哈希值查询对应的投票信息。
优选地,所述基于区块链的投票方法还包括以下步骤:
判断所述投票组合信息是否已经形成区块;
当所述投票组合信息已经形成区块时,根据所述投票组合信息生成投票统计结果,其中,当有新的投票组合信息形成新的区块时,所述投票统计结果根据所述新的投票组合信息更新。
优选地,所述基于区块链的投票方法还包括以下步骤:
定时将当前投票统计结果发送给区块链节点,以使各个区块链节点根据接收到的投票统计结果形成区块。
优选地,所述投票信息还包括投票发送者的定位信息。
优选地,所述当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识的步骤之前还包括:
将投票组织机构信息发送给区块链节点,以使各个区块链节点根据接收到的投票组织机构信息形成区块,其中,所述投票组织机构信息包括投票组织结构名称、投票组织机构网络标识、投票规则和投票候选人名单。
此外,为实现上述目的,本发明还提供所述基于区块链的预警装置,该装置包括:
获取模块,用于当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识;
保存模块,用于关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息;
计数模块,用于对所述投票信息进行计数以获取投票数目;
信息处理模块,用于当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块。
此外,为实现上述目的,本发明还提供所述基于区块链的投票设备,该设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于区块链的投票处理程序,所述基于区块链的投票处理程序被所述处理器执行时实现如上所述的基于区块链的投票方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机存储介质,其特征在于,所述计算机存储介质上存储有基于区块链的投票处理程序,所述基于区块链的投票处理程序被处理器执行时实现如上所述的基于区块链的投票处理方法的步骤。
本发明实施例提出的一种基于区块链的投票方法、基于区块链的投票装置、基于区块链的投票设备和计算机存储介质,当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识,关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息,对所述投票信息进行计数以获取投票数目,当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块。
本发明通过将多条投票信息生成投票组合信息并存储到区块链上,缩短投票信息的存储和同步周期,节约区块链节点的计算能力,从而提高用区块链实现投票的效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明基于区块链的投票方法第一实施例的流程示意图;
图3为本发明基于区块链的投票方法第二实施例的流程示意图;
图4为本发明基于区块链的投票方法第三实施例的流程示意图;
图5为本发明基于区块链的投票装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的服务器(又叫事件处理设备,其中,事件处理设备可以是由单独的事件处理装置构成,也可以是由其他装置与事件处理装置组合形成)结构示意图。
本发明实施例服务器指一个管理资源并为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC(personal computer)个人计算机来说,服务器在稳定性、安全性、性能等方面都要求较高;如图1所示,该服务器可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),网络接口1004,用户接口1003,存储器1005,通信总线1002、芯片组、磁盘系统、网络等硬件等。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WIFI接口)。存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,服务器还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块;输入单元,比显示屏,触摸屏;网络接口可选除无线接口中除WiFi外,蓝牙、探针、3G/4G/5G(前面的数字表示的是蜂窝移动通信网络的代数。就是表示是第几代的网络。英文字母G表示generation)联网基站设备等等。本领域技术人员可以理解,图1中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,该计算机软件产品存储在一个存储介质(存储介质:又叫计算机存储介质、计算机介质、可读介质、可读存储介质、计算机可读存储介质或者直接叫介质等,如RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图1所示的服务器中,网络接口1004主要用于连接后台数据库,与后台数据库进行数据通信;用户接口1003主要用于连接客户端(客户端,又叫用户端或终端,本发明实施例终端可以固定终端,也可以是移动终端,在此不再赘述),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行本发明以下实施例提供的事件处理方法中的步骤。
参照图2,本发明第一实施例提供一种基于区块链的投票方法,所述方法包括:
步骤S10,当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识。
当服务器接收到用户通过终端软件发送的投票消息时,解析投票消息,从投票消息中获取投票用户的身份信息和被投票人的标识。
投票用户的身份信息可以是注册为投票用户时提供的身份证号码或注册时获取的用户标识。服务器可以将投票消息中的投票用户身份信息和预存的投票用户身份信息进行匹配,当匹配成功时则认为该投票消息为有效;或者当投票用户的身份信息为身份证号码时,服务器可以连接公安系统的身份证服务器对用户的身份证号码进行验证。被投票人的标识可以是被投票人的姓名,也可以是被投票人注册投票用户时所用的标识。
步骤S20,关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息。
服务器将从接收的投票消息中解析得到的投票用户的身份信息和被投票人的标识记载在一条记录中作为一条投票信息。
步骤S30,对所述投票信息进行计数以获取投票数目。
每个投票项目都规定了有效投票的起始时间,当服务器检测到有效投票开始时,则启动对生成的投票信息的数目统计。
步骤S40,当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块。
在现有的区块链的运作机制下,生成一个新区块、所有区块链节点同步一次更新的区块信息所花费的时间较长,如果服务器生成一次投票信息就对应生成一个区块,由于生成区块和同步区块的时间周期比起服务器生成投票信息的时间周期大得多,会导致服务器在区块链上存储投票信息存在很大的延迟,同时也浪费区块链节点的计算资源。所以在本实施例中,服务器对生成的投票信息进行计数,并判断投票信息是否达到预设数目,达到预设数目时才执行后续的生成区块的相关步骤。
需要说明的是,预设数目大小的设置可以根据投票项目的规模大小而定。投票项目的规模大小由投票人的地理范围大小、投票总人数大小、投票持续时间大小共同决定,根据投票项目规模大小确定预设数目大小的具体方案在此不做限定。
例如一种可能的方案为:预设数目大小和对应的权值的集合为{一百条(权值低于0.2),一千条(权值大于等于0.2),一万条(权值大于等于0.5),十万条(权值大于等于0.8)},投票人的地理范围等级和权值集合为{自治区域(权值0.1),市属分区(权值0.3),市内(权值0.4),省内(权值0.5),跨省区域(权值0.6),全国(权值0.7),洲区(权值0.8),全世界(权值1)},投票总人数大小等级和权值集合为{一千人以下(权值0.6),一万人以下(权值0.7),十万人以下(权值0.8),一百万人以下(权值0.9),一百万人以上(权值1)},投票持续时间等级和权值集合为{一星期以内(权值0.7),半个月以内(权值0.8),一个月以内(权值0.9),一个月以上(权值1)}。若有一项投票的投票人的地理范围为市内、预计投票总人数在十万人以下,投票持续时间为一个星期,那么该项投票由三项指标得到的总权值计算式为:0.4*0.8*0.7=0.224,那么从预设数目大小和对应的权值的集合中查询得到的预设数目应该设置为一千条。
当服务器生成的投票信息数目达到预设数目时,将预设数目条投票信息内容组合成一条完整的数据记录,将此一条完整的数据记录作为一条投票组合信息,并采用数字签名技术将该投票组合信息发送给区块链节点。
服务器将投票组合信息发送给区块链节点的具体过程为:服务器用哈希函数生成投票组合信息的摘要,然后用预存的私钥对摘要进行加密,将加密后的摘要作为投票组合信息的数字签名和投票组合信息一起发送给区块链节点;区块链节点收到时先用同样的哈希函数从接收的投票组合信息中计算出投票组合信息的摘要,接着再用服务器预先公布的公钥对接收到的投票组合信息的数字签名进行解密,如果解密后的摘要和重新计算得到的投票组合信息的摘要相同,区块链节点可以认定接收到的投票组合信息是服务器发送的,并且接收到的投票组合信息是完整无误的,可以执行后续的生成区块的相关步骤。
当预设数目比较大时,根据多条投票信息生成的投票组合信息的数据量比较大,为了减少网络中传输的数据量以提高网络传输效率,服务器可以先将多条投票信息内容组合形成一条完整的数据记录,再用哈希函数生成该数据记录的哈希值,仅将该哈希值作为多条投票信息对应的投票组合信息发送给区块链节点。
需要说明的是,当服务器仅将多条投票信息对应的哈希值作为投票组合信息发送给区块链节点时,仍然可以采用数字签名技术,即用哈希函数生成多条投票信息对应的哈希值的摘要,然后用预存的私钥对摘要进行加密,将加密后的摘要作为多条投票信息对应的哈希值的数字签名和哈希值一起发送给区块链节点。或者采用零知识证明技术来进行服务器和区块链节点之间的认证,具体过程为:区块链节点产生一个随机值,并用服务器公布的公钥对其进行加密,将加密后的随机值存储在服务器可以访问的数据空间中,服务器通过访问数据空间获取到加密后的随机值并用自己的私钥进行解密,服务器再将解密后的随机值和多条投票信息对应的哈希值一起作为投票组合信息发送给区块链节点,当区块链节点接收到服务器发送的解密后的随机值时,若发现解密后的随机值和预存的随机值一致时,则认为接收到的投票组合信息是来源于可信赖的服务器。进一步地,为了提高服务器和区块链节点之间认证的防攻击性,服务器和区块链节点可以事先进行约定:区块链节点周期性地更新生成随机值,服务器服务器和周期性的到可以访问的数据空间中获取加密后的随机值。
当服务器仅将多条投票信息对应的哈希值作为投票组合信息发送给区块链节点时,表明即将生成的区块中的数据内容仅有投票信息的哈希值,而对于投票信息的查证操作或追溯操作而言,需要获取的是投票信息,所以需要服务器将投票信息和投票信息的哈希值进行关联存储,以供在进行投票信息的查证操作或追溯操作时可以根据投票信息的哈希值查询对应的投票信息。
无论区块中保存的是投票信息还是投票信息的哈希值,当需要对投票信息执行查证操作或追溯操作时,都需要从区块链中识别出包含同一个投票项目的投票信息的区块。
一种方法为:服务器在发送投票组合信息给区块链节点时,用和区块链同样的哈希函数生成投票组合信息的哈希值并将其保存。当需要对投票信息执行查证操作或追溯操作时,从服务器上获取投票信息的哈希值,将投票信息的哈希值作为区块链节点提供的查询接口的输入,通过调用查询接口查找包含该投票信息的哈希值的区块。若查找到包含该投票信息哈希值的区块,表明服务器保存的投票信息的哈希值为真实有效的,并且由于服务器已经将投票信息和投票信息的哈希值进行了关联存储,该哈希值对应的投票信息也是真实有效的,即可以根据查找到的投票信息执行查证操作或追溯操作。
另一种方法为服务器将投票项目标识携带在投票组合信息中发送给区块链节点,区块链节点在生成区块时将投票项目标识放置在区块数据内容中。当需要对投票信息执行查证操作或追溯操作时,服务器可以根据投票项目标识查找到属于同一个投票项目的区块。
在本实施例中,通过将多条投票信息生成投票组合信息并存储到区块链上,缩短投票信息的存储和同步周期,节约区块链节点的计算能力,从而提高用区块链实现投票的效率。
进一步的,参照图3,本发明第二实施例基于第一实施例提供一种基于区块链的投票方法,本实施例还包括步骤:
步骤S50,判断所述投票组合信息是否已经形成区块。
可以采取多种方法判断投票组合信息是否已经形成区块,一种方法为服务器对发送的投票组合信息是否形成区块进行主动的查询。服务器可以根据待查询的投票信息的发送时间和当前区块链平均的区块形成时间估算出待查询的投票组合信息形成区块的时间,在估算的形成区块的时间到来时调用区块链节点提供的接口发起主动查询,具体为将待查询的投票组合信息的哈希值作为区块链节点提供的接口的输入后调用该接口,从该接口返回的结果判断待查询的投票组合信息是否已经形成了区块。
在另一种方法中,服务器可以委托某些区块链节点给其发送新区块的相关消息。当服务器收到委托的区块链节点发送的产生了新区块的消息时,调用区块链节点提供的接口发起主动查询,调用接口时输入待查询的投票组合信息的哈希值,从接口返回的结果判断待查询的投票组合信息是否已经形成了区块。
步骤S60,当所述投票组合信息已经形成区块时,根据所述投票组合信息生成投票统计结果,其中,当有新的投票组合信息形成新的区块时,所述投票统计结果根据所述新的投票组合信息更新。
当投票组合信息已经形成区块时,表明该投票信息已经完整地存储在区块链中,区块链存储的不可篡改的特点将保证该投票信息的高可信度,此时根据形成区块的投票信息得出的投票统计结果将同样具备高可信度。
从形成区块的投票信息中解析出被投票人标识,分别对每一个被投票人进行票数的统计,以得到投票统计结果。随着投票项目的开展和进行,服务器不断接收到新的投票消息,生成对应的新的投票组合信息,区块链上也不断地生成对应的新的投票区块,所以投票统计结果也根据新的投票区块不断更新。
当投票范围比较大,预计参与投票的人数众多时,为了提升投票处理效率,需要设置多台投票服务器来处理不同地理范围内的投票消息。由于每台投票服务器都根据自己收到的投票消息生成对应的投票信息,进而根据已形成区块的对应的投票信息得到关联的部分投票统计结果,而总体的投票统计结果需要基于各个投票服务器得到的部分投票统计结果进行综合统计而得。可以根据以下步骤进行综合统计:设置一个专用服务器负责存储所有的部分投票统计结果并进行综合统计,每台投票服务器将生成的部分投票统计结果发送给专用服务器,专用服务器存储接收到的部分投票统计结果,并且基于该部分投票统计结果不断更新整体的投票统计结果。专用服务器提供最新的整体投票统计结果的查询接口,投票网站服务器可以调用该查询接口实时获取最新的整体投票结果并在网站上及时公布。
进一步地,在投票项目进行过程中不断连续更新的投票统计结果作为可以直观反映投票项目进展情况的重要信息,若将投票统计结果也保存在区块链当中,当需要对投票信息执行查证操作或追溯操作时,保存于区块链中的投票统计结果可以提供更为简练、易于追溯的信息。因此,可以定时将当前投票统计结果发送给区块链节点,以使各个区块链节点根据接收到的投票统计结果形成区块。
在本实施例中,通过判断投票组合信息是否已经形成区块,当投票组合信息已经形成区块时,根据投票组合信息生成投票统计结果,提高了投票项目的投票统计结果的公信度。
进一步的,参照图4,本发明第三实施例基于第一实施例或第二实施例提供一种基于区块链的投票方法,本实施例在步骤S10之前还包括:
步骤S70,将投票组织机构信息发送给区块链节点,以使各个区块链节点根据接收到的投票组织机构信息形成区块,其中,所述投票组织机构信息包括投票组织结构名称、投票组织机构网络标识、投票规则和投票候选人名单。
对于一个投票项目而言,投票项目的发起者即投票组织机构的公信力对投票结果的公信力起着决定性的作用,因此若将投票组织机构信息也发送给区块链节点形成区块保存在区块链上,可以为验证或追溯投票统计结果的真实有效性提供更有说服力的证据。其中,投票组织机构网络标识包括投票网站的域名和对应的投票服务器的IP地址。
需要说明的是,当投票组织机构信息的任何一项发生改变时,需要重新发送给区块链节点,生成新的区块。
所述投票信息还包括投票发送者的定位信息。根据投票发送者的定位信息可以确定其所在的地理范围,将投票结果进行基于地理范围的分类统计,比如分国家、分省市的统计。在给出投票统计结果的同时,如果能给出投票发送者的基于地理范围的统计,可以在直观上进一步提高投票统计结果的可信度。
在本实施例中,通过将投票组织机构信息发送给区块链节点,以使各个区块链节点根据接收到的投票组织机构信息形成区块,由于投票组织机构信息也发送给区块链节点形成区块保存在区块链上,在验证或追溯投票统计结果的真实有效性时,验证方或追溯方可以获取到更有说服力的证据,提高了验证结果或追溯结果的正确性。
参照图5,本发明还提供一种基于区块链的投票装置,该基于区块链的投票装置包括:
获取模块10,用于当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识;
保存模块20,用于关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息;
计数模块30,用于对所述投票信息进行计数以获取投票数目;
信息处理模块40,用于当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块。
可选地,所述信息处理模块40还包括:
哈希计算单元,用于对所述投票信息进行哈希计算生成哈希值,将所述哈希值作为所述投票信息对应的投票组合信息。
可选地,所述信息处理模块40还包括:
保存单元,用于关联保存所述投票信息和所述哈希值,以根据所述哈希值查询对应的投票信息。
可选地,所述基于区块链的投票装置还包括:
判断模块,用于判断所述投票组合信息是否已经形成区块;
统计模块,用于当所述投票组合信息已经形成区块时,根据所述投票组合信息生成投票统计结果,其中,当有新的投票组合信息形成新的区块时,所述投票统计结果根据所述新的投票组合信息更新。
可选地,所述基于区块链的投票装置还包括:
发送模块,用于定时将当前投票统计结果发送给区块链节点,以使各个区块链节点根据接收到的投票统计结果形成区块。
可选地,所述投票信息还包括投票发送者的定位信息。
可选地,所述基于区块链的投票装置还包括:
发送模块,用于将投票组织机构信息发送给区块链节点,以使各个区块链节点根据接收到的投票组织机构信息形成区块,其中,所述投票组织机构信息包括投票组织结构名称、投票组织机构网络标识、投票规则和投票候选人名单。
本发明还提供一种基于区块链的投票设备,该基于区块链的投票设备包括:存储器、处理器、摄像头及存储在所述存储器上并可在所述处理器上运行的基于区块链的投票处理程序,所述基于区块链的投票处理程序被所述处理器执行时实现所述的基于区块链的投票方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的投票处理程序,所述基于区块链的投票处理程序被处理器执行时实现所述的基于区块链的投票方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于区块链的投票方法,其特征在于,所述基于区块链的投票方法包括以下步骤:
当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识;
关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息;
对所述投票信息进行计数以获取投票数目;
当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块,其中,所述预设阈值根据投票人的地理范围大小、投票总人数大小、投票持续时间大小确定。
2.如权利要求1所述的基于区块链的投票方法,其特征在于,所述根据所述投票信息生成投票组合信息的步骤包括:
对所述投票信息进行哈希计算生成哈希值,将所述哈希值作为所述投票信息对应的投票组合信息。
3.如权利要求2所述的基于区块链的投票方法,其特征在于,所述根据所述投票信息生成投票组合信息的步骤之后还包括:
关联保存所述投票信息和所述哈希值,以根据所述哈希值查询对应的投票信息。
4.如权利要求1所述的基于区块链的投票方法,其特征在于,所述基于区块链的投票方法还包括以下步骤:
判断所述投票组合信息是否已经形成区块;
当所述投票组合信息已经形成区块时,根据所述投票组合信息生成投票统计结果,其中,当有新的投票组合信息形成新的区块时,所述投票统计结果根据所述新的投票组合信息更新。
5.如权利要求4所述的基于区块链的投票方法,其特征在于,所述基于区块链的投票方法还包括以下步骤:
定时将当前投票统计结果发送给区块链节点,以使各个区块链节点根据接收到的投票统计结果形成区块。
6.如权利要求1所述的基于区块链的投票方法,其特征在于,所述投票信息还包括投票发送者的定位信息。
7.如权利要求1至6任一项所述的基于区块链的投票方法,其特征在于,所述当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识的步骤之前还包括:
将投票组织机构信息发送给区块链节点,以使各个区块链节点根据接收到的投票组织机构信息形成区块,其中,所述投票组织机构信息包括投票组织结构名称、投票组织机构网络标识、投票规则和投票候选人名单。
8.一种基于区块链的投票装置,其特征在于,所述基于区块链的投票装置包括:
获取模块,用于当接收到投票消息时,从所述投票消息中获取投票用户的身份信息和被投票人的标识;
保存模块,用于关联保存所述投票用户的身份信息和被投票人的标识以生成对应的投票信息;
计数模块,用于对所述投票信息进行计数以获取投票数目;
信息处理模块,用于当所述投票数目达到预设阈值时,根据所述投票信息生成投票组合信息,并将所述投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块。
9.一种基于区块链的投票设备,其特征在于,所述基于区块链的投票设备包括:存储器、处理器、摄像头及存储在所述存储器上并可在所述处理器上运行的基于区块链的投票处理程序,所述基于区块控的投票处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于区块链的投票方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于区块链的投票处理程序,所述基于区块链的投票处理程序被处理器执行时实现如权利要求1至7中任一项所述的基于区块链的投票方法的步骤。
CN201811121522.1A 2018-09-25 2018-09-25 基于区块链的投票方法、装置、设备及计算机存储介质 Active CN109671205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811121522.1A CN109671205B (zh) 2018-09-25 2018-09-25 基于区块链的投票方法、装置、设备及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811121522.1A CN109671205B (zh) 2018-09-25 2018-09-25 基于区块链的投票方法、装置、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN109671205A CN109671205A (zh) 2019-04-23
CN109671205B true CN109671205B (zh) 2022-04-15

Family

ID=66142009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811121522.1A Active CN109671205B (zh) 2018-09-25 2018-09-25 基于区块链的投票方法、装置、设备及计算机存储介质

Country Status (1)

Country Link
CN (1) CN109671205B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110493178B (zh) * 2019-07-03 2020-12-04 特斯联(北京)科技有限公司 一种大数据加密共享方法及系统
CN110457914A (zh) * 2019-07-09 2019-11-15 深圳壹账通智能科技有限公司 数据核对方法、装置、计算机设备和存储介质
CN110400410A (zh) * 2019-07-31 2019-11-01 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种电子投票系统
CN110738783A (zh) * 2019-10-15 2020-01-31 腾讯科技(深圳)有限公司 投票数据的更新系统、方法、装置、设备及可读存储介质
CN111062060B (zh) * 2019-11-28 2022-04-26 杭州趣链科技有限公司 一种基于智能合约的投票提案生命周期管理方法
CN111047763A (zh) * 2019-12-05 2020-04-21 全链通有限公司 基于区块链的电子投票方法、设备及存储介质
CN110958253A (zh) * 2019-12-05 2020-04-03 全链通有限公司 基于区块链的电子投票方法、设备及存储介质
CN111163064B (zh) * 2019-12-13 2022-05-27 厦门市美亚柏科信息股份有限公司 基于区块链的互联网信息溯源方法及计算机可读存储介质
CN111355799A (zh) * 2020-02-27 2020-06-30 百度在线网络技术(北京)有限公司 基于区块链的投票方法、装置、设备和存储介质
CN112597538B (zh) * 2020-12-28 2022-07-15 上海万向区块链股份公司 一种基于区块链的可验证投票方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622804A (zh) * 2012-03-23 2012-08-01 陕西科技大学 一种基于网络的投票方法及其系统
CN102722931A (zh) * 2012-06-21 2012-10-10 陈利浩 基于智能移动通讯设备的投票系统及其方法
CN103955984A (zh) * 2014-03-24 2014-07-30 广州华多网络科技有限公司 实现互联网投票的方法、服务器、投票处理节点及系统
CN106649838A (zh) * 2016-12-29 2017-05-10 先锋支付有限公司 数据传输方法、区块链节点及分布式数据库
CN107294727A (zh) * 2017-05-22 2017-10-24 联动优势科技有限公司 一种电子投票方法、终端设备以及区块链网络
CN107426170A (zh) * 2017-05-24 2017-12-01 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN108260015A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种投票数据处理方法、装置及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836908B2 (en) * 2014-07-25 2017-12-05 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US20170109955A1 (en) * 2015-10-20 2017-04-20 Follow My Vote, Inc. Blockchain electronic voting system and method
CN106651332B (zh) * 2016-12-29 2020-11-06 成都质数斯达克科技有限公司 一种区块链中新区块的生成方法及区块链

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622804A (zh) * 2012-03-23 2012-08-01 陕西科技大学 一种基于网络的投票方法及其系统
CN102722931A (zh) * 2012-06-21 2012-10-10 陈利浩 基于智能移动通讯设备的投票系统及其方法
CN103955984A (zh) * 2014-03-24 2014-07-30 广州华多网络科技有限公司 实现互联网投票的方法、服务器、投票处理节点及系统
CN106649838A (zh) * 2016-12-29 2017-05-10 先锋支付有限公司 数据传输方法、区块链节点及分布式数据库
CN107294727A (zh) * 2017-05-22 2017-10-24 联动优势科技有限公司 一种电子投票方法、终端设备以及区块链网络
CN107426170A (zh) * 2017-05-24 2017-12-01 阿里巴巴集团控股有限公司 一种基于区块链的数据处理方法及设备
CN108260015A (zh) * 2018-01-11 2018-07-06 武汉斗鱼网络科技有限公司 一种投票数据处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN109671205A (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
CN109671205B (zh) 基于区块链的投票方法、装置、设备及计算机存储介质
CN111949953B (zh) 基于区块链的身份认证方法、系统、装置和计算机设备
CN109067724B (zh) 区块链数据交易方法、装置、设备及存储介质
CN102722931B (zh) 基于智能移动通讯设备的投票系统及其方法
CN108769230B (zh) 交易数据存储方法、装置、服务器及存储介质
US11316681B2 (en) User identity authentication method and device, readable storage medium and computer equipment
CN109309657A (zh) 未授权访问点探测系统及方法、用于其的用户终端及计算机程序
CN104184713A (zh) 终端识别方法、机器识别码注册方法及相应系统、设备
JP2016524248A (ja) 身元情報の窃盗又は複製行為から保護する方法及びシステム
CN109245897B (zh) 一种基于非交互的零知识证明的节点认证方法和装置
US20170070861A1 (en) Subscriber location database
CN112559993A (zh) 身份认证方法、装置、系统及电子设备
CN109639719B (zh) 一种基于临时标识符的身份验证方法和装置
CN108366176A (zh) 一种终端应用的计费方法、装置及系统
CN110598452B (zh) 基于区块链的证据信息处理方法、装置、存储介质和设备
CN111541772A (zh) 智能提醒方法和系统以及云服务器
US20210282009A1 (en) Integrity for mobile network data storage
CN107342869B (zh) 基于智能终端的可信点名方法及其系统
CN111866993B (zh) 无线局域网连接管理方法、装置、软件程序及存储介质
US20230403154A1 (en) Verifier credential determination by a registrant
CN106685914B (zh) 一种信息验证方法、服务器和客户端
CN111031475B (zh) 采集终端位置信息的方法、终端、位置采集端及存储介质
CN112613050A (zh) 基于大数据系统中数据访问方法、装置及相关产品
CN112583606B (zh) 安全校验方法及服务器、终端、存储介质
CN107516351B (zh) 考勤确认方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant