区块链权限管理方法和区块链系统技术方案

技术编号:31094725 阅读:38 留言:0更新日期:2021-12-01 13:03
本申请实施例提供一种区块链权限管理方法和区块链系统,方法包括:第一节点接收针对第二节点的操作请求,第一节点为区块链系统中的节点管理者,第二节点的节点类型为超级节点、骨干节点或服务节点;第一节点针对节点操作请求投票,以及向其他节点管理者发送第一投票请求,并获得其他节点管理者反馈的投票结果和投票签名,将获得的投票结果和投票签名打包成第一区块,发布到区块链系统中;每个区块链节点对区块中投票签名验签,若通过,则将其追加到本地账本中;若第一区块中半数以上的投票结果为通过,则响应节点操作请求。如此,可以利用区块链系统天然的分布式信任机制,实现灵活可靠的权限控制。可靠的权限控制。可靠的权限控制。

【技术实现步骤摘要】
区块链权限管理方法和区块链系统


[0001]本申请涉及区块链技术,具体地,涉及一种区块链权限管理方法和区块链系统。

技术介绍

[0002]区块链技术是一种多方共同维护的账本技术,由共识机制、密码算法、网络路由、合约脚本等多种技术融合组成,具有分布式可信、难篡改、多方维护等技术特点。这些技术特点使得区块链被认为是互联网普及以来最具颠覆性的技术之一,受到全球各方的高度关注。
[0003]联盟链通常需要一个中心化的证书颁发机构(Certificate Authority,CA)服务器负责权限的控制,降低了区块链天然的分布式信任机制所带来的可靠性,而公有链开放的特性,导致非法交易非常容易滋生。

技术实现思路

