CN115643043B - 一种基于验证延迟函数的跨链共识选举方法及系统 - Google Patents
一种基于验证延迟函数的跨链共识选举方法及系统 Download PDFInfo
- Publication number
- CN115643043B CN115643043B CN202211100842.5A CN202211100842A CN115643043B CN 115643043 B CN115643043 B CN 115643043B CN 202211100842 A CN202211100842 A CN 202211100842A CN 115643043 B CN115643043 B CN 115643043B
- Authority
- CN
- China
- Prior art keywords
- node
- verification
- random number
- result
- nodes
- 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
- 238000012795 verification Methods 0.000 title claims abstract description 141
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004364 calculation method Methods 0.000 claims abstract description 79
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000012163 sequencing technique Methods 0.000 claims abstract description 9
- 230000009191 jumping Effects 0.000 claims description 12
- 229910002056 binary alloy Inorganic materials 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims 1
- 230000008901 benefit Effects 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 6
- 238000000354 decomposition reaction Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于验证延迟函数的跨链共识选举方法及系统,在每一共识节点选取周期中,均通过系统随机选取的计算节点,根据输入进行可延迟验证函数计算,得到计算结果,根据输入和计算结果生成计算证明;将当前周期的计算结果作为待验证随机数与计算证明一起进行广播。验证节点根据计算结果以及计算证明判断待验证随机数生成过程是否正确,当正确时,各验证节点一致确定待验证随机数为当前周期的系统随机数。各用户节点均将系统随机数以及自身公钥组合进行哈希运算,得到自身的哈希值;通过对各哈希值进行排序,选取排在前n位的哈希值对应的节点为当前周期共识节点。本发明有效保障了共识节点选举的随机性,为异构多链跨链的共识安全提供保障。
Description
技术领域
本发明涉及区块链领域,特别是涉及一种基于验证延迟函数的跨链共识选举方法及系统。
背景技术
自区块链系统诞生以来,一直被认为是具有发展潜力的一项技术。随着区块链的应用场景拓宽以及区块链类型更为丰富,跨链进行数据价值流通的需求也愈发被业内重视,为打破跨地域、跨行业、跨平台的区块链数据壁垒,满足大规模跨链效率、保障全周期跨链安全、实现差异化跨链部署,越来越多的研究团队已经开展跨链相关的研究,构建支持异构多链互通的新型跨链体系。
目前业内普遍将跨链技术总结为公证人机制、哈希时间锁定和侧链/中继机制三种解决方案。以Ripple,BTS等项目为例,公证人机制选举团体委员会作为公证人来进行共识的确立;侧链/中继机制依靠侧链进行数据的收集验证,判定状态信息,中继技术锁定代币验证交易结果,交易过程需要对侧链/中继的委员会成员进行强信任。可见,目前的跨链技术共识的达成大多依赖中心化的委员会,因此为确保委员会不被恶意节点控制,防止腐化风险,保障跨链共识的安全性,设计一个新的具有公平且随机性的共识节点选举机制来替换传统固定的委员会就变得十分重要。
现有复杂的跨链场景下,异构链之间的共识机制各异,要完成通用的跨链要求,还需要依赖随机可信的共识节点选举方案,传统的随机数生成及委员会选举方案都存在一定的弊端不适用于多变的跨链场景,因此设计随机性和安全性更强的随机数生成跨链共识节点选举方案显得尤为重要。
发明内容
本发明的目的是提供一种基于验证延迟函数的跨链共识选举方法及系统,实现共识节点选取的随机性以及安全性。
为实现上述目的,本发明提供了如下方案:
一种基于验证延迟函数的跨链共识选举方法,包括:
在每一共识选举周期中,计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果;所述计算节点为系统从网络的多个用户节点中随机选取的一个节点;每一周期的输入为上一周期的计算结果,所述计算结果为通过验证的系统随机数,第一周期的输入由系统指定;
计算节点根据当前周期的输入以及所述计算结果生成计算证明,并将所述计算结果作为待验证随机数与所述计算证明一起广播给各验证节点;所述验证节点为所述网络中除所述计算节点之外的节点;
各验证节点根据广播的所述待验证随机数和所述计算证明,判断所述待验证随机数生成过程是否正确,得到判断结果;
根据各所述验证节点的判断结果确定所述待验证随机数是否通过验证;
若所述待验证随机数未通过验证,则重新选取计算节点,并跳转至“计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果”步骤,直至所述待验证随机数通过验证停止跳转;
若所述待验证随机数通过验证,则将所述待验证随机数确定为当前周期的系统随机数;
在确定当前周期的系统随机数后,每一用户节点均将自身公钥和所述系统随机数组合进行哈希运算,得到哈希值,并将所述哈希值广播给网络中除自身节点之外的用户节点;
各用户节点将接收到的各所述哈希值进行排序,得到排序结果;
根据所需的共识出块节点数量n,从所述排序结果中选取哈希值位于前n个的用户节点作为共识节点。
可选的,所述方法还包括:
当原生链发起跨链交易时,各所述共识节点共同验证所述跨链交易是否正确,得到验证结果;
若所述验证结果为是,则所述共识节点对所述跨链交易进行签名打包并向全网节点广播,并在目标链完成代币发行工作,将所述跨链交易保存在中继区块链中。
每轮共识都选取不同的节点,在保证共识效率的公式,解决了传统委员会成员为了获取利益进行合谋而损害其它节点利益的问题,选举出安全的共识节点后用于对交易生成共识打包出块。
可选的,在所述计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果之前,所述方法还包括:
获取每一参与节点的权益信息;所述参与节点为每一自愿加入所述网络参与共识选举的节点;所述参与节点的权益信息由所述参与节点自身公钥的链上代币数量、所述参与节点参与网络的设备的硬件指纹信息评分、所述参与节点的设备历史参与记录、所述参与节点的申请入网成功比例以及所述参与节点成功提交区块的比例组成;
根据所述参与节点的权益信息,评判所述参与节点是否有资格入网,得到评判结果;
若所述评判结果为是,则将所述参与节点加入网络;否则,不允许所述参与节点入网。
通过评估节点权益信息,后续作为是否允许入网的评判标准。
通过入网前的身份确认,在参与选举前便剔除部分非法节点等干扰项,增加共识节点的准入门槛,通过经济学博弈增加恶意节点的作恶成本,同时把控网络中节点进出和数量,维护网络的稳定。
可选的,所述方法还包括:
在进行每一周期共识选举前,根据每一用户节点的RSA模数,计算所有用户节点的RSA模数平均值;每一所述用户节点的RSA模数由该用户节点自身选取;
根据每一所述用户节点出块的时间计算所述可延迟验证函数的运算次数。
RSA模数N和运算次数T都是延迟验证函数VDF计算过程中必备的参数,提前对一个选举周期内的参数进行统一的初始化,保障后期随机数生成的公平性,进而保证选举过程的公平性。
可选的,所述计算节点根据公式进行可延迟验证函数计算,得到计算结果;其中,y为计算结果;x为输入;T为所述可延迟验证函数的运算次数;N为所述RSA模数平均值。
可选的,所述计算节点根据当前周期的所述输入以及所述计算结果生成计算证明,具体包括:
计算节点对所述输入的二进制以及所述计算结果的二进制进行哈希函数处理,生成第一随机数l;
令π=1,r=1,重复循环执行T次下述公式(1)-(3);
r=(2r mod l)∈{0,1,...,l-1} (2)
π=π2gb (3)。
本发明还提供一种基于验证延迟函数的跨链共识选举系统,包括:
计算结果获取模块,用于在每一共识选举周期中,计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果;所述计算节点为系统从网络的多个用户节点中随机选取的一个节点;每一周期的输入为上一周期的计算结果,所述计算结果为通过验证的系统随机数,第一周期的输入由系统指定;
计算证明生成模块,用于计算节点根据当前周期的所述输入以及所述计算结果生成计算证明,并将所述计算结果作为待验证随机数与所述计算证明一起广播给各验证节点;所述验证节点为所述网络中除所述计算节点之外的节点;
判断模块,用于各验证节点根据广播的所述待验证随机数和所述计算证明,判断所述待验证随机数生成过程是否正确,得到判断结果;
确定模块,用于根据各所述验证节点的判断结果确定所述待验证随机数是否通过验证;
若所述待验证随机数未通过验证,则重新选取计算节点,并跳转至“计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果”步骤,直至所述待验证随机数通过验证停止跳转;
若所述待验证随机数通过验证,则将所述待验证随机数确定为当前周期的系统随机数;
哈希运算模块,用于在确定当前周期的系统随机数后,每一用户节点均将自身公钥和所述系统随机数组合进行哈希运算,得到哈希值,并将所述哈希值广播给网络中除自身节点之外的用户节点;
排序模块,用于通过各用户节点将接收到的各所述哈希值进行排序,得到排序结果;
共识节点选取模块,用于根据所需的共识出块节点数量n,从所述排序结果中选取哈希值位于前n个的用户节点作为共识节点。
可选的,所述系统还包括:
权益信息获取模块,用于在所述计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果之前,获取每一参与节点的权益信息;所述参与节点为每一自愿加入所述网络参与共识选举的节点;所述参与节点的身份标识为所述参与节点自身的密钥对;所述参与节点的权益信息由所述参与节点自身公钥的链上代币数量、所述参与节点参与网络的设备的硬件指纹信息评分、所述参与节点的设备历史参与记录、所述参与节点的申请入网成功比例以及所述参与节点成功提交区块的比例组成;
评判模块,用于根据所述参与节点的权益信息,评判所述参与节点是否有资格入网,得到评判结果;
若所述评判结果为是,则将所述参与节点加入网络;否则,不允许所述参与节点入网。
可选的,所述系统还包括:
RSA模数平均值计算模块,用于在进行每一周期共识选举前,根据每一用户节点的RSA模数,计算所有用户节点的RSA模数平均值;每一所述用户节点的RSA模数由该用户节点自身选取;
运算次数计算模块,用于根据每一所述用户节点出块的时间计算所述可延迟验证函数的运算次数。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供一种基于验证延迟函数的跨链共识选举方法及系统,在每一共识节点选取周期中,均通过系统随机选取的计算节点,根据该周期的输入进行可延迟验证函数计算,得到计算结果,并根据输入和计算结果生成计算证明;将当前周期的计算结果作为待验证随机数与计算证明一起进行广播。除计算节点之外的其他用户节点作为验证节点,验证节点根据计算结果以及计算证明判断待验证随机数生成过程是否正确,当待验证随机数正确时,各验证节点一致确定所述待验证随机数为当前周期的系统随机数。各用户节点均将系统随机数以及自身公钥组合进行哈希运算,得到自身的哈希值;通过对各哈希值进行排序,根据系统所需的共识出块节点数量n,选取排在前n位的哈希值对应的节点为当前周期共识节点。本发明利用验证延迟函数随机数强度高,并且在随机数生成过程中可以抵御并行加速的优点,有效保障了共识节点选举的随机性,防止了传统腐化委员会成员对共识过程造成的攻击,为异构多链跨链的共识安全提供保障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的基于验证延迟函数的跨链共识选举方法的流程图;
图2为本发明实施例1提供的基于验证延迟函数的跨链共识选举方法的原理图;
图3为本发明实施例2提供的基于验证延迟函数的跨链共识选举系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于验证延迟函数的跨链共识选举方法及系统,实现共识节点选取的随机性以及安全性。
本发明在充分调研现有区块链跨链场景需求和现有随机数生成委员会选举机制的基础上,设计基于验证延迟函数的跨链共识选举方法,以保障现有跨链认证功能为基础,研究更安全的区块链共识节点选举方案,利用新型的随机数生成机制,保障跨链共识节点选举的随机安全性,规避传统的委员会成员被腐化的风险,保障了共识确立的安全性与可信性,一定程度上为现有通用跨链架构安全性的增强提供了解决方案。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1
本实施例提供一种基于验证延迟函数的跨链共识选举方法,请参阅图1和图2,所述方法包括:
S1、在每一共识选举周期中,计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果;所述计算节点为系统从网络的多个用户节点中随机选取的一个节点;每一周期的输入为上一周期的计算结果,所述计算结果为通过验证的系统随机数,第一周期的输入由系统指定。
S2、计算节点根据当前周期的输入以及所述计算结果生成计算证明,并将所述计算结果作为待验证随机数与所述计算证明一起广播给各验证节点;所述验证节点为所述网络中除所述计算节点之外的节点。
S3、各验证节点根据广播的所述待验证随机数和所述计算证明,判断所述待验证随机数生成过程是否正确,得到判断结果。
S4、根据各所述验证节点的判断结果确定所述待验证随机数是否通过验证。
若所述待验证随机数未通过验证,则重新选取计算节点,并跳转至“计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果”步骤,直至所述待验证随机数通过验证停止跳转;
若所述待验证随机数通过验证,则将所述待验证随机数确定为当前周期的系统随机数。
S5、在确定当前周期的系统随机数后,每一用户节点均将自身公钥和所述系统随机数组合进行哈希运算,得到哈希值,并将所述哈希值广播给网络中除自身节点之外的用户节点。
S6、各用户节点将接收到的各所述哈希值进行排序,得到排序结果。
S7、根据所需的共识出块节点数量n,从所述排序结果中选取哈希值位于前n个的用户节点作为共识节点。
作为一种可选的实施方式,在所述S1之前,所述方法还包括:
S01、获取每一参与节点的权益信息;所述参与节点为每一自愿加入所述网络参与共识选举的节点;所述参与节点的权益信息由所述参与节点自身公钥的链上代币数量、所述参与节点参与网络的设备的硬件指纹信息评分、所述参与节点的设备历史参与记录、所述参与节点的申请入网成功比例以及所述参与节点成功提交区块的比例组成;
每个自愿加入网络参与共识选举的节点均生成自己的权益信息W_INFO。权益信息由几方面组成:该公钥的链上代币数量coin;该参与网络的设备的硬件指纹信息评分hardware;该账户节点的信誉评分reputation,利用代币的持有寿命、设备历史参与记录、申请入网的成功比例、成功提交区块的比例等信息自动计算出节点信誉值。最后根据系统设定计算出权益信息W_INFO=r1*coin+r2*hardware+r3*reputation,其中r1,r2,r3为系统设定常量。
节点的权益信息作为后续是否允许入网的评判标准。
每个自愿加入网络参与共识选举的节点除了生成自己的权益信息之外,还需生成自身的密钥(sk,pk)对作为身份标识。身份标识作为后续节点申请入网时发送给服务群组的部分身份介绍信息。
S02、根据所述参与节点的权益信息,评判所述参与节点是否有资格入网,得到评判结果;
若所述评判结果为是,则将所述参与节点加入网络;否则,不允许所述参与节点入网。
在判断参与节点是否有资格入网之前,先初始化网络中的服务群组,用于记录入网节点的各项信息。要加入网络的节点打包自身实体资产权益信息W_INFO及公钥、IP地址等身份介绍信息,发送给服务群组申请入网。服务群组对节点是否符合当前场景需要以及当前网络节点数量等运行情况进行资格审查,公钥、IP地址等信息用于留存身份,主要根据节点的资产权益信息W_INFO来评判节点是否有资格入网,权益信息值高代表之前节点信誉好,参与入网提交区块次数多,代币持有寿命长等,更适合入网参与选举。
通过入网前的身份确认,从而在参与选举前便剔除部分非法节点等干扰项,增加共识节点的准入门槛,通过经济学博弈增加恶意节点的作恶成本,同时把控网络中节点进出和数量,维护网络的稳定。
作为一种可选的实施方式,所述方法还包括:
S03、在进行每一周期共识选举前,根据每一用户节点的RSA模数,计算所有用户节点的RSA模数平均值;每一所述用户节点的RSA模数由所述用户节点自身选取。
S04、根据每一所述用户节点出块的时间计算所述可延迟验证函数的运算次数。
对于一个共识选举周期epoch,网络中的随机数生成需要RSA模数,各个用户节点选取自己的RSA模数,基于用户的多个RSA模数求平均值得到此次延迟验证函数计算随机数时需要的RSA模数N,并共同根据出块的时间确定VDF的运算次数T,完成系统的参数初始化过程。
RSA模数N和运算次数T都是延迟验证函数VDF计算过程中必备的参数,提前对一个选举周期内的参数进行统一的初始化,保障后期随机数生成的公平性,进而保证选举过程的公平性。
需要说明的是,上述步骤S01-S04均属于入网初始化节点,当计算出RSA模数N和运算次数T之后开始进入随机数生成选举阶段,即步骤S1-S7。
对于步骤S1,加入网络参与选举的节点都要参与到该轮的随机数生成,利用生成的公共可信的随机数进行随机选举,保证整个共识节点选举过程的安全。用e表示轮次周期,系统随机指定某个节点进行VDF计算,其余节点进行结果验证。
基于验证延迟函数的跨链共识选举的区块链跨链架构主要包括一条中继链和多条原链,其中中继链支持对原生链间跨链操作验证和存证。
可选的,所述S1中,计算节点根据公式进行可延迟验证函数计算,得到计算结果;其中,y为计算结果;x为输入;T为所述可延迟验证函数的运算次数;N为所述RSA模数平均值。
具体的,首先要将上轮的随机数Randome-1作为该轮VDF(可延迟验证函数)计算的输入x,最初输入由随机数Randome0系统协议指定。随后进行VDF的计算,计算结果将VDF的计算结果作为随机数Randome进行广播。
生成计算结果的同时还需要生成计算证明π。下面介绍步骤S2中生成计算证明的具体步骤。
可选的,所述计算节点根据当前周期的所述输入以及所述计算结果生成计算证明,具体包括:
计算节点对所述输入的二进制以及所述计算结果的二进制进行哈希函数处理,生成第一随机数l;
令π=1,r=1,重复循环执行T次下述公式(1)-(3);
r=(2r mod l)∈{0,1,...,l-1} (2)
π=π2gb (3)。
具体的,利用Hprime(bin(x)||bin(y))对输入以及产生的结果的二进制形式进行哈希函数处理生成随机数l。该输入与结果指的是验证延迟函数VDF该轮的计算输入x和最终计算结果y,需要根据该输入输出生成此次计算的证明,用于后续验证随机数生成是否正确。
最终输出的递归的结果π便是需要的证明值,经过上述循环,最终得到的计算证明
计算节点广播VDF的随机数结果,其余节点进行快速验证。
具体的,步骤S3中各验证节点验证等式是否成立来判断随机数生成过程是否正确。验证通过则一致将待验证随机数确定系统随机数;验证失败则重新选取计算节点,并返回重新进行VDF随机数计算。
还需要说明的是,为了避免恶意节点造成的干扰,当大部分(或一定比例的)验证节点判断出随机数生成过程正确,则表示验证通过。
由于VDF对计算性能有较大开销,因此系统每次随机指定单个节点进行计算,其余节点只进行验证工作,节省各节点资源开销。此处采用Wesolowski的VDF,通过连续平方的计算方式,每一轮的输出将作为下一轮的输入进行递归运算,因而无法通过并行加速的方式快速计算出函数输出结果,即无法提前得知此轮的随机数Randome生成证明π便于其他节点快速验证随机数的正确性。
步骤S5-S7中,确定完系统随机数后,各节点将自身公钥pk和随机数Randome组和进行哈希运算hash_value=Hash(pk,Randome),节点将自己的哈希值广播给网络中的其他节点。将所有节点计算后的哈希值进行排序后,根据系统所需的共识出块节点数量n,排名在前n个哈希值的节点被选举出来,参与共识出块完成跨链验证过程。
随机数完全可信的情况下,与节点公钥组合形成每个节点的随机哈希值,进行排序后,完成对区块链共识节点的随机选取。
作为一种可选的实时方式,所述方法还包括:
当原生链发起跨链交易时,各所述共识节点共同验证所述跨链交易是否正确,得到验证结果;
若所述验证结果为是,则所述共识节点对所述跨链交易进行签名打包并向全网节点广播,并在目标链完成代币发行工作,将所述跨链交易保存在中继区块链中。
具体的,当各原生链发起跨链交易TX时,选举出的区块链共识节点pi共同验证TX的正确性,验证源链是否正确完成交易,验证正确后对交易进行签名打包并向全网节点广播,在目标链完成代币发行等工作,完成跨链交易过程,并且要将交易TX保存在中继区块链中。
由于每轮共识都选举不同的节点,在保证共识效率的同时,解决了传统的委员会成员为了获取利益进行合谋而损害其它节点利益的问题,选举出安全的共识节点后用对交易生成共识打包出块。
与现有技术相比,本发明采用了基于验证延迟函数的随机数,利用验证延迟函数随机数强度高,并且在随机数生成过程中可以抵御并行加速,有效保障了共识节点选举的随机性,防止了传统腐化委员会成员对共识过程造成的攻击,为异构多链跨链的共识安全提供保障。
相较于传统的随机数生成选举机制,基于验证延迟函数的共识选举方案得益于VDF的安全随机性,提供了颇具安全性的随机保障。使用物理链下的真随机数,无法规避物理层面的人为干扰,并且无法保证上传随机数据的第三方的可信性,使用链上的VDF生成可避免相应问题。而对于直接利用前一区块信息作为随机源的随机数生成选举方式,无法保障选举出的成员节点不通过更改打包顺序等方式生成有利于自己的区块值,存在安全隐患。利用验证延迟函数,随机数生成过程延迟且可公开验证,避免了恶意人员的攻击,保障了共识选举的安全公平性,进而保障了跨链机制的安全性。
相较于大多数的利用哈希碰撞随机数进行选举的方案,基于验证延迟函数的共识选举方案在资源消耗、抵御并行加速等方面都具备优势。利用哈希碰撞的随机数选举方式需要每个节点消耗大量算力计算随机数的值,对资源是一种极大的浪费,而利用VDF只需要部分节点进行VDF运算生成系统周期内的公共随机数,其余节点可快速进行验证,节约了大量的资源消耗。并且基于哈希碰撞的随机数生成方式无法抵御并行加速,有更多计算资源的节点可以更快破解随机数,而VDF由于其自身构造特性,可以抵御并行加速,保障随机数生成的安全性,进而保障跨链共识选举的公平性。
相较于可验证随机函数VRF作为随机源的共识选举方案,验证延迟函数VDF可以凭借单个节点生成安全的随机数,并且生成一个可供任意其余节点验证的证明,无需过多的交互,带宽专用率低于VRF,步骤相对简便,提升系统效率,增强跨链系统共识生成的效率和安全性。
实施例2
本实施例提供一种基于验证延迟函数的跨链共识选举系统,请参阅图3,包括:
计算结果获取模块M1,用于在每一共识选举周期中,计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果;所述计算节点为系统从网络的多个用户节点中随机选取的一个节点;每一周期的输入为上一周期的计算结果,所述计算结果为通过验证的系统随机数,第一周期的输入由系统指定;
计算证明生成模块M2,用于计算节点根据当前周期的所述输入以及所述计算结果生成计算证明,并将所述计算结果作为待验证随机数与所述计算证明一起广播给各验证节点;所述验证节点为所述网络中除所述计算节点之外的节点;
判断模块M3,用于各验证节点根据广播的所述待验证随机数和所述计算证明,判断所述待验证随机数生成过程是否正确,得到判断结果;
确定模块M4,用于根据各所述验证节点的判断结果确定所述待验证随机数是否通过验证;
若所述待验证随机数未通过验证,则重新选取计算节点,并跳转至“计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果”步骤,直至所述待验证随机数通过验证停止跳转;
若所述待验证随机数通过验证,则将所述待验证随机数确定为当前周期的系统随机数;
哈希运算模块M5,用于在确定当前周期的系统随机数后,每一用户节点均将自身公钥和所述系统随机数组合进行哈希运算,得到哈希值,并将所述哈希值广播给网络中除自身节点之外的用户节点;
排序模块M6,用于通过各用户节点将接收到的各所述哈希值进行排序,得到排序结果;
共识节点选取模块M7,用于根据所需的共识出块节点数量n,从所述排序结果中选取哈希值位于前n个的用户节点作为共识节点。
可选的,所述系统还包括:
验证模块,用于当原生链发起跨链交易时,各所述共识节点共同验证所述跨链交易是否正确,得到验证结果;
若所述验证结果为是,则所述共识节点对所述跨链交易进行签名打包并向全网节点广播,并在目标链完成代币发行工作,将所述跨链交易保存在中继区块链中。
可选的,所述系统还包括:
权益信息获取模块,用于在所述计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果之前,获取每一参与节点的权益信息;所述参与节点为每一自愿加入所述网络参与共识选举的节点;所述参与节点的身份标识为所述参与节点自身的密钥对;所述参与节点的权益信息由所述参与节点自身公钥的链上代币数量、所述参与节点参与网络的设备的硬件指纹信息评分、所述参与节点的设备历史参与记录、所述参与节点的申请入网成功比例以及所述参与节点成功提交区块的比例组成;
评判模块,用于根据所述参与节点的权益信息,评判所述参与节点是否有资格入网,得到评判结果;
若所述评判结果为是,则将所述参与节点加入网络;否则,不允许所述参与节点入网。
可选的,所述系统还包括:
RSA模数平均值计算模块,用于在进行每一周期共识选举前,根据每一用户节点的RSA模数,计算所有用户节点的RSA模数平均值;每一所述用户节点的RSA模数由该用户节点自身选取;
运算次数计算模块,用于根据每一所述用户节点出块的时间计算所述可延迟验证函数的运算次数。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于验证延迟函数的跨链共识选举方法,其特征在于,包括:
在每一共识选举周期中,计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果;所述计算节点为系统从网络的多个用户节点中随机选取的一个节点;每一周期的输入为上一周期的计算结果,所述计算结果为通过验证的系统随机数,第一周期的输入由系统指定;
所述计算节点根据当前周期的输入以及所述计算结果生成计算证明,并将所述计算结果作为待验证随机数与所述计算证明一起广播给各验证节点;所述验证节点为所述网络中除所述计算节点之外的节点;
各验证节点根据广播的所述待验证随机数和所述计算证明,判断所述待验证随机数生成过程是否正确,得到判断结果;
根据各所述验证节点的判断结果确定所述待验证随机数是否通过验证;
若所述待验证随机数未通过验证,则重新选取所述计算节点,并跳转至“计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果”步骤,直至所述待验证随机数通过验证停止跳转;
若所述待验证随机数通过验证,则将所述待验证随机数确定为当前周期的系统随机数;
在确定当前周期的所述系统随机数后,每一用户节点均将自身公钥和所述系统随机数组合进行哈希运算,得到哈希值,并将所述哈希值广播给网络中除自身节点之外的用户节点;
各所述用户节点将接收到的各所述哈希值进行排序,得到排序结果;
根据所需的共识出块节点数量n,从所述排序结果中选取所述哈希值位于前n个的所述用户节点作为共识节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当原生链发起跨链交易时,各所述共识节点共同验证所述跨链交易是否正确,得到验证结果;
若所述验证结果为是,则所述共识节点对所述跨链交易进行签名打包并向全网节点广播,并在目标链完成代币发行工作,将所述跨链交易保存在中继区块链中。
3.根据权利要求1所述的方法,其特征在于,在所述计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果之前,所述方法还包括:
获取每一参与节点的权益信息;所述参与节点为每一自愿加入所述网络参与共识选举的节点;所述参与节点的权益信息由所述参与节点自身公钥的链上代币数量、所述参与节点参与网络的设备的硬件指纹信息评分、所述参与节点的设备历史参与记录、所述参与节点的申请入网成功比例以及所述参与节点成功提交区块的比例组成;
根据所述参与节点的权益信息,评判所述参与节点是否有资格入网,得到评判结果;
若所述评判结果为是,则将所述参与节点加入网络;否则,不允许所述参与节点入网。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在进行每一周期共识选举前,根据每一用户节点的RSA模数,计算所有所述用户节点的RSA模数平均值;每一所述用户节点的RSA模数由所述用户节点自身选取;
根据每一所述用户节点出块的时间计算所述可延迟验证函数的运算次数。
5.根据权利要求4所述的方法,其特征在于,所述计算节点根据公式进行可延迟验证函数计算,得到计算结果;其中,y为计算结果;x为输入;T为所述可延迟验证函数的运算次数;N为所述RSA模数平均值。
6.根据权利要求4所述的方法,其特征在于,所述计算节点根据当前所述周期的输入以及所述计算结果生成计算证明,具体包括:
计算节点对当前所述周期的输入的二进制以及所述计算结果的二进制进行哈希函数处理,生成第一随机数l;
令π=1,r=1,重复循环执行T次下述公式(1)-(3);
r=(2rmodl)∈{0,1,...,l-1} (2)
π=π2gb (3)
其中,b和g均为中间变量。
7.一种基于验证延迟函数的跨链共识选举系统,其特征在于,包括:
计算结果获取模块,用于在每一共识选举周期中,计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果;所述计算节点为系统从网络的多个用户节点中随机选取的一个节点;每一所述周期的输入为上一周期的计算结果,所述计算结果为通过验证的系统随机数,第一周期的输入由系统指定;
计算证明生成模块,用于所述计算节点根据当前所述周期的所述输入以及所述计算结果生成计算证明,并将所述计算结果作为待验证随机数与所述计算证明一起广播给各验证节点;所述验证节点为所述网络中除所述计算节点之外的节点;
判断模块,用于各验证节点根据广播的所述待验证随机数和所述计算证明,判断所述待验证随机数生成过程是否正确,得到判断结果;
确定模块,用于根据各所述验证节点的判断结果确定所述待验证随机数是否通过验证;
若所述待验证随机数未通过验证,则重新选取所述计算节点,并跳转至“计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果”步骤,直至所述待验证随机数通过验证停止跳转;
若所述待验证随机数通过验证,则将所述待验证随机数确定为当前所述周期的系统随机数;
哈希运算模块,用于在确定当前周期的系统随机数后,每一用户节点均将自身公钥和所述系统随机数组合进行哈希运算,得到哈希值,并将所述哈希值广播给网络中除自身节点之外的用户节点;
排序模块,用于通过各所述用户节点将接收到的各所述哈希值进行排序,得到排序结果;
共识节点选取模块,用于根据所需的共识出块节点数量n,从所述排序结果中选取所述哈希值位于前n个的所述用户节点作为共识节点。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:
验证模块,用于当原生链发起跨链交易时,各所述共识节点共同验证所述跨链交易是否正确,得到验证结果;
若所述验证结果为是,则所述共识节点对所述跨链交易进行签名打包并向全网节点广播,并在目标链完成代币发行工作,将所述跨链交易保存在中继区块链中。
9.根据权利要求7所述的系统,其特征在于,所述系统还包括:
权益信息获取模块,用于在所述计算节点根据当前周期的输入,进行可延迟验证函数计算,得到计算结果之前,获取每一参与节点的权益信息;所述参与节点为每一自愿加入所述网络参与共识选举的节点;所述参与节点的身份标识为所述参与节点自身的密钥对;所述参与节点的权益信息由所述参与节点自身公钥的链上代币数量、所述参与节点参与网络的设备的硬件指纹信息评分、所述参与节点的设备历史参与记录、所述参与节点的申请入网成功比例以及所述参与节点成功提交区块的比例组成;
评判模块,用于根据所述参与节点的权益信息,评判所述参与节点是否有资格入网,得到评判结果;
若所述评判结果为是,则将所述参与节点加入网络;否则,不允许所述参与节点入网。
10.根据权利要求7所述的系统,其特征在于,所述系统还包括:
RSA模数平均值计算模块,用于在进行每一周期共识选举前,根据每一用户节点的RSA模数,计算所有所述用户节点的RSA模数平均值;每一所述用户节点的RSA模数由该用户节点自身选取;
运算次数计算模块,用于根据每一所述用户节点出块的时间计算所述可延迟验证函数的运算次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211100842.5A CN115643043B (zh) | 2022-09-09 | 2022-09-09 | 一种基于验证延迟函数的跨链共识选举方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211100842.5A CN115643043B (zh) | 2022-09-09 | 2022-09-09 | 一种基于验证延迟函数的跨链共识选举方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115643043A CN115643043A (zh) | 2023-01-24 |
CN115643043B true CN115643043B (zh) | 2024-04-19 |
Family
ID=84943026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211100842.5A Active CN115643043B (zh) | 2022-09-09 | 2022-09-09 | 一种基于验证延迟函数的跨链共识选举方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115643043B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117610087B (zh) * | 2024-01-23 | 2024-04-26 | 北京天润基业科技发展股份有限公司 | 区块处理方法及装置、电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190140826A (ko) * | 2018-06-12 | 2019-12-20 | 한국전자통신연구원 | 난스 증명 기반 분산합의 노드 선정 방법 및 장치 |
CN110855432A (zh) * | 2019-10-31 | 2020-02-28 | 广东工业大学 | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 |
WO2021093244A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳市网心科技有限公司 | 随机数生成方法、区块链节点、系统及介质 |
CN112988894A (zh) * | 2021-03-22 | 2021-06-18 | 广东工业大学 | 一种基于分布式可验证延迟函数的区块链共识系统和方法 |
CN113422805A (zh) * | 2021-05-25 | 2021-09-21 | 江苏大学 | 一种基于可验证随机函数的分片共识方法 |
-
2022
- 2022-09-09 CN CN202211100842.5A patent/CN115643043B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190140826A (ko) * | 2018-06-12 | 2019-12-20 | 한국전자통신연구원 | 난스 증명 기반 분산합의 노드 선정 방법 및 장치 |
CN110855432A (zh) * | 2019-10-31 | 2020-02-28 | 广东工业大学 | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 |
WO2021093244A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳市网心科技有限公司 | 随机数生成方法、区块链节点、系统及介质 |
CN112988894A (zh) * | 2021-03-22 | 2021-06-18 | 广东工业大学 | 一种基于分布式可验证延迟函数的区块链共识系统和方法 |
CN113422805A (zh) * | 2021-05-25 | 2021-09-21 | 江苏大学 | 一种基于可验证随机函数的分片共识方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115643043A (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110391911B (zh) | 区块链匿名投票系统及方法 | |
CN107196762B (zh) | 一种面向大数据的确权方法 | |
US8689000B2 (en) | Use of certified secrets in communication | |
CN112437049B (zh) | 一种基于bft的区块链共识方法及装置 | |
WO2022217807A1 (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
CN115378604B (zh) | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 | |
CN115643043B (zh) | 一种基于验证延迟函数的跨链共识选举方法及系统 | |
CN112000744A (zh) | 一种签名方法及相关设备 | |
CN110190970A (zh) | 基于公有链的可匿名撤销的环签名及其生成和撤销方法 | |
CN115499129A (zh) | 一种多模信任跨链共识方法、系统、介质、设备及终端 | |
CN114463009B (zh) | 一种用于提高大规模能源节点交易安全性的方法 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN113783700A (zh) | 一种分片区块链下安全可监管的权益证明方法及系统 | |
CN112468292A (zh) | 一种高效率的量子数字签名方法及系统 | |
CN109104410A (zh) | 一种信息的匹配方法及装置 | |
CN111046439A (zh) | 一种基于区块链的智能合约任务可验证方法和系统 | |
Longo et al. | On the security of the blockchain BIX protocol and certificates | |
CN110780848A (zh) | 基于区块链分布式随机过程的双随机生成方法和监管系统 | |
CN110912687A (zh) | 一种分布式身份验证方法 | |
CN112907246B (zh) | 基于BFT协议和PoW机制的区块链共识协议实现方法和系统 | |
Yan et al. | A formal analysis method with reasoning for cryptographic protocols | |
CN109617691A (zh) | 在多用户群认证中使用模运算的群认证方法及系统 | |
CN110443713A (zh) | 一种针对区块链交易效率提升的方法及系统 | |
CN115664716B (zh) | 基于置换证明的多链领导者隐蔽分配方法及装置 | |
CN116186729A (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 |