CN113285954B - 可验证声明验证方法、系统、电子设备及存储介质 - Google Patents

可验证声明验证方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN113285954B
CN113285954B CN202110616008.0A CN202110616008A CN113285954B CN 113285954 B CN113285954 B CN 113285954B CN 202110616008 A CN202110616008 A CN 202110616008A CN 113285954 B CN113285954 B CN 113285954B
Authority
CN
China
Prior art keywords
user
verification
verifiable
service
block chain
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.)
Active
Application number
CN202110616008.0A
Other languages
English (en)
Other versions
CN113285954A (zh
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110616008.0A priority Critical patent/CN113285954B/zh
Publication of CN113285954A publication Critical patent/CN113285954A/zh
Application granted granted Critical
Publication of CN113285954B publication Critical patent/CN113285954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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

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)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种可验证声明验证方法、系统、电子设备及存储介质,涉及区块链技术领域。该方法包括:验证者区块链接收用户的可验证声明的验证请求,验证请求包括:用户的可验证声明、用户申请的业务操作数据;验证者区块链根据验证请求,获取用户的验证关联信息,并写入验证者预言机合约中;预言机服务根据预言机合约中用户的验证关联信息,获取用户的中间处理结果;预言机服务将中间处理结果发送给验证者区块链;验证者区块链根据中间处理结果,对用户的可验证声明进行验证,并将验证结果写入本地区块链中。本方法可实现用户的可验证声明验证过程的全监督,避免了数据被篡改的可能,从而提高了对于可验证声明的验证结果的可靠性。

Description