[0004]本申请实施例中提供了一种区块链权限管理方法和区块链系统,以解决上述技术问题。
[0005]根据本申请实施例的一个方面,提供了一种区块链权限管理方法,应用于区块链系统,所述方法包括:第一节点接收针对第二节点的节点操作请求,所述第一节点为所述区块链系统中角色信息为节点管理者的一个区块链节点,所述第二节点的节点类型为超级节点、骨干节点或服务节点;所述第一节点针对所述节点操作请求进行投票,以及向所述区块链系统中的其他节点管理者发送第一投票请求,所述第一投票请求用于请求所述节点管理者对所述节点操作请求进行投票;所述第一节点获得所有节点管理者对所述节点操作请求的投票结果及该投票结果对应的投票签名,将所获得的投票结果及投票签名打包成第一区块,将所述第一区块广播到所述区块链系统中;所述区块链系统中的每个区块链节点,验证所述第一区块中的每个投票结果及对应的投票签名,若均通过验证,则将所述第一区块同步至本地账本中;若所述第一区块中半数以上的投票结果为投票通过,则所述第一节点响应所述节点操作请求。
[0006]根据本申请实施例的另一个方面,提供了一种区块链系统,所述区块链系统包括第一节点,所述第一节点为所述区块链系统中角色信息为节点管理者的一个区块链节点;所述第一节点,包括接收模块、投票模块、打包模块和节点操作执行模块;每个区块链节点包括验签模块;所述接收模块用于接收针对第二节点的节点操作请求,所述第二节点的节点类型为超级节点、骨干节点或服务节点;
所述投票模块用于针对所述节点操作请求进行投票,以及向所述区块链系统中的其他节点管理者发送第一投票请求,所述第一投票请求用于请求所述节点管理者对所述节点操作请求进行投票;所述打包模块用于获得所有节点管理者对所述节点操作请求的投票结果及该投票结果对应的投票签名,将所获得的投票结果及投票签名打包成第一区块,将所述第一区块广播到所述区块链系统中;每个区块链节点的验签模块用于验证所述第一区块中的每个投票结果及对应的投票签名,若均通过验证,则将所述第一区块同步至本地账本中;所述节点操作模块用于当所述第一区块中半数以上的投票结果为投票通过,则响应所述节点操作请求。
[0007]本申请实施例提供的方案中,利用区块链系统天然的分布式信任机制实现灵活的权限管理,相较于中心化CA可信度更高。相较于公有链,采用权限管理而非完全开放的机制,能够更好地避免非法交易的滋生。
附图说明
[0008]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1示出了本申请实施例中提供的一种区块链权限管理方法的流程示意图之一;图2是本申请实施例提供的区块链权限管理方法的流程示意图之二;图3是本申请实施例提供的区块链权限管理方法的流程示意图之三;图4是本申请实施例提供的区块链权限管理方法的流程示意图之四;图5是本申请实施例提供的区块链权限管理方法的流程示意图之五;图6是本申请实施例提供的第一区块链系统与第二区块链系统的架构关系示意图;图7是本申请实施例提供的区块链权限管理方法的流程示意图之六;图8是图7所示步骤S701的一种子步骤示意图;图9是图7所示步骤S701的另一种子步骤示意图;图10是图7所示步骤S702的一种子步骤示意图;图11是图7所示步骤S702的另一种子步骤示意图;图12是本申请实施例提供的区块链系统的一种功能模块示意图。
具体实施方式
[0009]专利技术人经过研究还发现,联盟链通常需要一个中心化的证书颁发机构(Certificate Authority,CA)服务器来负责权限的控制,降低了区块链天然分布式信任的机制所带来的可靠性,而公有链完全开放的特性,则导致其非常容易滋生非法交易。
[0010]针对上述情形,本申请实施例提出一种区块链权限管理方法和区块链系统,可以利用区块链系统天然的分布式信任机制,实现灵活的权限管理,一方面相较于中心化CA更为可靠,另一方面,采用权限管理而非完全开放的机制,可以在一定程度上避免非法交易的滋生。
[0011]首先对本申请实施例提出的区块链系统进行介绍。本申请实施例提出的区块链系统,在创建之初,设置有6种角色和4种系统管理智能合约。这6种角色分别是链创建者、节点管理者、合约管理者、参数管理者、角色管理者以及普通用户。这4种系统管理智能合约分别是系统节点管理合约、系统合约管理合约、系统参数管理合约以及系统权威角色管理合约。
[0012]本申请实施例中,链创建者,也可以称为链管理者(chain manager),其可以由所述区块链系统中的区块链节点投票选举确定,所有的链创建者组成了一个委员会,用于对所述节点管理者、所述合约管理者、所述参数管理者以及所述角色管理者进行管理。具体地,可以通过委员会的内部投票机制来管理前述四种管理者名单的更新。
[0013]可选地,链创建者的数据结构可以如下表1所示:表1上述表1中,Chain_Manager表示链管理者,string表示的是相应字段的数据为字符串类型,上述的块存储位置表示的是链创建者的相关信息在区块链中的存储位置。
[0014]所述节点管理者用于更新所述系统节点管理合约,以及针对节点操作请求进行投票,即拥有审核和剔除节点的投票权利。本实施例中,节点管理者的数据结构可以如下表2所示。
[0015]表2上述表2中,Node_Manager表示节点管理者,块存储位置表示的是节点管理者的相关信息在区块链中的存储位置。
[0016]所述合约管理者用于更新所述区块链系统中的系统合约管理合约,以及对针对所
述区块链系统中任一智能合约的合约审核请求进行投票。合约管理者的数据结构可以如下表3所示。
[0017]表3上述表3中,Contract_Manager表示合约管理者,块存储位置表示的是合约管理者的相关信息在区块链上的存储位置。
[0018]所述参数管理者用于更新所述区块链系统中的系统参数管理合约,以及对系统升级请求进行投票。参数管理者的数据结构可以如下表4所示。
[0019]表4上述表4中,Parameter_Manager表示参数管理者,块存储位置表示的是所述参数管理者的相关信息在区块链上的存储位置。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链权限管理方法,其特征在于,应用于区块链系统,所述方法还包括:第一节点接收针对第二节点的节点操作请求,所述第一节点为所述区块链系统中角色信息为节点管理者的一个区块链节点,所述第二节点的节点类型为超级节点、骨干节点或服务节点;所述第一节点针对所述节点操作请求进行投票,以及向所述区块链系统中的其他节点管理者发送第一投票请求,所述第一投票请求用于请求所述节点管理者对所述节点操作请求进行投票;所述第一节点获得所有节点管理者对所述节点操作请求的投票结果及该投票结果对应的投票签名,将所获得的投票结果及投票签名打包成第一区块,将所述第一区块广播到所述区块链系统中;所述区块链系统中的每个区块链节点,验证所述第一区块中的每个投票结果及对应的投票签名,若均通过验证,则将所述第一区块同步至本地账本中;若所述第一区块中半数以上的投票结果为投票通过,则所述第一节点响应所述节点操作请求。2.根据权利要求1所述的方法,其特征在于,所述节点操作请求包括待调用的第一合约名称、所述第二节点的节点类型、第一操作以及提交账户,所述第一合约名称为所述区块链系统中的系统节点管理合约的名称,所述区块链系统中角色信息为节点管理者的区块链节点上部署有所述系统节点管理合约,所述第一操作为针对所述第二节点的待执行操作。3.根据权利要求2所述的方法,其特征在于,所述向所述区块链系统中的节点管理者发送第一投票请求,包括:所述第一节点通过所述系统节点管理合约向所述其他节点管理者发送第一投票请求,其中,所述其他节点管理者用于通过所述系统节点管理合约对所述节点操作请求进行投票;所述第一节点响应所述节点操作请求,包括:所述第一节点通过所述系统节点管理合约,针对所述第二节点执行所述第一操作,并将所述第二节点的节点信息广播至所述区块链中;其中,所述第二节点的节点信息包括所述第二节点的节点类型、节点名称、节点地址、角色信息、节点状态及各所述节点管理者对所述节点操作请求的投票签名。4.根据权利要求3所述的方法,其特征在于,所述第一操作为创建操作、更新操作、删除操作或举报操作;当所述第一操作为创建操作或更新操作时,所述第二节点的节点状态为未失效;当所述第一操作为删除操作或举报操作时,所述第二节点的节点状态为失效。5.根据权利要求3所述的方法,其特征在于,所述第二节点的角色信息为链创建者、节点管理者、合约管理者、参数管理者、角色管理者以及普通用户中的任意一者;所述链创建者由所述区块链系统中的区块链节点投票选举确定,用于对所述节点管理者、所述合约管理者、所述参数管理者以及所述角色管理者进行管理;所述节点管理者用于更新所述系统节点管理合约,以及针对节点操作请求进行投票;所述合约管理者用于更新所述区块链系统中的系统合约管理合约,以及对针对所述区块链系统中任一智能合约的合约审核请求进行投票;所述参数管理者用于更新所述区块链系统中的系统参数管理合约,以及对系统升级请求进行投票;所述角色管理者用于更新所述区块链系统中的系统权威角
色管理合约,以及对节点权威角色认证请求进行投票;所述普通用户用于在所述区块链系统中发布交易和智能合约。6.根据权利要求3所述的方法,其特征在于,当所述第一操作为创建操作时,在所述第一节点通过所述系统节点管理合约,针对所述第二节点执行所述第一操作之后,所述方法还包括:所述第二节点向所述区块链系统中的链创建者发送第二投票请求,所述第二投票请求包括所述第二节点的角色信息,用于请求所述链创建者针对所述第二节点的角色信息进行投票;所述区块链系统中的目标链创建者收集所有链创建者针对所述第二节点的角色信息的投票结果及对应的投票签名,在所有投票结果及对应的投票签名验证通过的情况下,基于所有投票结果在所述区块链系统中设置所述第二节点的角色信息。7.根据权利要求6所述的方法,其特征在于,所述基于所有投票结果在所述区块链系统中设置所述第二节点的角色信息,包括:若所述第二节点的角色信息为节点管理者、合约管理者、参数管理者及节点角色管理者中的任意一者,且所有投票结果中半数以上的投票结果为投票通过,则将所述第二节点的角色信息更新至所述区块链系统中相应的管理者名单。8.根据权利要求5或7所述的方法,其特征在于,所述方法还包括:第三节点确定待操作智能合约,向所述区块链节点中的所述合约管理者发送针对所述待操作智能合约的合约审核请求,所述第三节点为所述区块链系统中角色信息为普通用户的区块链节点,所述合约审核请求包括待调用的第二合约名称、所述待操作智能合约的合约类型、所述待操作智能合约的合约内容、第二操作及所述第三节点的账户,所述第二合约名称是所述区块链系统中的系统合约管理合约的名称,所述第二操作是针对所述待操作智能合约的待执行操作;第四节点通过所述系统合约管理合约,收集各所述合约管理者对所述合约审核请求的投票结果及对应的投票签名,并将所获得的投票结果及对应的投票签名打包成第二区块,并将所述第二区块广播至所述区块链系统中,所述第四节点为所述区块链系统中角色信息为所述合约管理者的一个区块链节点;所述区块链系统中的每个区块链节点,验证所述第二区块中的每个投票结果及对应的投票签名,若均通过验证,则将所述第二区块同步至本地账本中;若所述第二区块中半数以上的投票结果为投票通过,则所述第四节点对所述待操作智能合约执行所述第二操作,并将所述待操作智能合约的合约信息广播至所述区块链系统中。9.根据权利要求8所述的方法,其特征在于,所述合约信息包括所述待操作智能合约的合约类型、合约名称、合约地址、合约功能描述、合约状态以及各所述合约管理者对所述合约审核请求的投票签名。10.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:第五节点接收所述区块链系统中的所述链创建者发送的系统升级请求,所述系统升级请求包括待调用的第三合约名称、待调整的目标参数类型、参数数值以及发送所述系统升级请求的所述链创建者的账户,所述第五节点为所述区块链系统中角色信息为参数管理者
的一个区块链节点,所述第三合约名称为所述区块链系统中的系统参数管理合约的名称,所述区块链系统中角色信息为参数管理者的区块链节点上均部署有所述系统参数管理合约;所述第五节点通过所述系统参数管理合约,获得所述区块链系统中的各所述参数管理者对所述系统升级请求的投票结果及对应的投票签名,将所获得的投票结果及对应的投票签名打包成第三区块,并将所述第三区块广播至所述区块链系统中;所述区块链系统中的每个区块链节点,验证所述第三区块中的每个投票结果及对应的投票签名,若均通过验证,则将所述第三区块同步至本地账本中;若所述第三区块中半数以上的投票结果为投票通过,则所述第五节点基于所述系统升级请求升级所述区块链系统,以将所述区块系统的所述目标参数类型的取值更新为所述参数数值,并将升级后的所述区块链系统的所述目标参数类型的取值、系统状态以及各所述参数管理者对所述系统升级请求的投票签名广播到所述区块链系统中。11.根...

【专利技术属性】
技术研发人员:张钰雯池程刘阳朱斯语田娟
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

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

1