一种区块链中记账节点的确定方法及装置制造方法及图纸

技术编号:32021206 阅读:14 留言:0更新日期:2022-01-22 18:40
本申请公开一种区块链中记账节点的确定方法及装置,属于区块链技术领域,该方法包括:区块链中的节点接收其它节点关于记账节点的第一选择结果和第一选择结果的突解决次数,若第一选择结果与自身对记账节点的第二选择结果不同,则基于第一选择结果的冲突解决次数和第二选择结果的冲突解决次数进行冲突分析,基于分析得到的第三选择结果与第二选择结果是否相同,确定是否更新第二选择结果,基于是否更新第二选择结果,确定是否向区块链中的其它节点发送自身的记账节点选择信息,直至基于接收到的各节点的第一选择结果和自身最新的第二选择结果确定区块链中超过预设比例的节点的选择结果相同时,将对应选择结果确定为最终的记账节点选择结果。的记账节点选择结果。的记账节点选择结果。

【技术实现步骤摘要】
一种区块链中记账节点的确定方法及装置


[0001]本申请涉及区块链
,尤其涉及一种区块链中记账节点的确定方法 及装置。

技术介绍

[0002]区块链是在对等网络环境中通过透明可信的规则构建的一种不可伪造、不 可篡改和可追溯的块链式数据结构,区块链的重要技术之一是共识机制。
[0003]相关技术中,主要利用工作量证明(Proof of Work,PoW)在区块链的不 同节点之间寻求共识,PoW需区块链中的所有节点都进行耗时运算,然而,实 际上只有少数节点的运算结果会最终被记录上链,所以许多节点进行的运算都 是无效的,这样,既浪费各节点算力又难以快速达成共识。

技术实现思路

[0004]本申请实施例提供一种区块链中记账节点的确定方法及装置,用以解决相 关技术中区块链中的共识机制存在的既浪费节点算力又难以缩短共识达成时 间的问题。
[0005]第一方面,本申请实施例提供一种区块链中记账节点的确定方法,包括:
[0006]接收区块链中其它节点的记账节点选择信息,所述记账节点选择信息至少 包括记账节点的第一选择结果和所述第一选择结果的冲突解决次数;
[0007]若所述第一选择结果与自身对记账节点的第二选择结果不同,则基于所述 第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次数进行冲突 分析,得到第三选择结果;
[0008]基于所述第二选择结果与所述第三选择结果是否相同,确定是否更新所述 第二选择结果;
[0009]基于是否更新所述第二选择结果,确定是否向区块链中的其它节点发送自 身的记账节点选择信息;
[0010]若基于接收到的各节点的第一选择结果和自身最新的第二选择结果确定 区块链中超过预设比例的节点的选择结果相同,则将对应选择结果确定为最终 的记账节点选择结果。
[0011]在一些实施例中,基于所述第一选择结果的冲突解决次数和所述第二选择 结果的冲突解决次数进行冲突分析,得到第三选择结果,包括:
[0012]若所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次 数相同,则对所述第一选择结果和所述第二选择结果进行冲突解决,得到所述 第三选择结果;
[0013]若所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次 数不同,则将所述第一选择结果和所述第二选择结果中冲突解决次数大的确定 为所述第三选择结果。
[0014]在一些实施例中,对所述第一选择结果和所述第二选择结果进行冲突解决, 得到
所述第三选择结果,包括:
[0015]按照节点出现次数对所述第一选择结果和所述第二选择结果中的节点进 行排序;
[0016]按照节点出现次数从多到少的顺序,从所述第一选择结果和所述第二选择 结果中选择所述预设比例的节点作为所述第三选择结果。
[0017]在一些实施例中,基于所述第二选择结果与所述第三选择结果是否相同, 确定是否更新所述第二选择结果,包括:
[0018]若所述第二选择结果与所述第三选择结果相同,则确定不更新所述第二选 择结果;
[0019]若所述第二选择结果与所述第三选择结果不同,则用所述第三选择结果替 换所述第二选择结果。
[0020]在一些实施例中,基于是否更新所述第二选择结果,确定是否向区块链中 的其它节点发送自身的记账节点选择信息,包括:
[0021]若更新所述第二选择结果,则基于更新后的第二选择结果向区块链中的其 它节点发送自身的记账节点选择信息;
[0022]若不更新所述第二选择结果,则不向区块链中的其它节点发送自身的记账 节点选择信息。
[0023]在一些实施例中,所述记账节点选择信息还包括在生成所述第一选择结果 时使用的第一节点信息表,还包括:
[0024]在基于所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解 决次数进行冲突分析,得到第三选择结果之前,确定所述第一节点信息表与第 二节点信息表相同,所述第二节点信息表是在生成所述第二选择结果时使用的 节点信息表。
[0025]在一些实施例中,还包括:
[0026]若所述第一节点信息表与所述第二节点信息表不同、且所述第一节点信息 表未包含在所述第二节点信息表中,则对所述第一节点信息表和所述第二节点 信息表进行合并处理,得到第三节点信息表;
[0027]用所述第三节点信息表替换所述第二节点信息表,并向区块链中其它节点 发送替换后的第二节点信息表。
[0028]在一些实施例中,当所述第二选择结果的冲突解决次数为零时,第二选择 结果是从所述第二节点信息表中随机选择的。
[0029]在一些实施例中,在将对应选择结果确定为最终的记账节点选择结果之后, 还包括:
[0030]若确定自身属于记账节点,则在指定时间段内进行区块铸造,将铸造的区 块发送给区块链中的其它节点进行验证处理,并对接收到的区块链中的其它记 账节点发送的区块进行验证处理;
[0031]若确定自身不属于记账节点,则在指定时间段内对区块链中的任一记账节 点发送的区块进行验证处理。
[0032]第二方面,本申请实施例提供一种区块链中记账节点的确定装置,包括:
[0033]接收模块,用于接收区块链中其它节点的记账节点选择信息,所述记账节 点选择
信息至少包括记账节点的第一选择结果和所述第一选择结果的冲突解 决次数;
[0034]冲突分析模块,用于若所述第一选择结果与自身对记账节点的第二选择结 果不同,则基于所述第一选择结果的冲突解决次数和所述第二选择结果的冲突 解决次数进行冲突分析,得到第三选择结果;
[0035]更新控制模块,用于基于所述第二选择结果与所述第三选择结果是否相同, 确定是否更新所述第二选择结果;
[0036]发送控制模块,用于基于是否更新所述第二选择结果,确定是否向区块链 中的其它节点发送自身的记账节点选择信息;
[0037]确定模块,用于若基于接收到的各节点的第一选择结果和自身最新的第二 选择结果确定区块链中超过预设比例的节点的选择结果相同,则将对应选择结 果确定为最终的记账节点选择结果。
[0038]在一些实施例中,所述冲突分析模块具体用于:
[0039]若所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次 数相同,则对所述第一选择结果和所述第二选择结果进行冲突解决,得到所述 第三选择结果;
[0040]若所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次 数不同,则将所述第一选择结果和所述第二选择结果中冲突解决次数大的确定 为所述第三选择结果。
[0041]在一些实施例中,所述冲突分析模块具体用于:
[0042]按照节点出现次数对所述第一选择结果和所述第二选择结果中的节点进 行排序;
[0043]按照节点出现次数从多到少的顺序,从所述第一选择结果和所述第二选择 结果中选择所述预设比例的节点作为所述第三选择结果。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链中记账节点的确定方法,其特征在于,包括:接收区块链中其它节点的记账节点选择信息,所述记账节点选择信息至少包括记账节点的第一选择结果和所述第一选择结果的冲突解决次数;若所述第一选择结果与自身对记账节点的第二选择结果不同,则基于所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次数进行冲突分析,得到第三选择结果;基于所述第二选择结果与所述第三选择结果是否相同,确定是否更新所述第二选择结果;基于是否更新所述第二选择结果,确定是否向区块链中的其它节点发送自身的记账节点选择信息;若基于接收到的各节点的第一选择结果和自身最新的第二选择结果确定区块链中超过预设比例的节点的选择结果相同,则将对应选择结果确定为最终的记账节点选择结果。2.如权利要求1所述的方法,其特征在于,基于所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次数进行冲突分析,得到第三选择结果,包括:若所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次数相同,则对所述第一选择结果和所述第二选择结果进行冲突解决,得到所述第三选择结果;若所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次数不同,则将所述第一选择结果和所述第二选择结果中冲突解决次数大的确定为所述第三选择结果。3.如权利要求2所述的方法,其特征在于,对所述第一选择结果和所述第二选择结果进行冲突解决,得到所述第三选择结果,包括:按照节点出现次数对所述第一选择结果和所述第二选择结果中的节点进行排序;按照节点出现次数从多到少的顺序,从所述第一选择结果和所述第二选择结果中选择所述预设比例的节点作为所述第三选择结果。4.如权利要求1所述的方法,其特征在于,基于所述第二选择结果与所述第三选择结果是否相同,确定是否更新所述第二选择结果,包括:若所述第二选择结果与所述第三选择结果相同,则确定不更新所述第二选择结果;若所述第二选择结果与所述第三选择结果不同,则用所述第三选择结果替换所述第二选择结果。5.如权利要求1所述的方法,其特征在于,基于是否更新所述第二选择结果,确定是否向区块链中的其它节点发送自身的记账节点选择信息,包括:若更新所述第二选择结果,则基于更新后的第二选择结果向区块链中的其它节点发送自身的记账节点选择信息;若不更新所述第二选择结果,则不向区块链中的其它节点发送自身的记账节点选择信息。6.如权利要求1所述的方法,其特征在于,所述记账节点选择信息还包括在生成所述第一选择结果时使用的第一节点信息表,还包括:在基于所述第一选择结果的冲突解决次数和所述第二选择结果的冲突解决次数进行冲突分析,得到第三选择结果之前,确定所述第一节点信息表与第二节点信息表相同,所述第二节点信息表是在生成所述第二选择结果时使用的节点信息表。
7.如权利要求6所述的方法,其特征在于,还包括:若所述第一节点信息表与所述第二节点信息表不同、且所述第一节点信息表未包含在所述第二节点信息表中,则对所述第一节点信息表和所述第二节点信息表进行合并处理,得到第三节点信息表;用所述第三节点信息表替换所述第二节点信息表,并向区块链中其它节点发送替换后的第二节点信息表。8.如权利要求6所述的方法,其特征在于,当所述第二选择结果的冲突解决次数为零时,第二选择结果是从所述第二节点信息表中随机选择的。9.如权利要求1

8任一所述的方法,其特征在于,在将对应选择结果确定为最终的记账节点选择结果之后,还包括:若确定自身属于记账节点,则在指定时间段内进行区块铸造,将铸造的区块发送给区块链中的其它节点进行验证处理,并对接收到的区块链中的其它记账节点发送的区块进行验证处理;若确定自身不属于记账节点,则在指定时间段内对区块链中的任一记账节点发送的区块进行验证处理。10.一种区块链中记账节点的确定装置,其特征在于,包括:接收模块,用于接收区块链中其它节点的记账节点选择信息,所述记账节点选择信息至少包括记账节点的第一选择结果和所述第一选择结果的冲突解决次数;冲突分析模块,用于若...

【专利技术属性】
技术研发人员:杜力
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1