CN108833483B - 基于分组的dpos代理节点选择方法 - Google Patents

基于分组的dpos代理节点选择方法 Download PDF

Info

Publication number
CN108833483B
CN108833483B CN201810492778.7A CN201810492778A CN108833483B CN 108833483 B CN108833483 B CN 108833483B CN 201810492778 A CN201810492778 A CN 201810492778A CN 108833483 B CN108833483 B CN 108833483B
Authority
CN
China
Prior art keywords
nodes
node
group
candidate
dpos
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
CN201810492778.7A
Other languages
English (en)
Other versions
CN108833483A (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.)
Sichuan Jiaojiu Digital Technology Co.,Ltd.
Original Assignee
Sichuan Haina Rendong Technology Co ltd
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 Sichuan Haina Rendong Technology Co ltd filed Critical Sichuan Haina Rendong Technology Co ltd
Priority to CN201810492778.7A priority Critical patent/CN108833483B/zh
Publication of CN108833483A publication Critical patent/CN108833483A/zh
Application granted granted Critical
Publication of CN108833483B publication Critical patent/CN108833483B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 
    • 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
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1072Discovery involving ranked list compilation of candidate peers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明特别涉及一种基于分组的DPOS代理节点选择方法,包括以下步骤:对节点进行分组;收到选举信号后确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;从候选节点中选出各组的代理节点和备份节点;代理节点按照一定顺序轮流记账;代理节点完成一轮记账后再次进行选举。通过分组,节点间仅在一个分组内比较,给予节点一个小范围选举的机会,增加了中小节点当选的概率,降低了权益对中小节点的影响,提高了随机性,减少中心化风险;设置代理节点和备份节点,这样当本组代理节点因故退出后,给予组内其他节点获得代理节点的机会,减少中心化风险。

Description

