CN111988137B - 一种基于门限签名和公平奖励的DPoS共识方法及其系统 - Google Patents
一种基于门限签名和公平奖励的DPoS共识方法及其系统 Download PDFInfo
- Publication number
- CN111988137B CN111988137B CN202010665420.7A CN202010665420A CN111988137B CN 111988137 B CN111988137 B CN 111988137B CN 202010665420 A CN202010665420 A CN 202010665420A CN 111988137 B CN111988137 B CN 111988137B
- Authority
- CN
- China
- Prior art keywords
- voting
- nodes
- node
- consensus
- witnesses
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000009977 dual effect Effects 0.000 title description 3
- 238000012795 verification Methods 0.000 claims abstract description 28
- 230000008569 process Effects 0.000 claims description 32
- 230000007246 mechanism Effects 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000008901 benefit Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 230000036651 mood Effects 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 2
- 238000012790 confirmation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003211 malignant effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
- H04L9/3255—Cryptographic 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 involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及DPoS共识技术领域,且公开了一种基于门限签名和公平奖励的DPoS共识方法,包括如下步骤:骤一:初始节点投票阶段最终选出多个自提名节点进入见证人候选池;步骤二:使用可验证延迟函数选出21个见证人;步骤三:见证人进行门限签名共识阶段;步骤四;一轮共识结束发放奖励阶段。该基于门限签名和公平奖励的DPoS共识方法及其系统,可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的的区块链共识系统,能够显著加快验证速度从而使得每秒交易量大幅提高。
Description
技术领域
本发明涉及DPoS共识技术领域,具体为一种基于门限签名和公平奖励的DPoS共识方法及其系统。
背景技术
区块链是随着比特币等数字加密货币逐渐兴起而盛行的一种新型去中心化分布式系统,具有去中心化、时序数据、集体维护、可编程和安全可信等特点。目前,区块链已引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注。如何在一个去中心化的分布式系统中高效地达成共识是区块链技术研究的重要问题。
要使区块链成为一个难以攻破的、公开的、不可篡改数据记录的去中心化的诚实可信的系统,需要在尽可能短的时间内做到分布式数据记录的安全、明确及不可逆,提供一个最坚实且去中心化的系统。区块链中,共识机制是最为核心的一部分,它可以保证区块链中的数据在分布式节点之间达到账本一致性且账本数据不可被篡改。
股份授权证明机制(Delegated Proof of Stake,DPoS),是一种区块链的共识算法,2014年4月由Bitshares的首席开发者Dan Larimer(现为EOS CTO)提出并应用。当时Dan观察到比特币系统共识算法POW的一些问题:比如矿池导致算力越来越集中、电力耗费过大等。所以他提出了一种更加快速、安全且能源消耗比较小的算法,这就是后来的DPOS。DPOS是一种基于投票选举的共识算法,有点像民主大会,持币人选出几个代表节点来运营网络,用专业运行的网络服务器来保证区块链网络的安全和性能。DPOS机制中,不需要算力解决数学难题,而是由持币者选出谁说生产者,如果生产者不称职,就有随时有可能被投票出局,这也就解决了POS的性能问题。
区块链上的随机数一直是一个热门话题。无论是在一些权益证明)共识协议的设计里,还是在智能合约平台,譬如Ethereum和EOS上一些非常火爆的游戏类应用,随机数都占据了核心的地位。同时,很多这些应用中,实际设计的随机数获取方案还非常不成熟,以至经常会有应用因为不安全的随机数而被黑客攻击的新闻出现。可验证延迟函数(Verifible Delay Function,VDF)对于一些从公共来源获取随机数的方法非常有用。比如从股票市场或者是从PoW区块链上获取。这些随机源拥有足够的随机性。但是高频交易者可以影响股价,同时,PoW区块链的矿工也可以通过不广播自己挖出的区块来降低自己不想要的随机数结果的出现概率。但是这样的攻击方式成立的前提条件是攻击者有时间在其他诚实参与者之前预测出随机数结果。VDF恰好能阻止这一点。如果将VDF的时间参数设置到足够长(比如10个块的间隔),将最新的区块头作为输入扔进VDF中,输出作为随机数结果。那么攻击者只能在10个块之后才能知道随机数的结果是什么,那个时候想要再改变结果已经很难了。此外,VDF也可以增强一些多方参与的随机数方案。比如Commit-and-Reveal方案中,攻击者可以拖到Reveal阶段的最后再决定是否揭示自己的承诺。如果我们去掉Commit阶段,并且协议的最后整合所有人的输入之后不直接作为随机数结果,而是放入VDF中,并且将VDF的时间参数设置到足够长(晚于最后提交期限),那么即使是最后一刻提交的人也无法知道随机数的结果,操纵结果也就无从谈起。与之相比较,其他的多方参与方案通常最多容忍小于一半的恶意节点,并且交互的开销要比上述方案更大。
2014年Bitshares引入了股份授权证明(Delegated Proof of Stake,DPoS)。DPoS共识的目的就是通过更新顺序达成快速共识,使得交易确认速度大幅提升。DPoS共识主张股东投票的方式选出符合他们利益的见证人(票数排行前101位)来完成每一轮的共识。每一轮共识中,见证人有2秒的许可时间按顺利出块,如果不能在给定的时间内生成块,则将出块的权利授予给下一个见证人。因此,区块的生产者都是提前选出来的,这一确定性保证了每秒能处理超10万的交易量,且能在平均仅1秒的时间内被确认。投票选出的101个见证人的权利对等,如果发现它们存在宕机或者作恶,网络可以重新投票进而替换见证人。为了进一步实现上万级别的交易处理量,在Bitshares之后提出了EOS,EOS所推出的共识为BFT-DPoS。EOS在DPoS的基础上最终选出21个主节点,它们有权力生产区块,这些主节点被称为区块生产者(Block Producer,BP)。不仅如此,EOS在此基础上还引入了BFT的机制:每当一个区块在网络中广播时,其余的BP节点就会立即对这个区块进行确认,经过2/3节点确认的区块将会进入不可逆状态。一旦区块上有了15个BP的投票通过,该区块就会被确定。在这个共识机制下,安全确认的时间为0.5s(区块间隔)+0.3s(区块传播延时)<1s,从而达到了秒级的确认性能。
股份授权证明共识机制较其他共识相比,可以实现秒级的共识验证,且该类共识并不需要庞大的计算开销。由于这些优点,EOS项目中采用了DPoS共识,它使用21个见证人并行出块的方式,性能效率极高,被誉为区块链3.0,曾经轰动全国的超级节点竞选热度一度赶上了比特币的讨论。但现有的DPoS共识机制也存在着以下三点缺陷:
1、DPoS方式只有21个节点固定出块,导致中心化问题严重;
2、由于出块奖励只给21个见证人和候选节点,普通节点不会得到任何奖励,使得普通节点的投票积极性很差,该类共识缺乏足够公平的激励机制;
3、最后,在DPoS中,见证人之间通过PBFT对区块进行验证,区块上必须要附上2/3的见证人签名才被认定区块有效,由于各个节点之间需要互相广播区块并更新自己的本地数据库,这么多签名附在区块中需要被其他节点一一验证,使得节点之间的通讯开销变多。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种基于门限签名和公平奖励的DPoS共识方法及其系统,具备可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统的优点,解决了DPoS方式只有21个节点固定出块,导致中心化问题严重,由于出块奖励只给21个见证人和候选节点,普通节点不会得到任何奖励,使得普通节点的投票积极性很差,该类共识缺乏足够公平的激励机制,在DPoS中,见证人之间通过PBFT对区块进行验证,区块上必须要附上2/3的见证人签名才被认定区块有效,由于各个节点之间需要互相广播区块并更新自己的本地数据库,这么多签名附在区块中需要被其他节点一一验证,使得节点之间的通讯开销变多的问题。
(二)技术方案
为实现可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统的目的,本发明提供如下技术方案:一种基于门限签名和公平奖励的DPoS共识方法,包括如下步骤:
步骤一、初始节点投票阶段,投票阶段最终会选出N(大约数目为441个)自提名节点进入见证人候选池中,具体步骤如下:
a.节点自提名
网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;
b.节点投票
在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φi可由以下公式计算(之后部分激励机制会涉及到节点的投票贡献):φi=n×p×w,投票及时度指的就是在规定投票的T时间内节点投票越早,就越容易获得更高的贡献,同样投票的权重也是指节点连续投票的影响力,这两个参数都被设为指数级别的下降函数,若是投票不及时或是没有连续投票的话,这两个参数值就会越来越低,当节点收到投票提醒时,立即将代币投给心仪的候选见证人,当代币被锁定到合约中,这部分代币会被锁定无法使用,等投票阶段结束后,合约会自动赎回对应的代币到用户的账户上;
步骤二、随机选人阶段,使用可验证延迟函数(VDF)来生成随机数,具体步骤如下:
c.利用VDF公平可验证的方式选出21个随机数并映射到1~N的数值范围内从而选出21个见证人;
d.将N个节点各自选出一个随机数将其公开发布到区块链公示板上,经哈希函数处理为256位的哈希值作为可验证拖延函数(VDF)的其中一个输入,并将最终生成的第21个随机数的时间t也作为谜题破解时间输入,整个VDF计算最终会产生一个最终随机数,选择计算过程中的其余20个随机数作为输出,因此最后会有21个输出随机数和它们的证明,对于这21个随机数的计算结果,任何节点都可以进行验证,节点可根据初始化阶段的公共参数pp、输入x、输出y以及证明π这4个参数,调用Verify算法验证输出结果是否为accept,并且使用VDF最大的优势在于验证的时间复杂度远远低于Eval阶段计算的时间复杂度;
步骤三、门限签名-共识阶段,21个见证人通过分布式密钥产生协议,利用多方参与,计算共享的公私钥对,从而克服单点故障和单个节点不可信问题,之后他们的出块顺序由见证人所获得的投票支持率决定,从高到低排序,投票支持率最高的为第一个出块者,具体步骤如下:
e.节点客户端发起一笔交易Tx,通过钱包签名后该交易数据通过P2P网络发送给所连接的节点服务器(全节点);
f.当全节点BP1收到该交易数据后,首先会对交易进行校验。校验主要分为三个部分:
1.校验交易的权限,是否满足对应的权益要求(EOS中账户具有一系列权限);
2.校验交易的签名,是否有校;
3.校验交易Tx数据是否有效,若校验通过,见证人BP1会将该笔交易放入自己的交易池中;
g.见证人BP1在出块时间内,会将多笔交易从交易池中取出,并打包成区块进行门限签名Sig1,最后再广播给其余20个负责验证的见证人;
h.验证节点收到见证人的区块消息后,验证并门限签名,发送给BP1;
i.BP1收到后合成签名,再次发送给其他见证人;
j.其他见证人验证签名是否得到群公钥的验证;
步骤四、激励发放阶段,每次投票选出N个见证人负责出块,并获得一定的奖励,而这其中每一个见证人的投票者也会从中获得一定的奖励,每一次共识过程结束之后,成功生产区块的某个代表节点要将获得的奖励按照相应的比例分给为它投票的所有节点,使用博弈论沙普利值法算法,最终实现按贡献分配奖励,让普通节点能够积极参与投票过程。
优选的,所述节点所拥有的的每一个代币都对应着30张选票,对同一个候选节点只能投一票,不能重复给同一个节点多张票,这样可以减少少数人互相勾结控制主链的风险。
优选的,所述沙普利值法算法具体如下:
第一步、输入系统所有节点M,为节点Pi投票的节点个数为N、节点Pi的收益为E、节点Ni贡献值Φi
第二步、输出投票节点所得收益Ei
第三步、n←1
第四步、REPEAT
第五步、iF(n≤N)&(i∈List)&(i∈Listld)then
//List表示为当前代表节点投票的节点集合,Listid代表参与投票的所有节点集合
//|S|表示联盟S所包含的成员数,成员I参与不同联盟S为自身参与联盟创造的边际贡献记为[V(S)-V(S\\{i})],S\\{i}表示从集合S中删除元素i后的集合
第七步、Ei=E×Φ_i(v)
第八步、Listld=Listld-List
//第9步和第10步是为了限制节点的投票次数,当为LIST中的节点分配奖励之后,LISTID会删除这些节点,只有节点同时属于两个集合才会获得收益
第九步、n++
第十步、returnEi
第十一步、until n>N and List isfull。
一种基于门限签名和公平奖励的DPoS共识系统,包括区块链系统、节点和见证人,所述区块链系统是整个共识机制方案的设计是在区块链系统中完成的,作为底层技术,它本质是一个去中心化的数据库,它是一种不依赖第三方,通过分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案,点对点网络将所有的交易历史都存储在“区块链”中,区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走,区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有交易历史的记录;
所述节点可以是资源受限的设备,或是具备算力资源和网络资源的设备,它们都可以参与到该区块链系统的运行,节点执行区块链程序,注册成为区块链网络中的节点,都具备相同的权利参与见证人投票中,当主网未上线时,通过以太坊主网的ERC-20协议生成对应代币,节点可通过该代币进行投票,节点通过投票最终会产生见证人(BP),它们是一类特殊的节点,参与共识机制的运作中;
每轮所述n个见证人P={P_1,P_2,…P_n}可通过分布式密钥生成协议(DKG)生成对应的私钥份额S={S_1,S_2,…S_n}以及可验证密钥集V={V_1,V_2,…V_n},且有一个公开的群公钥X,当收集了t个及以上的节点签名后可以将其聚合成一个完整的签名并能够得到公钥X的验证,因此整个共识过程中,见证人将自己的私钥作为秘密信息,而公开信息则为群公钥X与可验证密钥集V={V_1,V_2,…V_n},在传统的DPoS机制中,每一轮共识中21个见证人的出块顺序是通过比较节点的账户名大小得出,21个见证人经投票进入候选池,后由可验证延迟函数随机选出,它们的出块顺序可以由投票的支持率决定,支持率由高到低从而决定出块顺序。
(三)有益效果
与现有技术相比,本发明提供了一种基于门限签名和公平奖励的DPoS共识方法及其系统,具备以下有益效果:
1、该基于门限签名和公平奖励的DPoS共识方法及其系统,利用密码学中可公开验证延迟函数生成随机数从候选池中选取见证人,防止敌手腐化攻击以及达到分散中心出块权利的目的,使得整个区块链系统更加去中心化。
2、该基于门限签名和公平奖励的DPoS共识方法及其系统,使用博弈论的沙普利值法重新设计节点的激励机制,使得参与投票的节点、当选见证人、候选见证人三方都能够有充分的奖励制度,解决节点投票积极性不高的问题。
3、该基于门限签名和公平奖励的DPoS共识方法及其系统,使用门限签名技术将最终得到验证的区块签名缩短为单个签名的大小且最后能得到群公钥的验证,加速其他节点的验证过程,同时也改善PBFT协议的性能。
4、该基于门限签名和公平奖励的DPoS共识方法及其系统,利用门限签名技术缩小签名数量从而加速验证签名过程,利用博弈论沙普利值法将奖励公平地分配到参与投票的普通节点,最后利用可验证延迟函数(VDF)生成随机数公平选出每轮共识的见证人,可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统。
附图说明
图1为基于门限签名和公平奖励的DPoS方案的系统流程图;
图2为传统区块链上的随机数生成流程图;
图3为VDF随机数生成的流程图;
图4为传统DPoS出块流程图;
图5为EOS的出块流程图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-5,一种基于门限签名和公平奖励的DPoS共识方法,包括如下步骤:
步骤一、初始节点投票阶段,投票阶段最终会选出N(大约数目为441个)自提名节点进入见证人候选池中,具体步骤如下:
a.节点自提名
网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;
b.节点投票
在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φi可由以下公式计算(之后部分激励机制会涉及到节点的投票贡献):φi=n×p×w,投票及时度指的就是在规定投票的T时间内节点投票越早,就越容易获得更高的贡献,同样投票的权重也是指节点连续投票的影响力,这两个参数都被设为指数级别的下降函数,若是投票不及时或是没有连续投票的话,这两个参数值就会越来越低,这样设置的目的则是积极鼓励节点在投票初期就将代币尽块的投出去,并且该设置对连续投票的节点较为友好,当节点收到投票提醒时,立即将代币投给心仪的候选见证人,当代币被锁定到合约中,这部分代币会被锁定无法使用,等投票阶段结束后,合约会自动赎回对应的代币到用户的账户上;
步骤二、随机选人阶段,使用可验证延迟函数(VDF)来生成随机数,具体步骤如下:
c.利用VDF公平可验证的方式选出21个随机数并映射到1~N的数值范围内从而选出21个见证人;
d.将N个节点各自选出一个随机数将其公开发布到区块链公示板上,经哈希函数处理为256位的哈希值作为可验证拖延函数(VDF)的其中一个输入,并将最终生成的第21个随机数的时间t也作为谜题破解时间输入,整个VDF计算最终会产生一个最终随机数,选择计算过程中的其余20个随机数作为输出,因此最后会有21个输出随机数和它们的证明,对于这21个随机数的计算结果,任何节点都可以进行验证,节点可根据初始化阶段的公共参数pp、输入x、输出y以及证明π这4个参数,调用Verify算法验证输出结果是否为accept,并且使用VDF最大的优势在于验证的时间复杂度远远低于Eval阶段计算的时间复杂度,由VDF生成了21个随机数,意味着该轮共识的21个见证人(BP)也被选了出来,而其他节点则作为候选节点;
步骤三、门限签名-共识阶段,21个见证人通过分布式密钥产生协议,利用多方参与,计算共享的公私钥对,从而克服单点故障和单个节点不可信问题,之后他们的出块顺序由见证人所获得的投票支持率决定,从高到低排序,投票支持率最高的为第一个出块者,具体步骤如下:
e.节点客户端发起一笔交易Tx,通过钱包签名后该交易数据通过P2P网络发送给所连接的节点服务器(全节点);
f.当全节点BP1收到该交易数据后,首先会对交易进行校验。校验主要分为三个部分:
1.校验交易的权限,是否满足对应的权益要求(EOS中账户具有一系列权限);
2.校验交易的签名,是否有校;
3.校验交易Tx数据是否有效,若校验通过,见证人BP1会将该笔交易放入自己的交易池中;
g.见证人BP1在出块时间内,会将多笔交易从交易池中取出,并打包成区块进行门限签名Sig1,最后再广播给其余20个负责验证的见证人;
h.验证节点收到见证人的区块消息后,验证并门限签名,发送给BP1;
i.BP1收到后合成签名,再次发送给其他见证人;
j.其他见证人验证签名是否得到群公钥的验证;
步骤四、激励发放阶段,每次投票选出N个见证人负责出块,并获得一定的奖励,而这其中每一个见证人的投票者也会从中获得一定的奖励,每一次共识过程结束之后,成功生产区块的某个代表节点要将获得的奖励按照相应的比例分给为它投票的所有节点,使用博弈论沙普利值法算法,最终实现按贡献分配奖励,让普通节点能够积极参与投票过程。
节点所拥有的的每一个代币都对应着30张选票,对同一个候选节点只能投一票,不能重复给同一个节点多张票,这样可以减少少数人互相勾结控制主链的风险。
沙普利值法算法具体如下:
第一步、输入系统所有节点M,为节点Pi投票的节点个数为N、节点Pi的收益为E、节点Ni贡献值Φi
第二步、输出投票节点所得收益Ei
第三步、n←1
第四步、REPEAT
第五步、iF(n≤N)&(i∈List)&(i∈Listld)then
//List表示为当前代表节点投票的节点集合,Listid代表参与投票的所有节点集合
//|S|表示联盟S所包含的成员数,成员I参与不同联盟S为自身参与联盟创造的边际贡献记为[V(S)-V(S\\{i})],S\\{i}表示从集合S中删除元素i后的集合
第七步、Ei=E×Φ_i(v)
第八步、Listld=Listld-List
//第9步和第10步是为了限制节点的投票次数,当为LIST中的节点分配奖励之后,LISTID会删除这些节点,只有节点同时属于两个集合才会获得收益
第九步、n++
第十步、returnEi
第十一步、until n>N and List isfull。
一种基于门限签名和公平奖励的DPoS共识系统,包括区块链系统、节点和见证人,所述区块链系统是整个共识机制方案的设计是在区块链系统中完成的,作为底层技术,它本质是一个去中心化的数据库,它是一种不依赖第三方,通过分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案,点对点网络将所有的交易历史都存储在“区块链”中,区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走,区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有交易历史的记录;
所述节点可以是资源受限的设备,或是具备算力资源和网络资源的设备,它们都可以参与到该区块链系统的运行,节点执行区块链程序,注册成为区块链网络中的节点,都具备相同的权利参与见证人投票中,当主网未上线时,通过以太坊主网的ERC-20协议生成对应代币,节点可通过该代币进行投票,节点通过投票最终会产生见证人(BP),它们是一类特殊的节点,参与共识机制的运作中;
每轮所述n个见证人P={P_1,P_2,…P_n}可通过分布式密钥生成协议(DKG)生成对应的私钥份额S={S_1,S_2,…S_n}以及可验证密钥集V={V_1,V_2,…V_n},且有一个公开的群公钥X,当收集了t个及以上的节点签名后可以将其聚合成一个完整的签名并能够得到公钥X的验证,因此整个共识过程中,见证人将自己的私钥作为秘密信息,而公开信息则为群公钥X与可验证密钥集V={V_1,V_2,…V_n},在传统的DPoS机制中,每一轮共识中21个见证人的出块顺序是通过比较节点的账户名大小得出,21个见证人经投票进入候选池,后由可验证延迟函数随机选出,它们的出块顺序可以由投票的支持率决定,支持率由高到低从而决定出块顺序。
综上所述,该基于门限签名和公平奖励的DPoS共识方法及其系统,利用密码学中可公开验证延迟函数生成随机数从候选池中选取见证人,防止敌手腐化攻击以及达到分散中心出块权利的目的,使得整个区块链系统更加去中心化,使用博弈论的沙普利值法重新设计节点的激励机制,使得参与投票的节点、当选见证人、候选见证人三方都能够有充分的奖励制度,解决节点投票积极性不高的问题,使用门限签名技术将最终得到验证的区块签名缩短为单个签名的大小且最后能得到群公钥的验证,加速其他节点的验证过程,同时也改善PBFT协议的性能,利用门限签名技术缩小签名数量从而加速验证签名过程,利用博弈论沙普利值法将奖励公平地分配到参与投票的普通节点,最后利用可验证延迟函数(VDF)生成随机数公平选出每轮共识的见证人,可以在没有可信第三方的情况下,实现一个公平奖励、去中心化式的、加快验证速度从而每秒交易量大幅提高的区块链共识系统。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (4)
1.一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:包括如下步骤:
步骤一、初始节点投票阶段,投票阶段最终会选出N个自提名节点进入见证人候选池中,具体步骤如下:
a.节点自提名
网络中所有节点都可以在社区中自我提名并注册成为潜在的区块生产者,在这个阶段,节点通常会建立一个竞选网站以吸引用户投票,在网站中,竞选节点一般指定其当选成功后所用到的硬件和软件,有的甚至会给出奖励分配方案吸引用户的投票,自我提名阶段必须在开始投票过程之前全部完成,所有自提名的节点会被列入社区建立的自提名表单中,为下一阶段节点投票提供投票对象;
b.节点投票
在主网未上线时,可借用公信力较强的以太坊的智能合约完成投票过程,待主网建立起来后,可直接在自身的区块链系统中建立合约完成投票过程,社区成员使用以太坊的ERC-20协议代币投票表决后,合约会冻结所有账户并拍摄ERC-20代币持有者的初期余额,在整个投票过程中,设定投票时间为T,节点对每个节点的投票贡献不止是代币的数量多少,而是由代币数量n,投票及时度p与节点的投票权重w三个变量决定,一个节点参与投票的贡献φi可由以下公式计算:φi=n×p×w,投票及时度指的就是在规定投票的T时间内节点投票越早,就越容易获得更高的贡献,同样投票的权重也是指节点连续投票的影响力,这两个参数都被设为指数级别的下降函数,若是投票不及时或是没有连续投票的话,这两个参数值就会越来越低,当节点收到投票提醒时,立即将代币投给心仪的候选见证人,当代币被锁定到合约中,这部分代币会被锁定无法使用,等投票阶段结束后,合约会自动赎回对应的代币到用户的账户上;
步骤二、随机选人阶段,使用可验证延迟函数来生成随机数,具体步骤如下:
c.利用VDF公平可验证的方式选出21个随机数并映射到1~N的数值范围内从而选出21个见证人;
d.将N个节点各自选出一个随机数将其公开发布到区块链公示板上,经哈希函数处理为256位的哈希值作为可验证拖延函数的其中一个输入,并将最终生成的第21个随机数的时间t也作为谜题破解时间输入,整个VDF计算最终会产生一个最终随机数,选择计算过程中的其余20个随机数作为输出,因此最后会有21个输出随机数和它们的证明,对于这21个随机数的计算结果,任何节点都可以进行验证,节点可根据初始化阶段的公共参数pp、输入x、输出y以及证明π这4个参数,调用Verify算法验证输出结果是否为accept,并且使用VDF最大的优势在于验证的时间复杂度远远低于Eval阶段计算的时间复杂度;
步骤三、门限签名-共识阶段,21个见证人通过分布式密钥产生协议,利用多方参与,计算共享的公私钥对,从而克服单点故障和单个节点不可信问题,之后他们的出块顺序由见证人所获得的投票支持率决定,从高到低排序,投票支持率最高的为第一个出块者,具体步骤如下:
e.节点客户端发起一笔交易Tx,通过钱包签名后该交易数据通过P2P网络发送给所连接的节点服务器;
f.当节点服务器BP1收到该交易数据后,首先会对交易进行校验,校验主要分为三个部分:
1.校验交易的权限,是否满足对应的权益要求;
2.校验交易的签名,是否有校;
3.校验交易Tx数据是否有效,若校验通过,见证人BP1会将该笔交易放入自己的交易池中;
g.见证人BP1在出块时间内,会将多笔交易从交易池中取出,并打包成区块进行门限签名Sig1,最后再广播给其余20个负责验证的见证人;
h.验证节点收到见证人的区块消息后,验证并门限签名,发送给BP1;
i.BP1收到后合成签名,再次发送给其他见证人;
j.其他见证人验证签名是否得到群公钥的验证;
步骤四、激励发放阶段,每次投票选出N个见证人负责出块,并获得一定的奖励,而这其中每一个见证人的投票者也会从中获得一定的奖励,每一次共识过程结束之后,成功生产区块的某个代表节点要将获得的奖励按照相应的比例分给为它投票的所有节点,使用博弈论沙普利值法算法,最终实现按贡献分配奖励,让普通节点能够积极参与投票过程。
2.根据权利要求1所述的一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:所述节点所拥有的的每一个代币都对应着30张选票,对同一个候选节点只能投一票,不能重复给同一个节点多张票,这样可以减少少数人互相勾结控制主链的风险。
3.根据权利要求1所述的一种基于门限签名和公平奖励的DPoS共识方法,其特征在于:所述沙普利值法算法具体如下:
第一步、输入系统所有节点M,为节点Pi投票的节点个数为N、节点Pi的收益为E、节点Ni贡献值Φi
第二步、输出投票节点所得收益Ei
第三步、n←1
第四步、REPEAT
第五步、iF(n≤N)&(i∈List)&(i∈Listld)then
//List表示为当前代表节点投票的节点集合,Listid代表参与投票的所有节点集合
//|S|表示联盟S所包含的成员数,成员I参与不同联盟S为自身参与联盟创造的边际贡献记为[V(S)-V(S\\{i})],S\\{i}表示从集合S中删除元素i后的集合
第七步、Ei=E×Φ_i(v)
第八步、Listld=Listld-List
//第9步和第10步是为了限制节点的投票次数,当为LIST中的节点分配奖励之后,LISTID会删除这些节点,只有节点同时属于两个集合才会获得收益
第九步、n++
第十步、returnEi
第十一步、until n>N and List isfull。
4.一种基于门限签名和公平奖励的DPoS共识系统,包括区块链系统、节点和见证人,其特征在于:所述区块链系统是整个共识机制方案的设计是在区块链系统中完成的,作为底层技术,它本质是一个去中心化的数据库,它是一种不依赖第三方,通过分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案,点对点网络将所有的交易历史都存储在“区块链”中,区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走,区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有交易历史的记录;
所述节点可以是资源受限的设备,或是具备算力资源和网络资源的设备,它们都可以参与到该区块链系统的运行,节点执行区块链程序,注册成为区块链网络中的节点,都具备相同的权利参与见证人投票中,当主网未上线时,通过以太坊主网的ERC-20协议生成对应代币,节点可通过该代币进行投票,节点通过投票最终会产生见证人,它们是一类特殊的节点,参与共识机制的运作中;
每轮n个见证人P={P_1,P_2,…P_n}可通过分布式密钥生成协议生成对应的私钥份额S={S_1,S_2,…S_n}以及可验证密钥集V={V_1,V_2,…V_n},且有一个公开的群公钥X,当收集了t个及以上的节点签名后可以将其聚合成一个完整的签名并能够得到公钥X的验证,因此整个共识过程中,见证人将自己的私钥作为秘密信息,而公开信息则为群公钥X与可验证密钥集V={V_1,V_2,…V_n},在传统的DPoS机制中,每一轮共识中21个见证人的出块顺序是通过比较节点的账户名大小得出,21个见证人经投票进入候选池,后由可验证延迟函数随机选出,它们的出块顺序可以由投票的支持率决定,支持率由高到低从而决定出块顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665420.7A CN111988137B (zh) | 2020-07-11 | 2020-07-11 | 一种基于门限签名和公平奖励的DPoS共识方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010665420.7A CN111988137B (zh) | 2020-07-11 | 2020-07-11 | 一种基于门限签名和公平奖励的DPoS共识方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988137A CN111988137A (zh) | 2020-11-24 |
CN111988137B true CN111988137B (zh) | 2022-05-17 |
Family
ID=73437610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010665420.7A Expired - Fee Related CN111988137B (zh) | 2020-07-11 | 2020-07-11 | 一种基于门限签名和公平奖励的DPoS共识方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988137B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065141B (zh) * | 2020-12-28 | 2023-09-01 | 上海零数众合信息科技有限公司 | 一种区块链的持续的门限群更新方法 |
CN113783946B (zh) * | 2021-08-25 | 2024-10-15 | 山东区块链研究院 | 一种基于门限签名的可再投票二元共识方法及装置 |
CN114374633B (zh) * | 2022-01-07 | 2023-11-10 | 广东工业大学 | 一种基于智能合约的可信物联网云服务评价方法及系统 |
CN114697073B (zh) * | 2022-02-22 | 2023-12-22 | 昆明理工大学 | 一种基于区块链的电信运营商数据安全共享方法 |
CN115134359B (zh) * | 2022-05-06 | 2024-03-19 | 桂林电子科技大学 | 抗并行挖矿和公开可验证出块权的区块链共识机制及系统 |
CN115293769B (zh) * | 2022-10-08 | 2022-12-27 | 中铱数字科技有限公司 | 一种基于区块链的动态管理和校验节点系统 |
CN115396443B (zh) * | 2022-10-31 | 2022-12-27 | 安徽中科晶格技术有限公司 | 基于时间因子的联盟链共识方法、装置、设备及存储介质 |
CN116188167B (zh) * | 2023-04-17 | 2023-08-04 | 之江实验室 | 一种基于dag结构的区块链系统及共识方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503098A (zh) * | 2016-10-14 | 2017-03-15 | 中金云金融(北京)大数据科技股份有限公司 | 内置于Paas服务层的区块链云服务框架系统 |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
EP3429122A1 (en) * | 2017-07-11 | 2019-01-16 | Panasonic Intellectual Property Corporation of America | Methods and apparatuses for controlling electronic voting |
CN110879827A (zh) * | 2019-10-23 | 2020-03-13 | 联想(北京)有限公司 | 一种基于区块链网络的信息处理方法及设备 |
CN111090892A (zh) * | 2020-03-24 | 2020-05-01 | 杭州智块网络科技有限公司 | 一种基于vrf和门限签名的区块链共识方法和装置 |
-
2020
- 2020-07-11 CN CN202010665420.7A patent/CN111988137B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503098A (zh) * | 2016-10-14 | 2017-03-15 | 中金云金融(北京)大数据科技股份有限公司 | 内置于Paas服务层的区块链云服务框架系统 |
CN106603698A (zh) * | 2016-12-28 | 2017-04-26 | 北京果仁宝科技有限公司 | 基于dpos的区块链共识方法和节点 |
CN107124403A (zh) * | 2017-04-14 | 2017-09-01 | 朱清明 | 区块链中共识区块的生成方法与计算设备 |
EP3429122A1 (en) * | 2017-07-11 | 2019-01-16 | Panasonic Intellectual Property Corporation of America | Methods and apparatuses for controlling electronic voting |
CN110879827A (zh) * | 2019-10-23 | 2020-03-13 | 联想(北京)有限公司 | 一种基于区块链网络的信息处理方法及设备 |
CN111090892A (zh) * | 2020-03-24 | 2020-05-01 | 杭州智块网络科技有限公司 | 一种基于vrf和门限签名的区块链共识方法和装置 |
Non-Patent Citations (2)
Title |
---|
Interpretation of Consensus Mechanism in Block Chain and Its Future Development Trend;Sirui Yang;《2018 International Symposium on Communication Engineering & Computer Science(CECS 2018)》;20180728;全文 * |
基于区块链的分布式可信网络连接架构;刘明达等;《软件学报》;20190329;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111988137A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988137B (zh) | 一种基于门限签名和公平奖励的DPoS共识方法及其系统 | |
CN109792437B (zh) | 一种用于去中心化域名系统的共识方法 | |
CN109842606B (zh) | 基于一致性哈希算法的区块链共识算法和系统 | |
Bouraga | A taxonomy of blockchain consensus protocols: A survey and classification framework | |
CN110351067B (zh) | 针对主从多链的区块链共识方法 | |
Lashkari et al. | A comprehensive review of blockchain consensus mechanisms | |
Khan et al. | Investigating performance constraints for blockchain based secure e-voting system | |
CN110855432B (zh) | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 | |
CN111090892B (zh) | 一种基于vrf和门限签名的区块链共识方法和装置 | |
KR102240939B1 (ko) | 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법 | |
Nguyen et al. | A survey about consensus algorithms used in blockchain. | |
US10304143B2 (en) | Consensus system for manipulation resistant digital record keeping | |
Sharma et al. | Cryptocurrency mechanisms for blockchains: models, characteristics, challenges, and applications | |
CN114362987B (zh) | 一种基于区块链和智能合约的分布式投票系统及方法 | |
CN110427782A (zh) | 一种基于区块链的随机数生成方法 | |
CN110298641B (zh) | 区块链的规则更新方法、装置、区块链节点及网络 | |
CN110445603A (zh) | 一种去中心化随机数生成方法 | |
Ge et al. | Survey of consensus algorithms for proof of stake in blockchain | |
Yu et al. | Low powered blockchain consensus protocols based on consistent hash | |
Jia et al. | Delottery: a novel decentralized lottery system based on blockchain technology | |
Abidha et al. | Gas-efficient decentralized random beacons | |
Venugopalan et al. | Always on voting: A framework for repetitive voting on the blockchain | |
KR20210020606A (ko) | 블록체인을 기반으로 한 경품 추첨 이벤트 관리 시스템 및 방법 | |
Hsueh et al. | EPoW: Solving blockchain problems economically | |
Takahashi | Proof-of-approval: A distributed consensus protocol for blockchains |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220517 |
|
CF01 | Termination of patent right due to non-payment of annual fee |