可验证声明验证方法、系统、电子设备及存储介质
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种可验证声明验证方法、系统、电子设备及存储介质。
背景技术
数字身份信息,如DID(英文全称:Decentralized Identifiers,中文全称:分布式身份标识),是一种去中心化的可验证的数字标识符。DID可以标识个体的身份、组织的身份等,但由于DID中并没有个体、组织等的真实信息,如姓名、家庭住址等信息,因此用户通常将DID与可验证声明(英文全称:Verifiable Credential,简称VC)相结合,通过可验证声明向验证方证明如年龄、学历、拥有的某些权限等信息,当验证通过后,则用户可向验证方申请相应的业务服务。
现有技术中,对于可验证声明的验证均是在链下中心化系统的验证者进行,验证者通过调用DID区块链和发行者服务,验证用户和发行者、以及用户的可验证声明的吊销情况,同时对可验证声明的签名数据进行验证,在验证通过后则可允许用户执行相应的业务服务。
但是,上述方法中,由于中心化系统的验证者缺乏监管,中心化系统的验证者生成的验证结果容易被篡改,或者是存在随意验证通过的可能,从而导致对于可验证声明的验证结果可靠性较差。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种可验证声明验证方法、系统、电子设备及存储介质,以便于解决现有技术中存在的对于用户的可验证声明的验证结果可靠性较差的问题。为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种可验证声明验证方法,应用于可验证声明验证系统,所述可验证声明验证系统包括:验证者区块链、预言机服务,所述预言机服务和所述验证者区块链相互通信;所述方法包括:
所述验证者区块链接收用户的可验证声明的验证请求,所述验证请求包括:用户的可验证声明、用户申请的业务操作数据;
所述验证者区块链根据所述验证请求,获取所述用户的验证关联信息,并写入验证者预言机合约中;所述验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;
所述预言机服务根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果,所述中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;
所述预言机服务将所述中间处理结果发送给所述验证者区块链;
所述验证者区块链根据所述中间处理结果,对所述用户的可验证声明进行验证,并将验证结果写入本地区块链中。
可选地,所述预言机服务根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果之前,所述方法还包括:
所述预言机服务通过事件监听服务监听所述预言机合约的请求事件;
当监听到新的请求事件时,从所述预言机合约中获取所述新的请求事件对应的用户的验证关联信息。
可选地,所述可验证声明验证系统还包括:分布式身份标识区块链、发行者服务,所述分布式身份标识区块链和所述发行者服务分别与所述预言机服务相互通信;所述预言机服务根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果,包括:
所述预言机服务调用所述分布式身份标识区块链,验证所述用户的身份标识以及所述用户的可验证声明对应的发行者的身份标识,得到第一验证结果;
所述预言机服务调用所述发行者服务,验证所述用户的可验证声明的有效性,得到第二验证结果;
所述预言机服务根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果。
可选地,所述预言机服务调用所述发行者服务,验证所述用户的可验证声明的有效性,包括:
所述预言机服务根据所述检验可验证声明有效性的地址,从所述发行者服务中查询所述用户的可验证声明;
若查询到,则确定所述用户的可验证声明有效。
可选地,所述预言机服务根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果之前,所述方法还包括:
所述预言机服务根据所述用户的身份标识,从所述分布式身份标识区块链中获取所述用户的公钥;
所述预言机服务根据所述发行者的身份标识,从所述分布式身份标识区块链中获取所述发行者的公钥;
所述预言机服务根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果,包括:
所述预言机服务根据所述第一验证结果和所述第二验证结果、以及所述用户的公钥、所述发行者的公钥,获取用户的中间处理结果。
可选地,所述验证者区块链根据所述中间处理结果,对所述用户的可验证声明进行验证,包括:
若所述中间处理结果指示验证通过,则所述验证者区块链调用本地节点,根据所述中间处理结果对所述用户的可验证声明进行验证。
可选地,所述验证者区块链调用本地节点,根据所述中间处理结果对所述用户的可验证声明进行验证,包括:
所述验证者区块链调用本地节点,根据所述用户的公钥以及所述发行者的公钥,对所述用户的可验证声明的签名数据进行验证。
可选地,所述用户的中间处理结果还包括:所述验证请求的标识;所述验证者区块链根据所述中间处理结果,对所述用户的可验证声明进行验证,并将验证结果写入本地区块链中之后,所述方法还包括:
所述验证者区块链接收所述用户的验证结果查询请求,所述验证结果查询请求包括:验证请求的标识;
所述验证者区块链根据所述验证请求的标识,从所述验证者区块链查询所述用户的可验证声明验证结果,并发送至所述用户。
可选地,所述方法还包括:
所述验证者区块链接收所述用户申请的业务操作数据,执行所述业务操作数据对应的业务逻辑。
可选地,所述可验证声明验证系统还包括统计平台;所述方法还包括:
所述统计平台监听所述预言机合约,从所述预言机合约中统计各用户的可验证声明验证信息并进行公示;所述可验证声明验证信息包括如下至少一项:可验证声明验证成功的用户数量、可验证声明的申请验证数量、每日可验证声明的验证信息、业务操作成功执行的用户数量。
可选地,所述预言机服务调用所述分布式身份标识区块链,验证所述用户的身份标识以及所述用户的可验证声明对应的发行者的身份标识之前,所述方法还包括:
所述分布式身份标识区块链分别接收所述用户以及所述发行者的身份标识注册请求;
所述分布式身份标识区块链响应所述身份标识注册请求,分别将所述用户的身份标识以及所述发行者的身份标识进行存储。
第二方面,本申请实施例还提供了一种可验证声明验证系统,所述可验证声明验证系统包括:验证者区块链、预言机服务;所述预言机服务和所述验证者区块链相互通信;
所述验证者区块链,用于根据所述验证请求,获取所述用户的验证关联信息,并写入验证者预言机合约中;所述验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;
所述预言机服务,用于根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果,所述中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;
所述预言机服务,用于将所述中间处理结果发送给所述验证者区块链;
所述验证者区块链,用于根据所述中间处理结果,对所述用户的可验证声明进行验证,并将验证结果写入本地区块链中。
可选地,所述预言机服务,还用于通过事件监听服务监听所述预言机合约的请求事件;当监听到新的请求事件时,从所述预言机合约中获取所述新的请求事件对应的用户的验证关联信息。
可选地,所述可验证声明验证系统还包括:分布式身份标识区块链、发行者服务,所述分布式身份标识区块链和所述发行者服务分别与所述预言机服务相互通信;
所述预言机服务,具体用于调用所述分布式身份标识区块链,验证所述用户的身份标识以及所述用户的可验证声明对应的发行者的身份标识,得到第一验证结果;
所述预言机服务,具体用于调用所述发行者服务,验证所述用户的可验证声明的有效性,得到第二验证结果;
所述预言机服务,具体用于根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果。
可选地,所述预言机服务,具体用于根据所述检验可验证声明有效性的地址,从所述发行者服务中查询所述用户的可验证声明;若查询到,则确定所述用户的可验证声明有效。
可选地,所述预言机服务,还用于根据所述用户的身份标识,从所述分布式身份标识区块链中获取所述用户的公钥;
所述预言机服务,还用于根据所述发行者的身份标识,从所述分布式身份标识区块链中获取所述发行者的公钥;
可选地,所述预言机服务,具体用于根据所述第一验证结果和所述第二验证结果、以及所述用户的公钥、所述发行者的公钥,获取用户的中间处理结果。
可选地,若所述中间处理结果指示验证通过,则所述验证者区块链,具体用于调用本地节点,根据所述中间处理结果对所述用户的可验证声明进行验证。
可选地,所述验证者区块链,具体用于调用本地节点,根据所述用户的公钥以及所述发行者的公钥,对所述用户的可验证声明的签名数据进行验证。
可选地,所述验证者区块链,还用于接收所述用户的验证结果查询请求,所述验证结果查询请求包括:验证请求的标识;
所述验证者区块链,还用于根据所述验证请求的标识,从所述验证者区块链查询所述用户的可验证声明验证结果,并发送至所述用户。
可选地,所述验证者区块链,还用于接收所述用户申请的业务操作数据,执行所述业务操作数据对应的业务逻辑。
可选地,所述可验证声明验证系统还包括统计平台;
所述统计平台,用于监听所述预言机合约,从所述预言机合约中统计各用户的可验证声明验证信息并进行公示;所述可验证声明验证信息包括如下至少一项:可验证声明验证成功的用户数量、可验证声明的申请验证数量、每日可验证声明的验证信息、业务操作成功执行的用户数量。
可选地,所述分布式身份标识区块链,还用于分别接收所述用户以及所述发行者的身份标识注册请求;
所述分布式身份标识区块链,还用于响应所述身份标识注册请求,分别将所述用户的身份标识以及所述发行者的身份标识进行存储。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行时执行如第一方面中提供的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如第一方面提供的方法的步骤。
本申请的有益效果是:
本申请提供一种可验证声明验证方法、系统、电子设备及存储介质,该方法包括:验证者区块链接收用户的可验证声明的验证请求,验证请求包括:用户的可验证声明、用户申请的业务操作数据;验证者区块链根据验证请求,获取用户的验证关联信息,并写入验证者预言机合约中;验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;预言机服务根据预言机合约中用户的验证关联信息,获取用户的中间处理结果,中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;预言机服务将中间处理结果发送给验证者区块链;验证者区块链根据中间处理结果,对用户的可验证声明进行验证,并将验证结果写入本地区块链中。本方案中,用户通过向验证者区块链申请对可验证声明进行验证,用户的申请请求以及相应的验证结果等相关信息均可及时存储在区块链上,以达到了用户的申请信息以及验证结果数据等验证可验证声明的全过程信息均被记录在链,被共同监督,可实现验证过程的全监督,避免了数据被篡改的可能,从而提高了对于可验证声明的验证结果的可靠性。
另外,通过预言机服务作为验证者区块链和链下分布式身份标识区块链以及发行者服务之间的通信桥梁,可有效解决验证者区块链和链下系统之间的通信障碍。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种可验证声明系统的架构示意图;
图2为本申请实施例提供的一种可验证声明验证系统的架构示意图;
图3为本申请实施例提供的可验证声明验证方法流程示意图一;
图4为本申请实施例提供的可验证声明验证方法流程示意图二;
图5为本申请实施例提供的可验证声明验证方法流程示意图三;
图6为本申请实施例提供的可验证声明验证方法流程示意图四;
图7为本申请实施例提供的可验证声明验证方法流程示意图五;
图8为本申请实施例提供的可验证声明验证方法流程示意图六;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
以下先对本申请各实施例中可能涉及到的一些名词术语进行说明:
1、分布式数字身份:分布式身份不止是人,包括组织,甚至未来也包括物品。这些人或者组织、物品不简单依靠于原先中心化权威机构,无法被拿走或者删除,而且是终身携带的身份。
2、分布式身份标识(Decentralized Identifiers,DID):分布式身份标识是一种去中心化的可验证的数字标识符,具有分布式、自主可控、跨链复用等特点。实体可自主完成DID的注册、解析、更新或者撤销操作。DID具体解析为DID Document,DID Document包括DID的唯一标识码,公钥列表和公钥的详细信息(持有者、加密算法、密钥状态等),以及DID持有者的其他属性描述。
3、可验证声明:可验证声明(Verifiable Credential,VC)提供了一种规范来描述实体所具有的某些属性,实现基于证据的信任。DID持有者,可以通过可验证声明,向其他实体(个人、组织、具体事物等)证明自己的某些属性是可信的。同时,结合数字签名和零知识证明等密码学技术,可以使得声明更加安全可信,并进一步保障用户隐私不被侵犯。
4、可验证表述:可验证表述(verifiable presentation,VP),是一种防篡改的描述,它来自一个或多个可验证声明,并由披露这些声明的主体用密码签名。无论是直接使用可验证声明,还是从可验证声明中获得的数据构造身份证明,DID身份证明都将以“可验证表述(verifiable Presentation)”的方式进行出示。
5、可验证声明发行者:拥有用户数据并能开具VC的实体,如政府、银行、大学等机构和组织。
6、可验证声明持有者(用户):持有VC的实体。
7、可验证声明验证者:接受用户的VC并进行验证,由此可以提供给出示VC的用户某种类型的服务。
8、分布式身份标识区块链(标识符注册机构):维护DIDs的数据库,如某条区块链、分布式账本。
接下来,对本申请方法所涉及的可验证声明系统进行说明:
图1为本申请实施例提供的一种可验证声明系统的架构示意图;可验证声明系统可包括:可验证声明生成过程和可验证声明验证过程。在用户需要向某些平台申请业务操作时,用户可先向可验证声明发行者申请生成自己的可验证声明,并向可验证声明验证者(平台验证者)出示可验证声明以进行验证,在验证成功后,则可向平台申请执行业务操作。本申请所提供的可验证声明验证方法对应于可验证声明系统中可验证声明验证的过程。
如图1所示,可验证声明系统可包括:可验证声明发行者、可验证声明持有者(用户)、可验证声明验证者、标识符注册机构(分布式身份标识区块链)。其中,可验证声明发行者可以为拥有用户数据并能开具可验证声明(VC)的实体,如政府、银行、大学、医院、公安部分等机构和组织;可验证声明持有者可以是人、组织或物品;可验证声明验证者可以是提供服务的企业单位或业务平台等。
可验证声明系统的工作流程大体可以如下:(1)用户在申请生成VC之前向标识符注册机构注册DID,并获取DID文档。(2)用户向VC发行者申请生成用户的VC。(3)VC发行者验证用户身份的有效性,并验证用户的DID是否注册是否有效,验证通过后,生成用户的VC,返回给用户,用户做好本地保存。(4)用户向可验证声明验证者申请业务操作时(例如,去购物网站购物),此时用户向可验证声明验证者提供VC进行验证。(5)可验证声明验证者在区块链上验证用户及发行者的DID的有效性。(6)验证通过后,可验证声明验证者再次验证用户的VC的签名信息,确定是否为发行者发行的VC。(7)用户的VC验证通过后,即可确定用户的有效性,用户即可通过验证者区块链向业务平台申请业务操作。
图2为本申请实施例提供的一种可验证声明验证系统的架构示意图;该验证系统可用于执行上述的可验证声明的验证过程,本申请所提供的可验证声明验证方法可应用于该可验证声明验证系统中。如图2所示,该验证系统可包括:验证者区块链、预言机服务、分布式身份标识区块链、发行者服务、统计平台。其中,预言机服务分别和验证者区块链、分布式身份标识区块链、发行者服务相互通信;验证者区块链和统计平台相互通信。
可验证声明的验证过程整体可如下所示:用户向验证者区块链发起可验证声明的验证请求,验证者区块链将验证请求记录在链,并解析验证请求获取用户的验证关联信息写入验证者预言机合约,预言机服务监听验证者预言机合约的数据,获取用户的验证关联信息,调用分布式身份标识区块链和发行者服务分别验证用户和发行者的身份标识、以及验证用户的可验证声明的有效性,预言机服务获取验证结果,并将验证结果发送至验证者区块链,验证者区块链对验证结果进行存储,并且验证者区块链根据验证结果,再对用户的可验证声明的签名数据进行验证,得到最终验证结果,用户可从验证者区块链查询对自己的可验证声明的验证结果。另外,统计平台可监听验证者区块链,并从验证者区块链中导出各用户的验证申请全过程数据进行公示。
本申请通过验证者区块链进行用户VC的验证,可解决中心化验证者缺乏监督的问题,可做到VC验证的全流程记录,达到可信服务的目的;通过预言机服务可解决发行者区块链无法直接与链下分布式身份标识区块链和发行者服务进行通信的问题。
图3为本申请实施例提供的可验证声明验证方法流程示意图一;如图3所示,本申请的方法可包括:
S301、验证者区块链接收用户的可验证声明的验证请求,验证请求包括:用户的可验证声明、用户申请的业务操作数据。
可选地,用户可通过用户终端向验证者区块链中的链节点发送验证请求,如上述所说的,用户可以是个人、组织机构等,验证者区块链可以是业务平台、服务机构、企业单位等验证者所应用的区块链。用户所使用的用户终端可根据用户的类型而定。可验证声明的验证请求用于请求对用户的可验证声明进行验证,以通过对可验证声明进行验证后,向业务平台等请求执行业务操作。
可选地,用户可组装验证请求,将验证请求发送至验证者区块链的节点,输入参数可包括:验证请求的标识requestNumber、用户的可验证声明的详情VCDetail(可验证声明的详细信息)、业务参数businessParams,业务参数也即指用户申请的业务操作数据,例如:用户购买某个商品。
S302、验证者区块链根据验证请求,获取用户的验证关联信息,并写入验证者预言机合约中;验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址。
可选地,验证者区块链可将接收的验证请求以及用户的可验证声明记录在链上,并且解析验证请求,获取用户的验证关联信息,其中,用户的验证关联信息包括但不限于上述的用户的身份标识DID、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址。
需要说明的是,用户的可验证声明对应的发行者的身份标识也即指生成该用户的可验证声明的发行者的DID,不同的用户的可验证声明对应的发行者可能存在不同,用户申请不同类型的可验证声明所对应的发行者也可能存在不同。用户的可验证声明类型也即指用户所申请的可验证声明(VC)的具体类型,例如:申请身份VC、学历VC、存款VC等。检验可验证声明有效性的地址可以用于指示从该地址中获取用户的可验证声明的相关信息,以验证该可验证声明的有效性。
例如,验证者区块链可解析用户的可验证声明详情,得到用户的DID(userDid)、发行者的DID(issuerDID)、检查VC是否有效地址url(credetialStatus)、VC类型(vcType)等。如下所述:发行者的DID为:issuer;用户的DID为:credentialSubject.id;检查VC是否有效地址url:credentialStatus(id及type)参数;VC类型为:identityVC。
可选地,验证者区块链可将解析获取的用户的验证关联信息作为提案写入本地的验证者预言机合约中以进行存储。
验证者预言机合约记录用户的验证关联信息可如下:合约通过验证请求的标识requestNumber,保存用户验证请求的详情(到存证对象VCObj),但是这里的验证请求暂时没有VC的验证结果,只保存用户的DID、验证请求的标识requestNumber、用户的可验证声明的详情vcDetail、用户申请的业务操作数据businessParams。
验证者预言机合约发起预言机oracle查询请求(oracle_query接口),拼接参数:验证请求的标识requestNumber、用户DID(userDid)、发行者DID(issuerDID)、检查VC是否有效的地址url(credetialStatus)、VC类型(vcType)。oracle_query接口返回当前本次预言机请求的标识cid,更新到本次验证请求的存证对象VCObj中,并将cid保存到待回调请求列表中(validIds)。
其中,验证者预言机合约发起预言机oracle查询请求oracle_query请求说明如下:
输入参数:数据源(写死url)、数据详情(上述拼接的参数:验证请求的标识requestNumber、用户DID(userDid)、发行者DID(issuerDID)、检查VC是否有效的地址url(credetialStatus)、VC类型(vcType))。
操作步骤:
1、生成当前预言机请求的标识cid:_cid=sha3(msg.sender,reqc[msg.sender]):如通过用户的区块链地址、用户请求的递增编号hash得到当前用户本次验证请求的预言机编号。
2、触发OracleLog事件,事件信息包括:用户的区块链地址、当前预言机请求的标识cid、数据源(写死url)、数据详情(验证请求的标识requestNumber、用户DID(userDid)、发行者DID(issuerDID)、检查VC是否有效的地址url(credetialStatus)、VC类型(vcType))。
3、返回上层cid。
S303、预言机服务根据预言机合约中用户的验证关联信息,获取用户的中间处理结果,中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果。
在一些实施例中,预言机服务可从预言机合约中获取用户的验证关联信息,并根据用户的验证关联信息调用对应的处理单元,对用户的验证关联信息进行验证,以获取用户的中间处理结果。
其中,中间处理结果可以包括但不限于上述所列举的,用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果分别用于表征用户的身份标识和发行者的身份标识的有效性,用户的可验证声明有效性验证结果用于表征用户的可验证声明是否过期、是否被吊销等。
S304、预言机服务将中间处理结果发送给验证者区块链。
可选地,上述预言机服务获取到用户的中间处理结果后,可将用户的中间处理结果发送至验证者区块链,一方面,可使得验证者区块链对用户的中间处理结果进行链上存储,以对结果数据实现公开和监督,另一方面,验证者区块链还可根据中间处理结果进一步地对用户的可验证声明进行验证,以得到最终的验证结果。
S305、验证者区块链根据中间处理结果,对用户的可验证声明进行验证,并将验证结果写入本地区块链中。
可选地,验证者区块链可根据中间处理结果所表征的用户是否通过验证,以判断是否对用户的可验证声明进行最终验证,当中间处理结果表征用户通过验证时,则验证者区块链可对用户的可验证声明进行验证,同时,验证结果可写入区块链中,以进行记录。用户可从验证者区块链查询对于可验证声明的验证结果。
综上,本实施例提供的可验证声明验证方法,包括:验证者区块链接收用户的可验证声明的验证请求,验证请求包括:用户的可验证声明、用户申请的业务操作数据;验证者区块链根据验证请求,获取用户的验证关联信息,并写入验证者预言机合约中;验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;预言机服务根据预言机合约中用户的验证关联信息,获取用户的中间处理结果,中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;预言机服务将中间处理结果发送给验证者区块链;验证者区块链根据中间处理结果,对用户的可验证声明进行验证,并将验证结果写入本地区块链中。本方案中,用户通过向验证者区块链申请对可验证声明进行验证,用户的申请请求以及相应的验证结果等相关信息均可及时存储在区块链上,以达到了用户的申请信息以及验证结果数据等验证可验证声明的全过程信息均被记录在链,被共同监督,可实现验证过程的全监督,避免了数据被篡改的可能,从而提高了对于可验证声明的验证结果的可靠性。
图4为本申请实施例提供的可验证声明验证方法流程示意图二;可选地,步骤S303中,预言机服务根据预言机合约中用户的验证关联信息,获取用户的中间处理结果之前,本申请的方法还可包括:
S401、预言机服务通过事件监听服务监听预言机合约的请求事件。
可选地,在验证者预言机合约和预言机服务工作之前,还先进行预言机合约和预言机服务的初始化。管理员可将预言机合约代码部署到验证者区块链,并记录合约地址VerifierOracleAddr。
确定预言机服务的账号地址列表(callbackAddressList),在初始化预言机合约的时候,将callbackAddressList写入到预言机合约中。其作用是后续预言机服务发送中间处理结果给验证者区块链的时候,确保只有指定的区块链账号可以获取结果。
S402、当监听到新的请求事件时,从预言机合约中获取新的请求事件对应的用户的验证关联信息。
可选地,预言机服务配置预言机合约地址VerifierOracleAddr,监听预言机合约的预言机请求事件OracleLog事件。
可选地,预言机服务可通过事件监听服务监听预言机合约中的新的OracleLog事件,这里的监听方法为区块链通用的方法(通过指定区块链地址的log监听即可),不再解释。
可选地,当预言机服务监听到OracleLog事件后,可从预言机合约中获取用户的验证关联信息,可包括验证请求的标识requestNumber、用户DID(userDid)、发行者DID(issuerDID)、检验可验证声明有效性的地址url(credetialStatus)、用户的可验证声明类型(vcType)。
图5为本申请实施例提供的可验证声明验证方法流程示意图三;可选地,步骤S303中,预言机服务根据预言机合约中用户的验证关联信息,获取用户的中间处理结果,可以包括:
S501、预言机服务调用分布式身份标识区块链,验证用户的身份标识以及用户的可验证声明对应的发行者的身份标识,得到第一验证结果。
可选地,预言机服务可访问分布式身份标识区块链(DID区块链),验证用户的DID是否有效,输入参数可以为:用户DID。
DID区块链中预先注册有不同用户的身份标识,DID区块链可将预言机服务输入的用户DID与DID区块链存储的用户的DID进行比对,以验证用户的DID是否有效。
可选地,预言机服务还可访问DID区块链,验证发行者DID是否有效,可选地,可输入发行者DID,DID区块链可根据预先注册的发行者DID,对输入的发行者的DID有效性进行验证。从而得到第一验证结果,第一验证结果用于表征用户的身份标识以及发行者的身份标识验证是否通过。
S502、预言机服务调用发行者服务,验证用户的可验证声明的有效性,得到第二验证结果。
可选地,预言机服务还可调用发行者服务,对用户的可验证声明的有效性进行验证。输入的参数可以为:用户的可验证声明的类型。发行者服务可根据用户的验证关联信息中的检验可验证声明有效性的地址,从该地址中获取用户的可验证声明的吊销情况,若被吊销则可证明可验证声明无效,若未被吊销,则确定用户的可验证声明是有效的,从而得到第二验证结果。
S503、预言机服务根据第一验证结果和第二验证结果,获取用户的中间处理结果。
可选地,预言机服务可根据上述得到的第一验证结果和第二验证结果,汇总用户的验证结果,得到用户的中间处理结果。
可选地,步骤S502中,预言机服务调用发行者服务,验证用户的可验证声明的有效性,可以包括:预言机服务根据检验可验证声明有效性的地址,从发行者服务中查询用户的可验证声明;若查询到,则确定用户的可验证声明有效。
可选地,当未查询到时,可以说明用户的可验证声明已经过期或者是被发行者吊销,则用户的可验证声明是不可用的,可确定用户的可验证声明是无效的。
图6为本申请实施例提供的可验证声明验证方法流程示意图四;可选地,步骤S503中,预言机服务根据第一验证结果和第二验证结果,获取用户的中间处理结果之前,本申请的方法还可包括:
S601、预言机服务根据用户的身份标识,从分布式身份标识区块链中获取用户的公钥。
在一些实施例中,预言机服务再通过调用分布式身份标识区块链对用户的身份标识进行验证后,同时还可根据用户的身份标识,从分布式身份标识区块链中查询用户的公钥,其中,用户的身边标识可以指示用户对应的区块链地址,该地址中可存储用户的相关信息,根据该地址,可对应查询到用户的公钥。
S602、预言机服务根据发行者的身份标识,从分布式身份标识区块链中获取发行者的公钥。
同样的,也可通过同样的方法,在对发行者的身份标识进行验证的同时,根据发行者的身份标识获取发行者的公钥。
步骤S503中,预言机服务根据第一验证结果和第二验证结果,获取用户的中间处理结果,可以包括:
S603、预言机服务根据第一验证结果和第二验证结果、以及用户的公钥、发行者的公钥,获取用户的中间处理结果。
可选地,预言机服务可根据上述的第一验证结果和第二验证结果,若第一验证结果和第二验证结果均为验证通过,则汇总用户的公钥和发行者的公钥,得到用户的中间处理结果。
预言机服务可将用户的中间处理结果进行本地记录,并将中间处理结果发送至验证者区块链,以存储至验证者区块链的验证者预言机合约中。
可选地,步骤S305中,验证者区块链根据中间处理结果,对用户的可验证声明进行验证,可以包括:若中间处理结果指示验证通过,则验证者区块链调用本地节点,根据中间处理结果对用户的可验证声明进行验证。
在一些实施例中,验证者区块链在获取到中间处理结果中,当中间处理结果中所包含的第一验证结果和第二验证结果均为验证通过时,则验证者区块链可调用本地节点ethcall,对用户的可验证声明进行最终验证。
可选地,验证者区块链调用本地节点,根据中间处理结果对用户的可验证声明进行验证,可以包括:验证者区块链调用本地节点,根据用户的公钥以及发行者的公钥,对用户的可验证声明的签名数据进行验证。
在一些实施例中,发行者生成的用户的可验证声明中还可包括可验证声明的签名数据,签名数据用于对用户的可验证声明进行验证。
可选地,验证者区块链可根据获取的中间处理结果中所包含的用户的公钥以及发行者的公钥,对用户的可验证声明的签名数据进行验证,以验证签名数据是否有效,从而确定对用户的可验证声明的最终验证结果。验证者区块链可将最终验证结果也写入链上。
这里的签名数据验证过程与通用的可验证声明验证逻辑一致,可采用非对称加密的验证算法逻辑。
当最终验证结果为用户的可验证声明验证通过时,则验证者区块链可根据用户申请的业务操作数据,也即前述的业务参数businessParams,执行业务逻辑,比如,链上购买某个商品等。当用户的可验证声明为验证不通过时,则不执行业务逻辑。
验证者区块链执行步骤如下:
若预言机服务发送的用户的中间处理结果ifvalid验证是有效的,则执行如下操作:通过validIds-map恢复出用户的验证请求的标识requestNumber。并通过requestNumber恢复用户的VC请求对象VCObj。
调用本地节点ethcall,验证VC的签名数据(callback_verify_vc_ethcall方法),得到签名验证是否通过的结果flag。
更新VC对象VCObj,记录验证时间(verifyTime)、计算存证hash(depositHash通过用户DID、请求编号hash得到),调用的预言机账号地址(oracleAddr)。
若签名数据的验证结果为通过,则设置验证通过(ifvalid),并发送验证成功事件;此时验证者预言机合约可根据业务参数businessParams,执行业务逻辑(dealBusiness)。比如链上购买某个商品等;若签名数据的验证结果为不通过,则设置验证不通过(ifvalid),不执行业务逻辑。
若预言机服务发送的用户的中间处理结果ifvalid验证是无效的,则更新验证不通过(ifvalid),并更新计算存证hash(depositHash通过用户DID、请求编号hash得到),调用的预言机账号地址(oracleAddr),不执行业务逻辑。删除validIds中的本次cid,防止反复调用。至此本次用户从请求验证VC,预言机服务验证用户DID/发行者DID/可验证声明的有效性全流程结束,全流程的相关信息永久入链,任何人都无法篡改。
图7为本申请实施例提供的可验证声明验证方法流程示意图五;可选地,用户的中间处理结果还可包括:验证请求的标识;步骤S305中,验证者区块链根据中间处理结果,对用户的可验证声明进行验证,并将验证结果写入本地区块链中之后,本申请的方法还可包括:
S701、验证者区块链接收用户的验证结果查询请求,验证结果查询请求包括:验证请求的标识。
在一些实施例中,验证者区块链获取到用户的可验证声明验证结果并进行链上存储后,用户可通过向验证者区块链发起验证结果查询请求,以获取验证结果。
S702、验证者区块链根据验证请求的标识,从验证者区块链查询用户的可验证声明验证结果,并发送至用户。
可选地,用户可不断地轮询验证请求的标识requestNumber,验证者通过验证请求标识,从存储在链上的验证请求对应的VCObj中的获取用户的可验证声明验证结果,并发送验证结果至用户。
可选地,用户获取到可验证声明的验证结果后,便可向验证者区块链发起业务操作数据,以通过验证者区块链在业务平台实现业务操作,并获取业务操作结果。
可选地,本申请的方法还可包括:验证者区块链接收用户申请的业务操作数据,执行业务操作数据对应的业务逻辑。
在一些实施例中,验证者区块链接收的用户的可验证声明验证请求中包含了用户申请的业务操作数据,当验证者区块链获取到用户的可验证声明验证结果,确定验证通过时,则可根据用户申请的业务操作数据,执行对应的业务逻辑。
可选地,本申请的方法还可包括:统计平台监听预言机合约,从预言机合约中统计各用户的可验证声明验证信息并进行公示;可验证声明验证信息包括如下至少一项:可验证声明验证成功的用户数量、可验证声明的申请验证数量、每日可验证声明的验证信息、业务操作成功执行的用户数量。
在一种可实现的方式中,统计平台可通过监听验证者区块链上验证者预言机合约的数据,以统计所以用户的可验证声明验证信息,并进行公示。
操作步骤可如下所示:
统计平台监听验证者预言机合约地址VerifierOracleAddr的所有回调请求(__callback方法);统计平台解析出所有的VCObj的参数数据;统计平台根据用户的身份标识,获取用户的可验证声明验证过程相关的信息,如上述所列举的信息,当然也不限于这些信息,可以统计出各用户的所有信息。
至此用户的全链路的可验证声明验证过程,全部存证到验证者区块链,并达到公示及可信的效果。
图8为本申请实施例提供的可验证声明验证方法流程示意图六;可选地,步骤S501中,预言机服务调用分布式身份标识区块链,验证用户的身份标识以及用户的可验证声明对应的发行者的身份标识之前,本申请的方法还可包括:
S801、分布式身份标识区块链分别接收用户以及发行者的身份标识注册请求。
可选地,在本申请的方法执行之前,用户可向分布式身份标识区块链注册身份标识,同样的,发行者也需要向分布式身份标识区块链注册身份标识。
S802、分布式身份标识区块链响应身份标识注册请求,分别将用户的身份标识以及发行者的身份标识进行存储。
分布式身份标识区块链可分别接收用户和发行者的身边标识注册请求,响应请求,并将用户及发行者的身边标识存储至区块链中。以便于后续通过所存储的用户及发行者的身边标识,对请求验证可验证声明的用户以及其对应的发行者进行有效性验证。
综上,本实施例提供的可验证声明验证方法,包括:验证者区块链接收用户的可验证声明的验证请求,验证请求包括:用户的可验证声明、用户申请的业务操作数据;验证者区块链根据验证请求,获取用户的验证关联信息,并写入验证者预言机合约中;验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;预言机服务根据预言机合约中用户的验证关联信息,获取用户的中间处理结果,中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;预言机服务将中间处理结果发送给验证者区块链;验证者区块链根据中间处理结果,对用户的可验证声明进行验证,并将验证结果写入本地区块链中。本方案中,用户通过向验证者区块链申请对可验证声明进行验证,用户的申请请求以及相应的验证结果等相关信息均可及时存储在区块链上,以达到了用户的申请信息以及验证结果数据等验证可验证声明的全过程信息均被记录在链,被共同监督,可实现验证过程的全监督,避免了数据被篡改的可能,从而提高了对于可验证声明的验证结果的可靠性。
另外,通过预言机服务作为验证者区块链和链下分布式身份标识区块链以及发行者服务之间的通信桥梁,可有效解决验证者区块链和链下系统之间的通信障碍。
下述对用以执行本申请所提供的可验证声明验证方法对应的系统、设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
可选地,可验证声明验证系统中包含的验证者区块链、预言机服务、分布式身份标识区块链、发行者服务、统计平台分别对应实现上述部分方法执行的步骤。预言机服务和验证者区块链相互通信;分布式身份标识区块链和发行者服务分别与预言机服务相互通信。
可选地,验证者区块链,用于根据验证请求,获取用户的验证关联信息,并写入验证者预言机合约中;验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;
预言机服务,用于根据预言机合约中用户的验证关联信息,获取用户的中间处理结果,中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;
预言机服务,用于将中间处理结果发送给验证者区块链;
验证者区块链,用于根据中间处理结果,对用户的可验证声明进行验证,并将验证结果写入本地区块链中。
可选地,预言机服务,还用于通过事件监听服务监听预言机合约的请求事件;当监听到新的请求事件时,从预言机合约中获取新的请求事件对应的用户的验证关联信息。
可选地,预言机服务,具体用于调用分布式身份标识区块链,验证用户的身份标识以及用户的可验证声明对应的发行者的身份标识,得到第一验证结果;
预言机服务,具体用于调用发行者服务,验证用户的可验证声明的有效性,得到第二验证结果;
预言机服务,具体用于根据第一验证结果和第二验证结果,获取用户的中间处理结果。
可选地,预言机服务,具体用于根据检验可验证声明有效性的地址,从发行者服务中查询用户的可验证声明;若查询到,则确定用户的可验证声明有效。
可选地,预言机服务,还用于根据用户的身份标识,从分布式身份标识区块链中获取用户的公钥;
预言机服务,还用于根据发行者的身份标识,从分布式身份标识区块链中获取发行者的公钥;
可选地,预言机服务,具体用于根据第一验证结果和第二验证结果、以及用户的公钥、发行者的公钥,获取用户的中间处理结果。
可选地,若中间处理结果指示验证通过,则验证者区块链,具体用于调用本地节点,根据中间处理结果对用户的可验证声明进行验证。
可选地,验证者区块链,具体用于调用本地节点,根据用户的公钥以及发行者的公钥,对用户的可验证声明的签名数据进行验证。
可选地,验证者区块链,还用于接收用户的验证结果查询请求,验证结果查询请求包括:验证请求的标识;
验证者区块链,还用于根据验证请求的标识,从验证者区块链查询用户的可验证声明验证结果,并发送至用户。
可选地,验证者区块链,还用于接收用户申请的业务操作数据,执行业务操作数据对应的业务逻辑。
可选地,统计平台,用于监听预言机合约,从预言机合约中统计各用户的可验证声明验证信息并进行公示;可验证声明验证信息包括如下至少一项:可验证声明验证成功的用户数量、可验证声明的申请验证数量、每日可验证声明的验证信息、业务操作成功执行的用户数量。
可选地,分布式身份标识区块链,还用于分别接收用户以及发行者的身份标识注册请求;
分布式身份标识区块链,还用于响应身份标识注册请求,分别将用户的身份标识以及发行者的身份标识进行存储。
以上可验证声明验证系统中所包含的验证者区块链、预言机服务、分布式身份标识区块链、发行者服务、统计平台均可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。
需要说明的是,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-on-a-chip,简称SOC)的形式实现。
图9为本申请实施例提供的一种电子设备的结构示意图,该设备可以是具备数据处理功能的计算设备。该设备可包括:处理器801、存储器802。
可选地,电子设备可以是上述的验证者区块链、可以是预言机服务、可以是分布式身份标识区块链、或者,也可以是发行者服务或者是统计平台。
存储器802用于存储程序,处理器801调用存储器802存储的程序,以执行上述方法实施例。具体的,当电子设备为验证者区块链时,处理器801用以执行验证者区块链、预言机服务、分布式身份标识区块链、发行者服务或者是统计平台所执行的方法的步骤。当电子设备为预言机服务时,处理器801用以执行预言机服务所执行的方法的步骤。当电子设备为分布式身份标识区块链时,处理器801用以执行分布式身份标识区块链所执行的方法的步骤。当电子设备为发行者服务时,处理器801用以执行发行者服务所执行的方法的步骤。当电子设备为统计平台时,处理器801用以执行统计平台所执行的方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
其中,存储器802存储有程序代码,当程序代码被处理器801执行时,使得处理器801执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的方法中的各种步骤。
处理器801可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (12)

