CN118101203A - 区块链底层链数据处理方法、装置、系统和计算机设备 - Google Patents

区块链底层链数据处理方法、装置、系统和计算机设备 Download PDF

Info

Publication number
CN118101203A
CN118101203A CN202211450571.6A CN202211450571A CN118101203A CN 118101203 A CN118101203 A CN 118101203A CN 202211450571 A CN202211450571 A CN 202211450571A CN 118101203 A CN118101203 A CN 118101203A
Authority
CN
China
Prior art keywords
role
requester
service
information
public key
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
Application number
CN202211450571.6A
Other languages
English (en)
Inventor
曾锦辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211450571.6A priority Critical patent/CN118101203A/zh
Publication of CN118101203A publication Critical patent/CN118101203A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/104Grouping of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种区块链底层链数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。该方法包括:获取请求方发起的,携带有使用请求方私钥签名的业务数据的业务数据处理请求;基于请求方公钥对业务数据处理请求进行验签处理,确定请求方的请求方标识;若请求方标识关联的的角色信息中存在与请求方公钥一致的目标角色公钥,且该目标角色公钥对应的角色类型的角色权限与业务类型匹配,则将业务数据发送给业务响应节点;该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥;获取并向请求方反馈业务响应节点对业务数据的处理结果。采用上述方法能够提高安全性。

Description

区块链底层链数据处理方法、装置、系统和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种区块链底层链数据处理方法、装置、区块链底层链数据处理系统、计算机设备、计算机可读存储介质和计算机程序产品。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,包括底层链、平台产品服务层以及应用服务层。
传统的区块链底层链数据处理过程,基于公私钥或证书账户体系实现,对于同一账户而言,向底层链发起的发起所有的业务请求,均需基于与公钥或证书直接配对账户私钥实现,存在较大的安全隐患。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高安全性的区块链底层链数据处理方法、装置、计算机设备、区块链底层链数据处理系统、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种区块链底层链数据处理方法。所述方法包括:
获取请求方发起的业务数据处理请求;所述业务数据处理请求携带有使用请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;
若所述请求方标识关联的角色信息中,存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则将所述业务数据发送给业务响应节点;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;
获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果。
第二方面,本申请提供了一种区块链底层链数据处理方法。所述方法包括:
响应于角色信息获取事件,获取请求方标识;所述角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;所述请求方标识由所述账户管理节点在获取所述请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对所述业务数据处理请求进行验签处理后确定;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
查询与所述请求方标识关联的角色信息;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;所述角色信息用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,指示所述账户管理节点将所述业务数据发送给业务响应节点,并获取所述业务响应节点对所述业务数据的处理结果,以及向所述请求方反馈所述处理结果。
第三方面,本申请提供了一种区块链底层链数据处理系统。所述系统包括账户管理节点和身份服务节点;
所述账户管理节点用于获取请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
所述身份服务节点用于向所述账户管理节点发送所述请求方标识关联的角色信息;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;
所述账户管理节点还用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,则将所述业务数据发送给业务响应节点,以及获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果。
第四方面,本申请提供了一种区块链底层链数据处理装置。所述装置包括:
接入模块,用于获取请求方发起的业务数据处理请求;所述业务数据处理请求携带有使用请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
鉴权模块,用于基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;
所述接入模块还用于若所述请求方标识关联的角色信息中,存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则将所述业务数据发送给业务响应节点,以及获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥。
第五方面,本申请提供了一种区块链底层链数据处理装置。所述装置包括:
获取模块,用于响应于角色信息获取事件,获取请求方标识;所述角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;所述请求方标识由所述账户管理节点在获取所述请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对所述业务数据处理请求进行验签处理后确定;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
查询模块,用于查询与所述请求方标识关联的角色信息;所述角色信息用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,指示所述账户管理节点将所述业务数据发送给业务响应节点,并获取所述业务响应节点对所述业务数据的处理结果,以及向所述请求方反馈所述处理结果。
第六方面,本申请提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取请求方发起的业务数据处理请求;所述业务数据处理请求携带有使用请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;
若所述请求方标识关联的角色信息中,存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则将所述业务数据发送给业务响应节点;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;
获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果。
第七方面,本申请提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于角色信息获取事件,获取请求方标识;所述角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;所述请求方标识由所述账户管理节点在获取所述请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对所述业务数据处理请求进行验签处理后确定;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
查询与所述请求方标识关联的角色信息;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;所述角色信息用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,指示所述账户管理节点将所述业务数据发送给业务响应节点,并获取所述业务响应节点对所述业务数据的处理结果,以及向所述请求方反馈所述处理结果。
第八方面,本申请提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取请求方发起的业务数据处理请求;所述业务数据处理请求携带有使用请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;
若所述请求方标识关联的角色信息中,存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则将所述业务数据发送给业务响应节点;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;
获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果。
第九方面,本申请提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于角色信息获取事件,获取请求方标识;所述角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;所述请求方标识由所述账户管理节点在获取所述请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对所述业务数据处理请求进行验签处理后确定;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
查询与所述请求方标识关联的角色信息;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;所述角色信息用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,指示所述账户管理节点将所述业务数据发送给业务响应节点,并获取所述业务响应节点对所述业务数据的处理结果,以及向所述请求方反馈所述处理结果。
第十方面,本申请提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取请求方发起的业务数据处理请求;所述业务数据处理请求携带有使用请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;
若所述请求方标识关联的角色信息中,存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则将所述业务数据发送给业务响应节点;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;
获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果。
第十一方面,本申请提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于角色信息获取事件,获取请求方标识;所述角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;所述请求方标识由所述账户管理节点在获取所述请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对所述业务数据处理请求进行验签处理后确定;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
查询与所述请求方标识关联的角色信息;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;所述角色信息用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,指示所述账户管理节点将所述业务数据发送给业务响应节点,并获取所述业务响应节点对所述业务数据的处理结果,以及向所述请求方反馈所述处理结果。
上述区块链底层链数据处理方法、装置、区块链底层链数据处理系统、计算机设备、计算机可读存储介质和计算机程序产品,获取请求方发起的,携带有使用请求方私钥签名的业务数据的业务数据处理请求;该请求方私钥与业务数据的业务类型匹配;基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理,确定请求方的请求方标识;若请求方标识关联的角色信息中,存在与请求方公钥一致的目标角色公钥,且该目标角色公钥对应的角色类型的角色权限与业务类型匹配,则将业务数据发送给业务响应节点;该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥;获取业务响应节点对业务数据的处理结果,并向请求方反馈该处理结果。相当于同一请求方可以对应不同的角色,且各角色均配置有对应的角色权限和角色公钥,这样,对于同一请求方而言,可以基于与业务请求的业务类型匹配的角色私钥发起该业务请求,进而实现了一个账户对应多个公私钥对的账户模式,并且不同业务类型可以使用不同的公私钥对,能够降低使用唯一的私钥进行业务处理的安全隐患,有利于提高数据处理过程的安全性。
附图说明
图1为一个实施例中数据共享系统的结构示意图;
图2为一个实施例中区块链的结构示意图;
图3为一个实施例中新区块的产生过程示意图;
图4为一个实施例中区块链底层链数据处理方法的应用环境图;
图5为另一个实施例中区块链底层链数据处理方法的应用环境图;
图6为一个实施例中区块链底层链数据处理方法的流程示意图;
图7为另一个实施例中区块链底层链数据处理方法的流程示意图;
图8为一个实施例中角色公钥轮换过程示意图;
图9为一个实施例中区块链底层链数据处理的交互过程示意图;
图10为另一个实施例中区块链底层链数据处理的交互过程示意图;
图11为一个实施例中区块链底层链数据处理装置的结构框图;
图12为另一个实施例中区块链底层链数据处理装置的结构框图;
图13为一个实施例中区块链底层链数据处理系统的结构框图;
图14为一个实施例中区块链底层链账户体系的结构框图;
图15为另一个实施例中区块链底层链账户体系的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在进行具体说明之前,先对本申请涉及的一些术语进行说明。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台(即底层链)、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监测网络情况、监测节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
本申请实施例提供的区块链底层链数据处理方法,可以应用于数据共享系统。参见图1所示的数据共享系统,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点101,多个节点101可以是指数据共享系统中各个客户端,本申请实施例中,可以包括业务响应节点、身份服务节点等。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
数据共享系统中的每个节点均存储一条相同的区块链(BlockChain))。区块链由多个区块组成,参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,在完成计算时可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
本申请提供的区块链底层链数据处理方法,可以应用于如图4所示的应用环境中。该应用环境中包含请求方401、以及区块链底层链上的账户管理节点402和业务响应节点403,三者能够进行网络通信,且业务响应节点404能够基于智能合约实现区块链技术中的共识、数据记录和上链等功能。其中,请求方401可以使用与业务数据的业务类型匹配的请求方私钥向区块链底层链发起业务数据处理请求。账户管理节点402可以获取该业务数据处理请求,基于与请求方私钥匹配的请求方公钥,对该业务数据处理请求进行验签处理,确定请求方401的请求方标识,然后,账户管理节点402在请求方标识关联的角色信息中,存在与请求方公钥一致的目标角色公钥,且目标角色公钥对应的角色类型的角色权限与业务类型匹配的情况下,将业务数据发送给业务响应节点403,最后,账户管理节点402获取业务响应节点403对业务数据的处理结果,并将该处理结果反馈给请求方401。其中,请求方标识关联的角色信息包括请求方的至少一个角色类型的角色权限和角色公钥。
在一些实施例中,如图5所示,本申请提供的区块链底层链数据处理方法的应用环境,还可以包括区块链底层链上的身份服务节点504。其中,身份服务节点504用于维护账户标识与角色信息的对应关系。该账户标识具体可以是请求方标识。具体地,账户管理节点402在确定请求方401的请求方标识后,向身份服务节点504发起信息获取请求,再由身份服务节点504响应该信息获取请求,基于信息获取请求中携带的请求方标识,查询该请求方标识所关联的角色信息。然后,身份服务节点504可以向账户管理节点402反馈该角色信息,以便账户管理节点402根据角色信息对请求方进行业务权限的判断,并在确定请求方具备业务数据处理请求对应的业务权限时,将业务数据发送给业务响应节点403。身份服务节点504也可以根据角色信息对请求方进行业务权限的判断,并在确定请求方具备业务数据处理请求对应的业务权限时,指示账户管理节点402将业务数据发送给业务响应节点403。其中,请求方具备业务数据处理请求对应的业务权限,是指请求方标识关联的角色信息中,存在与请求方公钥一致的目标角色公钥,且目标角色公钥对应的角色类型的角色权限与业务类型匹配。
进一步地,请求方401、账户管理节点402、业务响应节点403和身份服务节点504均可以通过终端或者服务器实现。其中,终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本发明实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
在一个实施例中,如图5所示,提供了一种区块链底层链数据处理方法,本实施例以该方法应用于图4中的账户管理节点402为例进行说明,包括以下步骤:
步骤S602,获取请求方发起的业务数据处理请求。
其中,请求方是指基于区块链的业务处理过程中,发起业务数据处理请求的一方。该请求方可以是终端设备,例如,用户在使用的手机等能够接收用户操作信息的终端,也可以是应用程序、小程序等。另外,终端设备也可以是机构的使用终端,例如法院用于对起诉人提供的特征信息进行认证的电脑、用人单位对应聘者提供的证书进行认证的电脑等。
公私钥对包括成对存在的公钥和私钥,通常应用于非对称加密技术中。在公私钥对的应用过程中,需要使用不同的密钥完成加密和解密操作,或者,使用不同的密钥完成签名和验签操作。例如,用公私钥对中的私钥签名的数据,需要用该公私钥对中的公钥进行验签;用公私钥对中的公钥加密的数据,需要用该公私钥对中的私钥进行解密。具体到本申请,请求方拥有与请求方的不同角色类型对应的多对请求方公私钥对,各请求方公私钥均包括成对存在的请求方公钥和请求方私钥。其中,请求方私钥由请求方持有,不对外公布,用于在业务请求过程中对业务数据进行签名处理,形成业务数据处理请求;请求方公钥可以由请求方公布给区块链上的账户管理节点。该业务数据是指业务处理过程中需要上链的数据,例如,业务请求为数据存储请求的情况下,业务数据可以是待存储数据或该待存储数据对应的数据摘要,又如,业务请求为数据认证请求的情况下,业务数据可以是待认证数据或该待认证数据对应的数据摘要。其中,数据摘要基于信息摘要算法确定。该信息摘要算法例如可以是CRC(Cyclic Redundancy Check,循环冗余校验)算法、MD(Message Digest,消息摘要)算法或SHA(Security Hash Algorithm,安全哈希)算法等等。
请求方的角色类型是指请求方在基于区块链的业务处理过程中所充当的角色的类型。该角色类型例如可以是普通用户、管理方或第三方权威机构等。可以理解,不同的角色类型在基于区块链的业务处理过程中具有不同的角色权限。角色权限是指对应角色在基于区块链的业务处理过程中所拥有的权限。例如普通用户拥有管理自身的账户信息的权限,又如管理方具有管理与之关联的普通用户的账户信息的权限,再如第三方权威机构拥有对基于区块链的某些业务进行授权和许可的权限,等等。进一步地,不同的角色类型匹配有对应的请求方公私钥对。业务数据处理请求携带有使用请求方私钥签名的业务数据;请求方私钥与业务数据的业务类型匹配。可以理解,业务数据的业务类型与角色权限对应。也即,请求方可以根据所要发起的业务数据处理请求的具体业务类型,确定与该业务类型匹配的角色权限,进而确定拥有该角色权限的角色类型,从该请求方的各请求方私钥中,确定与角色类型对应的请求方私钥。
具体地,请求方可以根据业务数据的业务类型,确定与之匹配的请求方私钥,并使用该请求方私钥对该业务数据进行签名处理,向区块链底层链发起业务数据处理请求,然后,由账户管理节点获取该业务数据处理请求,进行后续的数据处理。进一步地,账户管理节点具体可以通过接入模块获取请求方发起的业务数据处理请求。
步骤S604,基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理,确定请求方的请求方标识。
其中,请求方标识是指可以唯一标识请求方的标识信息。该请求方标识可以由多个字符构成,该字符例如包括数字、字母、符号等中至少一种。在一个实施例中,该请求方标识为符合DID(Decentralized Identity,去中心化身份)协议的DID标识,由底层链中的DID身份服务节点统一管理。
具体地,账户管理节点在获取业务数据处理请求后,基于与请求方私钥匹配的请求方公钥对业务数据处理请求进行验签处理,确定请求方的请求方标识。进一步地,账户管理节点确定请求方的请求方标识的具体方式并不唯一。
在一个实施例中,确定请求方的请求方标识的方式,包括以下两项中的任意一项:基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理,提取业务数据处理请求中携带的请求方标识;从多个候选公钥中,确定与请求方私钥匹配的请求方公钥,根据候选标识与候选公钥的对应关系,从各候选标识中确定请求方公钥对应的请求方标识。
具体地,业务数据处理请求中可以携带有请求方标识,在此情形下,账户管理节点基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理后,可以提取业务数据处理请求中携带的请求方标识。进一步地,账户管理节点也可以获取候选标识与候选公钥的对应关系,并且在对业务数据处理请求进行验签处理的过程中,从多个候选公钥中,确定与请求方私钥匹配的请求方公钥,然后,账户管理节点再根据候选标识与候选公钥的对应关系,从各候选标识中确定请求方公钥对应的请求方标识。
本实施例中,账户管理节点可以从业务数据处理请求中提取请求方标识,也可以根据请求方公钥查询得到请求方的请求方标识,这样,相当于用户访问区块链的过程中,可以仍然使用公钥作为用户的身份信息,由账户管理节点维护公钥与请求方标识的映射关系,通过公钥反查出请求方标识,可以确保区块链底层链数据处理方法与公私钥模式的兼容性。
步骤S606,若请求方标识关联的角色信息中,存在与请求方公钥一致的目标角色公钥,且该目标角色公钥对应的角色类型的角色权限与业务类型匹配,则将业务数据发送给业务响应节点。
其中,角色信息是指对请求方在业务场景下的角色进行描述的信息,该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥。关于角色类型和角色权限的具体限定参见上文,此处不再赘述。具体地,可以由账户管理节点维护请求方标识与角色信息的对应关系,并在确定请求方标识后,基于该请求方标识查询得到请求方标识所关联的角色信息。也可以在区块链底层链中设置身份服务节点统一管理请求方标识与角色信息的对应关系,由账户管理节点基于确定的请求方标识,向身份服务节点发起信息获取请求,再由身份服务节点响应该信息获取请求,基于信息获取请求中携带的请求方标识,确定并向账户管理节点反馈该请求方标识所关联的角色信息。在一个具体的应用中,可以由账户管理节点维护请求方标识与角色公钥的对应关系,以便账户管理节点能够基于请求方公钥快速确定请求方标识。
如前文所述的,用于对业务数据进行签名的请求方私钥与业务数据的业务类型匹配。可以理解,请求方私钥是指从请求方的角度出发,请求方所认为的与业务类型匹配的请求方私钥。而对于区块链而言,底层链中维护有角色公钥和角色权限的对应关系,而角色公钥和角色私钥构成角色公私钥对。也即,底层链在获取业务处理请求后,需要根据自身所维护的角色信息,确定请求方是否具备业务数据处理请求所对应的业务权限。
在一个实施例中,由账户管理节点根据获取的请求方的至少一个角色类型的角色权限和角色公钥,对角色公钥和请求方公钥进行匹配,并对角色权限和业务类型进行匹配,并根据匹配结果对请求方进行角色鉴权,核查请求方的业务权限。若角色公钥中存在与请求方公钥一致的目标角色公钥,且目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则鉴权通过,说明请求方具备该业务数据处理请求所对应的业务权限,此时,账户管理节点将业务数据发送给业务响应节点;否则,鉴权不通过,说明请求方不具备该业务数据处理请求所对应的业务权限,此时,账户管理节点向请求方反馈拒绝处理的提示信息。进一步地,该提示信息中,还可以包括拒绝处理的具体理由,例如当前角色无权限或者当前账户无权限等。其中,当前角色无权限可以是指请求方的其他角色类型具备对应权限,也即请求方具备业务权限,但发起业务数据处理请求时所使用的请求方私钥不正确。
在一个实施例中,由身份服务节点根据获取的请求方的至少一个角色类型的角色权限和角色公钥,对角色公钥和请求方公钥进行匹配,并对角色权限和业务类型进行匹配,并根据匹配结果对请求方进行角色鉴权,核查请求方的业务权限。在确定请求方具备业务处理请求所对应的业务权限的情况下,由身份服务节点向账户管理节点反馈鉴权通过的鉴权结果,以指示账户管理节点将业务数据发送给业务响应节点;否则,由身份服务节点向账户管理节点反馈鉴权不通过的鉴权结果,以指示账户管理节点向请求方反馈拒绝处理的提示信息。
步骤S608,获取业务响应节点对业务数据的处理结果,并向请求方反馈该处理结果。
具体地,业务响应节点获取业务数据后,对业务数据进行相应的处理,并向账户管理节点发送该业务数据的处理结果,由账户管理节点获取业务响应节点对业务数据的处理结果,并向请求方反馈该处理结果。
上述区块链底层链数据处理方法,获取请求方发起的,携带有使用请求方私钥签名的业务数据的业务数据处理请求;该请求方私钥与业务数据的业务类型匹配;基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理,确定请求方的请求方标识;若请求方标识关联的角色信息中,存在与请求方公钥一致的目标角色公钥,且该目标角色公钥对应的角色类型的角色权限与业务类型匹配,则将业务数据发送给业务响应节点;该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥;获取业务响应节点对业务数据的处理结果,并向请求方反馈该处理结果。相当于同一请求方可以对应不同的角色,且各角色均配置有对应的角色权限和角色公钥,这样,对于同一请求方而言,可以基于与业务请求的业务类型匹配的角色私钥发起该业务请求,进而实现了一个账户对应多个公私钥对的账户模式,并且不同业务类型可以使用不同的公私钥对,能够降低使用唯一的私钥进行业务处理的安全隐患,有利于提高数据处理过程的安全性,同时也可以便于对链上操作行为进行审查和追溯。
在一个实施例中,请求方标识为去中心化身份标识,在该实施例的情形下,区块链底层链数据处理方法还包括:获取请求方在创建角色公私钥对后,使用角色公私钥对中的角色私钥发起的标识请求;获取符合去中心化身份协议的请求方标识。
其中,标识请求中携带有去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息;请求方标识基于所述基础账户信息和所述角色信息生成。去中心化身份协议是W3C(World Wide Web Consortium,国际网路联盟)发布的去中心化标识协议,旨在以去中心化的方式标示目标对象的身份。该目标对象例如可以是个人、组织、抽象实体或虚拟实体等。具体地,DID协议规定了对象标识的具体构成,去中心化对象标识包括三个组成部分,各部分之间通过“:”分隔。其中,第一部分的“did”表征该标识为遵循DID协议的DID标识。第二部分为DID方法标识符,一般为DID方法的名称,DID方法(DID Method)由W3C CCG工作组统一维护,不同的DID方法可以对应不同的操作标准。第三部分是与第二部分DID方法对应的标识符。
进一步地,DID协议的规范字段是指第二部分的DID方法中的规范字段,该规范字段例如可以包括用于承载管理方信息的“controller”字段,如学校可以作为学生的管理方,则学生DID标识中的“controller”字段可以用以承载学校的信息。该规范字段还可以包括用于承载表征对象与其他对象的关联关系的社交属性的“service”字段,该社交属性例如可以是用户账户在某一个应用平台的主页链接。自定义扩展字段是指请求方根据自身需求所定义的字段,用户保存个性化的账户信息,例如角色信息等。
具体地,请求方在创建角色公私钥对后,使用角色公私钥对中的角色私钥将请求方账户信息进行签名后,向区块链底层链发起标识请求。该请求方账户信息包括去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息。然后,账户管理节点获取该标识请求,提取该标识请求中所携带的请求方账户信息,并将该请求方账户信息发送给底层链中的身份服务节点,由身份服务节点根据该基础账户信息和角色信息生成符合去中心化身份协议的请求方标识。账户管理节点获取该请求方标识后,将请求方标识反馈给请求方。
上述实施例中,基于DID协议生成请求方标识,与传统的证书和公私钥账户体系相比,可以通过自定义扩展字段承载更多的账户信息,例如角色信息,使底层链具备更丰富的账户信息表达和操作鉴权能力,有利于提高区块链底层链数据处理方法的灵活性。
在一个实施例中,角色信息包括角色类型、角色权限和角色公钥。在该实施例的情形下,区块链底层链数据处理方法还包括:基于请求方标识,存储请求方的关联信息;从已存储的请求方的关联信息中,获取请求方标识关联的角色信息。
其中,关联信息包括对应存储的请求方标识和角色公钥,以及对应存储的请求方的角色类型和角色权限。具体地,账户管理节点在获取请求方标识后,将请求方标识与该请求方标识所对应的角色信息进行对应存储。一方面,账户管理节点可以将该请求方标识以及该请求方标识所对应的请求方的角色公钥进行对应存储,以便在获取业务数据处理请求之后,能够根据对业务数据处理请求进行验签的请求方公钥,将该请求方公钥与存储的各角色公钥进行比对,确定与请求方公钥一致的角色公钥,进而根据请求方标识和角色公钥的对应关系,确定发起该业务数据处理请求的请求方的请求方标识。另一方面,账户管理节点还可以将同一请求方的各角色类型和角色权限进行对应存储,以便在确定请求方标识后,可以快速获取请求方标识所关联的角色信息。在一个具体的应用中,账户管理节点包括账户模块和权限模块,其中,账户模块用于维护请求方标识与角色公钥的映射关系,权限模块用于维护同一请求方的角色类型与角色权限的对应关系,以便进行请求方标识识别和请求方权限确认。
本实施例中,由账户管理节点存储请求方的关联信息,可以提高请求方标识识别和权限确认过程的工作效率。
在一个实施例中,区块链底层链数据处理方法还包括:获取请求方标识关联的角色信息;基于角色信息、请求方公钥、以及业务类型对请求方进行角色鉴权,核查请求方的业务权限。
其中,业务权限是指与业务数据处理请求对应的权限。在一个具体的应用中,业务权限是指业务数据处理请求中所携带的业务数据的上链权限。具体地,账户管理节点获取请求方标识关联的角色信息,并基于角色信息、请求方公钥、以及业务类型对请求方进行角色鉴权,核查请求方的业务权限。若角色公钥中存在与请求方公钥一致的目标角色公钥,且目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则确定请求方具备该业务数据处理请求所对应的业务权限,否则确定请求方不具备该业务处理请求对应的业务权限。
本实施例中,由账户管理节点基于请求方公钥、角色信息、以及业务类型核查请求方的业务权限,可以确保在请求方具备业务权限的前提下进行后续的业务处理逻辑,有利于进一步提高安全性。
在一个实施例中,区块链底层链数据处理方法还包括:获取管理方发起的角色信息更新请求;基于与管理方私钥匹配的管理方公钥,对角色信息更新请求进行验签处理,确定管理方的管理方标识;获取管理方标识对应的管理方角色信息,在根据管理方角色信息确定管理方具备待更新信息的更新权限的情况下,更新待更新信息。
其中,角色信息更新请求中携带有使用管理方私钥签名的待更新信息。该待更新信息例如可以包括角色公钥、角色类型或角色权限中的任意一项。例如,该角色信息更新请求可以是携带有角色公钥、角色类型和角色权限的新增角色请求,也可以是携带有角色公钥和角色类型的角色公钥更新请求,还可以是携带有两个目标角色类型的角色公钥轮换请求。管理方是指角色信息所关联账户的管理方,该管理方例如可以是该关账户自身,也可以是该关联账户对应的管理方。管理方角色信息中包括管理方的至少一个角色类型的角色权限和角色公钥。
可以理解,管理方可以是管理方用户或管理方机构使用的终端设备或者应用程序、小程序等。管理方用户或管理方机构是指与被管理方关联,具备一定的权威性,能够对被管理方进行管理的主体。例如,学生主体的管理方可以是学校或家长。又如,联盟链中账户的管理方可以是权威机构。可以理解,在不同的业务场景下,管理方和被管理方的角色可以互换。也即,一个业务场景中的被管理方可以是另一业务场景中的管理方,同样的,一个业务场景中的管理方可以是另一业务场景中的被管理方。例如,上文中的学校或家长均可以作为自身账户信息更新场景下的管理方。
具体地,账户管理节点获取管理方使用管理方私钥签名待更新信息后发起的角色信息更新请求,使用与管理方私钥匹配的管理方公钥,对角色信息更新请求进行验签处理,确定管理方的管理方标识。然后,账户管理节点获取管理方标识对应的管理方角色信息,在根据管理方角色信息,确定管理方具备待更新信息的更新权限的情况下,更新该待更新信息。其中,管理方具备待更新信息的更新权限,是指管理方角色信息中存在与管理方公钥一致的目的角色公钥,并且该目的角色公钥所对应的角色类型的角色权限与待更新信息的更新权限匹配。
进一步地,账户管理节点更新待更新信息的具体方式并不唯一。例如,账户管理节点可以更新自身所维护的关联信息,包括公钥、角色类型和角色权限等;又如,账户管理节点可以通过调用身份服务节点的智能合约,指示身份服务节点更新该身份服务节点所维护的账户信息。
本实施例中,通过对角色信息更新请求的响应,实现角色信息的更新,使得底层链中所维护的账户信息可更新,解决了传统账户模式下账户创建后无法更新和调整的问题,有利于提高区块链底层链数据处理方法的灵活性。
在一些实施例中,如图7所示,提供了一种区块链底层链数据处理方法,本实施例以该方法应用于图5中的身份服务节点504为例进行说明,包括以下步骤:
步骤S702,响应于角色信息获取事件,获取请求方标识。
其中,角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;请求方标识由账户管理节点在获取请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对业务数据处理请求进行验签处理后确定;业务数据处理请求携带有使用请求方私钥签名的业务数据;请求方私钥与业务数据的业务类型匹配。
步骤S704,查询与请求方标识关联的角色信息。
其中,角色信息包括请求方的至少一个角色类型的角色权限和角色公钥。该角色信息用于在存在与请求方公钥一致的目标角色公钥,且该目标角色公钥对应的角色类型的角色权限与业务类型匹配的情况下,指示该账户管理节点将业务数据发送给业务响应节点,并获取业务响应节点对业务数据的处理结果,以及向请求方反馈该处理结果。
关于应用于图5中的身份服务节点504的区块链底层链数据处理方法的具体限定,参见上文中对应用于图4和图5中的账户管理节点402的区块链底层链数据处理方法的具体限定,此处不再赘述。
上述区块链底层链数据处理方法,由身份服务节点统一维护角色信息,在业务处理过程中,相当于同一请求方可以对应不同的角色,且各角色均配置有对应的角色权限和角色公钥,这样,对于同一请求方而言,可以基于与业务请求的业务类型匹配的角色私钥发起该业务请求,进而实现了一个账户对应多个公私钥对的账户模式,并且不同业务类型可以使用不同的公私钥对,能够降低使用唯一的私钥进行业务处理的安全隐患,有利于提高数据处理过程的安全性,同时也可以便于对链上操作行为进行审查和追溯。
在一个实施例中,区块链底层链数据处理方法还包括:获取去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息;基于该基础账户信息和该角色信息,生成符合去中心化身份协议的请求方标识。
其中,关于去中心化身份协议的具体限定参见上文,此处不再赘述。具体地,由请求方在创建角色公私钥对后,使用角色公私钥对中的角色私钥将请求方账户信息进行签名后,向区块链底层链发起标识请求。该请求方账户信息包括去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息。然后,账户管理节点获取该标识请求,提取该标识请求中所携带的请求方账户信息,并将该请求方账户信息发送给底层链中的身份服务节点,由身份服务节点根据该基础账户信息和角色信息生成符合去中心化身份协议的请求方标识。
上述实施例中,基于DID协议生成请求方标识,与传统的证书和公私钥账户体系相比,可以通过自定义扩展字段承载更多的账户信息,例如角色信息,使底层链具备更丰富的账户信息表达和操作鉴权能力,有利于提高区块链底层链数据处理方法的灵活性。
在一个实施例中,角色信息包括角色类型、角色权限和角色公钥。在该实施例的情形下,区块链底层链数据处理方法还包括:根据请求方标识以及角色信息,更新符合去中心化身份协议的账户文档。
其中,账户文档用于维护请求方标识与角色信息的关联关系。身份服务节点通过符合去中心化身份协议的账户文档统一维护区块链账户的账户信息。该账户信息包括账户标识与账户角色信息。具体地,身份服务节点在基于基础账户信息和角色信息生成请求方标识后,将该请求方标识与角色信息对应存储至账户文档中,以对账户信息进行统一管理,便于后续的查询使用。
本实施例中,由身份服务节点基于符合去中心化身份协议的账户文档,统一管理区块链账户的账户信息,有利于确保账户信息的安全性。并且基于DID实现的账户体系,有赖于DID规范的良好协议互通性,可以便于不同底层链的账户体系之间统一标准,进而降低不同底层链的账户对接和跨链等应用场景的落地成本,促进区块链的互联互通。同时由于底层链天然包括了DID的基础设施,有利于加快基于DID的应用场景探索并提高应用开发效率,促进DID分布式身份生态的发展。
在一个实施例中,区块链底层链数据处理方法还包括:响应于角色信息更新事件,获取管理方标识,确定该管理方标识对应的管理方角色信息;在根据管理方角色信息确定管理方具备待更新信息的更新权限的情况下,根据待更新信息更新账户文档。
其中,角色信息更新事件由账户管理节点在确定管理方标识的情况下发起;管理方标识由账户管理节点在获取管理方发起的角色信息更新请求,基于与管理方私钥匹配的管理方公钥对角色信息更新请求进行验签处理后确定;角色信息更新请求中携带有使用管理方私钥签名的待更新信息。
具体地,账户管理节点获取管理方使用管理方私钥签名待更新信息后发起的角色信息更新请求,使用与管理方私钥匹配的管理方公钥,对角色信息更新请求进行验签处理,确定管理方的管理方标识,并基于该管理方标识向身份服务节点发起角色信息更新事件。由身份服务节点响应于该角色信息更新事件,获取管理方标识,确定该管理方标识对应的管理方角色信息,并在根据该管理方角色信息确定管理方具备待更新信息的更新权限的情况下,根据待更新信息更新账户文档。
本实施例中,通过对角色信息更新事件的响应,实现角色信息的更新,使得底层链中所维护的账户信息可更新,解决了传统账户模式下账户创建后无法更新和调整的问题,有利于提高区块链底层链数据处理方法的灵活性。
在一个具体的应用中,角色信息更新请求为角色公钥轮换请求;待更新信息包括待轮换的至少两个目标角色类型和轮换方式。在该实施例的情形下,根据待更新信息更新账户文档,包括:从账户文档中提取至少两个目标角色类型各自的角色公钥;根据轮换方式,对该账户文档中至少两个目标角色类型各自的角色公钥进行轮换处理。
其中,轮换方式用于表征角色公钥轮换的具体方式。例如,在两个目标角色类型进行角色公钥轮换的情况下,轮换方式可以是对该两个目标角色类型的角色公钥进行互换。又如,在两个以上目标角色类型进行角色公钥轮换的情况下,轮换方式可以是对各目标角色类型的角色公钥进行两两互换,也可以是对各目标角色类型的角色公钥进行交叉轮换。例如图8中,轮换前角色A的角色公钥为a、角色B的角色公钥为b、角色C的角色公钥为c,轮换后角色A的角色公钥为b、角色B的角色公钥为c、角色C的角色公钥为a。
具体地,身份服务节点响应于角色公钥轮换请求,从账户文档中提取至少两个目标角色类型各自的角色公钥,根据轮换方式,对该账户文档中至少两个目标角色类型各自的角色公钥进行轮换处理。其中,角色公钥轮换请求可以是基于一定频率自动发起,该频率例如可以是一周、一个月等;角色公钥轮换请求也可以由管理方根据需要发起。可以理解,由于角色公钥与角色私钥成对存在,角色公钥轮换的同时实际上也实现了角色私钥的轮换。
本实施例中,由身份服务节点支持角色公钥的轮换,通过角色公钥轮换的方式,可以进一步提高底层链数据处理过程中的安全性。
下面以请求方为用户终端、身份服务节点为DID服务节点的情况为例,结合图9和图10,对区块链底层链数据处理方法进行详细说明。其中,图9体现的是DID账户注册和业务合约调用场景,图10体现的是DID账户更新场景。
在一个实施例中,如图9所示,提供了一种区块链底层链数据处理方法,包括步骤S901至步骤S917,其中,步骤S901至步骤S907对应DID账户注册过程,步骤S908至步骤S917对应业务合约调用过程。在该实施例的情形下,区块链底层链数据处理方法,包括以下步骤:
步骤S901,用户终端创建角色公私钥对。
步骤S902,用户终端基于角色公私钥对发起DID标识请求。
具体地,用户终端通过底层链SDK(Software Development Kit,软件开发工具包)注册DID账户,将账户信息,例如角色公钥、角色权限和角色类型等角色信息、以及“controller”、“service”等字段承载的基础账户信息,用角色私钥签名后提交到区块链底层链中账户管理节点的接入模块,由接入模块将该DID标识请求透传到账户管理节点。
步骤S903,账户管理节点调用DID服务节点的DID合约。
其中,账户管理节点调用DID服务节点的DID合约的过程中,将账户信息发送给DID服务节点,以便DID服务节点基于该账户信息生成对应的账户DID标识。
步骤S904,DID服务节点响应于DID合约调用事件,生成账户DID,并更新DID文档。
其中,DID文档用于维护账户DID与账户信息的关联关系,例如账户DID与账户角色信息的关联关系,该角色信息包括角色类型、角色权限和角色公钥。
步骤S905,DID服务节点向账户管理节点发送账户DID。
步骤S906,账户管理节点将账户DID反馈给用户终端。
步骤S907,账户管理节点对应存储账户DID与角色公钥。
具体地,账户管理节点获取DID服务节点发送的账户DID后,一方面将该账户DID反馈给用户终端,另一方面通过账户管理节点中的账户模块将账户DID与角色公钥对应存储。进一步地,在一些实施例中,账户管理节点还可以通过鉴权模块将角色类型和角色权限对应存储,以便后续使用。
步骤S908,用户终端发起业务数据上链请求。
具体地,用户终端通过底层链SDK调用业务合约上链数据,通过与上链数据的业务类型匹配的用户私钥对上链数据进行签名后,生成上链请求提交到区块链底层链。
步骤S908,账户管理节点确定上链请求对应的账户DID。
具体地,上链请求中可以携带账户DID,由账户管理节点中的鉴权模块基于与用户私钥匹配的用户公钥,对上链请求进行验签处理后,提取上链请求中携带的账户DID;上链请求中也可以不携带账户DID,由账户管理节点中的鉴权模块基于与用户私钥匹配的用户公钥,对上链请求进行验签处理后,根据账户模块中所保存的账户DID与角色公钥的对应关系,确定用户公钥对应的账户DID。
步骤S910,账户管理节点基于账户DID向DID服务节点发起账户信息获取请求;
步骤S911,DID服务节点从DID文档中查询账户DID对应的账户信息。
其中,账户信息包括角色公钥、角色权限和角色类型等角色信息,以及“controller”、“service”等字段承载的基础账户信息。
步骤S912,DID服务节点向账户管理节点发送查询得到的账户信息。
步骤S913,账户管理节点根据查询到的账户信息进行账户角色鉴权。
具体地,账户管理节点通过鉴权模块检查账户角色和操作权限,具体在各角色公钥中包括用于对上链请求进行验签的用户公钥一致的目标角色公钥,并且,该目标角色公钥所对应的角色类型的角色权限与上链请求的业务类型匹配的情况下,确定鉴权通过。
步骤S914,若鉴权不通过,账户管理节点向用户终端反馈鉴权不通过的提示信息。
具体地,账户管理节点可以在鉴权模块确定鉴权不通过的情况下,通过接入模块向用户终端反馈鉴权不通过的提示信息。
步骤S915,若鉴权通过,账户管理节点调用业务响应节点的智能合约。
具体地,若鉴权通过,可以由鉴权模块将账户信息和业务数据返回给接入模块,由接入模块调用业务响应节点的智能合约,发起业务响应请求。这样,相当于业务合约内置参数中携带了DID文档中的账户信息,比如类似以太坊的solidity合约的msg.sender对象,可以便于业务合约通过内置参数方便的获取到账户信息实现相应的业务逻辑。
步骤S916,业务响应节点执行业务处理。
步骤S917,业务响应节点向用户终端反馈业务处理结果。
在一个实施例中,如图10所示,提供了一种区块链底层链数据处理方法,包括以下步骤:
步骤S1001,用户终端发起账户信息更新请求。
具体地,用户终端通过底层链SDK向底层链发起账户信息更新请求,该账户信息更新请求中携带有待更新账户信息。该待更新账户信息例如可以包括角色公钥、角色类型和角色权限中的至少一项。用户终端使用与更新业务匹配的用户私钥对待更新账户信息进行签名后,向底层链发起账户信息更新请求。
步骤S1002,账户管理节点确定账户信息更新请求对应的账户DID。
其中,账户信息更新请求对应的账户DID是指账户信息更新请求的发起方的账户DID。关于账户DID的确定过程参见步骤S908,此处不再赘述。
步骤S1003,账户管理节点基于账户DID向DID服务节点发起账户信息获取请求。
步骤S1004,DID服务节点从DID文档中查询账户DID对应的账户信息。
其中,账户信息包括角色公钥、角色权限和角色类型等角色信息,以及由该DID账户管理的其他关联账户的账户信息。
步骤S1005,DID服务节点向账户管理节点发送查询得到的账户信息。
步骤S1006,账户管理节点根据查询到的账户信息进行账户角色鉴权。
具体地,账户管理节点根据查询到的账户信息进行账户角色鉴权,确定账户信息更新请求的发起方是否具备更新权限。例如,账户A的controller具备该账户A的账户信息的更新权限。
步骤S1007,若鉴权不通过,账户管理节点向用户终端反馈鉴权不通过的提示信息。
具体地,账户管理节点可以在鉴权模块确定鉴权不通过的情况下,通过接入模块向用户终端反馈鉴权不通过的提示信息。
步骤S1008,若鉴权通过,账户管理节点调用DID服务节点的DID合约,指示DID服务节点进行DID文档的更新。
具体地,账户管理节点可以通过账户模块调用DID身份合约的DID文档更新接口,完成DID文档上账户信息的更新。进一步地,若被更新信息为角色公钥,账户管理节点还可以调用账户模块同步更新账户模块中对应存储的账户DID与角色公钥。
步骤S1009,向用户终端反馈更新结果。
具体地,DID服务节点可以通过接入模块向用户终端反馈更新结果。
上述区块链底层链数据处理方法,基于DID分布式身份实现了底层链的账户体系,是一种把底层链账户和元宇宙基础设施DID融合的技术方案,至少具备以下有益效果:
(1)通过DID文档协议能力可扩展性,使区块链账户可以承载比传统的证书和公私钥账户体系更多的账户信息,并支持账户信息的后期更新而不影响鉴权,使得DID账户有更丰富的用户信息表达和操作鉴权能力,账户管理具备更高的灵活性。
(2)基于DID实现底层链的账户体系可以解决传统证书和公私钥模式无法解决的丢失或更新私钥的问题。当私钥丢失或需要更新私钥时,账户持有人可以重新生成一对公私钥,通过监管者来把新生成的公钥更新到账户的DID文档中以替换掉原有DID绑定的公钥,实现了账户公私钥对的更新。
(3)基于DID实现底层链的账户体系更适用于联盟链的监管合规要求。传统的证书模式虽然可以对账户的证书审查,但用户持有多对公私钥需要申请多个证书,无法实现“一个人多把钥匙”,同一个账户多个证书的模式会大大的增加监管难度和复杂度。本申请中,由于DID标识可以绑定多个公钥,不同的公私钥对可以归集到同一个DID账户,有利于监管者对账户的链上操作行为追溯和审查,并且由于基于DID的账户可以绑定多对公私钥,有效的降低了监管成本,同时不失用户鉴权的安全性和灵活性。
(4)基于DID实现的账户体系有利有不同底层链的账户体系统一标准。有赖于DID规范的良好协议互通性,不同底层链的账户体系有望实现统一,有利于降低不同底层链的账户对接和跨链等应用场景的落地成本,促进区块链的互联互通。同时由于底层链天然包括了DID的基础设施,有利于加快基于DID的应用场景探索并提高应用开发效率,促进DID分布式身份生态的发展。
在一些实施例中,本申请提供的区块链底层链数据处理方法,可以应用于数据上链存储的应用场景下。在该场景下,区块链底层链中的身份管理节点获取请求方发起的数据存储请求;该数据存储请求携带有使用与存储业务匹配的请求方私钥签名的待存储数据。然后,账户管理节点基于与请求方私钥匹配的请求方公钥,对数据存储请求进行验签处理,确定请求方的请求方标识,并获取请求方标识关联的角色信息。该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥。在存在与请求方公钥一致的目标角色公钥,且该目标角色公钥对应的角色类型具备数据存储权限的情况下,将待存储数据发送给业务响应节点。最后,账户管理节点获取业务响应节点对待存储数据的处理结果,并向请求方反馈该处理结果。
在一些实施例中,本申请提供的区块链底层链数据处理方法,可以应用于数据认证的应用场景下。在该场景下,区块链底层链中的身份管理节点获取请求方发起的数据认证请求;该数据认证请求携带有使用与认证业务匹配的请求方私钥签名的待认证数据。然后,账户管理节点基于与请求方私钥匹配的请求方公钥,对数据认证请求进行验签处理,确定请求方的请求方标识,并获取请求方标识关联的角色信息。该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥。在存在与请求方公钥一致的目标角色公钥,且该目标角色公钥对应的角色类型具备数据认证权限的情况下,将待认证数据发送给业务响应节点。最后,账户管理节点获取业务响应节点对待认证数据的处理结果,并向请求方反馈该处理结果。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的区块链底层链数据处理方法的区块链底层链数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个区块链底层链数据处理装置实施例中的具体限定可以参见上文中对于区块链底层链数据处理方法的限定,在此不再赘述。
在一些实施例中,如图11所示,提供了一种区块链底层链数据处理装置1100,包括:接入模块1102、和鉴权模块1104,其中:
接入模块1102,用于获取请求方发起的业务数据处理请求;业务数据处理请求携带有使用请求方私钥签名的业务数据;请求方私钥与业务数据的业务类型匹配;
鉴权模块1104,用于基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理,确定请求方的请求方标识;
该接入模块1102还用于若请求方标识关联的角色信息中,存在与请求方公钥一致的目标角色公钥,且目标角色公钥对应的角色类型的角色权限与业务类型匹配,则将业务数据发送给业务响应节点,以及获取业务响应节点对业务数据的处理结果,并向请求方反馈该处理结果;该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥。
在一些实施例中,鉴权模块1104具体用于:基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理,提取业务数据处理请求中携带的请求方标识,或者,从多个候选公钥中,确定与请求方私钥匹配的请求方公钥,根据候选标识与候选公钥的对应关系,从各候选标识中确定请求方公钥对应的请求方标识。
在一些实施例中,请求方标识为去中心化身份标识。在该实施例的情形下,区块链底层链数据处理装置1100还包括账户模块,用于:获取请求方在创建角色公私钥对后,使用角色公私钥对中的角色私钥发起的标识请求,以及获取符合去中心化身份协议的请求方标识;标识请求中携带有去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息;请求方标识基于基础账户信息和角色信息生成。
在一些实施例中,角色信息包括角色类型、角色权限和角色公钥。在该实施例的情形下,账户模块还用于基于请求方标识,存储请求方的关联信息;该关联信息包括对应存储的请求方标识和角色公钥,以及对应存储的请求方的角色类型和角色权限。鉴权模块1104还用于从账户模块中已存储的请求方的关联信息中,获取请求方标识关联的角色信息。
在一些实施例中,鉴权模块1104具体用于:获取请求方标识关联的角色信息;基于角色信息、请求方公钥、以及业务类型对请求方进行角色鉴权,核查请求方的业务权限。
在一些实施例中,接入模块1102还用于获取管理方发起的角色信息更新请求;角色信息更新请求中携带有使用管理方私钥签名的待更新信息。鉴权模块1104还用于基于与管理方私钥匹配的管理方公钥,对角色信息更新请求进行验签处理,确定管理方的管理方标识,以及,获取管理方标识对应的管理方角色信息。账户模块还用于在鉴权模块1104根据管理方角色信息确定管理方具备待更新信息的更新权限的情况下,更新待更新信息。
在一些实施例中,如图12所示,提供了另一种区块链底层链数据处理装置1200,包括:获取模块1202和查询模块1204,其中:
获取模块1202,用于响应于角色信息获取事件,获取请求方标识;角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;请求方标识由账户管理节点在获取请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对业务数据处理请求进行验签处理后确定;业务数据处理请求携带有使用请求方私钥签名的业务数据;请求方私钥与业务数据的业务类型匹配;
查询模块1204,用于查询与请求方标识关联的角色信息;角色信息用于在存在与请求方公钥一致的目标角色公钥,且目标角色公钥对应的角色类型的角色权限与业务类型匹配的情况下,指示账户管理节点将业务数据发送给业务响应节点,并获取业务响应节点对业务数据的处理结果,以及向请求方反馈该处理结果。
在一些实施例中,区块链底层链数据处理装置1200还包括标识生成模块,用于:获取去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息;基于基础账户信息和角色信息生成符合所述去中心化身份协议的请求方标识。
在一些实施例中,角色信息包括角色类型、角色权限和角色公钥。在该实施例的情形下,区块链底层链数据处理装置1200还包括账户文档更新模块,用于根据请求方标识以及角色信息,更新符合去中心化身份协议的账户文档;该账户文档用于维护请求方标识与角色信息的关联关系。
在一些实施例中,账户文档更新模块还用于:响应于角色信息更新事件,获取管理方标识,确定管理方标识对应的管理方角色信息,在根据管理方角色信息确定管理方具备待更新信息的更新权限的情况下,根据待更新信息更新账户文档。角色信息更新事件由账户管理节点在确定管理方标识的情况下发起;管理方标识由账户管理节点在获取管理方发起的角色信息更新请求,基于与管理方私钥匹配的管理方公钥对角色信息更新请求进行验签处理后确定;角色信息更新请求中携带有使用管理方私钥签名的待更新信息。
在一个实施例中,角色信息更新请求为角色公钥轮换请求;待更新信息包括待轮换的至少两个目标角色类型和轮换方式。在该实施例的情形下,账户文档更新模块具体用于:从账户文档中提取至少两个目标角色类型各自的角色公钥;根据轮换方式,对账户文档中至少两个目标角色类型各自的角色公钥进行轮换处理。
上述区块链底层链数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的区块链底层链数据处理方法的区块链底层链数据处理系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个区块链底层链数据处理系统实施例中的具体限定可以参见上文中对于区块链底层链数据处理方法的限定,在此不再赘述。
在一个实施例中,如图13所示,提供了一种区块链底层链数据处理系统1300,包括账户管理节点1301和身份服务节点1302。账户管理节点1301用于获取请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥,对业务数据处理请求进行验签处理,确定请求方的请求方标识;业务数据处理请求携带有使用请求方私钥签名的业务数据;请求方私钥与业务数据的业务类型匹配。身份服务节点1302用于向账户管理节点1301发送请求方标识关联的角色信息;该角色信息包括请求方的至少一个角色类型的角色权限和角色公钥。账户管理节点1301还用于在存在与请求方公钥一致的目标角色公钥,且目标角色公钥对应的角色类型的角色权限与业务类型匹配的情况下,则将业务数据发送给业务响应节点,以及获取业务响应节点对业务数据的处理结果,并向请求方反馈该处理结果。
上述区块链底层链数据处理系统,通过对账户管理节点和身份服务节点进行功能配置,使得同一请求方可以对应不同的角色,且各角色均配置有对应的角色权限和角色公钥,这样,对于同一请求方而言,可以基于与业务请求的业务类型匹配的角色私钥发起该业务请求,进而实现了一个账户对应多个公私钥对的账户模式,并且不同业务类型可以使用不同的公私钥对,能够降低使用唯一的私钥进行业务处理的安全隐患,有利于提高数据处理过程的安全性,同时也可以便于对链上操作行为进行审查和追溯。
在一个实施例中,如图14所示,区块链底层链账户体系可以包括DAPP(Decentralized Application,去中心化应用)用户1401、管理员1402以及区块链底层链中的账户管理节点1403和DID身份服务节点1404。相当于在底层链中新增DID身份服务节点1404作为底层链内置系统合约,这样使得改进后的系统与原系统兼容,易于改造。DID文档的所有状态数据存储在DID身份服务节点1404中,账户管理模块1403通过调用DID身份服务节点1404的DID系统合约实现DID的注册、查询和更新,通过获取DID文档的用户和角色信息实现对账户的鉴权和权限校验。本申请可以应用于公链或联盟链。对于公链,DID账户可由用户自行注册和维护,而无需管理员介入;对于联盟链,可以把管理员的DID身份绑定特定角色赋予管理员权限,实现对其他账户的注册和更新、以及其他的账户管理权限。
在一个实施例中,如图15所示,区块链底层链账户体系可以包括DAPP用户1501、管理员1502以及区块链网络中的链接入模块1503、账户管理节点1504、DID身份服务节点1505和业务响应节点1506。账户管理节点1504通过DID身份服务节点1505注册账号和查询账号信息,该账户信息例可以是用户角色公钥和角色权限等,并把DID标识存储在账户管理节点1504中的账户模块中。DAPP用户在上链时可直接携带用户DID标识,但为了在常见的公私钥模式下做较小的改造实现本方案,用户访问链的身份可仍然用公钥,由账户模块维护公钥和用户DID标识的映射关系,通过公钥反查出用户DID标识。DID身份服务节点1505的DID身份合约接口实现符合DID协议定义的DID方法规范,主要包括如下几点:
(1)注册DID标识。生成DID标识符时,至少需要绑定一个用户公钥,而标识符生成算法不做约束,只需保证标识符在链内全局唯一即可。为存储更多的账户信息,注册DID时可以携带其他用户信息,包括DID协议规范的字段如controller和service,也可自定义其他扩展字段保存个性化的用户信息,如角色信息。
(2)获取DID文档。DID文档包含了账户的所有用户信息包括绑定的公钥和用户角色、用户权限等,生成后的DID标识符会存储在账户模块,在账户管理节点1504需要读取账户信息或鉴权时,通过调用DID身份服务节点1505的DID身份合约获取DID文档的状态数据。
(3)更新DID文档。当用户需要替换私钥时,需要更新账户绑定的公钥,更新公钥通过调用DID身份合约的DID文档更新接口完成。为了控制更新权限,更新操作的请求需要经过签名验签,由DID文档的控制者,即DID文档的controller的DID账户用私钥签名,账户管理节点1504验签。除公钥外,其他的账户信息包括角色或权限、以及其他自定义用户信息的更新操作同样可以通过更新DID文档的合约接口完成。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图16所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储区块链底层链数据处理方法中涉及到的数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种区块链底层链数据处理方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述区块链底层链数据处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述区块链底层链数据处理方法中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述区块链底层链数据处理方法中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (15)

1.一种区块链底层链数据处理方法,其特征在于,所述方法包括:
获取请求方发起的业务数据处理请求;所述业务数据处理请求携带有使用请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;
若所述请求方标识关联的角色信息中,存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则将所述业务数据发送给业务响应节点;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;
获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果。
2.根据权利要求1所述的方法,其特征在于,确定所述请求方的请求方标识的方式,包括以下两项中的任意一项:
基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,提取所述业务数据处理请求中携带的请求方标识;
从多个候选公钥中,确定与所述请求方私钥匹配的请求方公钥,根据候选标识与候选公钥的对应关系,从各所述候选标识中确定所述请求方公钥对应的请求方标识。
3.根据权利要求1所述的方法,其特征在于,所述请求方标识为去中心化身份标识;
所述方法还包括:
获取请求方在创建角色公私钥对后,使用所述角色公私钥对中的角色私钥发起的标识请求;所述标识请求中携带有去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息;
获取符合所述去中心化身份协议的请求方标识;所述请求方标识基于所述基础账户信息和所述角色信息生成。
4.根据权利要求3所述的方法,其特征在于,所述角色信息包括角色类型、角色权限和角色公钥;
所述方法还包括:
基于所述请求方标识,存储所述请求方的关联信息;所述关联信息包括对应存储的所述请求方标识和所述角色公钥,以及对应存储的所述请求方的所述角色类型和所述角色权限;
从已存储的所述请求方的关联信息中,获取所述请求方标识关联的角色信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述请求方标识关联的角色信息;
基于所述角色信息、所述请求方公钥、以及所述业务类型对所述请求方进行角色鉴权,核查所述请求方的业务权限。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,所述方法还包括:
获取管理方发起的角色信息更新请求;所述角色信息更新请求中携带有使用管理方私钥签名的待更新信息;
基于与所述管理方私钥匹配的管理方公钥,对所述角色信息更新请求进行验签处理,确定所述管理方的管理方标识;
获取所述管理方标识对应的管理方角色信息,在根据所述管理方角色信息确定所述管理方具备所述待更新信息的更新权限的情况下,更新所述待更新信息。
7.一种区块链底层链数据处理方法,其特征在于,所述方法包括:
响应于角色信息获取事件,获取请求方标识;所述角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;所述请求方标识由所述账户管理节点在获取所述请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对所述业务数据处理请求进行验签处理后确定;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
查询与所述请求方标识关联的角色信息;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;所述角色信息用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,指示所述账户管理节点将所述业务数据发送给业务响应节点,并获取所述业务响应节点对所述业务数据的处理结果,以及向所述请求方反馈所述处理结果。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取去中心化身份协议的规范字段所承载的基础账户信息、以及自定义扩展字段所承载的角色信息;
基于所述基础账户信息和所述角色信息,生成符合所述去中心化身份协议的请求方标识。
9.根据权利要求8所述的方法,其特征在于,所述角色信息包括角色类型、角色权限和角色公钥;
所述方法还包括:
根据所述请求方标识以及所述角色信息,更新符合去中心化身份协议的账户文档;所述账户文档用于维护请求方标识与角色信息的关联关系。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
响应于角色信息更新事件,获取管理方标识,确定所述管理方标识对应的管理方角色信息;所述角色信息更新事件由所述账户管理节点在确定所述管理方标识的情况下发起;所述管理方标识由所述账户管理节点在获取管理方发起的角色信息更新请求,基于与管理方私钥匹配的管理方公钥对所述角色信息更新请求进行验签处理后确定;所述角色信息更新请求中携带有使用所述管理方私钥签名的待更新信息;
在根据所述管理方角色信息确定所述管理方具备所述待更新信息的更新权限的情况下,根据所述待更新信息更新所述账户文档。
11.根据权利要求10所述的方法,其特征在于,所述角色信息更新请求为角色公钥轮换请求;所述待更新信息包括待轮换的至少两个目标角色类型和轮换方式;
所述根据所述待更新信息更新所述账户文档,包括:
从所述账户文档中提取所述至少两个目标角色类型各自的角色公钥;
根据所述轮换方式,对所述账户文档中所述至少两个目标角色类型各自的角色公钥进行轮换处理。
12.一种区块链底层链数据处理系统,其特征在于,包括账户管理节点和身份服务节点;
所述账户管理节点用于获取请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
所述身份服务节点用于向所述账户管理节点发送所述请求方标识关联的角色信息;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥;
所述账户管理节点还用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,则将所述业务数据发送给业务响应节点,以及获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果。
13.一种区块链底层链数据处理装置,其特征在于,所述装置包括:
接入模块,用于获取请求方发起的业务数据处理请求;所述业务数据处理请求携带有使用请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
鉴权模块,用于基于与所述请求方私钥匹配的请求方公钥,对所述业务数据处理请求进行验签处理,确定所述请求方的请求方标识;
所述接入模块还用于若所述请求方标识关联的角色信息中,存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配,则将所述业务数据发送给业务响应节点,以及获取所述业务响应节点对所述业务数据的处理结果,并向所述请求方反馈所述处理结果;所述角色信息包括所述请求方的至少一个角色类型的角色权限和角色公钥。
14.一种区块链底层链数据处理装置,其特征在于,所述装置包括:
获取模块,用于响应于角色信息获取事件,获取请求方标识;所述角色信息获取事件由账户管理节点在确定请求方的请求方标识的情况下发起;所述请求方标识由所述账户管理节点在获取所述请求方发起的业务数据处理请求,基于与请求方私钥匹配的请求方公钥对所述业务数据处理请求进行验签处理后确定;所述业务数据处理请求携带有使用所述请求方私钥签名的业务数据;所述请求方私钥与所述业务数据的业务类型匹配;
查询模块,用于查询与所述请求方标识关联的角色信息;所述角色信息用于在存在与所述请求方公钥一致的目标角色公钥,且所述目标角色公钥对应的角色类型的角色权限与所述业务类型匹配的情况下,指示所述账户管理节点将所述业务数据发送给业务响应节点,并获取所述业务响应节点对所述业务数据的处理结果,以及向所述请求方反馈所述处理结果。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
CN202211450571.6A 2022-11-18 2022-11-18 区块链底层链数据处理方法、装置、系统和计算机设备 Pending CN118101203A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211450571.6A CN118101203A (zh) 2022-11-18 2022-11-18 区块链底层链数据处理方法、装置、系统和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211450571.6A CN118101203A (zh) 2022-11-18 2022-11-18 区块链底层链数据处理方法、装置、系统和计算机设备