基于分组的DPOS代理节点选择方法
技术领域
本发明涉及区块链技术领域,特别涉及一种基于分组的DPOS代理节点选择方法。
背景技术
区块链(BlockChain)技术为一种新兴的去中心化的分布式账本技术。系统中各节点通过共识机制,维护一份分布式账本,其具有去中心化、不可更改和可追溯特性。
股份授权证明(Delegate Proof of Stake,DPOS)是一种改进型的POS算法。其特点是,在POS权益算法基础上,通过节点权益持有的比率,选择一批代理节点,由多个代理节点代表节点记账,代理节点之间采用合作的方式,按一定顺序轮流记账,参与记账的代理节点会获得系统的权益奖励,以此实现系统共识。
DPOS机制以权益作为基础,所有节点根据其持有的权益大小,参与代理节点选举,当选代理节点后,所有代理节点根据一种顺序,轮流记账。代理节点完成记账,生成区块后,该节点会获得系统的权益奖励。首先,代理节点的选举跟节点持有的权益大小成正相关,权益越大,当选几率越高;其次,代理节点数量有限,基本不会超过100个;再次,奖励只给予代理节点,普通节点没有任何奖励。在该机制下,权益越大的节点,当选代理节点的概率越大,因此获得的权益奖励越多,权益越多,以后再次当选的概率就越大,长久运行,造成大者恒大,使部分节点长期当选,容易导致中心化问题。同时,也容易引起某些组织,通过运行多个权益较大的节点,使这些节点长期当选,进而控制选举机制,增加中心化风险;最后,普通中小节点因为权益占比低,当选代理节点概率低,获得奖励也就少,容易失去参与积极性,造成网络收缩或者崩坍。
发明内容
本发明的目的在于提供一种基于分组的DPOS代理节点选择方法,提高对中小节点的激励,减少中心化的风险。
为实现以上目的,本发明采用的技术方案为:一种基于分组的DPOS代理节点选择方法,包括以下步骤,(A)对节点进行分组;(B)判断是否收到选举信号,若是,则执行步骤C,否则返回步骤A;(C)确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;(D)根据节点所持有的权益大小从候选节点中选出各组的代理节点和备份节点;(E)代理节点按照一定顺序轮流记账,在记账周期内,若当前代理节点退出记账时,选择备份节点作为新的代理节点担负记账功能;记账周期内,需要将新加入网络的节点添加至分组中并从分组中删除退出网络的节点;(F)代理节点完成一轮记账后,返回步骤B。
与现有技术相比,本发明存在以下技术效果:通过分组,节点间仅在一个分组内比较,给予节点一个小范围选举的机会,增加了中小节点当选的概率,降低了权益对中小节点的影响,提高了随机性,减少中心化风险;同时设置代理节点和备份节点,这样当本组代理节点因故退出后,给予组内其他节点获得代理节点的机会,避免了DPOS全系统排序作为备份节点导致的备份节点可能集中在一起的不均衡性问题,减少中心化风险。
附图说明
图1是本发明分组算法流程图;
图2是本发明选举算法流程图。
具体实施方式
下面结合图1至图2,对本发明做进一步详细叙述。
参阅图1、图2,一种基于分组的DPOS代理节点选择方法,包括以下步骤,(A)对节点进行分组,这里可以随机进行分组,可以按照一定的规则进行分组,只要实现将所有节点分为若干组节点即可,组数可以设定;(B)判断是否收到选举信号,若是,则执行步骤C,否则返回步骤A;(C)确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;(D)根据节点所持有的权益大小从候选节点中选出各组的代理节点和备份节点;(E)代理节点按照一定顺序轮流记账,在记账周期内,若当前代理节点退出记账时,选择备份节点作为新的代理节点担负记账功能;记账周期内,需要将新加入网络的节点添加至分组中并从分组中删除退出网络的节点;(F)代理节点完成一轮记账后,返回步骤B。通过分组,节点间仅在一个分组内比较,给予节点一个小范围选举的机会,增加了中小节点当选的概率,降低了权益对中小节点的影响,提高了随机性,减少中心化风险;同时设置代理节点和备份节点,这样当本组代理节点因故退出后,给予组内其他节点获得代理节点的机会,避免了DPOS全系统排序作为备份节点导致的备份节点可能集中在一起的不均衡性问题,减少中心化风险。
优选地,所述的步骤A包括以下步骤:(A1)将系统固定分为N组,组号编为1~N,组数N可以根据实际需求来设置,本实施例中N的取值可以优选为100~150,更优选地取N=129;(A2)判断是否有新的节点加入网络,若有,按组号顺序找到节点数量最少的分组并把新的节点加入该分组中,这里说的按组号顺序,表示从组号1开始检索,假设组号1中的节点数量为所有分组的节点数量的最小值,就将该新的节点加入组号1中;当组号1和组号2中的节点数量一致且都是最小值,此时按照顺序会将新的节点加入组号1中,通过这种添加方法,可以尽量保证每组内的节点数量尽量保持一致,提高各组之间的公平性。(A3)判断是否有节点退出网络,若有,则该节点所属分组的节点数量相应减少;所述的步骤B中,若未收到选举信号则返回步骤A2;所述的步骤E中,按照步骤A2将新加入网络的节点添加至分组中,按照步骤A3从分组中删除退出网络的节点。
优选地,所述的步骤B中,收到选举信号后执行以下分组调整步骤后再执行步骤C:(B1)将各分组内的节点按所持有的收益从大到小排序,并按顺序为节点标上序号;(B2)将序号为奇数的节点标记为待调整节点;(B3)把组号1中的待调整节点移动到组号2中的相应位置,组号2中的待调整节点移动到组号3中的相应位置,以此类推,组号N-1中的待调整节点移动到组号N中的相应位置,组号N中的待调整节点移动到组号1中的相应位置。这里通过分组调整机制,打乱节点间的关系,减少某些节点长期当选的几率,也减少某些组织通过运行多个权益较大节点,影响记账机制,从而导致中心化的风险。
优选地,所述的步骤C中,按如下步骤确定各个分组内节点的参选资格:(C1)判断节点连续持有权益的时间是否超过设定阈值T,若未超过,则该节点无候选资格,若超过,则进入下一步;(C2)判断节点是否向区块链系统缴纳参选保证金,若未缴纳,则该节点无候选资格,若缴纳,则该节点具有参选资格。通过设置权益时间要求,保证参与节点都是系统中的长期节点,防止大量临时恶意节点加入导致的恶意节点当选概率过高的问题,也可以防止利用大量临时节点攻击选举机制的问题。设置保证金,可以提高恶意节点攻击选举机制的成本。
作为本发明的优选方案,所述的步骤D中,根据节点所持有的权益大小和保证金额度从候选节点中选出各组的代理节点和备份节点。具体地,所述的步骤D包括以下步骤:(D1)系统根据候选节点持有的权益和保证金额度,按以下公式计算节点在分组中的比重:比重=权益×K1+保证金×K2,式中,K1和K2分别是权益和保证金的权值,K1+K2=1;(D2)把所有的候选节点在各组内按比重大小进行排序;(D3)选择比重最大的候选节点为本组的代理节点;(D4)分组内剩余候选节点按比重排序作为本组代理节点的备份节点。通过权益加保证金按比率计算比重的排序机制,给予中小权益节点通过提高保证金,从而提高入选记账节点的概率,降低了权益对中小节点的影响。这里的K1值越大,代理节点的选择与权益的关系就越大,K2值越大,代理节点的选择与保证金的关系就越大,一般来说,我们可以选择K1=60%~80%,更优选地,可以直接取K1=70%,K2=30%。以上具体的数值都是优选方案,实际应用时,可以根据需求进行设置。

Claims (7)

1.一种基于分组的DPOS代理节点选择方法,其特征在于:包括以下步骤,
(A)系统对节点进行分组;
(B)系统判断各组内节点是否收到选举信号,若是,则执行步骤C,否则返回步骤A;
(C)系统根据节点连续持有的权益时间和缴纳参选保证金确定各个分组内节点的参选资格,具有参选资格的节点标记为候选节点;
(D)系统根据候选节点所持有的权益从大到小从候选节点中选出各组的代理节点和备份节点;
(E)代理节点轮流记账,在记账周期内,若当前代理节点退出记账时,选择备份节点作为新的代理节点担负记账功能;记账周期内,需要将新加入网络的节点添加至分组中并从分组中删除退出网络的节点;
(F)代理节点完成一轮记账后,返回步骤B。
2.如权利要求1所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤A包括以下步骤:
(A1)将节点固定分为N组,组号编为1~N;
(A2)判断是否有新的节点加入网络,若有,按组号顺序找到节点数量最少的分组并把新的节点加入该分组中;
(A3)判断是否有节点退出网络,若有,则该节点所属分组的节点数量相应减少;
所述的步骤B中,若未收到选举信号则返回步骤A2;
所述的步骤E中,按照步骤A2将新加入网络的节点添加至分组中,按照步骤A3从分组中删除退出网络的节点。
3.如权利要求2所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤B中,收到选举信号后执行以下分组调整步骤后再执行步骤C:
(B1)将各分组内的节点按所持有的权益从大到小排序,并按顺序为节点标上序号;
(B2)将序号为奇数的节点标记为待调整节点;
(B3)把组号1中的待调整节点移动到组号2中的相应位置,组号2中的待调整节点移动到组号3中的相应位置,以此类推,组号N-1中的待调整节点移动到组号N中的相应位置,组号N中的待调整节点移动到组号1中的相应位置。
4.如权利要求2或3所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤C中,按如下步骤确定各个分组内节点的参选资格:
(C1)判断节点连续持有权益的时间是否超过设定阈值T,若未超过,则该节点无候选资格,若超过,则进入下一步;
(C2)判断节点是否向区块链系统缴纳参选保证金,若未缴纳,则该节点无候选资格,若缴纳,则该节点具有参选资格。
5.如权利要求4所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤D中,根据节点所持有的权益大小和保证金额度从候选节点中选出各组的代理节点和备份节点。
6.如权利要求5所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤D包括以下步骤:
(D1)系统根据候选节点持有的权益和保证金额度,按以下公式计算节点在分组中的比重:比重=权益×K1+保证金×K2,式中,K1和K2分别是权益和保证金的权值,K1+K2=1;
(D2)把所有的候选节点在各组内按比重大小进行排序;
(D3)选择比重最大的候选节点为本组的代理节点;
(D4)分组内剩余候选节点按比重排序作为本组代理节点的备份节点。
7.如权利要求6所述的基于分组的DPOS代理节点选择方法,其特征在于:所述的步骤A1中,N=100~150;所述的步骤D1中,K1=60%~80%。
CN201810492778.7A 2018-05-22 2018-05-22 基于分组的dpos代理节点选择方法 Active CN108833483B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810492778.7A CN108833483B (zh) 2018-05-22 2018-05-22 基于分组的dpos代理节点选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810492778.7A CN108833483B (zh) 2018-05-22 2018-05-22 基于分组的dpos代理节点选择方法

Publications (2)

Publication Number Publication Date
CN108833483A CN108833483A (zh) 2018-11-16
CN108833483B true CN108833483B (zh) 2020-11-03

Family

ID=64148995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810492778.7A Active CN108833483B (zh) 2018-05-22 2018-05-22 基于分组的dpos代理节点选择方法

Country Status (1)

Country Link
CN (1) CN108833483B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886811B (zh) * 2019-02-12 2021-03-12 重庆邮电大学 改进的基于声誉因子与社区化管理的区块链共识算法
CN113379539B (zh) * 2020-03-09 2024-02-23 中国移动通信集团设计院有限公司 基于区块链的委托权益证明共识方法及装置
CN111563278B (zh) * 2020-05-09 2023-11-28 电子科技大学 一种改进的股权授权证明方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
CN107332826A (zh) * 2017-06-09 2017-11-07 中国联合网络通信集团有限公司 区块链代理节点的通信方法及装置
CN107403377A (zh) * 2017-07-19 2017-11-28 武汉凤链科技有限公司 一种基于价值量建立激励机制的方法及其系统
CN107424066A (zh) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 一种基于价值量建立共识机制的方法及其系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10608825B2 (en) * 2016-04-21 2020-03-31 Protoblock, Inc. Decentralized exchanges in a distributed autonomous platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
CN107332826A (zh) * 2017-06-09 2017-11-07 中国联合网络通信集团有限公司 区块链代理节点的通信方法及装置
CN107403377A (zh) * 2017-07-19 2017-11-28 武汉凤链科技有限公司 一种基于价值量建立激励机制的方法及其系统
CN107424066A (zh) * 2017-07-19 2017-12-01 武汉凤链科技有限公司 一种基于价值量建立共识机制的方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"去中心化的分布式存储模型";郝琨,信俊昌,黄达;《计算机工程与应用》;20171101;全文 *

Also Published As

Publication number Publication date
CN108833483A (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
CN108833483B (zh) 基于分组的dpos代理节点选择方法
CN109544334B (zh) 一种网络可扩展性区块链实现方法
Bai et al. A deep dive into blockchain selfish mining
CN110049029B (zh) 共识节点确定方法、装置、计算机设备和存储介质
CN108122165A (zh) 一种区块链共识方法及系统
CN107493173B (zh) 区块链随机数共识推举方法
Gao et al. Discrete harmony search algorithm for the no-wait flow shop scheduling problem with total flow time criterion
CN109982435A (zh) 基于区块链的频谱接入和管理方法
CN109242484A (zh) 一种区块链的共识激励方法
CN111130790A (zh) 基于区块链节点网络的共识出块方法
CN113422695B (zh) 一种提高物联网拓扑结构鲁棒性能的优化方法
CN111131184B (zh) 一种区块链共识机制的自主调节方法
CN113014635A (zh) 区块链系统的节点类型划分方法、装置及区块链系统
CN109087105A (zh) 用于挖矿的哈希搜索方法、挖矿机及区块链系统
CN106060184B (zh) 一种基于三维的ip地址跳变图案生成方法及跳变控制器
CN113326329A (zh) 一种基于区块链共识推举记账者的方法
CN108648076B (zh) 一种选举共识节点及生成节点信息表格的方法及系统
CN109961148B (zh) 一种使用随机森林算法实现区块链生产节点的选择方法
CN110659425B (zh) 一种资源分配方法、装置、电子设备及可读存储介质
CN112862607A (zh) 区块链共识机制实现方法、装置、设备及存储介质
CN115766742A (zh) 区块链共识方法、系统、设备及计算机可读存储介质
CN104715390A (zh) 用于网络应用的数据处理方法和装置
CN114494643A (zh) 基于网络划分的疾病传播控制方法
CN113157700A (zh) 一种基于区块链技术的快速抽签/排序方法
CN115378579A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230524

Address after: No. 418, Sichuan University Science and Technology Innovation Center, No. 133 Kehua North Road, Chengdu, Sichuan Province, 610000

Patentee after: Sichuan Jiaojiu Digital Technology Co.,Ltd.

Address before: 2201, Building A, Sichuan University Research Complex, No. 65 Kehua North Road, Wuhou District, Chengdu City, Sichuan Province, 610000

Patentee before: SICHUAN HAINA RENDONG TECHNOLOGY Co.,Ltd.