一种可验证声明的传输方法、装置、设备及系统与流程

文档序号:20838871发布日期:2020-05-22 17:14阅读:133来源:国知局
一种可验证声明的传输方法、装置、设备及系统与流程

本申请涉及计算机技术领域,尤其涉及一种可验证声明的传输方法、装置、设备及系统。



背景技术:

最初,数字身份认证是中心化的。中心化身份系统的本质是中央集权化的权威机构掌握着身份数据。围绕数据进行的认证、授权等过程都由中心化的机构来决定。数字身份不是由用户自己控制的。另一方面,不同的中心化网站上各自有一套身份系统,所以用户在每个网站都需要重新注册一个账户。不同网站的身份系统(及账户对应的数据)之间是不互通的。

综上所述,中心化身份主要的问题至少有以下两个,一是用户并不能够在真正意义上拥有自己的身份,二是身份无法互通。

为了解决上述问题,分布式数字身份(decentralizedidentifier,did)的技术概念被提出。

分布式数字身份,顾名思义,是基于分布式系统实现的一种数字化的身份凭证。分布式数字身份技术通常是基于区块链系统实现的。构成一个分布式数字身份的基础元素,至少包括分布式数字身份标识和分布式数字身份文档。

分布式数字身份文档中不包括与用户的个人真实信息相关的内容(比如用户的真实姓名、地址、手机号等)。因此,采用分布式数字身份验证进行身份验证时,还需要用到可验证声明(verifiableclaim,vc)。

这里的可验证声明,可以理解为具有相关资质的权威机构基于用户的请求而颁发的数字凭证。一个分布式数字身份可以具有对应的多个可验证声明。例如,证明该分布式数字身份在某公司就职的可验证声明,证明该分布式数字身份的学历为博士毕业的可验证声明,证明该分布式数字身份是某小区的业主的可验证声明等等。可以看出,一个分布式数字身份可以对应的可验证声明的数量几乎是没有上限的。因此,对于可验证声明的管理就成为亟待解决的技术问题。



技术实现要素:

有鉴于此,本申请实施例提供了一种可验证声明的传输方法,可以对可验证声明的使用过程进行记录。

为解决上述技术问题,本说明书实施例是这样实现的:

本说明书实施例提供的一种可验证声明的传输方法,包括:

获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;

获取所述第一标识对应的可验证声明;

将所述可验证声明发送至所述目标区块链系统;

所述可验证声明的持有方账户具有所述第一数据仓库的使用权限,所述可验证声明的验证方账户具有第二数据仓库的使用权限。

本说明书实施例提供的一种可验证声明的传输装置,包括:

传输请求获取模块,用于获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;

可验证声明获取模块,用于获取所述第一标识对应的可验证声明;

可验证声明发送模块,用于将所述可验证声明发送至所述目标区块链系统;

所述可验证声明的持有方账户具有所述第一数据仓库的使用权限,所述可验证声明的验证方账户具有第二数据仓库的使用权限。

本说明书实施例提供的一种可验证声明的传输设备,包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:

获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;

获取所述第一标识对应的可验证声明;

将所述可验证声明发送至所述目标区块链系统;

所述可验证声明的持有方账户具有所述第一数据仓库的使用权限,所述可验证声明的验证方账户具有第二数据仓库的使用权限。

本说明书实施例提供的一种可验证声明的传输系统,包括:

第一数据仓库、第二数据仓库和至少一个目标区块链系统;

所述第一数据仓库,用于获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;获取所述第一标识对应的可验证声明;将所述可验证声明发送至所述目标区块链系统;

所述第二数据仓库,用于从所述目标区块链系统获取所述可验证声明;

所述可验证声明的持有方账户具有所述第一数据仓库的使用权限,所述可验证声明的验证方账户具有所述第二数据仓库的使用权限。

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:

通过区块链将可验证声明由持有方设备发送至验证方设备,使得可验证声明的传输过程被区块链系统记录,可被追溯。并且由于区块链上的数据不易被篡改,因此,对于可验证声明的传输或使用过程的记录,也具有很高的可信度。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本说明书实施例中可验证声明的传输方法的应用背景的示意图;

图2为本说明书实施例提供的一种可验证声明的传输方法的流程示意图;

图3为本说明书实施例提供的一种可验证声明的传输系统的架构示意图;

图4为本说明书实施例提供的另一种可验证声明的传输方法的流程示意图;

图5为本说明书实施例提供的对应于图2的一种可验证声明的传输装置的结构示意图;

图6为本说明书实施例提供的对应于图2的一种可验证声明的传输设备的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

以下结合附图,详细说明本申请各实施例提供的技术方案。

图1为本说明书实施例中可验证声明的传输方法的应用背景的示意图。如图1所示,客户端101可以是手机等移动终端,也可以是台式电脑等设备。客户端上登录有用户的账号,每个账号可以对应于一个分布式数字身份标识102。实际应用中:一个分布式数字身份标识可以对应于一个个人用户,或者对应于一个商家,或者对应于一个公司等等。一个分布式数字身份标识也可以与物理世界的物品相对应,例如,可以对应一个设备,或者一张票据等等。

可验证声明可以理解为对于一个分布式数字身份标识所标识的身份是否具有某种资质的声明。具体到数据层面,可验证声明可以是记录这种声明的数据。

一个分布式数字身份可以具有多个可验证声明103。比如:对于用户a使用的一个分布式数字身份来说,这个分布式数字身份可以包含用于证明用户a年满18周岁的可验证声明1,用于证明用户a的财产大于100万的可验证声明2,用于证明用户a具有机动车辆驾驶资格的可验证声明3等等。实际应用中,可验证声明可以是由具有相关资质的权威机构基于用户的请求而颁发的,颁发的可验证声明与申请该可验证声明的用户的分布式数字身份具有唯一的对应关系。例如,在前面的三个具体例子中,可验证声明1的颁发机构可以是派出所,可验证声明2的颁发机构可以是银行,可验证声明3的颁发机构可以是车辆管理所。

实际应用中,用户a也即一个分布式数字身份对应的可验证声明可以有很多(n个)。此时,众多的可验证声明需要进行统一存储和管理,因此,可以采用数据仓库104来存储分布式数字身份对应的可验证声明103。

用于存储可验证声明的数据仓库,简称vcrepo。需要说明的是,vcrepo是一个逻辑概念,具体可以是一个应用或一段程序。vcrepo可以部署在各种类型的硬件设备上。vcrepo在对可验证声明进行存储时,可以将可验证声明存储在vcrepo具有使用权限的数据库。

可验证声明数据仓库对于可验证声明的管理内容,主要是对可验证声明的存储与转发。而实际应用中,有些可验证声明的发布方,需要获悉该发布方发布给用户的可验证声明的使用信息(例如,被用户用在了哪些场景等等),从而对可验证声明的使用过程进行统计分析。而原始的可验证声明数据仓库无法支持这一功能。

图2为本说明书实施例提供的一种可验证声明的传输方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。例如,可以是用于存储可验证声明的数据仓库。

如图2所示,该流程可以包括以下步骤:

步骤202:第一数据仓库获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;

该请求可以是可验证声明的持有方账户的设备发起的。该持有方可以是第一数据仓库的用户,具有对第一数据仓库的使用权限。该持有方账户的标识可以是分布式数字身份标识。该持有方账户通过自身登录的设备,可以发起该请求。

所述可验证声明的第一标识,可以用vcid表示。所述目标区块链系统的第二标识,可以用vcchannel或channelid表示。

步骤204:获取所述第一标识对应的可验证声明;

因为持有方账户是第一数据仓库的用户,所以第一数据仓库中可以预先存储该持有方账户的可验证声明。当获取到对可验证声明进行传输的请求后,第一数据仓库可以根据请求中包含的vcid,从相应的数据库中查找到该请求所对应需要传输的可验证声明。

步骤206:将所述可验证声明发送至所述目标区块链系统;

所述可验证声明的持有方具有所述第一数据仓库的使用权限,所述可验证声明的验证方具有第二数据仓库的使用权限。

其中,所述数据仓库在所述目标区块链系统中可以具有账户。所述数据仓库通过所述账户登录区块链系统后,可以向区块链系统中上传数据。或者,所述数据仓库不具有账户,可以通过具有账户的第三方平台向区块链系统上传数据。本说明书实施例中对此不作限定。

图3为本说明书实施例提供的一种可验证声明的传输系统的架构示意图。如图3所示,30为用户终端(也是可验证声明的传输请求的发送设备),31为第一数据仓库,32为第二数据仓库,33为第一数据仓库可操作的数据库,34为可验证声明的验证方的服务器。本说明书实施例中,对于可验证声明的传输请求,作用之一是将该可验证声明发送至验证方的服务器34进行验证。

图3中,11为第一区块链节点,12为第二区块链节点,13为第三区块链节点,区块链节点11、12和13属于第一区块链系统。21为第四区块链节点,22为第五区块链节点,23为第六区块链节点,区块链节点21、22和23属于第二区块链系统。31为第七区块链节点,32为第八区块链节点,33为第九区块链节点,区块链节点31、32和33属于第三区块链系统。需要说明的是,图3只是示意图,实际应用中,数据仓库可以连接的区块链系统的个数可以更多,一个区块链系统中的节点数目也可以更多。

本说明书实施例中,可验证声明的验证方,可以使用第二数据仓库进行可验证声明的管理。

由于数据仓库可以连接的区块链系统可以有多个,所以,图2的步骤中,对可验证声明的传输请求中,需要包含第二标识。第二标识可以表明需要通过哪一个区块链系统,完成对于可验证声明的传输。

图2中的方法的原理是,先由第一数据仓库根据可验证声明,构造生成一个可以存储在区块链上的链上交易数据。将该链上交易数据上传到目标区块链系统上的一个区块链节点上。该区块链节点可以基于区块链的共识机制,将链上交易数据通过对等网络(peer-to-peernetworking,也称p2p网络)传输给系统中的其他区块链节点。当共识达成后,收到该链上交易数据的各个节点,可以将该链上交易数据保存在各个节点本地。这样可以使系统中的全部或大部分区块链节点将该链上交易数据进行保存。通过上述过程,就可以将该链上交易数据传输到区块链系统中的另外的区块链节点。第二数据仓库再从该区块链系统中的另外的区块链节点上就可以获取到该链上交易数据,进而获取到对应的可验证声明,完成可验证声明的传输。这种传输有别于通常意义上的直接传输,而是利用了原本用于记账(或记录数据)的区块链系统的共识机制,间接地实现了传输的作用。并且,该方法还利用了区块链系统记录的数据无法被篡改的特性,可以使得可验证声明的传输过程被区块链系统记录,可被追溯。因此,图2中的方法,既实现了对于可验证声明的传输或使用过程的记录,还使得记录的数据具有很高的可信度。

更具体的,当采用图2中的方法,将可验证声明以区块链上的链上交易数据的形式写入区块链系统后,后续对于该可验证声明的使用过程的信息的记录与查询过程可以参照下例:

在将可验证声明上传到区块链系统时,可以将可验证声明作为链上交易数据的标的物,包含在链上交易数据中,上传至区块链系统。例如,可以将构成所述可验证声明的数据作为transactions字段对应的值,以此方式生成链上交易数据。该链上交易数据上传至区块链系统后,区块链系统会为该链上交易数据生成一哈希值。可以根据该哈希值以及对应的可验证声明的相关信息对可验证声明的使用过程进行记录。

例如,可以对某一个可验证声明的每次使用过程的验证方信息,持有方信息进行记录,同时记录的还有上述哈希值。这种形式的数据记录可以存储在第一数据仓库,和/或第二数据仓库中。这种形式的数据记录本身,就可以用来实现对该可验证声明的使用过程的追溯。

数据仓库还可以根据这种形式的数据记录,对该可验证声明的使用过程的信息进行统计,例如,可以统计该可验证声明被使用过多少次等等。

如果对数据仓库记录的数据有质疑,还可以从区块链系统上进行数据追溯。例如,当需要对统计的数据,或者数据记录进行验证时,可以根据存储的哈希值从区块链系统中获取对应的交易数据,由于区块链系统中存储的交易数据是无法被篡改的,因此可以使用区块链系统中存储的交易数据对前述统计数据,或者数据记录进行验证。当然,如果预先没有单独生成对于该可验证声明的使用过程的记录数据,也可以在需要对该可验证声明的使用过程进行追溯时,直接根据与该可验证声明存在对应关系的哈希值,查询该可验证声明的使用过程的相关信息,以此实现对该可验证声明的使用过程的追溯。

实际应用中,所述请求中还可以包括:签名信息。传输方法还可以采用以下方式:

所述将所述可验证声明发送至所述目标区块链系统之前,还可以包括:

判断所述签名信息是否为所述可验证声明的持有方账户的签名信息,得到第一判断结果;

所述将所述可验证声明发送至所述目标区块链系统,具体可以包括:

当所述第一判断结果表示所述签名信息是所述可验证声明的持有方账户的签名信息,将所述可验证声明发送至所述目标区块链系统。

上述方式中,第一数据仓库在接收到该传输请求后,可以获取该持有方的公钥,采用该公钥,对签名信息进行验签。如果验证通过,则证明该传输请求的发送方,确实是该第一数据仓库的用户。具体的,该传输请求中,也可以包含持有方的分布式数字身份标识,第一数据仓库可以根据该分布式数字身份标识从对应的分布式数字身份文档(decentralizedidentifierdocument,diddoc)中去查询持有方的公钥。

这里对diddoc进行说明。diddoc是与分布式数字身份标识相对应的文档。一个分布式数字身份标识具有一个与之对应的diddoc。该文档中可以记录与该分布式数字身份标识相关的各种信息。diddoc可以存储在区块链上。需要说明的是,存储diddoc的区块链与本说明书实施例中对于可验证声明起到传输作用的区块链,可以是不同的区块链。

实际应用中,所述请求中还可以包括:所述可验证声明的验证方账户的分布式数字身份标识。传输方法还可以采用以下方式:

所述将所述可验证声明发送至所述目标区块链系统,具体包括:

生成包含所述分布式数字身份标识的链上交易数据;所述链上交易数据中,标的物为所述可验证声明,资源转出账户为所述可验证声明的持有方的区块链账户,资源转入账户为所述可验证声明的验证方的区块链账户;

将所述链上交易数据发送至所述目标区块链系统。

上述方式,提供了一种生成链上交易数据的具体方式。将可验证声明作为标的物,持有方的区块链账户作为资源转出账户,验证方的区块链账户作为资源转入账户。具体的,持有方的区块链账户可以是持有方的分布式数字身份标识,验证方的区块链账户可以是验证方的分布式数字身份标识。

实际应用中,为了对于用户的隐私进行保护,还可以对可验证声明进行加密。可以采用以下方式进行加密。

所述生成包含所述分布式数字身份标识的链上交易数据,还可以包括:

采用对称密钥对所述可验证声明进行加密,得到对称加密后的可验证声明;

生成包含所述分布式数字身份标识的加密链上交易数据;所述加密链上交易数据中,标的物为所述加密后的可验证声明,授权列表中包含所述验证方的分布式数字身份标识。

上述方式中,授权列表是链上交易数据中的一个字段。该字段用于表示对应的链上交易数据是发送至哪个设备的。由于可验证声明的验证方是第二数据仓库的用户,因此第二数据仓库可以根据授权列表中的分布式数字身份标识,来查找对应的链上交易数据,再将链上交易数据中的可验证声明转发验证方进行验证。

实际应用中,为了进一步提高对于用户的隐私的保护,还可以对上一方式中的对称密钥进行加密。具体可以采用以下方式。

所述采用对称密钥对所述可验证声明进行加密之后,还可以包括:

获取所述验证方账户的公钥;

采用所述验证方账户的公钥对所述对称密钥进行加密,得到授权密钥;

所述生成包含所述分布式数字身份标识的加密链上交易数据,具体包括:

生成包含所述分布式数字身份标识的加密链上交易数据;所述加密链上交易数据中,标的物为所述加密后的可验证声明,授权列表中包含所述验证方账户的分布式数字身份标识,授权密钥列表中包含所述授权密钥。

上述方式中,授权密钥只有使用验证方的私钥进行解密,才能够得到对称密钥,再使用对称密钥对加密的可验证声明进行解密,才能够得到可验证声明原文。而验证方的私钥,通常只有验证方账户才可以获得。因此,这种加密方式更为安全。

上述方式中,对于所述验证方账户的公钥的获取,具体可以采用以下方式:

根据所述验证方账户的分布式数字身份标识,通过去中心化身份服务器获取所述分布式数字身份标识的分布式数字身份文档中记录的所述验证方账户的公钥。