Publications (1)

Publication Number Publication Date
CN118101203A true CN118101203A (zh) 2024-05-28

Family

ID=91163717

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211450571.6A Pending CN118101203A (zh) 2022-11-18 2022-11-18 区块链底层链数据处理方法、装置、系统和计算机设备

Country Status (1)

Country Link
CN (1) CN118101203A (zh)

Similar Documents

Publication Publication Date Title
US10924284B2 (en) System and method for decentralized-identifier authentication
CN109409122B (zh) 文件存储方法及其电子设备、存储介质
CN111144881B (zh) 对资产转移数据的选择性访问
CN112055025B (zh) 一种基于区块链的隐私数据保护方法
JP2020511017A (ja) ブロックチェーンベースのデジタル証明書を実装するためのシステム及び方法
CN109472164A (zh) 合同数据的验证方法及其网络和电子设备
US20050177715A1 (en) Method and system for managing identities in a peer-to-peer networking environment
JP2020511018A (ja) デジタル・マークを生成するためのシステム及び方法
CN113328997B (zh) 联盟链跨链系统及方法
Abbade et al. Blockchain applied to vehicular odometers
CN109491965A (zh) 购售电合同的存储方法及其网络和电子设备
CN111259439B (zh) 一种基于区块链的无形资产管理服务平台及其实现方法
JP2023524715A (ja) ネットワーク間の識別情報プロビジョニング
CN111523152B (zh) 基于区块链的电子证件管理方法、管理网络及电子设备
CN114710370B (zh) 基于雾区块链和属性加密的细粒度访问控制方法及系统
WO2023134282A1 (zh) 基于区块链的数据处理方法、装置、设备、存储介质及程序产品
Gulati et al. Self-sovereign dynamic digital identities based on blockchain technology
CN110910110A (zh) 一种数据处理方法、装置及计算机存储介质
CN116015856A (zh) 基于区块链数字身份的数据流转方法及装置
CN113779637B (zh) 一种属性数据处理方法、装置、设备以及介质
CN118101203A (zh) 区块链底层链数据处理方法、装置、系统和计算机设备
DE102022107718A1 (de) Ausstellen eines digitalen Credentials für eine Entität
CN112653767B (zh) 数字身份管理方法、装置、电子设备和可读存储介质
CN117061089B (zh) 一种投票管理方法、装置、设备及存储介质
CN117675243A (zh) 联盟链鉴权方法、装置、联盟链鉴权系统和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication