CN111696245B - 一种基于p2p网络的投票方法 - Google Patents
一种基于p2p网络的投票方法 Download PDFInfo
- Publication number
- CN111696245B CN111696245B CN202010613447.1A CN202010613447A CN111696245B CN 111696245 B CN111696245 B CN 111696245B CN 202010613447 A CN202010613447 A CN 202010613447A CN 111696245 B CN111696245 B CN 111696245B
- Authority
- CN
- China
- Prior art keywords
- voting
- verifier
- user node
- vote
- network
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME 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/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于P2P网络的投票方法,具备以下核心特征:广播方法,节省网络带宽;控制网络投票并发量;多阶验证/确认法,可将被攻击的概率降至接近零;对攻击的量化免疫。本发明解决了阻碍P2P网络投票系统能够投入运用的几大技术难点,网络带宽占用,网络投票并发控制,防御攻击的量化免疫。
Description
技术领域
本发明属于互联网技术领域,具体涉及一种基于P2P网络的投票方法。
背景技术
随着互联网深入广大人民的生活,网络急速繁荣,给大家带来信息分享的便利的同时,也带来了一个很困恼的问题,网上的内容并不都是适宜的,包括色情(或打色情的擦边球)、诈骗信息、违反基本道德、文不对题和危言耸听的内容,而这些内容,多数人都能达成共识,不愿看到,也不愿意浪费时间去甄别,所以需要一种经济成本低廉的手段,如网络共享经济,以投票方式构建不良资讯防御墙,倒逼科技向善,间接达到净化网络的目的,为未来智能穿戴设备,物联网净化做好准备。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于P2P网络的投票方法解决了现有技术中存在的问题。
为了达到上述发明目的,本发明采用的技术方案为:一种基于P2P网络的投票方法,包括以下步骤:
S1、设定多阶验证的阶数K和计数器s=1;
S2、将网络中第n个用户节点IPn作为投票发起者,并判断用户节点IPn的投票验证列队长度是否大于阈值L,若是,则结束投票,否则通过用户节点IPn广播网络信息投票,并进入步骤S3;
S3、判断网络中在线人数与在案攻击者人数之差是否大于阈值C,若是,则所有节点接收网络信息投票,并进入步骤S4,否则所有节点拒绝接收网络信息投票,并结束投票;
S4、判断用户节点IPn是否为在案攻击者,若是,则结束投票,否则在每个节点的投票验证列队中添加网络信息投票,并进入步骤S5;
S5、通过每个用户节点分别计算随机的投票验证者IP;
S6、判断投票验证者IP是否为在案的攻击者,若是,则返回步骤S5,否则进入步骤S7;
S7、通过投票验证者IP判断用户节点IPn发起的投票是否异常,若是,则通过投票验证者IP向所有用户节点发出此投票为异常投票的验证消息,在每个用户节点的投票验证列队中删除网络信息投票,并结束投票,否则投票验证者IP向所有用户节点发出此投票为正常投票的验证消息,并进入步骤S8;
S8、判断s是否等于K,若是,则通过所有用户节点确认网络信息投票为正常投票,并结束投票,否则令s的计数值加一,且重新计算第s阶的投票验证者IP,并返回步骤S6;
其中,K≥1,n=1,2,...,N,N表示当前网络中用户节点总数。
进一步地,所述步骤S1中设定多阶验证的阶数K的方法为:
A1、设定被攻击的期望概率E,令多阶验证的阶数K=1;
A2、判断被攻击概率pK是否大于期望概率E,若是,则进入步骤A3,否则令多阶验证的阶数K为当前计数值;p表示当前网络中攻击者占所有节点的比率;
A3、令K的计数值加一,并返回步骤A2。
进一步地,所述步骤S4中判断用户节点IPn是否为在案攻击者时,网络中所有用户节点均判断用户节点IPn是否为在案攻击者,若用户节点IPn为在案攻击者,则所有用户节点分别拒绝用户节点IPn发起的网络信息投票。
进一步地,所述步骤S5中每个用户节点分别计算随机的投票验证者IP地址相同,所述计算随机的投票验证者IP的方法包括但不限于随机IP产生算法,所述随机IP产生算法为:
B1、判断s是否等于1,若是则进入步骤B2,否则进入步骤B4;
B2、获取投票备选项字符串和投票发起者的IP字符串,并顺序组合,得到第一组合字符串,将第一组合字符串的字符个数作为整数,并除以232,得到第一余数;
B3、将第一余数转化为二进制,并顺序取值,将每8位数值作为IPv4的一节,得到投票验证者IP,结束随机IP产生流程;
B4、获取投票备选项字符串和上一阶验证者的IP字符串,并顺序组合,得到第二组合字符串,将组合字符串的字符个数作为整数,并除以232,得到第二余数;
B5、将第二余数转化为二进制,并顺序取值,将每8位数值作为IPv4的一节,得到投票验证者IP,结束随机IP产生流程。
进一步地,所述步骤S6中攻击者的确认方法为:当投票发起者和多阶投票验证者IP对网络信息投票的验证一致时,若存在其他用户节点IPo否定该投票结果,则通过其他用户节点IPo发起投票发起者和多阶投票验证者IP为攻击者的投票,并判断投票发起者和多阶投票验证者IP是否为攻击者,o=1,2,...,N,N表示当前网络中用户节点总数。
进一步地,所述步骤S7中通过投票验证者IP判断用户节点IPn发起的投票是否异常的具体方法为:
C1、判断投票验证者IP的用户是否主动确认投票为异常投票,若是,则用户节点IPn发起的投票异常,并结束判断流程,否则进入步骤C2;
C2、通过投票验证者IP索引其他用户节点中是否存在此投票为异常的信息,若是,则用户节点IPn发起的投票异常,否则用户节点IPn发起的投票正常。
进一步地,所述步骤S7中投票验证者IP的验证结束后,将投票验证者IP的验证结果广播至网络中每个用户节点,且通过每个用户节点判断发送验证结果的用户IP是否与其计算的验证者IP相同,若是,则接收验证消息,否则拒绝验证消息。
本发明的有益效果为:
(1)本发明采用广播方法投票和传达验证信息,节省了网络带宽,且控制了网络投票并发量。
(2)本发明采用多阶验证法对投票进行验证,有效地减小了被攻击的概率,对攻击量化免疫。
附图说明
图1为本发明提出的一种基于P2P网络的投票方法流程图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
下面结合附图详细说明本发明的实施例。
如图1所示,一种基于P2P网络的投票方法,包括以下步骤:
S1、设定多阶验证的阶数K和计数器s=1。
在本实施例中,预先设定投票系统的投票类别,只有当投票属于设定的投票类别才被认为是正常的投票。任意一个节点,都可以发起/验证投票备选项是投票系统设定的投票类别的投票,并广播到其它节点,达到节省带宽及各节点得到的投票确认具有一致性。
S2、将网络中第n个用户节点IPn作为投票发起者,并判断用户节点IPn的投票验证列队长度是否大于阈值L,若是,则结束投票,否则通过用户节点IPn广播网络信息投票,并进入步骤S3。
S3、判断网络中在线人数与在案攻击者人数之差是否大于阈值C,若是,则所有节点接收网络信息投票,并进入步骤S4,否则所有节点拒绝接收网络信息投票,并结束投票。
S4、判断用户节点IPn是否为在案攻击者,若是,则结束投票,否则在每个节点的投票验证列队中添加网络信息投票,并进入步骤S5。
S5、通过每个用户节点分别计算随机的投票验证者IP。
S6、判断投票验证者IP是否为在案的攻击者,若是,则返回步骤S5,否则进入步骤S7。
S7、通过投票验证者IP判断用户节点IPn发起的投票是否异常,若是,则通过投票验证者IP向所有用户节点发出此投票为异常投票的验证消息,在每个用户节点的投票验证列队中删除网络信息投票,并结束投票,否则投票验证者IP向所有用户节点发出此投票为正常投票的验证消息,并进入步骤S8。
S8、判断s是否等于K,若是,则通过所有用户节点确认网络信息投票为正常投票,并结束投票,否则令s的计数值加一,且重新计算第s阶的投票验证者IP,并返回步骤S6。
其中,K≥1,n=1,2,...,N,N表示当前网络中用户节点总数。
在本实施例中,攻击者的确定方法为:投票发起者和多阶验证者一致确定的投票备选项,被其它节点否定为不是投票系统设定的投票类别时,通过做否定的其它节点发起对此投票备选项的发起者和多阶验证者为攻击者的投票。
所述步骤S1中设定多阶验证的阶数K的方法为:
A1、设定被攻击的期望概率E,令多阶验证的阶数K=1;
A2、判断被攻击概率pK是否大于期望概率E,若是,则进入步骤A3,否则令多阶验证的阶数K为当前计数值;p表示当前网络中攻击者占所有节点的比率;
A3、令K的计数值加一,并返回步骤A2。
所述步骤S4中判断用户节点IPn是否为在案攻击者时,网络中所有用户节点均判断用户节点IPn是否为在案攻击者,若用户节点IPn为在案攻击者,则所有用户节点分别拒绝用户节点IPn发起的网络信息投票。
所述步骤S5中每个用户节点分别计算随机的投票验证者IP地址相同,所述计算随机的投票验证者IP的方法包括但不限于随机IP产生算法,所述随机IP产生算法为:
B1、判断s是否等于1,若是则进入步骤B2,否则进入步骤B4;
B2、获取投票备选项字符串和投票发起者的IP字符串,并顺序组合,得到第一组合字符串,将第一组合字符串二进制序列作为整数,并除以232,得到第一余数;
B3、将第一余数转化为二进制,并顺序取值,将每8位数值作为IPv4的一节,得到投票验证者IP,结束随机IP产生流程;
B4、获取投票备选项字符串和上一阶验证者的IP字符串,并顺序组合,得到第二组合字符串,将组合字符串二进制序列作为整数,并除以232,得到第二余数;
B5、将第二余数转化为二进制,并顺序取值,将每8位数值作为IPv4的一节,得到投票验证者IP,结束随机IP产生流程。
所述步骤S6中攻击者的确认方法为:当投票发起者和多阶投票验证者IP对网络信息投票的验证一致时,若存在其他用户节点IPo否定该投票结果,则通过其他用户节点IPo发起投票发起者和多阶投票验证者IP为攻击者的投票,并判断投票发起者和多阶投票验证者IP是否为攻击者,o=1,2,...,N,N表示当前网络中用户节点总数。
所述步骤S7中通过投票验证者IP判断用户节点IPn发起的投票是否异常的具体方法为:
C1、判断投票验证者IP的用户是否主动确认投票为异常投票,若是,则用户节点IPn发起的投票异常,并结束判断流程,否则进入步骤C2;
C2、通过投票验证者IP索引其他用户节点中是否存在此投票为异常的信息,若是,则用户节点IPn发起的投票异常,否则用户节点IPn发起的投票正常。
所述步骤S7中投票验证者IP的验证结束后,将投票验证者IP的验证结果广播至网络中每个用户节点,且通过每个用户节点判断发送验证结果的用户IP是否与其计算的验证者IP相同,若是,则接收验证消息,否则拒绝验证消息。
本发明的有益效果为:
(1)本发明采用广播方法投票和传达验证信息,节省了网络带宽,且控制了网络投票并发量。
(2)本发明采用多阶验证法对投票进行验证,有效地减小了被攻击的概率,对攻击量化免疫。
Claims (6)
1.一种基于P2P网络的投票方法,其特征在于,包括以下步骤:
S1、设定多阶验证的阶数K和计数器s=1;
S2、将网络中第n个用户节点IPn作为投票发起者,并判断用户节点IPn的投票验证列队长度是否大于阈值L,若是,则结束投票,否则通过用户节点IPn广播网络信息投票,并进入步骤S3;
S3、判断网络中在线人数与在案攻击者人数之差是否大于阈值C,若是,则所有节点接收网络信息投票,并进入步骤S4,否则所有节点拒绝接收网络信息投票,并结束投票;
S4、判断用户节点IPn是否为在案攻击者,若是,则结束投票,否则在每个节点的投票验证列队中添加网络信息投票,并进入步骤S5;
S5、通过每个用户节点分别计算随机的投票验证者IP;
S6、判断投票验证者IP是否为在案的攻击者,若是,则返回步骤S5,否则进入步骤S7;
S7、通过投票验证者IP判断用户节点IPn发起的投票是否异常,若是,则通过投票验证者IP向所有用户节点发出此投票为异常投票的验证消息,在每个用户节点的投票验证列队中删除网络信息投票,并结束投票,否则投票验证者IP向所有用户节点发出此投票为正常投票的验证消息,并进入步骤S8;
S8、判断s是否等于K,若是,则通过所有用户节点确认网络信息投票为正常投票,并结束投票,否则令s的计数值加一,且重新计算第s阶的投票验证者IP,并返回步骤S6;
其中,K≥1,n=1,2,...,N,N表示当前网络中用户节点总数;
所述步骤S1中设定多阶验证的阶数K的方法为:
A1、设定被攻击的期望概率E,令多阶验证的阶数K=1;
A2、判断被攻击概率pK是否大于期望概率E,若是,则进入步骤A3,否则令多阶验证的阶数K为当前计数值;p表示当前网络中攻击者占所有节点的比率;
A3、令K的计数值加一,并返回步骤A2。
2.根据权利要求1所述的基于P2P网络的投票方法,其特征在于,所述步骤S4中判断用户节点IPn是否为在案攻击者时,网络中所有用户节点均判断用户节点IPn是否为在案攻击者,若用户节点IPn为在案攻击者,则所有用户节点分别拒绝用户节点IPn发起的网络信息投票。
3.根据权利要求1所述的基于P2P网络的投票方法,其特征在于,所述步骤S5中每个用户节点分别计算随机的投票验证者IP地址相同,所述计算随机的投票验证者IP的方法包括但不限于随机IP产生算法,所述随机IP产生算法为:
B1、判断s是否等于1,若是则进入步骤B2,否则进入步骤B4;
B2、获取投票备选项字符串和投票发起者的IP字符串,并顺序组合,得到第一组合字符串,将第一组合字符串二进制序列作为整数,并除以232,得到第一余数;
B3、将第一余数转化为二进制,并顺序取值,将每8位数值作为IPv4的一节,得到投票验证者IP,结束随机IP产生流程;
B4、获取投票备选项字符串和上一阶验证者的IP字符串,并顺序组合,得到第二组合字符串,将组合字符串二进制序列作为整数,并除以232,得到第二余数;
B5、将第二余数转化为二进制,并顺序取值,将每8位数值作为IPv4的一节,得到投票验证者IP,结束随机IP产生流程。
4.根据权利要求1所述的基于P2P网络的投票方法,其特征在于,所述步骤S6中攻击者的确认方法为:当投票发起者和多阶投票验证者IP对网络信息投票的验证一致时,若存在其他用户节点IPo否定该投票结果,则通过其他用户节点IPo发起投票发起者和多阶投票验证者IP为攻击者的投票,并判断投票发起者和多阶投票验证者IP是否为攻击者,o=1,2,...,N,N表示当前网络中用户节点总数。
5.根据权利要求1所述的基于P2P网络的投票方法,其特征在于,所述步骤S7中通过投票验证者IP判断用户节点IPn发起的投票是否异常的具体方法为:
C1、判断投票验证者IP的用户是否主动确认投票为异常投票,若是,则用户节点IPn发起的投票异常,并结束判断流程,否则进入步骤C2;
C2、通过投票验证者IP索引其他用户节点中是否存在此投票为异常的信息,若是,则用户节点IPn发起的投票异常,否则用户节点IPn发起的投票正常。
6.根据权利要求1所述的基于P2P网络的投票方法,其特征在于,所述步骤S7中投票验证者IP的验证结束后,将投票验证者IP的验证结果广播至网络中每个用户节点,且通过每个用户节点判断发送验证结果的用户IP是否与其计算的验证者IP相同,若是,则接收验证消息,否则拒绝验证消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613447.1A CN111696245B (zh) | 2020-06-30 | 2020-06-30 | 一种基于p2p网络的投票方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613447.1A CN111696245B (zh) | 2020-06-30 | 2020-06-30 | 一种基于p2p网络的投票方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111696245A CN111696245A (zh) | 2020-09-22 |
CN111696245B true CN111696245B (zh) | 2022-01-18 |
Family
ID=72484727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010613447.1A Active CN111696245B (zh) | 2020-06-30 | 2020-06-30 | 一种基于p2p网络的投票方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111696245B (zh) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2004100798A4 (en) * | 2004-09-23 | 2004-11-04 | Burton, Craig A Mr | Method for providing peer-to-peer based Internet voting |
EP2080134B1 (en) * | 2006-11-02 | 2018-01-17 | Koninklijke Philips N.V. | Distributed device revocation |
CN102413105A (zh) * | 2010-09-25 | 2012-04-11 | 杭州华三通信技术有限公司 | 防范cc攻击的方法和装置 |
CN102332088B (zh) * | 2011-06-22 | 2014-10-29 | 浙江工业大学 | 一种基于游程特征的选票符号机器视觉识别方法 |
CN103200273B (zh) * | 2013-04-19 | 2016-01-20 | 北京科技大学 | 基于物理位置的内容副本一致性维护方法 |
CN103647668A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种高可用集群内主机群体决策系统及切换方法 |
US9641542B2 (en) * | 2014-07-21 | 2017-05-02 | Cisco Technology, Inc. | Dynamic tuning of attack detector performance |
CN106445711B (zh) * | 2016-08-28 | 2019-04-30 | 杭州云象网络技术有限公司 | 一种应用于区块链的拜占庭容错共识方法 |
RU2652443C1 (ru) * | 2017-07-17 | 2018-04-26 | Акционерное общество "Лаборатория Касперского" | Система и способ определения количества голосов избирателей, собираемых с помощью электронного голосования |
US11144893B2 (en) * | 2017-10-30 | 2021-10-12 | Nec Corporation | Method and system for securing smart contracts in blockchains |
CN109347804B (zh) * | 2018-09-19 | 2020-02-07 | 电子科技大学 | 一种用于区块链的拜占庭容错共识优化方法 |
CN110034959A (zh) * | 2019-04-04 | 2019-07-19 | 郑州师范学院 | 一种区块链投票场景中可信节点度量方法 |
CN110289966B (zh) * | 2019-06-19 | 2021-08-03 | 西南交通大学 | 基于拜占庭容错的抗自适应攻击联盟链共识方法 |
CN110417591B (zh) * | 2019-07-23 | 2021-07-02 | 中南民族大学 | 投票节点配置方法及系统 |
CN111163165A (zh) * | 2019-12-28 | 2020-05-15 | 北京工业大学 | 一种基于Fabric联盟链的投票共识方法 |
-
2020
- 2020-06-30 CN CN202010613447.1A patent/CN111696245B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111696245A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108985732B (zh) | 基于无区块的dag技术的共识和账本数据组织方法及系统 | |
JP7138726B2 (ja) | ブロックチェーンコンセンサス方法、アカウンティングノードおよびノード | |
CN110689345B (zh) | 调整区块权重的无许可区块链共识方法、系统、p2p网络 | |
CN112163856A (zh) | 用于区块链与物联网融合场景的共识方法及系统 | |
CN111130790B (zh) | 基于区块链节点网络的共识出块方法 | |
CN110177356B (zh) | 一种基于信任模型的车载命名数据网络转发方法 | |
CN109685505B (zh) | 基于关联环签名的拜占庭容错共识优化方法 | |
CN116614516A (zh) | 基于声誉改进的pbft共识方法 | |
CN115065468B (zh) | 一种基于分组信誉值的pbft共识优化方法 | |
CN117527834B (zh) | 一种基于信誉评分机制的改进pbft共识方法 | |
CN113626875B (zh) | 一种区块链分片赋能的知识图谱文件存储方法 | |
CN113660125A (zh) | 一种基于随机可信委员会的共识方法及装置 | |
CN116094721A (zh) | 一种基于聚类的可扩展的分片共识算法 | |
CN115378788A (zh) | 基于分层共识和强化学习的区块链性能自适应优化方法 | |
CN111696245B (zh) | 一种基于p2p网络的投票方法 | |
CN112801791B (zh) | 一种基于授权的区块链共识方法及系统 | |
CN115766742A (zh) | 区块链共识方法、系统、设备及计算机可读存储介质 | |
CN117411636A (zh) | 一种可随机选取主节点的区块链共识方法 | |
CN109344623B (zh) | 一种基于dag的去中心化方法及终端 | |
CN112036880B (zh) | 一种实时区块链的实现方法 | |
CN113746859B (zh) | 一种高网络性能与安全性的vaPBFT区块链共识方法 | |
CN110443713B (zh) | 一种针对区块链交易效率提升的方法及系统 | |
CN112463310A (zh) | 基于节点分片的事务数据处理方法、系统、设备和介质 | |
CN115021946B (zh) | 一种基于环签名的去中心化混币方法 | |
CN115529137B (zh) | 一种基于改进pbft算法的知识产权交易方法 |
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 |