一种区块链节点身份验证方法技术

技术编号:25193014 阅读:19 留言:0更新日期:2020-08-07 21:19
本发明专利技术公开了一种区块链节点身份验证方法,包括至少有两个区块链节点所构成的区块链;每一个区块链节点都存储有所有区块链中区块链节点的合法的节点公钥;区块链节点在接收交易组的交易数据之前,验证发送交易组的区块链节点的节点公钥,当验证失败时,当前区块链节点拒绝接收;当验证成功时,开启总计时器并依次接收交易组的交易数据,当总计时器的计时周期到达时或者接受的交易数据的数量达到设定的最大数量的时候,将接受的交易数据打包并附上当前区块链节点的节点公钥并发送到下一个区块链节点,以此重复至交易组的交易数据全部发送完毕。本发明专利技术借助合法节点公钥白名单来确保签名认证的合法性,使得本方案适用各种网络环境,具有高度实用性。

【技术实现步骤摘要】
一种区块链节点身份验证方法
本专利技术涉及区块链领域,特别涉及一种区块链节点身份验证方法。
技术介绍
区块链系统是由多个对等的区块链节点组成的,各个节点之间的交易是区块链系统安全运行的重要保证,交易是通过当前节点将节点签名发送给其他节点进行身份验证,也称为签名认证,然后进行后续的操作。在现有技术中,交易只进行单一的签名认证,即对交易缓存进行一次签名认证,这样保证交易与交易之间签名验证相对独立,在某条交易丢失或数据恶意篡改导致验证失败后,不会影响其他交易的安全性和验证过程,并增加了作恶节点的攻击成本,保障了系统交易的安全。但是,在网络拥堵的情况下,该系统容易出现因网络拥堵导致的吞吐量低的问题,同时,在网络畅通的情况下,单一的签名认证忽略了交易之间的独立性,不具有灵活性和高度实用性。
技术实现思路
本专利技术的目的是克服上述现有技术中存在的问题,提供一种区块链节点身份验证方法,使本专利技术可以根据不同网络环境调整缓存交易组签名时机,从而匹配最适合当前网络环境的签名验证方案,解决了在面对不同网络环境时,交易组签名在网络吞吐量和交易独立验证安全之间的平衡性问题,以及交易数量少时批量签名导致的交易无法及时签名送达网络的问题。为此,本专利技术提供一种区块链节点身份验证方法,包括至少有两个区块链节点所构成的区块链;每一个区块链节点都存储有所有区块链中区块链节点的合法的节点公钥;区块链节点在接收交易组的交易数据之前,验证发送交易组的区块链节点的节点公钥,当验证失败时,当前区块链节点拒绝接收;当验证成功时,开启总计时器并依次接收交易组的交易数据,当总计时器的计时周期到达时或者接受的交易数据的数量达到设定的最大数量的时候,将接受的交易数据打包并附上当前区块链节点的节点公钥并发送到下一个区块链节点,以此重复至交易组的交易数据全部发送完毕。进一步,所述计时器为双层计时器,双层计时器包括同时开始计时的且计时周期不同外层计时器和内层计时器;外层计时器的计时周期大于内层计时器的及时周期;外层计时器用于收集在其计时周期内区块链节点所接收的交易数据的数量;内层计时器用于控制交易缓存时间;内层计时器重复计时自然数个其计时周期,当外层计时器一个计时周期满之后,内层计时器计时至当前周期结束,此时为总计时器的计时周期。更进一步,所述外层计时器的计时周期固定,且外层计时器的计时周期=w*内层计时器的计时周期,其中为w调整参数,|Nmax–w*N|=&n,其中limit&n→0,Nmax为当前区块链节点所能接收的最大交易数据的数量,N为内层计时器的计时周期内当前区块链节点上接收的交易数据的数量。更进一步,所述在每一个总计时器的计时周期后,根据Nmax的值重新设定内层计时器的计时周期。进一步,每一个区块链节点还包括一个备用节点;备用节点监听当前区块链节点的运行状态,并实时的更新当前区块链节点所存储的所有区块链中区块链节点的合法的节点公钥以及交易数据;当当前区块链节点宕机的时候,备用节点代理当前区块链节点运行。更进一步,所述备用节点通过接收当前区块链节点所接收的交易数据进行更新,当设定的时间内备用节点没有接收到当前区块链节点的交易数据时,认定当前区块链节点已经宕机。具有如下有益效果:1、本专利技术通过外层计时器统计节点在计时周期内的交易量,来判断当前网络流通情况,并通过内层计时器控制交易组中交易的数量和交易队列缓存时间,保证了在网络畅通时,交易快速签名和交易的相对独立验证,而在网络拥堵时,网络的高吞吐量,保证整体网络正常运行。并且本方案在数据层进行部署,使得本专利技术具有实用性高,通用性强的优点;2、本专利技术通过备用节点对当前节点交易缓存队列进行备份,在当前节点宕机的情况下完成当前节点缓存队列中剩余交易的签名发送工作,最大程度降低了甚至消除了因当前节点宕机导致的交易滞留问题,使本专利技术有了更高的实用性。附图说明图1为本专利技术提供的一种区块链节点身份验证方法的整体流程示意图;图2为本专利技术提供的一种区块链节点身份验证方法的计时器的流程示意图。具体实施方式下面结合附图,对本专利技术的一个具体实施方式进行详细描述,但应当理解本专利技术的保护范围并不受具体实施方式的限制。在本申请文件中,未经明确的部件型号以及结构,均为本领域技术人员所公知的现有技术,本领域技术人员均可根据实际情况的需要进行设定,在本申请文件的实施例中不做具体的限定。参见图1-2,本专利技术提供了一种区块链节点身份验证方法,包括至少有两个区块链节点所构成的区块链;每一个区块链节点都存储有所有区块链中区块链节点的合法的节点公钥;区块链节点在接收交易组的交易数据之前,验证发送交易组的区块链节点的节点公钥,当验证失败时,当前区块链节点拒绝接收;当验证成功时,开启总计时器并依次接收交易组的交易数据,当总计时器的计时周期到达时或者接受的交易数据的数量达到设定的最大数量的时候,将接受的交易数据打包并附上当前区块链节点的节点公钥并发送到下一个区块链节点,以此重复至交易组的交易数据全部发送完毕。节点收集网络中所有合法节点的公钥和身份信息,并将其保存在白名单内,在验证交易时,若采用白名单内的公钥验证失败,则认为交易来自非法节点,拒绝传播该交易。节点在收到交易后,上层管理器控制外层计时器和内层计时器同时开始计时,节点内部采用队列依次缓存收到的交易。在达到以下条件之一的情况下,对缓存交易组进行一次签名,随后发送签名信息和该交易组,并清空缓存队列。双计时器模型使得交易签名认证更灵活,适应不同网络环境和交易量情况。在低交易量时,能保证交易的快速验证通过,不存在交易缓存等待问题,高交易量时,保证系统整体吞吐量,最大化系统性能。其中,外层计时器负责统计交易数量,从而拥有流量监控的功能,而内层计时器负责调整交易组中交易个数从而拥有动态调整的功能,适应不同网络情况进行改变。外层计时器计时周期固定使得拥有系统固定的交易量检测周期,为内层计时器及其后续工作提供基础。内层计时器计时周期的调整使得系统拥有动态调整的能力,以达到适应不同交易量的情况的目的。条件1:缓存队列中交易数量达到设定阈值;条件2:内层计时器计时完毕。其中,内层计时器保证了节点在每经历一次内层计时周期T后,都能向网络发送交易,而不仅限于缓存队列满时。在外层计时器结束计时后,等待内层计时器计时完毕,随后对内层计时周期进行调整,以此保证在任意网络环境下时,平衡交易相对独立验证和网络吞吐量。首先对已有概念进行符号定义:定义1:内层计时周期T,为内层计时器的计时周期定义2:外层计时周期Tmax,为外层计时器的计时周期定义3:Nmax,为服务器所能接收的最大交易量为Nmax,为一定值,不同服务器Nmax有所差别;Nmax的值也可以认为的进本文档来自技高网...

