CN114124961A - 区块确认方法、计算机设备和存储介质 - Google Patents
区块确认方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114124961A CN114124961A CN202111289570.3A CN202111289570A CN114124961A CN 114124961 A CN114124961 A CN 114124961A CN 202111289570 A CN202111289570 A CN 202111289570A CN 114124961 A CN114124961 A CN 114124961A
- Authority
- CN
- China
- Prior art keywords
- block
- committee
- height
- committee member
- node
- 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.)
- Pending
Links
Images
Classifications
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Abstract
本发明提供一种区块确认方法、计算机设备和存储介质,该方法包括:在当前高度到达第二高度,以及,判断出当前节点为第一轮的委员会成员时,抽取第一数量个第一委员会成员和第二数量个第一打包人;将各第一委员会成员和各第一打包人的第一信息广播给其它区块链节点;接收若干第一区块链节点广播的第二信息;在第一时长后,对第一信息和各第二信息投票以确定第一轮的委员会成员和打包人;对于所确定的打包人所生成的第一轮的各第一高度的第一区块执行如下操作:对各第一区块投票以得到经过共识的第二区块。上述实施例使得部署在公网中的区块链的确认区块时间短,tps高。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种区块确认方法、计算机设备和存储介质。
背景技术
区块链一般有两个指标来判别他们的性能:一个是区块确认时间,也就是上一个区块确认后开始到本区块确认结束这段时间。另一个是TPS,也就是平均每秒确认的交易数量。
现有的置于公网的区块链中,例如比特币区块链,由于公网网络慢,公网网络不可控的原因,区块确认时间慢,且该区块链分叉频繁;又例如Algorand区块链,大量的打包人和委员会成员间彼此广播的信息量巨大,容易造成区块链拥堵,tps低。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种确认区块时间短,tps高的区块生成和确认方法、计算机设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的区块确认方法,上述方法包括:
在当前高度到达第二高度,以及,在根据委员会成员确定规则判断出当前节点为第一轮的委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员,并根据打包人抽取规则抽取第二数量个第一打包人,其中,第一轮的初始区块高度与第一轮包括的区块数量之差等于第二高度;
将各第一委员会成员和各第一打包人的第一信息广播给其它区块链节点;
接收若干第一区块链节点广播的第二信息;其中,第二信息包括第一数量个第二委员会成员和第二数量个第二打包人,第二委员会成员由第一区块链节点在根据委员会成员确定规则判断出本节点为第一轮的委员会成员时根据委员会成员抽取规则所抽取,第二打包人由第一区块链节点在根据委员会成员确定规则判断出本节点为委员会成员时根据打包人抽取规则所抽取;
在第一时长后,对第一信息和各第二信息投票:若存在任一第一委员会成员或第二委员会成员获得足额的票数,则将获得足额票数的第一委员会成员或第二委员会成员确定为第一轮的委员会成员;以及,若存在任一第一打包人或第二打包人获得足额的票数,则将获得足额票数的第一打包人或第二打包人确定为第一轮的打包人;
对于所确定的打包人所生成的第一轮的各第一高度的第一区块执行如下操作:对各第一区块投票以得到经过共识的第二区块。
第二方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的区块确认方法。
第三方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的区块确认方法。
本发明诸多实施例提供的区块确认方法、计算机设备和存储介质通过在当前高度到达第二高度,以及,在根据委员会成员确定规则判断出当前节点为第一轮的委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员,并根据打包人抽取规则抽取第二数量个第一打包人,其中,第一轮的初始区块高度与第一轮包括的区块数量之差等于第二高度;将各第一委员会成员和各第一打包人的第一信息广播给其它区块链节点;接收若干第一区块链节点广播的第二信息;其中,第二信息包括第一数量个第二委员会成员和第二数量个第二打包人,第二委员会成员由第一区块链节点在根据委员会成员确定规则判断出本节点为第一轮的委员会成员时根据委员会成员抽取规则所抽取,第二打包人由第一区块链节点在根据委员会成员确定规则判断出本节点为委员会成员时根据打包人抽取规则所抽取;在第一时长后,对第一信息和各第二信息投票:若存在任一第一委员会成员或第二委员会成员获得足额的票数,则将获得足额票数的第一委员会成员或第二委员会成员确定为第一轮的委员会成员;以及,若存在任一第一打包人或第二打包人获得足额的票数,则将获得足额票数的第一打包人或第二打包人确定为第一轮的打包人;对于所确定的打包人所生成的第一轮的各第一高度的第一区块执行如下操作:对各第一区块投票以得到经过共识的第二区块的方法,使得部署在公网中的区块链的确认区块时间短,tps高。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明一实施例提供的一种区块确认方法的流程图。
图2为本发明一实施例提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1为本发明一实施例提供的一种区块确认方法的流程图。如图1所示,在本实施例中,本发明提供一种适用于区块链节点的区块确认方法,上述方法包括:
S11:在当前高度到达第二高度,以及,在根据委员会成员确定规则判断出当前节点为第一轮的委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员,并根据打包人抽取规则抽取第二数量个第一打包人,其中,第一轮的初始区块高度与第一轮包括的区块数量之差等于第二高度;
S12:将各第一委员会成员和各第一打包人的第一信息广播给其它区块链节点;
S13:接收若干第一区块链节点广播的第二信息;其中,第二信息包括第一数量个第二委员会成员和第二数量个第二打包人,第二委员会成员由第一区块链节点在根据委员会成员确定规则判断出本节点为第一轮的委员会成员时根据委员会成员抽取规则所抽取,第二打包人由第一区块链节点在根据委员会成员确定规则判断出本节点为委员会成员时根据打包人抽取规则所抽取;
S14:在第一时长后,对第一信息和各第二信息投票:若存在任一第一委员会成员或第二委员会成员获得足额的票数,则将获得足额票数的第一委员会成员或第二委员会成员确定为第一轮的委员会成员;以及,若存在任一第一打包人或第二打包人获得足额的票数,则将获得足额票数的第一打包人或第二打包人确定为第一轮的打包人;
S15:对于所确定的打包人所生成的第一轮的各第一高度的第一区块执行如下操作:对各第一区块投票以得到经过共识的第二区块。
具体的,以S11包括“在d1<=t1/W时,判断出当前节点为委员会成员;其中,d1为当前节点所计算得到的第一哈希值与2^256的比值,t1为第一数量,W为所有抵押的通证数量,区块链节点每抵押第三数量个通证以获取一个tikect以参与共识,第一哈希值的计算方法为d1=vrf(seed,height,sk1),seed为当前区块的区块哈希,height为第一轮的初始区块高度,sk1为当前节点所持有的私钥;获取di<=t1/W的区块链节点为第一委员会成员;其中,di为其它区块链节点所计算得到的第二哈希值与2^256的比值,第二哈希值的计算方法为di=vrf(seed,height,sk2),sk2为其它节点所持有的私钥”;以及,S12包括“获取dj<=t2/W的区块链节点为第一打包人;其中,dj为其它区块链节点所计算得到的第三哈希值与2^256的比值,第三哈希值的计算方法为dj=vrf(seed,height,sk2),t2为第二数量”,S13包括“接收若干第一区块链节点广播的各第二委员会成员和各第二打包人的节点哈希”,S14包括“在第一时长后,对各第一委员会成员、各第一打包人、各第二委员会成员和各第二打包人的节点哈希投票”;以及,S15包括“接收所确定的打包人生成的第一高度的第一区块,若在第二时长内只接收到一个第一区块,则对所接收到的第一区块投票;若在第二时长内接收到若干第一区块,则对区块哈希最小的第一区块投票”为例;
假设当前区块链中有节点N1~N10000,当前节点为N1;第一数量,即t1=25,第二数量,即t2=3,当前高度为90,第一轮为[100,110],W为1000000,第一时长为10s,第二时长均为0.5s;当前节点的第一哈希值/2^256<=25/1000000,即vrf(blockhash(,90),100,pri(N1))/2^256<=25/1000000;
由于当前高度到达90,当前节点的第一哈希值第一哈希值/2^256<=25/1000000,N1确定自己为[100,110]的委员会成员,N1执行步骤S11,获取第二哈希值/2^256<=25/1000000的区块链节点,假设获取的节点为N2~N25为[100,110]的委员会成员;获取第三哈希值/2^256<=3/1000000的区块链节点为[100,110]的打包人,假设获取的节点为N2~N4;本领域技术人员应当理解,若获取的节点超过25个,例如,所获取的节点为N2~N30,则可以根据配置的筛选规则筛选出25个节点,例如,将N2~N30的节点哈希进行排序,将节点哈希最小的25个节点作为最终获取的区块链节点,此处不作具体的限定;以及,d的计算方式也可以根据实际需求引入其它参数,例如d的计算方式还需要包括当前节点所获得的ticket的哈希,即,是计算每一票对应的节点是否为委员会成员,和/或打包人,此时d的计算方式应当配置为vrf(seed,index,height,sk)/2^256,index为所拥有的票的序号,比如拥有5张票,index取值[0,5],此处不作具体的限定,以及,在计算每一票对应的节点是否为委员会成员,和/或打包人时,由于每个节点所获得的ticket数量不同,对于每一张ticket,都需要执行本方法;打包人的筛选也可以根据实际需求进行筛选,此处不再赘述;
N1执行步骤S12,将委员会成员nodeID_N1~nodeID_N25,和打包人nodeID_N2~nodeID_N4广播给其它区块链节点;在更多实施例中,第一信息和第二信息还可以根据实际需求进行配置,例如配置为公钥,或其它可以标识节点唯一身份的信息,可实现相同的技术效果;
假设除N1外,N2~N30均判断出自己为[100,110]的委员会成员,N2~N20将所获取的委员会成员nodeID_N1~nodeID_N25,和打包人n odeID_N2~nodeID_N4广播给其它区块链节点;N21~N25将所获取的委员会成员nodeID_N2~nodeID_N26,和打包人nodeID_N1~nodeID_N3广播给其它区块链节点;N26~N30将所获取的委员会成员nodeID_N3~nodeID_N27,和打包人nodeID_N3~nodeID_N5广播给其它区块链节点;
N1执行步骤S13,接收N2~N20、N21~N25、N26~N30分别广播的委员会成员和打包人的节点哈希;
N1执行步骤S14,在10s后,对所广播的,以及,所接收的委员会成员和打包人的节点哈希投票;
假设在委员会成员的投票中,nodeID_N1~nodeID_N25获得超过25*(2/3)+1数量个票,以及,在打包人的投票中,nodeID_N2~nodeID_N4获得超过25*(2/3)+1数量个票,则最终认为N1~N25为高度为[100,110]的委员会成员,N2~N4为高度为[100,110]的打包人;
N1执行步骤S15,对于N2~N4所生成的[100,110]的各区块执行如下操作:
以高度100为例,在0.5s内,接收N2~N4分别生成的block(100)_N2~block(100)_N4;假设区块哈希有小到大的排序为block(100)_N2<block(100)_N3<block(100)_N4,则对block(100)_N2投票;
假设接收N2在0.5s内只接收到block(100)_N4,则N2对block(100)_N4投票;
假设最终block(100)_N2获得超过25*(2/3)+1数量个票,则认为block(100)_N2为经过共识的高度100的区块。
在更多实施例中,第一数量、第二数量、第一高度、W,第一时长和第二时长均可根据实际需求进行配置,此处不作具体的限定。但本领域技术人员应当理解,若第一数量和第二数量配置的越高,则打包人和委员会成员间彼此广播的信息量越大,tps越低。申请人做了多次实验得到的结论为,一般第二数量取值范围为[1,5],如果过多,每轮广播的区块超过5个,结果就是大多数交易都被广播超过5次。第一数量的取值范围为[10,100],委员会成员过少不安全,每次抽到全是恶意节点的概率较大,数量太多,意味着广播消息多,共识开销太大。
在更多实施例中,S15还可以根据实际需求进行配置,例如配置为,假设按照时间先后顺序依次收到block(100)_N2~block(100)_N4,如果收到block(100)_N3和block(100)_N2的间隔超过300ms,则直接对block(100)_N2投票;否则,等待block(100)_N4;如果block(100)_N4和block(100)_N3的间隔超过300ms,则对block(100)_N2和block(100)_N3的区块哈希进行比较,对区块哈希较小的区块投票;否则,对比block(100)_N2~block(100)_N4,对区块哈希最小的区块投票;当某个区块有超过25*(2/3)+1数量个票,则确认为高度100的区块,可实现相同的技术效果。
本领域技术人员应当理解,第一轮可以根据实际需求进行配置,例如在极限情况下,第一轮可以只有一个区块高度,以上述实施例为例,则当区块高度到达90,且当前节点为高度100的委员会成员时,抽取高度100的委员会成员和打包人;当第一轮不止一个区块高度时,还应当限制触发条件,例如,以上述实施例为例,当第一轮为10个区块,第二高度还应当满足,第二高度与10的取余为0。
上述实施例使得部署在公网中的区块链的确认区块时间短,tps高。
优选的,在根据委员会成员确定规则判断出当前节点为委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员包括:
在d2<=t3/W时,判断出当前节点为委员会成员;其中,d2为当前节点所计算得到的第四哈希值与2^256的比值,t1为第一数量,t3=3*t1+1,W为所有抵押的通证数量,区块链节点每抵押第三数量个通证以获取一个tikect以参与共识,第四哈希值的计算方法为d2=vrf(seed,height,sk1),seed为当前区块的区块哈希,height为第一轮的初始区块高度,sk1为当前节点所持有的私钥;
获取dm<=t3/W的区块链节点为第一委员会成员,并将第一高度的委员会成员获取次数加一以更新委员会成员获取次数;其中,dm为其它区块链节点所计算得到的第五哈希值与2^256的比值,第五哈希值的计算方法为dm=vrf(seed,height,sk2),sk2为其它节点所持有的私钥;
在委员会成员获取次数未到达第一数值时,判断所获取的区块链节点的数量是否到达第一数量:
否,则返回获取dm<=t3/W的区块链节点为第一委员会成员;
根据打包人抽取规则抽取第二数量个第一打包人包括:
获取dn<=t4/W的区块链节点为第一打包人,并将第一高度的打包人获取次数加一以打包人获取次数;其中,dn为其它区块链节点所计算得到的第六哈希值与2^256的比值,t2为第二数量,t4=3*t2+1,第六哈希值的计算方法为dn=vrf(seed,height,sk2);
在打包人获取次数未到达第一数值时,判断所获取的区块链节点的数量是否到达第二数量:
否,则返回获取dn<=t4/W的区块链节点为第一打包人。
上述实施例与图1所示的实施例的不同之处在于,在图1所示的实施例中,有一定概率所获取的委员会成员数量小于第一数量,或,有一定概率所获取的打包人数量小于第二数量;
因此,在本实施例中,对于委员会成员的获取,将目标值由t1提升到t3,对于打包人的获取,将目标值由t2提升到t4;以及,以委员会成员的获取为例,若第一次获取时只获取了10个委员会成员,不足25个,则会再次获取,直至委员会成员获取次数到达第一数值;打包人的获取同理,此处不再赘述。
申请人做了多次实验得到的结论为,那么t3的取值范围为[20,100],以t4的取值范围为[30,300]是比较好的选择。
需要说明的是,在图1所示的实施例中,在所获取的委员会成员数量小于第一数量,或,有一定概率所获取的打包人数量小于第二数量时,还可以配置超时机制,例如,在超时时长后,重新执行步骤S11,但在这种情况下,d的计算方式还应当引入round(共识序数)的概念,配置为vrf(seed,height,round,sk)/2^256;在round=1时,正常执行步骤S11,在round>1时,则需要在超时时长后执行步骤S11。
本领域技术人员应当理解,还可以根据实际需求配置委员会成员获取次数到达第一数值,而所获取的委员会成员不足第一数量,或,打包人获取次数到达第一数值,而所获取的打包人不足第二数量的步骤,例如配置为,重新执行步骤在根据委员会成员确定规则判断出当前节点为第一高度的委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员,并根据打包人抽取规则抽取第二数量个第一打包人。
上述实施例使得可以获得足够数量的委员会成员和打包人。
优选的,第一区块的各投票包括于第一交易,第一交易为第二高度的第三区块中的第一笔交易,第一交易由第二高度的第三打包人所生成,第二高度为第一高度加一。
即,对于确认block(100)_N2~block(100)_N4的投票,将被收集到block(101)的第一笔交易中。
进一步优选的,接收所确定的打包人生成的第一高度的第一区块包括:
接收各所确定的打包人生成的第一高度的第一区块的第一区块头和第一区块的第二交易;其中,第二交易为第一区块的第一笔交易;
对各第一区块投票以得到经过共识的第二区块包括:
对各第一区块头投票,以供各所确定的打包人:在所生成的第一区块头获得足额的票数时,广播所生成的第一区块;
将第一区块确定为经过共识的第二区块。
具体的,N2生成block(100)_N2后,将blockheader(100)_N2和tx1_N2广播给其它区块链节点,tx1_N2包括N2收集的对区块高度为99的各区块的投票;同理,N3广播blockheader(100)_N3和tx1_N3,N4广播blockheader(100)_N4和tx1_N4;
假设所确定的高度100的区块为blockheader(100)_N2,N2再将完整的block(100)_N2广播出来;
N1将block(100)_N2确定为经过共识的高度100的区块。
上述实施例减少了交易的冗余广播。
图2为本发明一实施例提供的一种设备的结构示意图。
如图2所示,作为另一方面,本申请还提供了一种设备200,包括一个或多个中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM203中,还存储有设备200操作所需的各种程序和数据。CPU201、ROM202以及RAM203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请提供的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种区块确认方法,其特征在于,适用于区块链节点,所述方法包括:
在当前高度到达第二高度,以及,在根据委员会成员确定规则判断出当前节点为第一轮的委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员,并根据打包人抽取规则抽取第二数量个第一打包人,其中,所述第一轮的初始区块高度与所述第一轮包括的区块数量之差等于所述第二高度;
将各所述第一委员会成员和各所述第一打包人的第一信息广播给其它区块链节点;
接收若干第一区块链节点广播的第二信息;其中,所述第二信息包括所述第一数量个第二委员会成员和所述第二数量个第二打包人,所述第二委员会成员由所述第一区块链节点在根据所述委员会成员确定规则判断出本节点为所述第一轮的委员会成员时根据所述委员会成员抽取规则所抽取,所述第二打包人由所述第一区块链节点在根据所述委员会成员确定规则判断出本节点为委员会成员时根据所述打包人抽取规则所抽取;
在第一时长后,对所述第一信息和各所述第二信息投票:若存在任一第一委员会成员或第二委员会成员获得足额的票数,则将获得足额票数的所述第一委员会成员或第二委员会成员确定为所述第一轮的委员会成员;以及,若存在任一第一打包人或第二打包人获得足额的票数,则将获得足额票数的所述第一打包人或第二打包人确定为所述第一轮的打包人;
对于所确定的打包人所生成的所述第一轮的各第一高度的第一区块执行如下操作:对各所述第一区块投票以得到经过共识的第二区块。
2.根据权利要求1所述的方法,其特征在于,所述在根据委员会成员确定规则判断出当前节点为委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员包括:
在d1<=t1/W时,判断出当前节点为委员会成员;其中,d1为当前节点所计算得到的第一哈希值与2^256的比值,t1为所述第一数量,W为所有抵押的通证数量,区块链节点每抵押第三数量个通证以获取一个tikect以参与共识,所述第一哈希值的计算方法为d1=vrf(seed,height,sk1),seed为当前区块的区块哈希,height为所述第一轮的初始区块高度,sk1为当前节点所持有的私钥;
获取di<=t1/W的区块链节点为第一委员会成员;其中,di为其它区块链节点所计算得到的第二哈希值与2^256的比值,所述第二哈希值的计算方法为di=vrf(seed,height,sk2),sk2为其它节点所持有的私钥;
所述根据打包人抽取规则抽取第二数量个第一打包人包括:
获取dj<=t2/W的区块链节点为第一打包人;其中,dj为其它区块链节点所计算得到的第三哈希值与2^256的比值,所述第三哈希值的计算方法为dj=vrf(seed,height,sk2),t2为所述第二数量。
3.根据权利要求1所述的方法,其特征在于,所述在根据委员会成员确定规则判断出当前节点为委员会成员时,根据委员会成员抽取规则抽取第一数量个第一委员会成员包括:
在d2<=t3/W时,判断出当前节点为委员会成员;其中,d2为当前节点所计算得到的第四哈希值与2^256的比值,t1为所述第一数量,t3=3*t1+1,W为所有抵押的通证数量,区块链节点每抵押第三数量个通证以获取一个tikect以参与共识,所述第四哈希值的计算方法为d2=vrf(seed,height,sk1),seed为当前区块的区块哈希,height为所述第一轮的初始区块高度,sk1为当前节点所持有的私钥;
获取dm<=t3/W的区块链节点为第一委员会成员,并将所述第一高度的委员会成员获取次数加一以更新所述委员会成员获取次数;其中,dm为其它区块链节点所计算得到的第五哈希值与2^256的比值,所述第五哈希值的计算方法为dm=vrf(seed,height,sk2),sk2为其它节点所持有的私钥;
在所述委员会成员获取次数未到达第一数值时,判断所获取的区块链节点的数量是否到达所述第一数量:
否,则返回所述获取dm<=t3/W的区块链节点为第一委员会成员;
所述根据打包人抽取规则抽取第二数量个第一打包人包括:
获取dn<=t4/W的区块链节点为第一打包人,并将所述第一高度的打包人获取次数加一以打包人获取次数;其中,dn为其它区块链节点所计算得到的第六哈希值与2^256的比值,t2为所述第二数量,t4=3*t2+1,所述第六哈希值的计算方法为dn=vrf(seed,height,sk2);
在所述打包人获取次数未到达所述第一数值时,判断所获取的区块链节点的数量是否到达所述第二数量:
否,则返回所述获取dn<=t4/W的区块链节点为第一打包人。
4.根据权利要求2或3所述的方法,其特征在于,所述将各所述第一委员会成员和各所述第一打包人的第一信息广播给其它区块链节点包括:
将各所述第一委员会成员和各所述第一打包人的节点哈希广播给其它区块链节点;
所述接收若干第一区块链节点广播的第二信息包括:
接收若干第一区块链节点广播的各所述第二委员会成员和各所述第二打包人的节点哈希;
所述对所述第一信息和各所述第二信息投票包括:
对各所述第一委员会成员、各所述第一打包人、各所述第二委员会成员和各所述第二打包人的节点哈希投票。
5.根据权利要求3所述的方法,其特征在于,所述将获得足额票数的所述第一委员会成员或第二委员会成员确定为所述第一轮的委员会成员包括:
根据节点哈希由小到大的顺序从获得足额票数的所述第一委员会成员或第二委员会成员中抽取所述第一数量个确定为所述第一轮的委员会成员;
所述将获得足额票数的所述第一打包人或第二打包人确定为所述第一轮的打包人包括:
根据节点哈希由小到大的顺序从获得足额票数的所述第一打包人或第二打包人中抽取所述第二数量个确定为所述第一轮的打包人。
6.根据权利要求1所述的方法,其特征在于,对各所述第一区块投票以得到经过共识的第二区块包括:
若在第二时长内只接收到一个第一区块,则对所接收到的所述第一区块投票;
若在第二时长内接收到若干第一区块,则对区块哈希最小的第一区块投票。
7.根据权利要求1所述的方法,其特征在于,所述第一区块的各投票包括于第一交易,所述第一交易为第二高度的第三区块中的第一笔交易,所述第一交易由所述第二高度的第三打包人所生成,所述第二高度为所述第一高度加一。
8.根据权利要求7所述的方法,其特征在于,所述接收所确定的打包人生成的第一高度的第一区块包括:
接收所确定的打包人生成的第一高度的第一区块的第一区块头和所述第一区块的第二交易;其中,所述第二交易为所述第一区块的第一笔交易;
所述对各所述第一区块投票以得到经过共识的第二区块包括:
对各所述第一区块头投票,以供各所确定的打包人:在所生成的第一区块头获得足额的票数时,广播所生成的第一区块;
将所述第一区块确定为经过共识的第二区块。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-8中任一项所述的方法。
10.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111289570.3A CN114124961A (zh) | 2021-11-02 | 2021-11-02 | 区块确认方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111289570.3A CN114124961A (zh) | 2021-11-02 | 2021-11-02 | 区块确认方法、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114124961A true CN114124961A (zh) | 2022-03-01 |
Family
ID=80380207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111289570.3A Pending CN114124961A (zh) | 2021-11-02 | 2021-11-02 | 区块确认方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124961A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109360100A (zh) * | 2018-11-13 | 2019-02-19 | 北京航空航天大学 | 基于区块链技术的交易快速确认方法及装置 |
CN109583903A (zh) * | 2018-11-28 | 2019-04-05 | 杭州复杂美科技有限公司 | 区块确认方法、设备和存储介质 |
CN109889397A (zh) * | 2019-03-31 | 2019-06-14 | 杭州复杂美科技有限公司 | 抽签方法、区块生成方法、设备及存储介质 |
CN109964446A (zh) * | 2018-06-08 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
US20190260574A1 (en) * | 2018-02-21 | 2019-08-22 | Thunder Token Inc. | Blockchain consensus methods and systems |
CN110246038A (zh) * | 2019-04-26 | 2019-09-17 | 众安信息技术服务有限公司 | 一种区块链交易快速确认方法及系统 |
US20200059369A1 (en) * | 2017-05-16 | 2020-02-20 | Peking University Shenzhen Graduate School | Determining consensus by parallel proof of voting in consortium blockchain |
CN110853214A (zh) * | 2019-11-06 | 2020-02-28 | 杭州复杂美科技有限公司 | 区块生成方法、设备和存储介质 |
WO2020048436A1 (zh) * | 2018-09-07 | 2020-03-12 | 腾讯科技(深圳)有限公司 | 代表节点设备选举方法、装置、计算机设备及存储介质 |
CN111047439A (zh) * | 2018-10-12 | 2020-04-21 | 北京邦天信息技术有限公司 | 一种基于区块链的交易处理方法 |
US20200134578A1 (en) * | 2018-10-25 | 2020-04-30 | Thunder Token Inc. | Blockchain consensus systems and methods involving a time parameter |
CN113067707A (zh) * | 2021-06-02 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
US20210297238A1 (en) * | 2020-03-23 | 2021-09-23 | Dora Network Limited | Blockchain consensus method and system, and computer-readable storage medium |
-
2021
- 2021-11-02 CN CN202111289570.3A patent/CN114124961A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200059369A1 (en) * | 2017-05-16 | 2020-02-20 | Peking University Shenzhen Graduate School | Determining consensus by parallel proof of voting in consortium blockchain |
US20190260574A1 (en) * | 2018-02-21 | 2019-08-22 | Thunder Token Inc. | Blockchain consensus methods and systems |
CN109964446A (zh) * | 2018-06-08 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
WO2020048436A1 (zh) * | 2018-09-07 | 2020-03-12 | 腾讯科技(深圳)有限公司 | 代表节点设备选举方法、装置、计算机设备及存储介质 |
CN111047439A (zh) * | 2018-10-12 | 2020-04-21 | 北京邦天信息技术有限公司 | 一种基于区块链的交易处理方法 |
US20200134578A1 (en) * | 2018-10-25 | 2020-04-30 | Thunder Token Inc. | Blockchain consensus systems and methods involving a time parameter |
CN109360100A (zh) * | 2018-11-13 | 2019-02-19 | 北京航空航天大学 | 基于区块链技术的交易快速确认方法及装置 |
CN109583903A (zh) * | 2018-11-28 | 2019-04-05 | 杭州复杂美科技有限公司 | 区块确认方法、设备和存储介质 |
WO2020108419A1 (zh) * | 2018-11-28 | 2020-06-04 | 杭州复杂美科技有限公司 | 区块确认方法、设备和存储介质 |
CN109889397A (zh) * | 2019-03-31 | 2019-06-14 | 杭州复杂美科技有限公司 | 抽签方法、区块生成方法、设备及存储介质 |
CN110246038A (zh) * | 2019-04-26 | 2019-09-17 | 众安信息技术服务有限公司 | 一种区块链交易快速确认方法及系统 |
CN110853214A (zh) * | 2019-11-06 | 2020-02-28 | 杭州复杂美科技有限公司 | 区块生成方法、设备和存储介质 |
US20210297238A1 (en) * | 2020-03-23 | 2021-09-23 | Dora Network Limited | Blockchain consensus method and system, and computer-readable storage medium |
CN113067707A (zh) * | 2021-06-02 | 2021-07-02 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
宋宇波;张仕奇;宋睿;: "一种基于投票权竞争的区块链共识机制", 山东大学学报(理学版), no. 03 * |
张翼;: "TPS和区块链的关系以及解决方案的相关探索", 中国新通信, no. 22 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107566124B (zh) | 基于哈希运算的共识建立方法、区块链系统及存储介质 | |
CN109242500B (zh) | 区块链交易有效性验证方法、装置及存储介质 | |
US20220172090A1 (en) | Data identification method and apparatus, and device, and readable storage medium | |
CN113034000A (zh) | 一种风控处理方法、装置、计算设备和存储介质 | |
CN111352759A (zh) | 一种告警根因的判定方法及装置 | |
CN112564991A (zh) | 应用识别方法、装置及存储介质 | |
CN110930254A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN112671932B (zh) | 一种基于大数据和云计算的数据处理方法及云计算节点 | |
CN114124961A (zh) | 区块确认方法、计算机设备和存储介质 | |
US20090083379A1 (en) | Enabling connections for use with a network | |
CN116980281A (zh) | 节点选取方法、装置、第一节点、存储介质及程序产品 | |
CN110674632A (zh) | 一种确定安全级别的方法及装置、存储介质和设备 | |
CN112788356B (zh) | 一种直播审核的方法、装置、服务器和存储介质 | |
CN113438092B (zh) | 一种交易广播方法及系统 | |
CN112258184B (zh) | 冻结区块链网络的方法、装置、电子设备及可读存储介质 | |
CN109428906A (zh) | 请求处理方法、装置、系统及终端 | |
CN110110081B (zh) | 用于移动互联网海量监测数据的分级分类处理方法及系统 | |
JP6252315B2 (ja) | 場所検知装置、場所検知プログラムおよび場所検知方法 | |
CN112634034A (zh) | 预约方法、装置、电子设备及计算机可读存储介质 | |
CN113254493A (zh) | 分布式数据库的数据分组统计方法及系统 | |
CN112288528A (zh) | 恶意社群发现方法、装置、计算机设备和可读存储介质 | |
CN113206882B (zh) | 共识方法、计算机设备和存储介质 | |
CN115238065B (zh) | 一种基于联邦学习的公文智能推荐方法 | |
CN111724208B (zh) | 一种数据发送方法、装置、设备和系统 | |
CN111556149B (zh) | 一种基于Raft共识算法的节点选择方法及装置 |
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 |