基于联盟链的分层认证系统、方法、电子设备及可读存储介质与流程

文档序号:29142677发布日期:2022-03-05 04:24阅读:52来源:国知局
基于联盟链的分层认证系统、方法、电子设备及可读存储介质与流程

1.本发明涉及联盟链应用技术领域,具体地,公开了一种基于联盟链的分层认证系统、电子设备及可读存储介质。


背景技术:

2.公有链,私有链,联盟链并称为区块链,每种不同的区块链都有各自的特点。在公有链中,一个新的区块是否能够上链,需要由区块链中所有的节点来决定,从而导致公有链对交易的处理速度很慢;但对于联盟链来说,一个新的区块是否能够上链,只要其中几个权重较高的节点进行确定就可以了,这就意味着一笔交易不需要所有节点的确认就可以进行,大大的降低了交易处理时间。同时,联盟链中的每个节点都有属于自己的一个私钥,每个节点自己产生的数据信息只有该节点自己知道,如果节点与节点之间需要进行信息交换和数据交流,就必须知道对方节点私钥,这样一来,既能够在保证信息流通的同时,又避免了节点隐私泄露的问题。作为中心化和去中心化的互相交融和渗透的产物,联盟链既有中心化的优点,也具有去中心化的思维,上述特点使得联盟链在当前的区块链应用市场中取得了愈发多的关注。
3.但在现有技术的执行过程中,由于联盟链中权重较高的节点分布相对稀少和集中,导致大量待审批事项会积压在这些权重较高的节点中,等待时间过长导致联盟链对于交易的处理速度有所降低,同时使得联盟链的整体性能受制于这些权重较高的节点的处理能力,限制了联盟链的进一步发展。


技术实现要素:

4.针对现有技术中存在的上述缺陷,本发明提供一种基于联盟链的分层认证系统、方法、电子设备及可读存储介质。
5.具体地,在本技术的第一方面提供了一种基于联盟链的分层认证系统,具体包括:
6.若干个联盟链节点,其中,具有审核权限的联盟链节点呈默克尔树分布;
7.其中:
8.默克尔树的叶节点,不具有审核权限;
9.默克尔树的根节点,具有全部联盟链节点的审核权限;
10.默克尔树的中间节点,位于默克尔树的最下层的叶节点与最上层的根节点之间,中间节点具有其下属分支的全部下层节点的审核权限。
11.在上述第一方面的一种可能的实现中,基于默克尔树的分布情况,将除根节点外的任意一个具有审核需求的联盟链节点作为待审核节点。
12.在上述第一方面的一种可能的实现中,于默克尔树中,与待审核节点至根节点的最短路径上的上层全部联盟链节点,具有待审核节点的审核权限;
13.将与待审核节点至根节点的最短路径上的上层全部联盟链节点作为对应审核权节点,则对应审核权节点执行审核操作包括:
14.获取待审核节点发起的审核需求;和/或
15.同意或拒绝审核需求。
16.在上述第一方面的一种可能的实现中,在任意一个待审核节点发起审核需求,对应审核权节点获取审核需求;
17.任一对应审核权节点执行完成与审核需求相关的审核操作,待审核节点接收相应的审核结果。
18.本技术的第二方面提供了一种基于联盟链的分层认证方法,应用于前述第一方面提供的基于联盟链的分层认证系统中,包括:
19.设定联盟链中的联盟链节点呈默克尔树分布;
20.将具有审核需求的联盟链节点作为待审核节点;
21.将待审核节点的审核需求向联盟链广播;
22.基于审核需求,将与待审核节点至根节点的最短路径上的上层全部联盟链节点作为对应审核权节点;
23.对应审核节点执行审核操作。
24.在上述第二方面的一种可能的实现中,对应审核权节点执行审核操作包括:
25.获取待审核节点发起的审核需求;和/或
26.同意或拒绝审核需求。
27.在上述第二方面的一种可能的实现中,任一对应审核权节点执行完成与审核需求相关的审核操作,待审核节点接收相应的审核结果。
28.在上述第二方面的一种可能的实现中,对应审核权节点根据预设次序,对审核需求执行审核操作。
29.在上述第二方面的一种可能的实现中,基于默克尔树的分布情况,默克尔树中除根节点外的任意一个联盟链节点的私钥,根据根节点的私钥、联盟链节点至根节点的路径以及联盟链节点在默克尔树中的层级位置信息,通过哈希加密算法获得;
30.具有待审核节点的审核权限的联盟链节点,通过获取待审核节点的私钥执行审核操作。
31.本技术的第三方面提供了一种电子设备,包括:存储器,存储器用于存储处理程序;处理器,处理器执行处理程序时实现前述第二方面所提供的基于联盟链的分层认证方法。
32.本技术的第四方面提供了一种计算机可读存储介质,该种计算机可读存储介质上存储有处理程序,处理程序被处理器执行时实现前述第二方面所提供的基于联盟链的分层认证方法。
33.与现有技术相比,本技术具有如下的有益效果:
34.通过本技术提出的技术方案,基于默克尔树的架构形式对于联盟链的认证分布结构进行设置,使得联盟链中任意一个节点在发起待审批事宜的过程中,于默克尔树结构中,这一发起待审批事项的节点至默克尔树根节点之间最短路径上的全部节点均可对上述待审批事宜进行审批,避免了待审批事宜往往集中于联盟链中几个权重较高的节点所导致堵塞情况的产生,大大加快联盟链中的事务审核效率,在满足去中心化思想的同时实现高效率的分层事务处理,具有推广价值。
附图说明
35.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
36.图1根据本技术实施例,示出了一种基于联盟链的分层认证系统的结构示意图。
37.图2根据本技术实施例,示出了一种基于联盟链的分层认证方法的流程示意图。
具体实施方式
38.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
39.针对现有技术中存在的联盟链中权重较高节点在分布上相对稀少和集中,进而导致大量待审批事项挤压时间过长,联盟链整体对交易的处理效率低下的问题,本技术提出了一种基于联盟链的分层认证系统及其方法。通过本技术,能够基于默克尔树的架构形式建立联盟链的分层审核认证架构,从而提升联盟链中的事务审核效率,在满足去中心化思想的同时实现高效率的分层事务处理。
40.具体地,图1根据本技术的一些实施例,示出了在本技术的第一方面提供了一种基于联盟链的分层认证系统,该种基于联盟链的分层认证系统具体包括:
41.若干联盟链节点100,每个联盟链节点100根据自身所具有的审核权限的差异呈默克尔树分布。可以理解的是,默克尔树一种二叉树的树形结构,如图1所示,可以由一个根节点、一层叶节点和若干层中间节点所组成。
42.进一步地,在如图1所示的联盟链分层认证系统中,包含15个呈默克尔树分布的联盟链节点100,其中:
43.默克尔树的叶节点对应的联盟链节点不具有审核权限,即图1中联盟链节点(8) 至联盟链节点(15)所对应的账户不具有任何审核权限。
44.默克尔树的根节点对应的联盟链节点具有全部联盟链节点的审核权限,即图1中联盟链节点(1)对应的账户具有全部联盟链节点的审核权限。
45.默克尔树的中间节点(2~7)对应的联盟链节点,具有默克尔树中与其位于同一分支的全部下层节点对应的联盟链节点的审核权限。
46.以下将对上述审核权限的分布情况进行说明。
47.可以理解的是,联盟链中的每个节点都有属于自己的一个私钥,每个节点自己产生的数据信息只有该节点自己知道,如果节点与节点之间需要进行信息交换和数据交流,就必须知道对方节点私钥。也就是说,具有审核权限,实质上即是能够获取待审批节点的私钥。
48.于上述实施例中,基于默克尔树的分布情况,默克尔树中除根节点外的任意一个节点的私钥,可以通过根节点的私钥、节点至根节点的路径以及节点于默克尔树中的层位置信息,基于哈希加密算法获得。具体可以依照如下算法进行实现:
49.联盟链节点私钥=hash(根节点私钥,联盟链节点至根节点的路径)
50.例如,如图1所示,联盟链节点2对应的账户私钥可以为“hash(联盟链节点1对应的
账户私钥,“/path/index”)”,其中path可自定义为联盟链节点2至联盟链节点1之间的最短路径表示,index是自然数,用来区分同层级的不同节点,即代表了该节点于默克尔树中的层位置信息。据此可以理解,基于默克尔树的分布情况,将除根节点外的任意一个具有审核需求的联盟链节点作为待审核节点,则于默克尔树中,与待审核节点至根节点的最短路径上的全部节点对应的联盟链节点均具有待审核节点的审核权限,因为这些联盟链节点可以通过层层推导的方式获取待审核节点的私钥信息。
51.进一步地,在上述实施例的基础上,基于默克尔树的分布情况,将除根节点外的任意一个具有审核需求的联盟链节点作为待审核节点,则可以将具有待审核节点的审核权限的联盟链节点作为对应审核权节点,在存在审核需求的情况下由对应审核权节点执行审核操作,审核操作包括:
52.获取联盟链节点发起的待审批事务;和/或
53.同意或拒绝联盟链节点执行待审批事务。
54.在本技术的一些实施例中,基于默克尔树的分布情况,将除根节点外的任意一个具有审核需求的联盟链节点作为待审核节点,则于默克尔树中,与待审核节点至根节点的最短路径上的全部上层节点对应的联盟链节点均具有待审核节点的审核权限。
55.进一步地,在上述实施例中,在任意一个待审核节点发起审核需求的情况下,全部对应审核权节点均会获取审核需求;
56.在任意一个对应审核权节点执行完成与审核需求对应的审核操作的情况下,待审核节点根据审核操作接收相应的审核结果。
57.可以理解的是,对于具有审核需求的待审核节点而言,其至根节点的最短路径上的全部上层节点均具有相应的审核权限。为了保证对于同一待审批事项的审批结果不出现矛盾,可以对审核操作的具体实现进行进一步限定。以下将通过一具体实施例对本技术方案做出进一步阐释和说明:
58.在如图1所示的联盟链分层认证结构中,当联盟链节点8对应的账户存在交易文件需要其他可认证节点对其进行审批时,联盟链节点1、联盟链节点2以及联盟链节点4所对应的账户都具有审批权限可以执行审批操作。此时联盟链节点8可以向全联盟链节点广播这一需要进行审批的交易文件,除联盟链节点1、联盟链节点2以及联盟链节点4以外的其他联盟链节点在收到该交易文件时,由于没有相应的审批权限可以直接将该交易文件丢弃掉不做任何处理。
59.于上述具体实施例中,联盟链节点1、联盟链节点2以及联盟链节点4所对应的账户都可以对上述交易文件进行审批。在一种可能情况中,联盟链节点1、联盟链节点2以及联盟链节点4所对应的账户都将针对该交易文件的审批操作纳入审批队列中,并依照审批队列依次执行审批操作。考虑到各个节点对应的审批队列的长度不同,只要联盟链节点1、联盟链节点2以及联盟链节点4所对应的账户中的任何一个完成了对于交易文件的审批,即可将审批结果反馈至联盟链节点8对应的账户,同时通知另外两个节点将该交易文件从当前审批队列中删除,防止对同一事项进行二次或多次审批。
60.而在另一种可能情况中,联盟链节点1、联盟链节点2以及联盟链节点4所对应的账户之间能够获取彼此之间的审核队列情况,若是联盟链节点1以及联盟链节点2 所对应的账户当前待审核的审批队列较长,但联盟链节点4对应的账户当前待审核的审批队列较短,
则可以直接将交易文件对应的审批事项安排至联盟链节点4对应的审批队列中,即可以参照类似于负载均衡的思路对于该交易文件的具体审核节点进行匹配。
61.在本技术的一些实施例中,图2还提供了一种基于联盟链的分层认证方法,应用于前述实施例所提供的基于联盟链的分层认证系统中。如图2所示,该种分层认证方法具体包括:
62.步骤200:设定联盟链中的联盟链节点呈默克尔树分布。具体分布结构可以参考图1所示的默克尔树型结构,在此不做赘述。
63.步骤201:将具有审核需求的联盟链节点作为待审核节点。
64.步骤202:将待审核节点的审核需求向联盟链广播。
65.步骤203:基于审核需求,将与待审核节点至根节点的最短路径上的上层全部联盟链节点作为对应审核权节点。
66.步骤204:由对应审核节点执行审核操作。可以理解的是,在待审核节点就审核需求进行全网广播的过程中,每个联盟链节点都可以获悉这一审核需求,但没有相关审核权限的联盟链节点会自动将与审核需求相关的内容丢弃不进行处理,而拥有相关审核权限的联盟链节点则会将审核需求纳入自身的审核队列中依次序执行审核操作。其中,审核队列可以按照接收到审核需求的时间次序以“先进先出”的次序进行排列,也可以依照审核需求对应的优先级高低按照优先级由高至低的次序进行排列。本领域技术人员能够根据实际需要选择与当前应用场景相适应的排序方式,在此不做限定。
67.可以理解的是,上述步骤200至步骤204的具体实现方式依然在前述有关基于联盟链的分层认证系统中做出了具体的阐释和说明,在此不做赘述。
68.于上述实施例中,在前述步骤204执行完成后,在任意一个具有待审核节点的审核权限的联盟链节点执行完成与审核需求相应的审核操作的情况下,待审核节点根据审核操作接收相应的审核结果。考虑到拥有相关审核权限的联盟链节点均会对待审核节点发起的审核需求执行审核操作,只要其中任意一个联盟链节点完成了审核操作,即说明上述审核需求依然得到了确切的审核答复,可以根据审核答复执行相应的后续处理操作。
69.在本技术的一些实施例中,还提供了一种电子设备。该种电子设备中包含存储器和处理器,其中存储器用于对处理程序进行存储,处理器则根据指令对处理程序进行执行。当处理器对处理程序进行执行时,使得前述实施例中的基于联盟链的分层认证系统得以实现。
70.在本技术的一些实施例中,还提供了一种可读存储介质,该可读存储介质可以为非易失性可读存储介质,也可以为易失性可读存储介质。该可读存储介质中存储有指令,当该指令在计算机上运行时,使得包含该种可读存储介质的电子设备执行前述的基于联盟链的分层认证系统。
71.可以理解的是,对于前述分层认证系统中的各个功能模块,如果均以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动
硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
72.计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf射频等等,或者上述的任意合适的组合。
73.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术所公开的技术方案所涉及的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、 c++等,还包括常规的过程式程序设计语言—诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
74.综上,通过本技术方案,能够基于默克尔树的架构形式对于联盟链的认证分布结构进行设置,使得联盟链中任意一个节点在发起待审批事宜的过程中,于默克尔树结构中,这一发起待审批事项的节点至默克尔树根节点之间最短路径上的全部节点均可对上述待审批事宜进行审批,避免了待审批事宜往往集中于联盟链中几个权重较高的节点所导致堵塞情况的产生,大大加快联盟链中的事务审核效率,在满足去中心化思想的同时实现高效率的分层事务处理,具有推广价值。
75.上面结合附图对本公开的实施方式作了详细说明,但是本公开并不限于上述实施方式。即使对本公开做出各种变化,倘若这些变化属于本公开权利要求及其等同技术的范围之内,则仍落入在本公开的保护范围之中。
76.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1