【技术保护点】
1.一种区块链节点身份验证方法,其特征在于,包括至少有两个区块链节点所构成的区块链;/n每一个区块链节点都存储有所有区块链中区块链节点的合法的节点公钥;/n区块链节点在接收交易组的交易数据之前,验证发送交易组的区块链节点的节点公钥,当验证失败时,当前区块链节点拒绝接收;/n当验证成功时,开启总计时器并依次接收交易组的交易数据,当总计时器的计时周期到达时或者接受的交易数据的数量达到设定的最大数量的时候,将接受的交易数据打包并附上当前区块链节点的节点公钥并发送到下一个区块链节点,以此重复至交易组的交易数据全部发送完毕。/n

【技术特征摘要】
1.一种区块链节点身份验证方法,其特征在于,包括至少有两个区块链节点所构成的区块链;
每一个区块链节点都存储有所有区块链中区块链节点的合法的节点公钥;
区块链节点在接收交易组的交易数据之前,验证发送交易组的区块链节点的节点公钥,当验证失败时,当前区块链节点拒绝接收;
当验证成功时,开启总计时器并依次接收交易组的交易数据,当总计时器的计时周期到达时或者接受的交易数据的数量达到设定的最大数量的时候,将接受的交易数据打包并附上当前区块链节点的节点公钥并发送到下一个区块链节点,以此重复至交易组的交易数据全部发送完毕。


2.如权利要求1所述的一种区块链节点身份验证方法,其特征在于,所述计时器为双层计时器,双层计时器包括同时开始计时的且计时周期不同外层计时器和内层计时器;
外层计时器的计时周期大于内层计时器的及时周期;
外层计时器用于收集在其计时周期内区块链节点所接收的交易数据的数量;
内层计时器用于控制交易缓存时间;
内层计时器重复计时自然数个其计时周期,当外层计时器一个计时周期满之后,内层计时器计时至当前周期结束,此时为总计时器的计时周期。


3.如权利要求2所述的一种区块链节点身份...

【专利技术属性】
技术研发人员:王子龙熊松松
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

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

1