上述去中心化身份服务器,是用于提供分布式数字身份服务(decentralizedidentifierservice,dis)的服务器。该服务器可以对diddoc进行存储或读取等操作。该服务器可以为用户生成分布式数字身份标识以及对应的diddoc,还可以对diddoc进行修改。该服务器对应连接有另一区块链系统。diddoc存储在另一区块链系统中,dis服务器生成或修改后的diddoc都可以按照合约在该另一区块链系统中进行上链存储。

实际应用中,在将可验证声明以链上交易数据的方式上传至目标区块链系统后,还可以通知可验证声明的验证方账户对该可验证声明进行获取及验证。具体可以采用以下方式:

将所述可验证声明发送至所述目标区块链系统之后,向所述可验证声明的验证方账户发送验证请求;所述验证请求中包含所述第一标识与所述第二标识。

上述方式,将第一标识与第二标识发送至验证方账户所在的设备,使得验证方账户可以根据所述第一标识与所述第二标识,确定目标区块链系统,进而从目标区块链系统获取对应的可验证声明进而进行验证。

实际应用中,如果使用对称密钥对于可验证声明进行了加密,并且使用验证方账户的公钥对该对称密钥进行加密,生成了授权密钥,则上述方式中,所述验证请求中还应包含所述授权密钥,以使验证方账户可以解密,得到可验证声明原文。

图4为本说明书实施例提供的另一种可验证声明的传输方法的流程示意图。如图4所示,该方法包括以下步骤:

步骤401:可验证声明的持有方的设备发送可验证声明传输请求;

该传输请求中,可以携带vcid,vcchannel,验证方的分布式数字身份标识,以及持有方的签名。

步骤402:第一数据仓库验证传输请求的发送方,是否具有第一数据仓库的使用权限。

可以通过传输请求中的持有方的签名信息进行判断。当权限验证通过,执行步骤403。

步骤403:第一数据仓库向dis服务器发送查找验证方的公钥的请求。

步骤404:dis服务器向第一数据仓库返回验证方的公钥。

步骤405:第一数据仓库对可验证声明进行加密,生成链上交易数据。

具体的加密方式,可以是先使用对称密钥对可验证声明原文进行加密,得到加密的可验证声明。使用验证方的公钥对对称密钥进行加密,得到授权密钥。生成的链上交易数据中,标的物为所述加密后的可验证声明,授权列表中包含所述验证方账户的分布式数字身份标识,授权密钥列表中包含所述授权密钥,资源转出账户为所述可验证声明的持有方的区块链账户(可以是分布式数字身份标识),资源转入账户为所述可验证声明的验证方的区块链账户(可以是分布式数字身份标识)。

步骤406:将步骤405中生成的链上交易数据上传至目标区块链系统。

步骤407:向验证方设备发送可验证声明验证请求。

步骤407为可选步骤。实际应用中,步骤407可以由第一数据仓库执行,也可以由持有方设备执行。

采用图4中的方法传输可验证声明,一方面利用了区块链的共识机制实现了可验证声明的传输,另一方面,利用区块链的数据记录能力,使得可验证声明的传输或使用过程可被记录,可被追溯;另一方面,利用区块链的防篡改能力,使得对于可验证声明的传输或使用过程的记录,具有很高的可信度;另一方面,通过对链上存储的可验证声明进行加密的方式,避免了由于区块链上的数据具有透明,可被查询的特性,导致用户隐私的泄露,提高了用户隐私的安全性。

基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图5为本说明书实施例提供的对应于图2的一种可验证声明的传输装置的结构示意图。如图5所示,该装置可以包括:

传输请求获取模块502,用于获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;

可验证声明获取模块504,用于获取所述第一标识对应的可验证声明;

可验证声明发送模块506,用于将所述可验证声明发送至所述目标区块链系统;

所述可验证声明的持有方账户具有所述第一数据仓库的使用权限,所述可验证声明的验证方账户具有第二数据仓库的使用权限;所述第一数据仓库在所述目标区块链系统中具有第一账户,所述第二数据仓库在所述目标区块链系统中具有第二账户。

上述装置,通过区块链将可验证声明由持有方设备发送至验证方设备,使得可验证声明的传输过程被区块链系统记录,可被追溯。并且由于区块链上的数据不易被篡改,因此,对于可验证声明的传输或使用过程的记录,也具有很高的可信度。

实际应用中,所述请求中还可以包括:签名信息;

所述装置还可以包括:

判断模块,用于在所述将所述可验证声明发送至所述目标区块链系统之前,判断所述签名信息是否为所述可验证声明的持有方账户的签名信息,得到第一判断结果;

所述可验证声明发送模块506,具体可以包括:

第一发送单元,用于当所述第一判断结果表示所述签名信息是所述可验证声明的持有方账户的签名信息,将所述可验证声明发送至所述目标区块链系统。

实际应用中,所述请求中还可以包括:所述可验证声明的验证方账户的分布式数字身份标识;

所述可验证声明发送模块506,具体可以包括:

链上交易数据生成单元,用于生成包含所述分布式数字身份标识的链上交易数据;所述链上交易数据中,标的物为所述可验证声明,资源转出账户为所述可验证声明的持有方的区块链账户,资源转入账户为所述可验证声明的验证方的区块链账户;

第二发送单元,用于将所述链上交易数据发送至所述目标区块链系统。

实际应用中,所述链上交易数据生成单元,具体可以包括:

加密子单元,用于采用对称密钥对所述可验证声明进行加密,得到对称加密后的可验证声明;

加密链上交易数据生成子单元,用于生成包含所述分布式数字身份标识的加密链上交易数据;所述加密链上交易数据中,标的物为所述加密后的可验证声明,授权列表中包含所述验证方账户的分布式数字身份标识;资源转出账户为所述可验证声明的持有方的区块链账户,资源转入账户为所述可验证声明的验证方的区块链账户。

实际应用中,该装置还可以包括:

公钥获取模块,用于采用对称密钥对所述可验证声明进行加密之后,获取所述验证方账户的公钥;

对称密钥加密模块,用于采用所述验证方账户的公钥对所述对称密钥进行加密,得到授权密钥;

所述加密链上交易数据生成子单元,具体可以用于:

生成包含所述分布式数字身份标识的加密链上交易数据;所述加密链上交易数据中,标的物为所述加密后的可验证声明,授权列表中包含所述验证方账户的分布式数字身份标识,授权密钥列表中包含所述授权密钥;资源转出账户为所述可验证声明的持有方的区块链账户,资源转入账户为所述可验证声明的验证方的区块链账户。

实际应用中,所述公钥获取模块,具体可以包括:

公钥获取单元,用于根据所述验证方账户的分布式数字身份标识,通过去中心化身份服务器获取所述分布式数字身份标识的分布式数字身份文档中记录的所述验证方账户的公钥。

实际应用中,该装置还可以包括:

验证请求发送模块,用于将所述可验证声明发送至所述目标区块链系统之后,向所述可验证声明的验证方账户发送验证请求;所述验证请求中包含所述第一标识与所述第二标识。

实际应用中,所述验证请求中还可以包括:所述授权密钥。

基于同样的思路,本说明书实施例还提供了上述方法对应的设备。

图6为本说明书实施例提供的对应于图2的一种可验证声明的传输设备的结构示意图。如图6所示,设备600可以包括:

至少一个处理器610;以及,

与所述至少一个处理器通信连接的存储器630;其中,

所述存储器630存储有可被所述至少一个处理器610执行的指令620,所述指令被所述至少一个处理器610执行,以使所述至少一个处理器610能够:

获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;

获取所述第一标识对应的可验证声明;

将所述可验证声明发送至所述目标区块链系统;

所述可验证声明的持有方账户具有所述第一数据仓库的使用权限,所述可验证声明的验证方账户具有第二数据仓库的使用权限。

基于同样的思路,本说明书实施例还提供了上述方法对应的系统。该系统可以包括:

第一数据仓库、第二数据仓库和至少一个目标区块链系统;

所述第一数据仓库,用于获取对可验证声明进行传输的请求;所述请求中至少包含所述可验证声明的第一标识和目标区块链系统的第二标识;获取所述第一标识对应的可验证声明;将所述可验证声明发送至所述目标区块链系统;

所述第二数据仓库,用于从所述目标区块链系统获取所述可验证声明;

所述可验证声明的持有方账户具有所述第一数据仓库的使用权限,所述可验证声明的验证方账户具有所述第二数据仓库的使用权限。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1