发明内容
本说明书实施例提供的一种基于区块链的资源转移方法及装置和电子设备:
根据本说明书实施例的第一方面,提供一种基于区块链的资源转移方法,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述方法包括:
第一业务***接收用户发起的资源转移请求;其中,所述资源转移请求为将所述用户位于第二业务***的目标资源转移到所述第一业务***的请求;
所述第一业务***向所述区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易;
所述区块链响应于所述查询交易,调用发布于区块链的智能合约中声明的查询逻辑,查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要,如果所述区块链中存储了与所述目标资源令牌对应的数字摘要,向所述第一业务***返回所述数字摘要;
所述第一业务***接收所述区块链返回的所述目标资源令牌对应的数字摘要;
所述第一业务***将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
根据本说明书实施例的第二方面,提供一种基于区块链的资源转移方法,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述方法包括:
第一业务***接收用户发起的资源转移请求;其中,所述资源转移请求为将所述用户位于第二业务***的目标资源转移到所述第一业务***的请求;
向所述区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易;
接收所述区块链返回的所述目标资源令牌对应的数字摘要;
将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述第二业务***转移的所述数字摘要对应的目标资源,具体包括:
第二业务***计算本地的待确认资源的数字摘要;
如果待确认资源的数字摘要与目标资源的数字摘要相同,将所述待确认资源确定为目标资源;
将确定的目标资源发送给所述第一业务***。
可选的,所述方法还包括:
接收用户发起的针对待存证资源的存证请求;
如果所述待存证资源位于本业务***,向所述区块链提交针对所述待存证资源的存证交易;
将所述区块链返回的存证资源令牌发送给所述用户,以使所述用户通过所述存证资源令牌在其它业务***使用存证的资源。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
根据本说明书实施例的第三方面,提供一种基于区块链的资源转移方法,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述方法包括:
接收第一业务***提交的资源转移请求中携带的目标资源令牌的查询交易;其中,所述资源转移请求为用户发起的将位于第二业务***的目标资源转移到所述第一业务***的请求;
响应于所述查询交易,调用发布于所述区块链的智能合约中声明的查询逻辑,查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要;
如果所述区块链中存储了与所述目标资源令牌对应的数字摘要,向所述第一业务***返回所述数字摘要;以使所述第一业务***将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述方法还包括:
接收所述第二业务***提交的目标资源的存证交易;其中,所述目标资源位于所述第二业务***;
响应于所述存证交易,调用发布于区块链的存证逻辑,创建目标资源令牌;
计算所述目标资源的数字摘要,并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储;
向所述第二业务***返回所述目标资源令牌。
可选的,所述方法还包括:
调用发布于区块链的监听逻辑,向时效***发送所述目标资源令牌是否过期的监听请求,所述时效***周期性轮询所述目标资源令牌,如果所述目标资源令牌超过预设时长还未使用,通知所述区块链对所述目标资源令牌做失效处理。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
可选的,所述方法还包括:
接收所述第二业务***提交的针对目标资源令牌的失效交易;
响应于所述失效交易,调用发布于区块链的失效逻辑,将所述目标资源令牌从有效状态变更为失效状态。
根据本说明书实施例的第四方面,提供一种基于区块链的资源转移装置,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述装置包括:
第一接收单元,第一业务***接收用户发起的资源转移请求;其中,所述资源转移请求为将所述用户位于第二业务***的目标资源转移到所述第一业务***的请求;
交易提交单元,向所述区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易;
第二接收单元,接收所述区块链返回的所述目标资源令牌对应的数字摘要;
资源转移单元,将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述资源转移单元,具体包括:
发送子单元,将所述数字摘要发送给所述第二业务***,以使所述第二业务***计算本地的待确认资源的数字摘要;如果待确认资源的数字摘要与目标资源的数字摘要相同,将所述待确认资源确定为目标资源;将确定的目标资源发送给所述第一业务***;
接收子单元,接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述装置还包括:
存证子单元,接收用户发起的针对待存证资源的存证请求;
提交子单元,如果所述待存证资源位于本业务***,向所述区块链提交针对所述待存证资源的存证交易;
发送子单元,将所述区块链返回的存证资源令牌发送给所述用户,以使所述用户通过所述存证资源令牌在其它业务***使用存证的资源。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
根据本说明书实施例的第五方面,提供一种基于区块链的资源转移装置,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述装置包括:
接收单元,接收第一业务***提交的资源转移请求中携带的目标资源令牌的查询交易;其中,所述资源转移请求为用户发起的将位于第二业务***的目标资源转移到所述第一业务***的请求;
查询单元,响应于所述查询交易,调用发布于所述区块链的智能合约中声明的查询逻辑,查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要;
返回单元,如果所述区块链中存储了与所述目标资源令牌对应的数字摘要,向所述第一业务***返回所述数字摘要;以使所述第一业务***将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述装置还包括:
接收子单元,接收所述第二业务***提交的目标资源的存证交易;其中,所述目标资源位于所述第二业务***;
创建子单元,响应于所述存证交易,调用发布于区块链的存证逻辑,创建目标资源令牌;
存储子单元,计算所述目标资源的数字摘要,并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储;
返回子单元,向所述第二业务***返回所述目标资源令牌。
可选的,所述装置还包括:
监听子单元,调用发布于区块链的监听逻辑,向时效***发送所述目标资源令牌是否过期的监听请求,所述时效***周期性轮询所述目标资源令牌,如果所述目标资源令牌超过预设时长还未使用,通知所述区块链对所述目标资源令牌做失效处理。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
可选的,所述装置还包括:
失效接收子单元,接收所述第二业务***提交的针对目标资源令牌的失效交易;
失效变更子单元,响应于所述失效交易,调用发布于区块链的失效逻辑,将所述目标资源令牌从有效状态变更为失效状态。
根据本说明书实施例的第五方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述任一项基于区块链的资源转移方法。
本说明书实施例,提供了一种基于区块链的资源转移方案,对于用户的资源无法直接上链存证的情况,第二业务***(即资源所在的业务***)可以预先为用户的目标资源进行担保;通过在区块链中存储目标数据的数字摘要以及对应的目标数据令牌之间的对应关系的方式间接存证;所述目标数据令牌为第二业务***担保用户资源有效性的凭证。具体地,当用户在第一业务***中需要使用位于第二业务***中的目标资源时,通过使用所述目标资源令牌,由第一业务***通过区块链查询是否存在该目标资源令牌对应的数字摘要;如果存在,说明目标资源是真实存在的,进而向第二业务***获取目标资源,由第二业务***将用户的目标资源转移到第一业务***。如此,即使目标资源不直接上链存证,也可以利用区块链中存储目标数据的数字摘要以及对应的目标数据令牌之间的对应关系的方式间接存证,从而实现不同业务***(即不可信域间)的资源转移。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在一些业务场景中,用户在第一业务***中需要使用第二业务***中的目标资源时,就需要进行资源转移,将目标资源从第二业务***中转移到第一业务***。
由于第二业务***和第一业务***之间互相视为不可信;因此为了解决不可信业务***之间的资源转移,可以采用区块链技术构建相应的业务区块链,并将业务中发生的业务数据链进行存证。
然而针对资源转移这样的业务,可能存在某些限制,例如待转移的资源涉及用户隐私,那么为了避免用户隐私泄露,这样的资源不适合直接上链存证。因此,如何基于区块链实现不可信业务***之间的资源转移称为亟待解决的问题。
举例说明,用户在优惠平台领取针对网上商城中某个商品的优惠券后,在网上商城消费优惠券。由于优惠平台与网上商城是不同的平台,因此,用户、网上商城、优惠平台间形成三个不可信域。所述优惠券保存在优惠平台中,用户对自己的优惠券可以具有操作权限,例如核销、提现、回收等。
如果这个优惠券消费业务采用区块链技术实现的话,由于优惠券不能直接上链存证,因此不可以在链上进行优惠券核销扣减。那么如何为用户出示的优惠券进行担保,确保网上商城在进行优惠券消费的时候能够准确抵扣;以及,如何避免不上链的优惠券恶意重复抵扣是需要解决的问题。
本说明书实施例中,提供了一种基于区块链的资源转移方案,对于用户的资源无法直接上链存证的情况,第二业务***(即资源所在的业务***)可以预先为用户的目标资源进行担保;通过在区块链中存储目标数据的数字摘要以及对应的目标数据令牌之间的对应关系的方式间接存证;所述目标数据令牌为第二业务***担保用户资源有效性的凭证。具体地,当用户在第一业务***中需要使用位于第二业务***中的目标资源时,通过使用所述目标资源令牌,由第一业务***通过区块链查询是否存在该目标资源令牌对应的数字摘要;如果存在,说明目标资源是真实存在的,进而向第二业务***获取目标资源,由第二业务***将用户的目标资源转移到第一业务***。如此,即使目标资源不直接上链存证,也可以利用区块链中存储目标数据的数字摘要以及对应的目标数据令牌之间的对应关系的方式间接存证,从而实现不同业务***(即不可信域间)的资源转移。
为了方便区别,本说明书中将存储用户值得的目标资源的业务***称为第二业务***;将用户使用目标资源时针对的业务***称为第一业务***。
以上述优惠券这一资源加以说明,优惠平台可以理解为第二业务***;网上商城可以理解为第一业务***。
在本说明书所描述的区块链,具体可以包括私有链、共有链以及联盟链等,在本说明书中不进行特别限定。
例如,在一个场景中,上述区块链具体可以是由总部机构、分支机构、代理机构等作为联盟成员组成的一个联盟链;该联盟链的运营方可以依托于该联盟链,来部署相应的业务;而以上所描述的作为联盟成员的总部机构、分支机构、代理机构都可以作为上述业务的一个业务节点。各个业务节点可以将自身所产生或者接收到的与业务相关的信息以交易的形式在联盟链中进行发布,并在该交易经过联盟链中的共识节点的共识处理之后,在联盟链中的分布式数据库进行存储,完成上述交易信息的“上链”存证。
其中,需要说明的是,在本说明书中所描述的交易(Transaction),是指通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。
区块链中的交易,通常存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的在线业务(比如,存证业务、防伪验证业务等),而在这类联盟链中,交易可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求。
上述客户端,可以包括任意类型的以区块链中存储的底层业务数据作为数据支撑,来实现特定的业务功能的上层应用。
在区块链技术中,区块链中节点对区块进行操作通常需要依赖相应的智能合约(Smart contract)。例如在区块链中存储、修改、删除等操作均需要依赖智能合约。所述智能合约可以是一种旨在应用在可以部署在区块链上的以信息化方式传播、验证或执行合同的计算机协议。通过在智能合约中声明业务逻辑可以实现执行相应操作。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。智能合约能够提供优于传统合同方法的安全,并减少与合同相关的其他交易成本。通常,智能合约可以是部署在区块链节点本地的,当节点需要执行某个动作时可以调用相应的智能合约,运行智能合约以执行智能合约中声明的业务逻辑,从而得到执行结果。
以下参考图1所示的资源间接上链的方法流程图,所述方法可以应用在资源转移***中。所述资源转移***可以包括至少2个不同的业务***、区块链***和用户使用的客户端。
1、用户向第二业务***发起针对目标资源的存证请求;
用户可以指定需要在不同业务***间使用的目标资源。通常,该存证请求中携带有目标资源的唯一识别标识,以使第二业务***可以基于该唯一识别标识定位到目标资源。
2、第二业务***对目标资源进行校验,以确定该目标资源真实存在并有效。
第二业务***响应用户发起的存证请求,首先需要判断目标资源是否位于本业务***;具体地,可以在本地查询是否存在对应所述唯一识别标识的资源;
如果存在,进一步判断该资源是否有效。通常,资源具有一个状态数据,如果资源的状态数据为有效,则说明该资源有效,可以使用。
举例说明,对于优惠券来说,通常具有一个使用期限,如果在使用期限内优惠券则有效,如果在使用期限外优惠券则无效。
当第二业务***判定目标资源不存在,或者存在但无效,则向用户返回失败结果,流程结束。
当第二业务***判断目标资源存在并且有效,则可以进行步骤2.2。
优选地,在步骤2.2之前,还可以执行步骤2.1。
2.1、锁定目标资源。
在目标资源锁定过程中,用户无法对目标资源进行任何操作。
2.2、第二业务***向区块链提交针对目标资源的存证交易。
对于目标资源位于第二业务***并有效的情况,第二业务***可以向区块链提交针对目标资源的存证交易。
3、区块链创建目标资源令牌,并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储。
一种实现方式中,存证交易可以包含目标资源的数字摘要。
该方式下,区块链接收所述第二业务***提交的目标资源的存证交易;响应于所述存证交易,调用发布于区块链的存证逻辑,创建目标资源令牌;并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储。
在另一种实现方式中,存证交易可以包含目标资源本身;
该方式下,区块链接收所述第二业务***提交的目标资源的存证交易;响应于所述存证交易,调用发布于区块链的存证逻辑,创建目标资源令牌;计算所述目标资源的数字摘要,并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储。
需要说明的是,不管是哪种方式,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
3.1、区块链向所述第二业务***返回所述目标资源令牌。
3.2、第二业务***解锁目标资源。
第二业务***在接收到目标资源令牌后,解锁目标资源。
4、第二业务***将目标资源令牌提供给用户。
第二业务***将所述区块链返回的存证资源令牌发送给所述用户,以使所述用户通过所述存证资源令牌在其它业务***(如第一业务***)使用目标资源。
5、区块链请求时效***,监听目标资源令牌。
区块链调用发布于区块链的监听逻辑,向时效***发送所述目标资源令牌是否过期的监听请求。
5.1、时效***针对目标资源令牌进行时效性检测。
所述时效***周期性轮询所述目标资源令牌,如果所述目标资源令牌超过预设时长还未使用,通知所述区块链对所述目标资源令牌做失效处理。
5.1.1、区块链向第二业务***发送目标资源令牌失效通知。
6、第二业务***将目标资源失效。
通过上述实施例,区块链中已经间接存证了用户存储在第二业务***中的目标资源,即存储了目标资源的数字摘要和目标资源令牌之间的对应关系。并且,用户已经拥有在目标资源令牌。之后,用户可以在第二业务***之外的其它业务***中使用第二业务***中的目标资源,从而触发资源转移流程。
进一步的,在上述图1所示实施例基础上,请参考图2所示资源转移的方法流程图介绍基于区块链的资源转移实施例。
1、用户向第一业务***发起资源转移请求;其中,所述资源转移请求为将所述用户位于第二业务***的目标资源转移到所述第一业务***的请求。
用户在第一业务***中需要消费位于第二业务***中的目标资源时,可以将目标资源令牌填写在第一业务***中,以供第一业务***执行后续步骤。
2、第一业务***向区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易。
第一业务***在接收用户发起的资源转移请求后,可以向所述区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易。
3.1、区块链查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要。
区块链响应于所述查询交易,调用发布于区块链的智能合约中声明的查询逻辑,查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要。
3.2、区块链向第一业务***返回查询到的数字摘要。
如果所述区块链中存储了与所述目标资源令牌对应的数字摘要,向所述第一业务***返回所述数字摘要;
4、第一业务***将所述数字摘要发送给所述第二业务***。
第一业务***在接收所述区块链返回的所述目标资源令牌对应的数字摘要后,将所述数字摘要发送给所述第二业务***。
5.1、第二业务***锚定所述数字摘要对应的目标资源。
5.2、第二业务***向第一业务***返回锚定的目标资源的资源信息。
6.1、第一业务***基于资源信息确定目标资源是否可用。
一般的,业务***存在一些使用限制,如果目标资源符合业务***设置的限制条件,则可以使用。以前述优惠券为例,返回的目标资源的资源信息可以包括优惠券的使用条件如使用时间、使用范围(如指定商品)等;
如果这些使用条件均符合,第一业务***才可以允许使用优惠券;否则,第一业务***无法允许用户使用优惠券。
6.2、如果目标资源可用,向第二业务***获取目标资源。
第一业务***可以请求第二业务***做目标资源的转移操作,从而获取第二业务***转移的目标资源。
7.1、第二业务***向区块链提交的针对目标资源令牌的失效交易。
第一业务***可以将目标资源令牌发送给第二业务***,以使第二业务***向区块链提交携带有目标资源令牌的失效交易。
7.2、区块链对目标资源令牌做失效处理。
区块链接收所述第二业务***提交的针对目标资源令牌的失效交易;响应于所述失效交易,调用发布于区块链的失效逻辑,将所述目标资源令牌从有效状态变更为失效状态。
如此,整个资源转移的过程完成。
以下结合图3介绍本申请以第一业务***为主体的方法实施例,该实施例可以对应图2,其中,区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述方法包括:
步骤310:第一业务***接收用户发起的资源转移请求;其中,所述资源转移请求为将所述用户位于第二业务***的目标资源转移到所述第一业务***的请求;
步骤320:向所述区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易;
步骤330:接收所述区块链返回的所述目标资源令牌对应的数字摘要;
步骤340:将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
在一实施例中,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
在一实施例中,所述第二业务***转移的所述数字摘要对应的目标资源,具体包括:
第二业务***计算本地的待确认资源的数字摘要;
如果待确认资源的数字摘要与目标资源的数字摘要相同,将所述待确认资源确定为目标资源;
将确定的目标资源发送给所述第一业务***。
该实施例中,由于数字摘要具有单向性,第二业务***无法基于数字摘要反向推导出目标资源;因此在需要确定目标资源时,可以遍历本地的待确认资源,计算每一个待确认资源的数字摘要;
如果存在与目标资源的数字摘要相同的待确认资源,那么该待确认资源就可以确定为目标资源。
在一实施例中,所述方法还包括:
接收用户发起的针对待存证资源的存证请求;
如果所述待存证资源位于本业务***,向所述区块链提交针对所述待存证资源的存证交易;
将所述区块链返回的存证资源令牌发送给所述用户,以使所述用户通过所述存证资源令牌在其它业务***使用存证的资源。
该实施例,是以第一业务***为执行主体介绍的资源存证实施例,其具体步骤可以参考前述图1所示第二业务***进行资源存证实施例。两者仅是执行主体不同而已。
以下结合图4介绍本申请以区块链***为主体的方法实施例,该实施例可以对应图2,其中,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述方法包括:
步骤410:区块链的节点设备接收第一业务***提交的资源转移请求中携带的目标资源令牌的查询交易;其中,所述资源转移请求为用户发起的将位于第二业务***的目标资源转移到所述第一业务***的请求;
步骤420:响应于所述查询交易,调用发布于所述区块链的智能合约中声明的查询逻辑,查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要;
步骤430:如果所述区块链中存储了与所述目标资源令牌对应的数字摘要,向所述第一业务***返回所述数字摘要;以使所述第一业务***将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
在一实施例中,所述方法还包括:
接收所述第二业务***提交的目标资源的存证交易;其中,所述目标资源位于所述第二业务***;
响应于所述存证交易,调用发布于区块链的存证逻辑,创建目标资源令牌;
计算所述目标资源的数字摘要,并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储;
向所述第二业务***返回所述目标资源令牌。
该实施例可以参考前述图1中关于第二业务***提交的目标资源存证交易的实施例。
在一实施例中,所述方法还包括:
调用发布于区块链的监听逻辑,向时效***发送所述目标资源令牌是否过期的监听请求,所述时效***周期性轮询所述目标资源令牌,如果所述目标资源令牌超过预设时长还未使用,通知所述区块链对所述目标资源令牌做失效处理。
该实施例可以参考前述图1中步骤5、5.1和5.1.1。
在一实施例中,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
在一实施例中,所述方法还包括:
接收所述第二业务***提交的针对目标资源令牌的失效交易;
响应于所述失效交易,调用发布于区块链的失效逻辑,将所述目标资源令牌从有效状态变更为失效状态。
该实施例可以参考前述图2中步骤7.1和7.2。
综上所述,本说明书实施例提供了一种基于区块链的资源转移方案,对于用户的资源无法直接上链存证的情况,第二业务***(即资源所在的业务***)可以预先为用户的目标资源进行担保;通过在区块链中存储目标数据的数字摘要以及对应的目标数据令牌之间的对应关系的方式间接存证;所述目标数据令牌为第二业务***担保用户资源有效性的凭证。具体地,当用户在第一业务***中需要使用位于第二业务***中的目标资源时,通过使用所述目标资源令牌,由第一业务***通过区块链查询是否存在该目标资源令牌对应的数字摘要;如果存在,说明目标资源是真实存在的,进而向第二业务***获取目标资源,由第二业务***将用户的目标资源转移到第一业务***。如此,即使目标资源不直接上链存证,也可以利用区块链中存储目标数据的数字摘要以及对应的目标数据令牌之间的对应关系的方式间接存证,从而实现不同业务***(即不可信域间)的资源转移
与前述基于区块链的资源转移方法实施例相对应,本说明书还提供了基于区块链的资源转移装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机业务程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本说明书基于区块链的资源转移装置所在设备的一种硬件结构图,除了图5所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据基于区块链的资源转移实际功能,还可以包括其他硬件,对此不再赘述。
请参见图6,为本说明书一实施例提供的基于区块链的资源转移装置的模块图,所述装置对应了图3所示实施例,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述装置包括:
第一接收单元510,第一业务***接收用户发起的资源转移请求;其中,所述资源转移请求为将所述用户位于第二业务***的目标资源转移到所述第一业务***的请求;
交易提交单元520,向所述区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易;
第二接收单元530,接收所述区块链返回的所述目标资源令牌对应的数字摘要;
资源转移单元540,将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述资源转移单元540,具体包括:
发送子单元,将所述数字摘要发送给所述第二业务***,以使所述第二业务***计算本地的待确认资源的数字摘要;如果待确认资源的数字摘要与目标资源的数字摘要相同,将所述待确认资源确定为目标资源;将确定的目标资源发送给所述第一业务***;
接收子单元,接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述装置还包括:
存证子单元,接收用户发起的针对待存证资源的存证请求;
提交子单元,如果所述待存证资源位于本业务***,向所述区块链提交针对所述待存证资源的存证交易;
发送子单元,将所述区块链返回的存证资源令牌发送给所述用户,以使所述用户通过所述存证资源令牌在其它业务***使用存证的资源。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
请参见图7,为本说明书一实施例提供的基于区块链的资源转移装置的模块图,所述装置对应了图4所示实施例,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系,所述装置包括:
接收单元610,接收第一业务***提交的资源转移请求中携带的目标资源令牌的查询交易;其中,所述资源转移请求为用户发起的将位于第二业务***的目标资源转移到所述第一业务***的请求;
查询单元620,响应于所述查询交易,调用发布于所述区块链的智能合约中声明的查询逻辑,查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要;
返回单元630,如果所述区块链中存储了与所述目标资源令牌对应的数字摘要,向所述第一业务***返回所述数字摘要;以使所述第一业务***将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述装置还包括:
接收子单元,接收所述第二业务***提交的目标资源的存证交易;其中,所述目标资源位于所述第二业务***;
创建子单元,响应于所述存证交易,调用发布于区块链的存证逻辑,创建目标资源令牌;
存储子单元,计算所述目标资源的数字摘要,并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储;
返回子单元,向所述第二业务***返回所述目标资源令牌。
可选的,所述装置还包括:
监听子单元,调用发布于区块链的监听逻辑,向时效***发送所述目标资源令牌是否过期的监听请求,所述时效***周期性轮询所述目标资源令牌,如果所述目标资源令牌超过预设时长还未使用,通知所述区块链对所述目标资源令牌做失效处理。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
可选的,所述装置还包括:
失效接收子单元,接收所述第二业务***提交的针对目标资源令牌的失效交易;
失效变更子单元,响应于所述失效交易,调用发布于区块链的失效逻辑,将所述目标资源令牌从有效状态变更为失效状态。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上图6描述了基于区块链的资源转移装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
第一业务***接收用户发起的资源转移请求;其中,所述资源转移请求为将所述用户位于第二业务***的目标资源转移到所述第一业务***的请求;
向所述区块链提交针对所述资源转移请求中携带的目标资源令牌的查询交易;其中,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系;
接收所述区块链返回的所述目标资源令牌对应的数字摘要;
将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,所述第二业务***转移的所述数字摘要对应的目标资源,具体包括:
第二业务***计算本地的待确认资源的数字摘要;
如果待确认资源的数字摘要与目标资源的数字摘要相同,将所述待确认资源确定为目标资源;
将确定的目标资源发送给所述第一业务***。
可选的,还包括:
接收用户发起的针对待存证资源的存证请求;
如果所述待存证资源位于本业务***,向所述区块链提交针对所述待存证资源的存证交易;
将所述区块链返回的存证资源令牌发送给所述用户,以使所述用户通过所述存证资源令牌在其它业务***使用存证的资源。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
以上图7描述了基于区块链的资源转移装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收第一业务***提交的资源转移请求中携带的目标资源令牌的查询交易;其中,所述资源转移请求为用户发起的将位于第二业务***的目标资源转移到所述第一业务***的请求;
响应于所述查询交易,调用发布于所述区块链的智能合约中声明的查询逻辑,查询所述区块链中是否存储了与所述目标资源令牌对应的数字摘要;其中,所述区块链中存储有资源令牌与资源的数字摘要之间的对应关系;
如果所述区块链中存储了与所述目标资源令牌对应的数字摘要,向所述第一业务***返回所述数字摘要;以使所述第一业务***将所述数字摘要发送给所述第二业务***,并接收所述第二业务***转移的所述数字摘要对应的目标资源。
可选的,还包括:
接收所述第二业务***提交的目标资源的存证交易;其中,所述目标资源位于所述第二业务***;
响应于所述存证交易,调用发布于区块链的存证逻辑,创建目标资源令牌;
计算所述目标资源的数字摘要,并将所述目标资源令牌与所述目标资源的数字摘要的对应关系在所述区块链中进行存储;
向所述第二业务***返回所述目标资源令牌。
可选的,还包括:
调用发布于区块链的监听逻辑,向时效***发送所述目标资源令牌是否过期的监听请求,所述时效***周期性轮询所述目标资源令牌,如果所述目标资源令牌超过预设时长还未使用,通知所述区块链对所述目标资源令牌做失效处理。
可选的,所述目标资源的数字摘要为:
针对所述目标资源的内容;或者,所述目标资源内容中的唯一性信息进行hash计算得到的hash值。
可选的,还包括:
接收所述第二业务***提交的针对目标资源令牌的失效交易;
响应于所述失效交易,调用发布于区块链的失效逻辑,将所述目标资源令牌从有效状态变更为失效状态。
在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。