1.一种可验证声明验证方法,其特征在于,应用于可验证声明验证系统,所述可验证声明验证系统包括:验证者区块链、预言机服务,所述预言机服务和所述验证者区块链相互通信;所述方法包括:
所述验证者区块链接收用户的可验证声明的验证请求,所述验证请求包括:用户的可验证声明、用户申请的业务操作数据;
所述验证者区块链根据所述验证请求,获取所述用户的验证关联信息,并写入验证者预言机合约中;所述验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;
所述预言机服务根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果,所述中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;
所述预言机服务将所述中间处理结果发送给所述验证者区块链;
所述验证者区块链根据所述中间处理结果,对所述用户的可验证声明进行验证,并将验证结果写入本地区块链中;
所述预言机服务根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果之前,所述方法还包括:
所述预言机服务通过事件监听服务监听所述预言机合约的请求事件;
当监听到新的请求事件时,从所述预言机合约中获取所述新的请求事件对应的用户的验证关联信息;
所述可验证声明验证系统还包括:分布式身份标识区块链、发行者服务,所述分布式身份标识区块链和所述发行者服务分别与所述预言机服务相互通信;所述预言机服务根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果,包括:
所述预言机服务调用所述分布式身份标识区块链,验证所述用户的身份标识以及所述用户的可验证声明对应的发行者的身份标识,得到第一验证结果;
所述预言机服务调用所述发行者服务,验证所述用户的可验证声明的有效性,得到第二验证结果;
所述预言机服务根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果。
2.根据权利要求1所述的方法,其特征在于,所述预言机服务调用所述发行者服务,验证所述用户的可验证声明的有效性,包括:
所述预言机服务根据所述检验可验证声明有效性的地址,从所述发行者服务中查询所述用户的可验证声明;
若查询到,则确定所述用户的可验证声明有效。
3.根据权利要求1所述的方法,其特征在于,所述预言机服务根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果之前,所述方法还包括:
所述预言机服务根据所述用户的身份标识,从所述分布式身份标识区块链中获取所述用户的公钥;
所述预言机服务根据所述发行者的身份标识,从所述分布式身份标识区块链中获取所述发行者的公钥;
所述预言机服务根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果,包括:
所述预言机服务根据所述第一验证结果和所述第二验证结果、以及所述用户的公钥、所述发行者的公钥,获取用户的中间处理结果。
4.根据权利要求3所述的方法,其特征在于,所述验证者区块链根据所述中间处理结果,对所述用户的可验证声明进行验证,包括:
若所述中间处理结果指示验证通过,则所述验证者区块链调用本地节点,根据所述中间处理结果对所述用户的可验证声明进行验证。
5.根据权利要求4所述的方法,其特征在于,所述验证者区块链调用本地节点,根据所述中间处理结果对所述用户的可验证声明进行验证,包括:
所述验证者区块链调用本地节点,根据所述用户的公钥以及所述发行者的公钥,对所述用户的可验证声明的签名数据进行验证。
6.根据权利要求3所述的方法,其特征在于,所述用户的中间处理结果还包括:所述验证请求的标识;所述验证者区块链根据所述中间处理结果,对所述用户的可验证声明进行验证,并将验证结果写入本地区块链中之后,所述方法还包括:
所述验证者区块链接收所述用户的验证结果查询请求,所述验证结果查询请求包括:验证请求的标识;
所述验证者区块链根据所述验证请求的标识,从所述验证者区块链查询所述用户的可验证声明验证结果,并发送至所述用户。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述验证者区块链接收所述用户申请的业务操作数据,执行所述业务操作数据对应的业务逻辑。
8.根据权利要求1所述的方法,其特征在于,所述可验证声明验证系统还包括统计平台;所述方法还包括:
所述统计平台监听所述预言机合约,从所述预言机合约中统计各用户的可验证声明验证信息并进行公示;所述可验证声明验证信息包括如下至少一项:可验证声明验证成功的用户数量、可验证声明的申请验证数量、每日可验证声明的验证信息、业务操作成功执行的用户数量。
9.根据权利要求1所述的方法,其特征在于,所述预言机服务调用所述分布式身份标识区块链,验证所述用户的身份标识以及所述用户的可验证声明对应的发行者的身份标识之前,所述方法还包括:
所述分布式身份标识区块链分别接收所述用户以及所述发行者的身份标识注册请求;
所述分布式身份标识区块链响应所述身份标识注册请求,分别将所述用户的身份标识以及所述发行者的身份标识进行存储。
10.一种可验证声明验证系统,其特征在于,所述可验证声明验证系统包括:验证者区块链、预言机服务;所述预言机服务和所述验证者区块链相互通信;
所述验证者区块链,用于根据验证请求,获取用户的验证关联信息,并写入验证者预言机合约中;所述验证关联信息包括:用户的身份标识、用户的可验证声明对应的发行者的身份标识、用户的可验证声明类型、检验可验证声明有效性的地址;
所述预言机服务,用于根据所述预言机合约中用户的验证关联信息,获取用户的中间处理结果,所述中间处理结果包括:用户的身份标识验证结果、用户的可验证声明对应的发行者的身份标识验证结果、用户的可验证声明有效性验证结果;
所述预言机服务,用于将所述中间处理结果发送给所述验证者区块链;
所述验证者区块链,用于根据所述中间处理结果,对所述用户的可验证声明进行验证,并将验证结果写入本地区块链中;
所述预言机服务,还用于通过事件监听服务监听所述预言机合约的请求事件;当监听到新的请求事件时,从所述预言机合约中获取所述新的请求事件对应的用户的验证关联信息;
所述可验证声明验证系统还包括:分布式身份标识区块链、发行者服务,所述分布式身份标识区块链和所述发行者服务分别与所述预言机服务相互通信;
所述预言机服务,具体用于调用所述分布式身份标识区块链,验证所述用户的身份标识以及所述用户的可验证声明对应的发行者的身份标识,得到第一验证结果;
所述预言机服务,具体用于调用所述发行者服务,验证所述用户的可验证声明的有效性,得到第二验证结果;
所述预言机服务,具体用于根据所述第一验证结果和所述第二验证结果,获取用户的中间处理结果。
11.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至9任一所述的方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至9任一所述的方法的步骤。
CN202110616008.0A 2021-06-02 2021-06-02 可验证声明验证方法、系统、电子设备及存储介质 Active CN113285954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110616008.0A CN113285954B (zh) 2021-06-02 2021-06-02 可验证声明验证方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110616008.0A CN113285954B (zh) 2021-06-02 2021-06-02 可验证声明验证方法、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113285954A CN113285954A (zh) 2021-08-20
CN113285954B true CN113285954B (zh) 2022-12-06

Family

ID=77283273

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110616008.0A Active CN113285954B (zh) 2021-06-02 2021-06-02 可验证声明验证方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113285954B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113610528B (zh) * 2021-08-24 2024-04-02 上海点融信息科技有限责任公司 基于区块链的管理系统、方法、设备及存储介质
CN113709138B (zh) * 2021-08-25 2023-08-15 网易(杭州)网络有限公司 多媒体文件的获取方法、娱乐方法、系统及电子设备
CN113472544B (zh) * 2021-08-31 2021-12-14 北京微芯感知科技有限公司 一种数字身份验证方法、装置、计算机设备和存储介质
CN113807968B (zh) * 2021-09-22 2024-02-23 网易(杭州)网络有限公司 区块链用户请求处理方法、装置、委托服务器及存储介质
CN113935072B (zh) * 2021-09-26 2024-04-30 网易(杭州)网络有限公司 发行者注册方法、装置、计算机设备及存储介质
CN114944937B (zh) * 2022-04-19 2024-04-09 网易(杭州)网络有限公司 分布式数字身份验证方法、系统、电子设备及存储介质
CN117056900B (zh) * 2023-10-12 2024-02-09 中电数创(北京)科技有限公司 一种可信数据空间中的主体全流程可信认证的方法
CN118074909B (zh) * 2024-04-18 2024-07-19 山东省大数据中心 一种基于预言机的数据代理授权方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111770112A (zh) * 2020-08-31 2020-10-13 支付宝(杭州)信息技术有限公司 一种信息共享方法、装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10536537B1 (en) * 2019-06-13 2020-01-14 Accenture Global Solutions Limited Multi-source deterministic oracle management
CN111898153B (zh) * 2020-03-18 2024-05-03 支付宝(杭州)信息技术有限公司 调用合约的方法及装置
CN111770201B (zh) * 2020-08-31 2020-12-04 支付宝(杭州)信息技术有限公司 一种数据验证方法、装置及设备
CN112801827A (zh) * 2020-10-29 2021-05-14 西安纸贵互联网科技有限公司 一种基于区块链的知识产权管理系统
CN112738253B (zh) * 2020-12-30 2023-04-25 北京百度网讯科技有限公司 基于区块链的数据处理方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111770112A (zh) * 2020-08-31 2020-10-13 支付宝(杭州)信息技术有限公司 一种信息共享方法、装置及设备

Also Published As

Publication number Publication date
CN113285954A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN113285954B (zh) 可验证声明验证方法、系统、电子设备及存储介质
CN111080295B (zh) 一种基于区块链的电子合同处理方法以及设备
CN112487778B (zh) 多用户在线签约系统及方法
US11159525B2 (en) Multi-dimensional framework for defining criteria that indicate when authentication should be revoked
CN113468602B (zh) 一种数据检验方法、装置及设备
JP2021524088A (ja) リソース移行データの管理方法及び装置、並びにコンピュータプログラム
CN109257342A (zh) 区块链跨链的认证方法、系统、服务器及可读存储介质
CN111164632A (zh) 一种基于区块链的信息处理方法、装置及区块链网络
WO2019081530A1 (en) METHODS OF RECORDING AND SHARING A DIGITAL IDENTITY OF A USER USING DISTRIBUTED REGISTERS
CN111786994B (zh) 一种基于区块链的数据处理方法及相关设备
CN109245897B (zh) 一种基于非交互的零知识证明的节点认证方法和装置
CN113364763B (zh) 可验证声明生成方法、装置、电子设备及存储介质
WO2020000777A1 (zh) 基于区块链获取个人征信方法、装置及计算机设备
CN113129017B (zh) 一种信息共享方法、装置及设备
CN112600830B (zh) 业务数据处理方法、装置、电子设备及存储介质
WO2022016842A1 (zh) 去中心化身份系统中隐藏用户信息的方法和计算机可读介质
CN113301163B (zh) 业务处理方法、系统、电子设备及存储介质
CN114513373B (zh) 可信数据交换方法、装置、系统、电子设备和存储介质
CN109818965B (zh) 个人身份验证装置及方法
KR20190114597A (ko) 블록 체인을 이용한 발신자 확인 방법, 장치 및 시스템
CN113779637A (zh) 一种属性数据处理方法、装置、设备以及介质
CN115632794A (zh) 一种分布式数字身份验证系统、方法和相关装置
CN114662124A (zh) 区块链可信数据的处理方法与计算机可读存储介质
CN114499869A (zh) 基于区块链的资源跨链交换方法、装置和计算机设备
CN115987952A (zh) 协议管理方法、装置、终端设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant