掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本说明书涉及区块链技术领域,特别涉及一种基于区块链的业务实现方法和装置。

背景技术

随着互联网的不断发展,多家企业之间通过建立合作关系以联合实现业务的场景越来越常见。如何提高涉及合作业务的安全性、可靠性,成为业内关注的重点。

发明内容

有鉴于此,本说明书提供一种基于区块链的业务实现方法和装置。

具体地,本说明书是通过如下技术方案实现的:

一种基于区块链的业务实现方法,基于委托方、受托方和协作方实现所述业务,所述委托方和所述受托方存在业务委托关系,包括:

协作方接收到受托方发送的业务处理请求,所述业务处理请求中携带委托方发送给受托方的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成;

协作方验证所述加密业务数据是否被篡改;

基于所述第一数字身份信息和所述第二数字身份信息查询区块链上是否保存有表征所述委托方和所述受托方之间业务委托关系的可验证声明,并在保存有所述可验证声明的情况下对所述可验证声明的有效性进行验证;

在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述加密业务数据进行处理。

一种基于区块链的业务实现装置,基于委托方、受托方和协作方实现所述业务,所述委托方和所述受托方存在业务委托关系,包括:

业务处理请求接收单元,协作方接收到受托方发送的业务处理请求,所述业务处理请求中携带委托方发送给受托方的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成;

加密业务数据验证单元,协作方验证所述加密业务数据是否被篡改;

可验证声明验证单元,基于所述第一数字身份信息和所述第二数字身份信息查询区块链上是否保存有表征所述委托方和所述受托方之间业务委托关系的可验证声明,并在保存有所述可验证声明的情况下对所述可验证声明的有效性进行验证;

加密业务数据处理单元,在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述加密业务数据进行处理。

一种基于区块链的业务实现装置,基于委托方、受托方和协作方实现所述业务,所述委托方和所述受托方存在业务委托关系,包括:

处理器;

用于存储机器可执行指令的存储器;

其中,通过读取并执行所述存储器存储的与基于区块链的业务实现逻辑对应的机器可执行指令,所述处理器被促使:

协作方接收到受托方发送的业务处理请求,所述业务处理请求中携带委托方发送给受托方的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成;

协作方验证所述加密业务数据是否被篡改;

基于所述第一数字身份信息和所述第二数字身份信息查询区块链上是否保存有表征所述委托方和所述受托方之间业务委托关系的可验证声明,并在保存有所述可验证声明的情况下对所述可验证声明的有效性进行验证;

在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述加密业务数据进行处理。

本说明书一个实施例实现了,协作方接收到受托方发送的业务处理请求后,可以对业务处理请求中委托方发送给受托方的加密业务数据进行验证,以验证该加密业务数据是否被篡改,且还可以基于业务处理请求中携带的委托方的第一数字身份信息和受托方的第二数字身份信息查找区块链上是否存在对应的可验证声明,并对该可验证声明进行验证,在可验证声明验证通过且加密业务数据未被篡改的情况下,协作方对加密业务数据进行处理。

采用上述方法,一方面,委托方发送给受托方的业务数据为加密处理的,可以避免受托方对业务数据进行篡改以谋取私利,从而提高业务处理的安全性、可靠性。另一方面,协作方还可以通过可验证声明对委托方和受托方的业务委托关系进行验证,以验证委托方和受托方之间是否真的存在业务委托方关系,并且只有在验证通过的情况下再进行业务处理,也可以提高业务处理的安全性、可靠性。

附图说明

图1是本说明书一示例性实施例示出的一种基于区块链的业务实现方法的流程示意图;

图2是本说明书一示例性实施例示出的一种基于区块链的业务实现方法的场景示意图;

图3是本说明书一示例性实施例示出的一种基于区块链的业务实现方法的多方交互图;

图4是本说明书一示例性实施例示出的一种基于区块链的业务实现装置所在服务器的一种硬件结构图;

图5是本说明书一示例性实施例示出的一种基于区块链的业务实现装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

随着互联网的不断发展,多家企业之间通过建立合作关系以联合实现业务的场景越来越常见。例如,企业之间可以建立委托关系,委托方可以将其业务数据委托给受托方进行处理。与此同时,委托方在实现业务的过程中可能还想要与第三方(协作方)进行合作,以获取第三方的业务支持,这样一来,业务的实现过程实际上需要委托方、受委托、协作方这三方的参与。

对于协作方而言,当其接收到涉及多方合作的业务数据时,有必要对这些业务数据的合法性进行验证,以提高业务的安全性、可靠性。比如,协作方可以验证这些业务数据是否确实为委托方委托给受托方进行处理的,以避免受托方利用未委托的数据谋取私利。再比如,协作方还可以验证这些业务数据是否发生了篡改,以提高安全性。

本说明书提供了一种基于区块链的业务实现方法,协作方可以为委托方和受托方提供业务支持,使得受托方可以将委托方委托其进行处理的业务数据发送给协作方进行后续业务处理,协作方可以对委托方和受托方的业务委托关系进行验证、对数据是否发生篡改进行验证,只有在验证通过后才会对涉及多方合法的业务数据进行后续的业务处理,从而可以提高业务的安全性、可靠性。

请参见图1,图1是本说明书一示例性实施例示出的一种基于区块链的业务实现方法的流程示意图。图1所示方法可以应用在协作方部署的具有存储器、处理器的电子设备中,例如服务器或服务器集群,所述方法可以包括以下步骤:

步骤102,协作方接收到受托方发送的业务处理请求,所述业务处理请求中携带委托方发送给受托方的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成;

步骤104,协作方验证所述加密业务数据是否被篡改;

步骤106,基于所述第一数字身份信息和所述第二数字身份信息查询区块链上是否保存有表征所述委托方和所述受托方之间业务委托关系的可验证声明,并在保存有所述可验证声明的情况下对所述可验证声明的有效性进行验证;

步骤108,在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述加密业务数据进行处理。

下面对上述步骤进行详细说明。

首先对本实施例中的委托方、受托方和协作方进行说明。

本实施例中,委托方和受托方都可以是企业、机构、组织等。举例来说,委托方可能不具备十分完善的线上业务处理能力,而受托方具备较为完善的线上业务处理能力,因此委托方可以和受托方建立业务委托关系,然后委托方将自身的业务数据发送给受托方进行处理,以实现诸如后台数据维护、提供线上业务等等,比如受托方可以是saas(Software-as-a-Service,软件即服务)服务方。并且,在业务处理过程中,委托方可能还期望与协作方合作,以获取协作方的业务支持。那么受托方可以在委托方的指示下,将委托方的相关业务数据发送给协作方进行业务支持相关处理。

本实施例中,由于委托方不直接和协作方对接,因此委托方确定出需要协作方进行业务支持的业务数据后,可以对这些业务数据进行加密,把加密业务数据发送给受托方,以由受托方将加密业务数据发送给协作方。

当然,委托方可能通过受托方与多个协作方合作,那么委托方也可以在发送加密业务数据时还指定目标协作方,比如可以发送目标协作方的标识,那么受托方可以根据该标识来确定需要将加密业务数据发送给哪个协作方。

本实施例中,受托方接收到该加密业务数据后,可以向协作方发送业务处理请求,并在该业务处理请求中携带所述加密业务数据、委托方的第一数字身份信息和自身(受托方)的第二数字身份信息。

其中,委托方的第一数字身份信息可以是委托方在发送加密业务数据时一起发送给受托方的,也可以是事先发送的,对此不作特殊限制。此处的数字身份信息是用于证明委托方、受托方身份的,具体将会在后面的实施例中详细说明。

本实施例中,协作方接收到业务处理请求后,可以对该业务处理请求中携带的加密业务数据进行验证,以验证该加密业务数据是否被篡改。比如,加密业务数据中可以携带委托方的数字签名,那么可以对数字签名进行验证,若验证通过,说明加密业务数据未被受托方或者其他方篡改。

协作方还可以对业务处理请求中指定的委托方和受托方之间的业务委托关系进行验证。比如,协作方可以查询区块链上是否保存有业务处理请求中携带的第一数字身份信息、第二数字身份信息对应的可验证声明,若有,则对所述可验证声明的有效性进行验证,若可验证声明的有效性验证通过,说明委托方和受托方之间的业务委托关系是真实的、可靠的。

本实施对上述验证加密业务数据是否被篡改,和验证业务委托关系的先后执行顺序不作特殊限制。

本实施例中,在加密业务数据未被篡改、业务委托关系通过验证后,协作方再对加密业务数据进行业务处理,此处的业务处理可以根据实际的业务场景确定,对此不作特殊限制。

由以上描述可以看出,在本说明书的一个实施例中,协作方接收到受托方发送的业务处理请求后,可以对业务处理请求中委托方发送给受托方的加密业务数据进行验证,以验证该加密业务数据是否被篡改,且还可以基于业务处理请求中携带的委托方的第一数字身份信息和受托方的第二数字身份信息查找区块链上是否存在对应的可验证声明,并对该可验证声明进行验证,在可验证声明验证通过且加密业务数据未被篡改的情况下,协作方对加密业务数据进行处理。

采用上述方法,一方面,委托方发送给受托方的业务数据为加密处理的,可以避免受托方对业务数据进行篡改以谋取私利,从而提高业务处理的安全性、可靠性。另一方面,协作方还可以通过可验证声明对委托方和受托方的业务委托关系进行验证,以验证委托方和受托方之间是否真的存在业务委托方关系,并且只有在验证通过的情况下再进行业务处理,也可以提高业务处理的安全性、可靠性。

下面对本说明书提供的另一种基于区块链的业务实现方法进行说明。

首先对协作方基于可验证声明存证委托方和受托方之间业务委托关系的过程进行说明。

本实施例中,委托方和受托方可以先申请数字身份信息(DecentralizedIdentity,DID)。

下面以委托方为例对申请数字身份信息的过程进行说明。委托方可以基于分布式身份服务申请数字身份信息。其中,委托方、受托方、协作方中任一方都可以开发有分布式身份服务,那么可以通过这三方中任一方提供的分布式身份服务来申请数字身份信息。或者也可以存在独立于委托方、受托方、协作方任一方的分布式身份服务平台,那么可以通过该分布式身份服务平台来申请数字身份信息。

在一个例子中,存在独立于委托方、受托方和协作方的分布式身份服务平台,那么委托方可以直接向分布式身份服务平台发送数字身份信息生成请求,并且在该请求中携带自身的认证信息,如企业信息,所述企业信息可以是企业四要素信息(企业营业执照名称、统一社会信用代码、法定代表人姓名和法定代表人身份证号),也可以是企业名称、企业地址等其他信息。分布式身份服务平台可以基于该认证信息生成第一数字身份信息,并将该第一数字身份信息发送给委托方。

在另一个例子中,协作方或受托方开发有分布式身份服务,那么委托方也可以基于协作方或者受托方生成数字身份信息。下面以协作方为例进行说明。可参见图2,协作方可以开发有客户端,如网站、应用程序等,委托方可以在客户端展示的相关页面中输入企业信息,协作方接收到企业信息后,可以对其进行验证。例如,可以根据基于本地数据库中存储的数据对企业信息进行验证,也可以通过第三方接口获取第三方的数据对企业信息进行验证。

当协作方确定企业信息验证通过,协作方可以向分布式身份服务系统发送数字身份信息生成请求,并且还可以在该请求中携带企业信息。分布式身份服务系统可以基于所述企业信息生成第一数字身份信息,并将生成的第一数字身份信息发送给协作方,协作方可以将该第一数字身份信息保存并发送给委托方,该第一数字身份信息可以在后续的业务处理中用于证明委托方的身份。

类似的,受托方也可以基于上述方法申请得到第二数字身份信息。

本实施例中,当委托方和受托方申请得到数字身份信息后,可以生成表征其业务委托关系的可验证声明。

在一个例子中,分布式身份服务平台是独立于委托方、受托方和协作方的,委托方可以向分布式身份服务平台发送可验证声明生成请求,并且在该生成请求中携带委托方的第一数字身份信息、受托方的第二数字身份信息,以及委托方和受托方之间的业务委托关系,分布式身份服务平台接收到该生成请求后可以生成可验证声明,该可验证声明可以用于证明委托方和受托方之间存在业务委托关系。并且还可以将生成的可验证声明发送给委托方,以供委托方证明其确实和受托方存在业务委托关系。

在另一个例子中,分布式服务是协作方或受托方开发的,那么委托方也可以通过协作方或者受托方生成可验证声明。比如受托方和协作方可以开发客户端页面,委托方可以在该页面上申请建立业务委托关系,然后受托方或者协作方基于所述业务委托关系生成可验证声明。

下面以图2所示例子为例进行说明。若委托方想要协作方提供业务支持,可以在协作方开发的客户端相关页面上发起受托方查询请求,以查找具备授权权限的受托方。协作方接收到该请求后可以从自身的数据库中查找具有授权权限的受托方,然后将查找到的受托方列表在所述客户端页面上展示给委托方。委托方可以从受托方列表中指定其想要建立业务委托关系的一个或多个受托方。

举例来说,若委托方A想将自身的业务数据委托给受托方B和受托方C进行处理。若受托方B已申请有数字身份信息,而受托方C未申请有数字身份信息,则协作方可以在接收到委托方A发起的查询请求后,可以查找到具有授权权限的受托方为受托方B。

本实施例中,协作方可以将查询到的所有受托方都作为具有授权权限的,也可以将信用程度较高的受托方作为具有授权权限的,或者也可以将匹配委托方业务需求的受托方作为具有授权权限的,对此不作特殊限制。

协作方可以根据委托方指定的受托方,获取所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,然后向分布式身份服务系统发送可验证声明的生成请求,以基于分布式身份服务系统生成可验证声明。

例如,生成请求中可以携带委托方的一数字身份信息、受托方的第二数字身份信息、以及所述业务方与所述目标委托方的业务委托关系。分布式身份服务系统接收到所述生成请求后,可以响应于所述生成请求生成可验证声明,该可验证声明中可以包括第一数字身份信息和第二数字身份信息,以及第一数字身份信息对应实体为受托方、第二数字身份信息对应实体为受托方的委托关系。然后分布式身份服务系统可以将生成的可验证声明发送给协作方。并且,分布式身份服务系统还可以生成该可验证声明的生成记录,该生成记录中可以包括可验证声明的标识、可验证声明的生成时间等等。分布式身份服务系统可以将生成记录保存到区块链上,作为存证。

再例如,生成请求中除了可以携带上述第一数字身份信息、第二数字身份信息、以及所述业务方与所述目标委托方的业务委托关系之外,还可以携带可验证声明的有效期,该有效期可以是委托方指定的,比如可以为1个月、1年,也可以是默认时长。分布式身份服务系统可以在生成可验证声明时还保存所述有效期,比如可以保存到可验证声明的生成记录中,后续可以基于有效时长对可验证声明进行验证。

再例如,生成请求中还可以携带委托方指定的委托业务数据类型,比如委托方可以指定委托业务数据类型为订单类型,那么分布式身份服务系统也可以在生成的可验证声明中添加所述委托业务数据类型,后续协作方接收到受托方发送的业务数据后,可以判断接收到的业务数据的类型是否与该委托业务数据类型一致,以此对接收到的业务数据进行验证。

值得说明的是,当委托方仅指定了一个需要建立业务委托关系的受托方时,可以采用上述方法生成可验证声明。当委托方指定了多个受托方时,可以针对每个受托方分别按照上述方法建立可验证声明,也可以基于多个受托方一起生成可验证声明,即可以在一个可验证声明中包括多个受托方的数字身份信息,本说明书对此不作特殊限制。

本实施例中,分布式身份服务系统生成可验证声明后,可以将生成的可验证声明返回给协作方。协作方可以将该可验证声明和其对应的数字身份信息之间的映射关系保存,比如可以保存到区块链上,以供协作方接收到业务数据后可以根据已保存的可验证声明来判断业务数据的合法性。下表1示例性地示出了一种保存的映射关系:

表1

并且,协作方还可以将生成的可验证声明的标识发送给委托方,委托方可以基于该标识在分布式身份服务系统查找到唯一对应的可验证声明,以此向委托方证明确实生成了其与指定受托方之间的业务委托关系,该业务委托关系是安全可靠的、不会被轻易篡改的。

至此完成协作方存证委托方和受托方之间业务委托关系的过程,下面对基于该业务委托关系进行业务处理的方法进行说明。

首先对本实施例的业务场景进行说明,当然,该业务场景仅仅是示例性的说明,并不用于限制本说明书。本实施例中,委托方可以是物流企业,该物流企业不具备十分完善的线上数据处理能力,因此可以将自身的物流数据发送给在线货运平台,即受托方进行处理。与此同时,物流企业还期望与金融企业进行业务合作,以进行融资等。那么物流企业和在线货运平台可以通过分布式身份服务平台申请有数字身份信息,并生成表征其业务委托关系的可验证声明。物流企业可以通过以下的方法实现融资:

请参见图3,图3为本说明书一示例性实施例示出的一种基于区块链的业务实现方法的多方交互图。为了便于说明,本实施例中依然采用委托方、受托方、协作方进行说明。所述基于区块链的业务实现方法可以包括以下步骤:

步骤302,委托方向受托方发送加密业务数据。

本实施例中,委托方可以向受托方发送加密业务数据。该加密业务数据具体可根据实际业务场景确定。

比如,对于物流企业申请融资这一业务场景来说,融资时可能需要提供企业信息、征信信息等,因此物流企业需要将这些信息发送给金融企业,但由于物流企业并不直接与金融企业对接,而是将自身的业务数据委托给在线货运平台进行处理,那么物流企业可以对上述数据加密后发送给在线货运平台,由在线货运平台发送给金融企业。其中,加密业务数据的具体加密方法将在后续步骤206中详细说明。

步骤304,受托方向协作方发送业务处理请求。

本实施例中,受托方可以向协作方发送业务处理请求,该业务处理请求中除了可以携带委托方发送的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息外,还可以携带受托方的第二签名,以使协作方基于第二签名验证业务处理请求中的数据是否被篡改,具体将在后续步骤308中详细说明。所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成,具体可参照前述实施例。

步骤306,协作方验证加密业务数据是否篡改。

下面以几种不同的加密方式对验证加密业务数据是否被篡改的方法进行说明:

在一个例子中,加密业务数据可以是委托方用其自身持有的私钥对原始业务数据加密得到的。那么协作方接收到加密业务数据后,可以判断能否用委托方的公钥对其解密,若能,说明加密业务数据未被篡改。

在另一个例子中,加密业务数据中可以包括原始业务数据和委托方采用自身私钥对指定数据加密得到的私钥签名。

其中,指定数据可以是任意数据,协作方可以判断能否用委托方的公钥对该私钥签名进行解密验证,若能,说明加密业务数据未被篡改。

指定数据也可以是所述原始业务数据,即加密业务数据中包括原始业务数据和对原始业务数据私钥加密得到的私钥签名,那么协作方可以先判断能否用委托方的公钥对该私钥签名进行解密验证,若能,则进一步判断解密得到的解密业务数据,是否和所述原始业务数据一致,若一致,说明加密业务数据未被篡改。

其中,协作方可以具有CA(Certificate Authority,电子认证服务)权限,那么委托方可以通过协作方来申请公、私钥。当然,委托方也可以不采用上述方法来获取公、私钥,对此不作特殊限制。

并且,除上述例子外,加密业务数据也可以是采用对称加密技术,对原始业务数据加密得到的,委托方可以事先将解密的密钥告知给协作方,那么协作方可以基于该密钥对加密业务数据进行解密,而其他方由于不拥有该密钥,也就无法解密了。

此外,也可以结合上述多种方法来对业务数据进行加密,比如委托方可以先采用对称加密的密钥对原始业务数据加密,然后再利用私钥生成签名,以此得到加密业务数据,可以进一步提高安全性。

步骤308,协作方验证业务处理请求中的数据是否被篡改。

下面同样以几种不同的加密方式对验证业务处理请求中携带的数据是否被篡改的方法进行说明:

在一个例子中,业务处理请求中携带的数据(第一数字身份信息、第二数字身份信息、加密业务数据)可以是受托方用其自身持有的私钥加密得到的。那么协作方接收到加密业务数据后,可以判断能否用受托方的公钥对其解密,若能,说明业务处理请求中携带的数据未被篡改。

在另一个例子中,受托方可以在业务处理请求中携带私钥签名,该私钥签名同样可以是受托方对指定数据利用私钥加密得到的。

其中,指定数据可以是任意数据。协作方接收到业务处理请求中,可以判断能否采用受托方的公钥对所述私钥签名进行解密认证,若能,则确定业务处理请求中的数据未被篡改。

指定数据也可以是业务处理请求中的加密业务数据、第一数字身份信息和第二数字身份信息。类似的,协作方可以先判断能否用受托方的公钥对该私钥签名进行解密验证,若能,则进一步判断解密得到的加密业务数据、第一数字身份信息和第二数字身份信息,是否和业务处理请求中携带的加密业务数据、第一数字身份信息和第二数字身份信息一致,若一致,说明加密业务数据未被篡改。

类似的,受托方同样可以根据协作方来获取自身的公、私钥,也可以通过其他方法生成公、私钥。

且除了上述在业务处理请求中添加受托方私钥签名的方法外,受托方也可以采用对称加密的方式对业务处理请求中的数据加密,或者也可以结合多种加密方式,对此不作特殊限制。

值得说明的是,本实施例对步骤306和步骤308的先后执行顺序并不作特殊限制。

本实施例采用上述方法,一方面,委托方可以对业务数据加密,且受托方无法对其解密,可以确保业务数据不被受托方篡改,避免受托方利用虚假数据谋取私利。另一方面,受托方也可以对业务处理请求中的数据加密,可以避免这些数据在传输过程中被其他方恶意篡改。采用上述多层级的加密方法,可以大大提高数据安全性、可靠性。

步骤310,查询是否存在可验证声明。

本实施例中,生成表征委托方和受托方之间业务委托关系的可验证声明后,协作方还可以建立委托方的第一数字身份信息、受托方的第二数字身份信息和所述可验证声明标识之间的映射关系,并将该映射关系保存到区块链上。

当协作方接收到受托方发送的业务处理请求后,可以从该业务处理请求中获取委托方的第一数字身份信息、受托方的第二数字身份信息,然后据此查询区块链上是否保存有对应的可验证声明的标识。若有,则执行步骤312,若没有,则不执行后续步骤。

例如,可以通过智能合约来实现上述过程。协作方可以向区块链节点设备发送携带第一数字身份信息和第二数字身份信息的交易,区块链节点设备可以基于该交易调用智能合约来查找、验证可验证声明,该智能合约的合约代码可以实现:根据业务处理请求中携带的委托方的第一数字身份信息、受托方的第二数字身份信息,从区块链上已保存的可验证声明的标识和数字身份信息的映射关系中,查找是否存在所述第一数字身份信息和所述第二数字身份信息对应的可验证声明,并且查找到的映射关系中,第一数字身份信息对应的实体应当为委托方,第二数字身份信息对应的实体应当为受托方。

仍以上表1的例子为例,比如,假设受托方发送的业务处理请求中,委托方的第一数字身份信息为DID1,受托方的第二数字身份信息为DID2,则数字身份信息匹配上表1中第一行,并且,DID1的角色为委托方,DID2的角色为受托方,委托方和受托方的委托关系也是和上表1匹配的。这种情况下可以确定查找到的可验证声明标识为aa。

再比如,假设受托方发送的业务处理请求中,委托方的第一数字身份信息为DID2,受托方的第二数字身份信息为DID1,则虽然数字身份信息与上表1中的第一行匹配,但是委托方和受托方的委托关系是不匹配的,这种情况下说明未查找到对应的可验证声明。

再比如,假设受托方发送的业务处理请求中,委托方的第一数字身份信息为DID3,受托方的第二数字身份信息为DID2,则不匹配上表1中的映射关系,这种情况下也说明未查找到对应的可验证声明。

本实施例中,若未查找到对应的可验证声明,则协作方可以向受托方发送通知,告知其业务处理请求不合理,可以提示其重新发起业务处理请求。

采用这种方法,可以由协作方先对委托方和受托方之间的业务处理关系进行一个预判,当确定委托方和受托方之间不存在对应的可验证声明时,则协作方可以不再执行步骤312中向分布式身份服务平台请求验证可验证声明的步骤,可以减少平台之间的交互,提升效率。

步骤312,协作方向分布式身份服务平台发送可验证声明验证请求。

步骤314,分布式身份服务平台对可验证声明进行验证。

步骤316,分布式身份服务平台向协作方发送可验证声明验证结果。

本实施例中,若协作方查找到对应的可验证声明,则可以向分布式身份服务平台发送可验证声明的验证请求,并且可以在该验证请求中携带查找到的可验证声明的标识。

分布式身份服务平台接收到验证请求后,可以根据请求中携带的标识,查找是否存在该标识对应的可验证声明,若能够查找到,则可以对查找到的可验证声明的有效性进行验证。

比如,可以对该可验证声明的有效期进行验证。分布式身份服务平台可以获取该可验证声明的有效期,该有效期是可验证声明生成时保存的,可以是系统默认时长,也可以是委托方指定的。然后可以判断当前时刻是否处于所述可验证声明的有效期,若处于,则说明该可验证声明的有效性验证通过;反之,验证不通过。分布式身份服务平台可以将可验声明的有效性验证结果发送给协作方。

再比如,可验证声明中还可以包括生成可验证声明时委托方指定的业务数据的类型,比如可以为订单类型,那么协作方还可以将解密后的业务数据发送连同可验证声明的标识一起发送给分布式身份服务平台,分布式身份服务平台除了进行上述可验证声明的有效期验证外,还可以判断业务数据的类似是否和可验证声明中指定的类型一致,若一致,说明验证通过;若不一致,说明验证不通过。

当然,除上述例子外,可验证声明中还可以包括其他信息,具体可根据实际业务场景决定,本实施例在此不一一举例。

步骤318,对加密业务数据进行处理。

本实施例中,若协作方接收到可验证声明未通过有效性验证,则可以向受托方发送业务处理失败的通知。若协作方接收到可验证声明通过有效性验证,可以对业务数据进行处理。

其中,对业务数据进行处理的方法与业务场景有关,本说明书对此不作特殊限制。例如,针对上述物流企业申请融资的业务场景,进入企业可以对加密业务数据进行融资相关业务处理。

采用上述方法,一方面,协作方可以利用可验证声明来为委托方和受托方证明业务委托关系,并且可验证声明具有不易篡改、可验证性,可以避免出现恶意伪造的虚假业务委托关系的情况。另一方面,协作方可以基于多层级的加密方式,既对委托方发送的加密业务数据是否被篡改进行验证,又可以对业务处理请求中的数据是否被篡改进行验证,可以进一步保证业务处理的安全性。

与前述基于区块链的业务实现方法的实施例相对应,本说明书还提供了基于区块链的业务实现装置的实施例。

本说明书基于区块链的业务实现装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务器的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书基于区块链的业务实现装置所在服务器的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务器通常根据该服务器的实际功能,还可以包括其他硬件,对此不再赘述。

图5是本说明书一示例性实施例示出的一种基于区块链的业务实现装置的框图。

请参考图5,所述基于区块链的业务实现装置可以应用在前述图4所示的服务器中,包括有:业务处理请求接收单元510,加密业务数据验证单元520,可验证声明验证单元530,加密业务数据处理单元540,可验证声明生成单元550,可验证声明保存单元560,受托方查询请求接收单元570,受托方查询单元580。

其中,业务处理请求接收单元510,协作方接收到受托方发送的业务处理请求,所述业务处理请求中携带委托方发送给受托方的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成;

加密业务数据验证单元520,协作方验证所述加密业务数据是否被篡改;

可验证声明验证单元530,基于所述第一数字身份信息和所述第二数字身份信息查询区块链上是否保存有表征所述委托方和所述受托方之间业务委托关系的可验证声明,并在保存有所述可验证声明的情况下对所述可验证声明的有效性进行验证;

加密业务数据处理单元540,在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述加密业务数据进行处理。

可选的,所述加密业务数据中包括所述委托方采用本方私钥对第一指定数据生成的第一私钥签名,所述加密业务数据验证单元520:

对所述第一私钥签名进行验证;

在所述第一私钥签名验证通过的情况下,确定所述加密业务数据未被篡改。

可选的,所述业务处理请求中还包括所述受托方采用本方私钥对第二指定数据生成的第二私钥签名,所述加密业务数据验证单元520还:

协作方对所述第二私钥签名进行验证;

在所述第二私钥签名验证通过的情况下,确定所述业务处理请求中携带的数据未被篡改;

所述加密业务数据处理单元:

在所述业务处理请求中携带的数据未被篡改、所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述业务数据进行处理。

可选的,还包括:

可验证声明生成单元550:

接收委托方发送的业务委托请求,所述业务委托请求中携带有所述委托方指定的受托方;

基于所述业务委托请求确定所述委托方的第一数字身份信息和所述受托方的第二数字身份信息;

向分布式身份服务平台发送可验证声明生成请求,所述生成请求中携带所述第一数字身份信息、所述第二数字身份信息、以及所述委托方与所述受托方的业务委托关系;

接收分布式身份服务平台生成的可验证声明。

可选的,还包括:

可验证声明保存单元560,将所述可验证声明保存到区块链上。

可选的,还包括:

受托方查询请求接收单元570,接收委托方发送的受托方查询请求;

受托方查询单元580,查询具有授权权限的受托方,并将查询到的受托方列表返回给所述委托方;

所述业务委托请求中指定的受托方由所述委托方在所述受托方列表中选中。

可选的,所述可验证声明生成请求中还携带业务委托的有效期,所述分布式身份服务平台生成所述可验证声明后还保存所述可验证声明和所述有效期之间的映射关系;

所述可验证声明验证单元530:

向分布式身份服务平台发送可验证声明的验证请求,以供分布式身份服务平台验证所述可验证声明是否处于有效期,并在处于有效期的情况下确定所述可验证声明的有效性验证通过;

接收分布式身份服务平台发送的所述可验证声明的有效性验证结果。

可选的,所述委托方的第一数字身份信息和所述受托方的第二数字身份信息的生成过程,包括:

接收所述委托方发送的企业信息;

在所述企业信息通过验证的情况下向分布式身份服务平台发送数字身份信息生成请求;

接收所述分布式身份服务平台发送的所述第一数字身份信息;

将所述第一数字身份信息发送给所述委托方;

接收受托方发送的企业信息;

在所述企业信息通过验证的情况下向分布式身份服务平台发送数字身份信息生成请求;

接收所述分布式身份服务平台发送的所述第二数字身份信息;

将所述第二数字身份信息发送给所述受托方。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

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

与前述基于区块链的业务实现方法的实施例相对应,本说明书还提供一种基于区块链的业务实现的装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。

在本实施例中,通过读取并执行所述存储器存储的与基于区块链的业务实现逻辑对应的机器可执行指令,所述处理器被促使:

协作方接收到受托方发送的业务处理请求,所述业务处理请求中携带委托方发送给受托方的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成;

协作方验证所述加密业务数据是否被篡改;

基于所述第一数字身份信息和所述第二数字身份信息查询区块链上是否保存有表征所述委托方和所述受托方之间业务委托关系的可验证声明,并在保存有所述可验证声明的情况下对所述可验证声明的有效性进行验证;

在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述加密业务数据进行处理。

可选的,所述加密业务数据中包括所述委托方采用本方私钥对第一指定数据生成的第一私钥签名,在验证所述加密业务数据是否被篡改时,所述处理器你被促使:

对所述第一私钥签名进行验证;

在所述第一私钥签名验证通过的情况下,确定所述加密业务数据未被篡改。

可选的,所述业务处理请求中还包括所述受托方采用本方私钥对第二指定数据生成的第二私钥签名,所述处理器还被促使:

协作方对所述第二私钥签名进行验证;

在所述第二私钥签名验证通过的情况下,确定所述业务处理请求中携带的数据未被篡改;

所述在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述业务数据进行处理,包括:

在所述业务处理请求中携带的数据未被篡改、所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述业务数据进行处理。

可选的,所述可验证声明的生成过程,所述处理器被促使:

接收委托方发送的业务委托请求,所述业务委托请求中携带有所述委托方指定的受托方;

基于所述业务委托请求确定所述委托方的第一数字身份信息和所述受托方的第二数字身份信息;

向分布式身份服务平台发送可验证声明生成请求,所述生成请求中携带所述第一数字身份信息、所述第二数字身份信息、以及所述委托方与所述受托方的业务委托关系;

接收分布式身份服务平台生成的可验证声明。

可选的,所述处理器还被促使:

将所述可验证声明保存到区块链上。

可选的,所述处理器还被促使:

接收委托方发送的受托方查询请求;

查询具有授权权限的受托方,并将查询到的受托方列表返回给所述委托方;

所述业务委托请求中指定的受托方由所述委托方在所述受托方列表中选中。

可选的,所述可验证声明生成请求中还携带业务委托的有效期,所述分布式身份服务平台生成所述可验证声明后还保存所述可验证声明和所述有效期之间的映射关系;

在对所述可验证声明的有效性进行验证时,所述处理器被促使:

向分布式身份服务平台发送可验证声明的验证请求,以供分布式身份服务平台验证所述可验证声明是否处于有效期,并在处于有效期的情况下确定所述可验证声明的有效性验证通过;

接收分布式身份服务平台发送的所述可验证声明的有效性验证结果。

可选的,所述委托方的第一数字身份信息和所述受托方的第二数字身份信息的生成过程,所述处理器被促使:

接收所述委托方发送的企业信息;

在所述企业信息通过验证的情况下向分布式身份服务平台发送数字身份信息生成请求;

接收所述分布式身份服务平台发送的所述第一数字身份信息;

将所述第一数字身份信息发送给所述委托方;

接收受托方发送的企业信息;

在所述企业信息通过验证的情况下向分布式身份服务平台发送数字身份信息生成请求;

接收所述分布式身份服务平台发送的所述第二数字身份信息;

将所述第二数字身份信息发送给所述受托方。

与前述基于区块链的业务实现方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:

协作方接收到受托方发送的业务处理请求,所述业务处理请求中携带委托方发送给受托方的加密业务数据、所述委托方的第一数字身份信息和所述受托方的第二数字身份信息,所述第一数字身份信息和所述第二数字身份信息由分布式身份服务平台生成;

协作方验证所述加密业务数据是否被篡改;

基于所述第一数字身份信息和所述第二数字身份信息查询区块链上是否保存有表征所述委托方和所述受托方之间业务委托关系的可验证声明,并在保存有所述可验证声明的情况下对所述可验证声明的有效性进行验证;

在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述加密业务数据进行处理。

可选的,所述加密业务数据中包括所述委托方采用本方私钥对第一指定数据生成的第一私钥签名,所述验证所述加密业务数据是否被篡改,包括:

对所述第一私钥签名进行验证;

在所述第一私钥签名验证通过的情况下,确定所述加密业务数据未被篡改。

可选的,所述业务处理请求中还包括所述受托方采用本方私钥对第二指定数据生成的第二私钥签名,所述方法还包括:

协作方对所述第二私钥签名进行验证;

在所述第二私钥签名验证通过的情况下,确定所述业务处理请求中携带的数据未被篡改;

所述在所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述业务数据进行处理,包括:

在所述业务处理请求中携带的数据未被篡改、所述加密业务数据未被篡改,以及所述可验证声明的有效性验证通过的情况下,协作方对所述业务数据进行处理。

可选的,所述可验证声明的生成过程,包括:

接收委托方发送的业务委托请求,所述业务委托请求中携带有所述委托方指定的受托方;

基于所述业务委托请求确定所述委托方的第一数字身份信息和所述受托方的第二数字身份信息;

向分布式身份服务平台发送可验证声明生成请求,所述生成请求中携带所述第一数字身份信息、所述第二数字身份信息、以及所述委托方与所述受托方的业务委托关系;

接收分布式身份服务平台生成的可验证声明。

可选的,所述方法还包括:

将所述可验证声明保存到区块链上。

可选的,所述方法还包括:

接收委托方发送的受托方查询请求;

查询具有授权权限的受托方,并将查询到的受托方列表返回给所述委托方;

所述业务委托请求中指定的受托方由所述委托方在所述受托方列表中选中。

可选的,所述可验证声明生成请求中还携带业务委托的有效期,所述分布式身份服务平台生成所述可验证声明后还保存所述可验证声明和所述有效期之间的映射关系;

所述对所述可验证声明的有效性进行验证,包括:

向分布式身份服务平台发送可验证声明的验证请求,以供分布式身份服务平台验证所述可验证声明是否处于有效期,并在处于有效期的情况下确定所述可验证声明的有效性验证通过;

接收分布式身份服务平台发送的所述可验证声明的有效性验证结果。

可选的,所述委托方的第一数字身份信息和所述受托方的第二数字身份信息的生成过程,包括:

接收所述委托方发送的企业信息;

在所述企业信息通过验证的情况下向分布式身份服务平台发送数字身份信息生成请求;

接收所述分布式身份服务平台发送的所述第一数字身份信息;

将所述第一数字身份信息发送给所述委托方;

接收受托方发送的企业信息;

在所述企业信息通过验证的情况下向分布式身份服务平台发送数字身份信息生成请求;

接收所述分布式身份服务平台发送的所述第二数字身份信息;

将所述第二数字身份信息发送给所述受托方。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

相关技术
  • 基于区块链的业务实现方法、装置、区块链网关及区块链节点
  • 一种基于区块链的业务实现方法和装置
技术分类

06120112922931