具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
本说明书实施例提供一种资产凭证的管理系统,该管理系统借助区块链系统实现资产凭证的创建、转让、使用、状态切换等管理,利用区块链系统可信的特性保证资产凭证的管理过程透明、可追溯以及安全性。
对资产凭证进行转让、使用和状态切换之前,得先创建资产凭证,下面介绍管理系统创建资产凭证的过程。
图1是一示例性实施例提供的一种资产凭证的管理系统的网络架构示意图,参见图1,该管理系统包括服务器11和区块链系统12。服务器11与区块链系统12通信连接。服务器11可以是一独立主机的物理服务器,或者服务器11可以为主机集群承载的虚拟服务器。区块链系统12包括多个区块链节点121,区块链节点121可以部署于云端,也可以部署于任意类型的电子设备,电子设备例如可以是手机、PC(Personal Computer,个人计算机)、平板电脑、笔记本电脑、掌上电脑(PDAs,PersonalDigital Assistants)、可穿戴设备(如智能眼镜、智能手表等)、服务器等,本说明书不对区块链节点的部署方式进行限制。
服务器11用于创建资产凭证并将资产凭证存证至区块链系统;其中,资产凭证包含凭证公钥,且凭证公钥对应的凭证私钥由资产凭证的所有者持有。区块链系统12用于存证资产凭证,以在接收到针对资产凭证的管理请求的情况下,对管理请求的发起方进行身份验证并在确定验证通过的情况下根据管理请求对资产凭证进行管理。
下面对资产凭证的创建过程进行详细说明。
图2是一示例性实施例提供的一种资产凭证的管理系统创建资产凭证过程的泳道图,图中示出了在资产凭证的创建过程中的各种“角色”之间的关系并且定义在过程中涉及的步骤,图2的步骤可以在计算机程序代码与适当硬件的结合上被实施。该计算机程序代码可以在诸如软盘、硬盘、CD-ROM、DVD-ROM或磁带之类的储存介质上被储存,以及在存储器储存设备或诸如只读存储器(ROM)或随机存取存储器(RAM)之类的存储器储存设备的集合上被储存。附加地,计算机程序代码可以被传递至互联网或一些其他类型的网络上的工作站。
参见图2,资产凭证的创建过程包括以下步骤:
步骤202、凭证创建请求方发起资产凭证的创建请求。
凭证创建请求方具有对目标资产的处置权限,凭证创建请求方可以将其对目标资产的处置权限通过资产凭证授权给指定对象。被授权的指定对象为资产凭证的所有者,可以根据其所有的资产凭证处置该目标资产,也可以对资产凭证进行相应的管理。
凭证创建请求方可通过请求方客户端向服务器发起资产凭证的创建请求。
凭证创建请求方可以但不限于是商家,商家可以以自己所有的或者将来所有的目标资产为某个消费者请求创建资产凭证,或者依据消费者所有的集分宝或者积分为其请求创建资产凭证。资产凭证创建后,资产凭证的所有者可以对资产凭证进行转让、使用、状态切换等管理。以资产凭证为物品领取凭证为例,该物品领取凭证的所有者可以凭借物品领取凭证向商家请求领取对应的物品,实现资产凭证的使用;以资产凭证为充值卡为例,该充值卡的所有者可以凭借该充值卡进行账户充值,实现资产凭证的使用。
凭证创建请求方可以但不限于是银行,银行可以针对已建立的担保账户或者信用贷账户请求创建资产凭证,资产凭证创建后,该资产凭证的所有者可以凭借该资产凭证从担保账户或者信用贷账户实现转账、消费等操作。
步骤204、服务器创建资产凭证。
资产凭证作为处置目标资产以及对其进行管理的依据,为了能够确定资产凭证创建之后,管理请求的发起方具有处置该资产凭证的权限,需要对管理请求的发起方进行身份验证,因此,服务器创建的资产凭证应包含用于对管理请求的发起方进行身份验证的验证信息。当然,资产凭证还可以包括资产凭证的描述信息、资产凭证所有者的身份信息、预设业务规则和预设核销规则中的一项或者多项。
其中,资产凭证的描述信息、资产凭证所有者的身份信息、预设业务规则和预设核销规由凭证创建请求方提供。描述信息可以但不限于包括资产价值、有效时间段、使用范围等;身份信息可以但不限于包括联系方式(手机号码、座机、邮箱)、身份证号码、出生日期、出生地址、姓名等。预设业务规则和预设核销规可根据实际需求自行设置。
由于资产凭证需要存证至区块链系统,在资产凭证包含所有者的身份信息的情况下,为了身份信息不被泄露,服务器可以对身份信息进行脱敏处理,并将经过脱敏处理的身份信息存证至区块链系统。下述采用身份信息生成公私钥对时,也可以基于经过脱敏处理的身份信息生成公私钥对。
本说明书实施例中,可以但不限于采用数字签名的方式实现身份验证,创建资产凭证时,服务器生成公私钥对,资产凭证包含凭证公钥,凭证公钥对应的凭证私钥由资产凭证的所有者持有。
下面介绍生成公私钥对的实现方式。
在一个实施例中,服务器随机生成第一公私钥对,也即采用密钥派生算法(KDF)对随机数进行加密运算得到第一公私钥对,服务器将第一公私钥对中的第一公钥作为资产凭证的凭证公钥,该凭证公钥对应的凭证私钥(第一公私钥对中的第一私钥)由资产凭证的所有者持有。其中,随机数可以是随机生成的,也可以是从上述描述信息和/或身份信息中随机抽取、组合的数据。
在一个实施例中,服务器根据所有者的身份信息生成第二公私钥对,也即采用密钥派生算法对身份信息进行加密运算得到第二公私钥对,服务器将第二公私钥对中的第二公钥作为资产凭证的凭证公钥,该凭证公钥对应的凭证私钥(第二公私钥对中的第二私钥)由资产凭证的所有者持有。基于身份信息生成公私钥对,在将凭证私钥提供给所有者时只要告知凭证私钥的生成参数即可,无需告知具体凭证私钥。举例来说,若第二公私钥对由所有者的身份证号码(生成参数)生成,只需告知所有者凭证私钥是由本人的身份证号码生成,由于所有者必定知晓本人的身份证号码,从而无需将所有者的身份证号码的具体数值提供给所有者,可以避免提供身份私钥的过程中,身份私钥或者身份证号码的具体数值被泄露的风险。
需要说明的是,生成第二公私钥对的身份信息可以是一类身份信息的全部或者部分,例如基于身份证号码的全部位数生成第二公私钥对,或者基于身份证号码的部分位数生成第二公私钥对;生成第二公私钥对的身份信息可以是多类身份信息的组合,例如,基于身份证号码和手机号码的组合生成第二公私钥对,或者基于身份证号码、手机号码和姓名全拼的组合生成第二公私钥对。本说明书实施例对用于生成第二公私钥对的身份信息的组合方式、位数不作特别限定。
在一个实施例中,服务器随机生成第一公私钥对以及根据所有者的身份信息生成第二公私钥对,服务器将第一公私钥对中的第一公钥以及第二公私钥对中的第二公钥作为资产凭证的凭证公钥,第一公私钥对中的第一私钥以及第二公私钥对中的第二私钥由资产凭证的所有者持有。第二公私钥对用于验证管理请求的发起方是否有权限对资产凭证进行管理,第一公私钥对用于验证管理请求的发起方是否有权对指定的资产凭证进行管理。其中,第一公私钥对和第二公私钥对的具体生成过程参见上述实施例描述,此处不再赘述。
在一个实施例中,服务器随机生成第一公私钥对,以及根据所有者的身份信息与随机数的组合生成第二公私钥对,服务器将第一公私钥对中的第一公钥以及第二公私钥对中的第二公钥作为资产凭证的凭证公钥,第一公私钥对中的第一私钥以及第二公私钥对中的第二私钥由资产凭证的所有者持有。其中,该随机数可以是随机生成的,也可以是从上述描述信息中随机抽取、组合的数据。将身份信息与随机数的组合作为生成第二公私钥对的基础数据,增加了基础数据的复杂度,使得第二公私钥对更难被破解。
在一个实施例中,创建资产凭证的过程中,服务器还生成资产凭证的凭证ID作为资产凭证的标识,服务器可以将凭证ID返回给凭证创建请求方,以使创建请求方向服务器发起查询对应于该凭证ID的资产凭证的相关信息;或者,在资产凭证存证至区块链系统的情形下,创建请求方向区块链系统发起查询对应于该凭证ID的资产凭证的相关信息。
步骤206、服务器发起交易。
创建了资产凭证之后,服务器将资产凭证打包至一笔交易中,向区块链系统发起该交易。
步骤208、区块链系统接收该交易,以存证资产凭证。
区块链系统存证资产凭证,以使区块链系统在接收到针对资产凭证的管理请求的情况下,基于资产凭证包含的凭证公钥对管理请求的发起方提供的签名数据进行验证,并在确定验证通过的情况下根据管理请求对资产凭证进行管理。
步骤210、服务器将凭证公钥对应的凭证私钥返回给凭证创建请求方。
在一个实施例中,服务器直接将生成的凭证私钥返回给凭证创建请求方。若资产凭证的凭证私钥为第一公私钥对中的第一私钥,服务器则将第一私钥返回给凭证创建请求方;若资产凭证的凭证私钥为第二公私钥对中的第二私钥,服务器则将第二私钥返回给凭证创建请求方;若资产凭证的凭证私钥包括第一公私钥对中的第一私钥以及第二公私钥对中的第二私钥,服务器则将第一私钥和第二私钥同时返回给凭证创建请求方。
在一个实施例中,若凭证私钥由所有者的身份信息生成,出于对身份信息和凭证私钥的安全性考虑,服务器将生成凭证私钥的生成参数返回给凭证创建请求方即可,无需将具体的凭证私钥返回给凭证创建请求方。举例来说,若资产凭证的凭证私钥为第二公私钥对中的第二私钥,第二公私钥对由所有者的身份证号码生成,服务器将生成参数“身份证号码”返回给凭证创建请求,而非直接返回第二公私钥。若资产凭证的凭证私钥包括第一公私钥对中的第一私钥以及第二公私钥对中的第二私钥,第二公私钥对由所有者的身份证号码生成,服务器将第一私钥以及第二私钥的生成参数“身份证号码”返回给凭证创建请求。
步骤212、凭证创建请求方将凭证私钥提供给资产凭证的所有者。
若服务器返回给凭证创建请求方的是凭证私钥,则凭证创建请求方直接将凭证私钥提供给资产凭证的所有者。若服务器返回给凭证创建请求方的是凭证私钥的生成参数,则凭证创建请求方将凭证私钥的生成参数提供给资产凭证的所有者。
当然,除了由服务器将凭证私钥提供至凭证创建请求方,并由凭证创建请求方转交至资产凭证的所有者之外,还可以由服务器直接将凭证私钥发送至资产凭证的所有者,本说明书并不对此进行限制。譬如在下述图4所示的实施例中,服务器可以将资产凭证的凭证私钥直接发送至用户,而并非必须有商家进行转发。其中,针对凭证私钥的发送方式,可以采用诸如短信、即时通讯、邮件等任意方式,本说明书并不对此进行限制。
步骤214、资产凭证的所有者持有资产凭证的凭证私钥。
资产凭证的所有者持有资产凭证的凭证私钥后,即可向区块链系统请求对该资产凭证进行转让、使用、状态切换等管理。
需要说明的是,图2中的步骤210、步骤212和步骤214的执行顺序不限于是在执行完步骤206和步骤208之后执行,步骤210、步骤212和步骤214可以与步骤206和步骤208同步执行,也可以先执行步骤210、步骤212和步骤214再执行步骤206和步骤208,本说明书对上述步骤的执行顺序不作特别限定。
不同于图2示出的实施例,在另一个实施例中,若凭证创建请求方向服务器提供了资产凭证的所有者的联系方式,服务器可以直接将资产凭证的凭证私钥发送给资产凭证的所有者,无需通过凭证创建请求方发送资产凭证的凭证私钥,这样凭证创建请求方并不知晓资产凭证的凭证私钥,从而可以避免凭证创建请求方在资产凭证的所有者不知情的情况下,对资产凭证进行任意处置。
完成资产凭证创建、所有者拥有资产凭证的凭证私钥之后,所有者可以根据实际需求请求区块链系统对资产凭证进行管理,所有者对资产凭证的管理过程中无需凭证创建请求方的介入,可以避免凭证创建请求方对资产凭证的任意处置或者错误处置,有利于对所有者的权利保护。
下面介绍所有者通过管理系统对资产凭证进行管理的过程。
图3是一示例性实施例提供的一种资产凭证的创建和创建之后的管理过程的泳道图,关于资产凭证的创建过程参见上述实施例,本实施例不再赘述,本说明书实施例中主要描述创建之后资产凭证的所有者对资产凭证的管理过程。参见图3,资产凭证的管理过程还包括以下步骤:
步骤302、资产凭证的所有者发起针对资产凭证的管理请求。
其中,可通过资产凭证的所有者客户端和/或与该资产凭证的所有者客户端相关联的服务器发起针对资产凭证的管理请求。
可以理解地,管理请求的发起方可能是资产凭证的所有者,也可能不是资产凭证的所有者(除了所有者之外的其他发起方),为了确定管理请求的发起方确实是资产凭证的所有者,有权管理资产凭证,需要对管理请求的发起方进行身份验证。下面以通过所有者客户端发起管理请求为例,对身份验证过程进说明。
与创建资产凭证相对应的,本说明书实施例中基于密钥派生算法实现身份验证,所有者客户端需获取管理请求的发起方提供的数字签名,以供区块链系统进行身份验证。
在一个实施例中,资产凭证的所有者持有的是凭证私钥的生成参数,所有者客户端提供用于输入生成参数的具体数值的输入区,并根据密钥派生算法对管理请求的发起方输入的具体数值进行加密运算生成凭证私钥,以及使用该生成的凭证私钥对目标数据进行签名,得到签名数据。其中,目标数据可以但不限于是请求方的身份信息、资产凭证的凭证ID、管理请求的请求内容等。
若资产凭证的所有者持有的凭证私钥为第一私钥的生成参数或者第二私钥的生成参数,所有者客户端提供一个输入区。生成签名数据时,所有者客户端获取输入于该输入区的具体数值生成凭证私钥,并使用该生成的凭证私钥对目标数据进行加密,将加密后的目标数据作为签名数据。
若资产凭证的所有者持有的凭证私钥包括第一私钥的生成参数以及第二私钥的生成参数,所有者客户端提供两个输入区,分别用于输入第一私钥的生成参数的具体数值以及第二私钥的生成参数的具体数值。生成签名数据时,所有者客户端分别获取两个输入区的具体数值并生成第一私钥以及第二私钥,并分别使用第一私钥以及第二私钥对不同的目标数据进行加密,例如,使用第一私钥对资产凭证的凭证ID(目标数据)进行签名,使用第二私钥对管理请求的请求内容(目标数据)进行签名,将加密后的目标数据作为签名数据。
可以理解的,本说明书实施例中所有者客户端不仅要生成签名数据还要生成私钥,因此所有者客户端需要部署数字签名算法以及密钥派生算法,且所有者客户端部署的密钥派生算法需与创建资产凭证的服务器部署的密钥派生算法相对应。
在一个实施例中,若资产凭证的所有者持有的是凭证私钥,所有者客户端提供用于输入凭证私钥的输入区,并根据管理请求的发起方输入的凭证私钥对目标数据进行签名,得到签名数据。
若资产凭证的所有者持有的凭证私钥为第一私钥或者第二私钥,所有者客户端提供一个输入区。生成签名数据时,所有者客户端获取输入于该输入区的第一私钥或者第二私钥,并使用该输入的第一私钥或者第二私钥对目标数据进行加密,将加密后的目标数据作为签名数据。
若资产凭证的所有者持有的凭证私钥包括第一私钥以及第二私钥,所有者客户端提供两个输入区,分别用于输入第一私钥以及第二私钥。生成签名数据时,所有者客户端分别获取输入于两个输入区的第一私钥以及第二私钥,并分别使用生成的第一私钥以及第二私钥对不同的目标数据进行加密,例如,使用生成的第一私钥对资产凭证的凭证ID(目标数据)进行签名,使用生成的第二私钥对管理请求的请求内容(目标数据)进行签名,将加密后的目标数据作为签名数据。
可以理解的,本说明书实施例中所有者客户端无需根据请求方输入的具体数值生成私钥,因此无需部署密钥派生算法,只需部署数字签名算法。
在一个实施例中,若资产凭证的所有者持有的凭证私钥为第一私钥以及第二私钥的生成参数,所有者客户端提供两个输入区,第一输入区用于输入第一私钥,第二输入区用于输入第二私钥的生成参数的具体数值。生成签名数据时,所有者客户端根据密钥派生算法对输入于第二输入区的具体数值进行加密运算生成第二私钥,并分别使用输入于第一输入区的第一私钥以及生成的第二私钥对不同的目标数据进行加密,例如,使用第一私钥对资产凭证的凭证ID(目标数据)进行签名,使用第二私钥对管理请求的请求内容(目标数据)进行签名,将加密后的目标数据作为签名数据。
上述输入区可以是所有者客户端响应于管理请求而展示的。
步骤304、资产凭证的所有者发起交易。
在一个实施例中,资产凭证的所有者得到签名数据后,将携带签名数据以及目标数据的管理请求打包至一笔交易中,将该交易发送至区块链系统中的某个区块链节点。
在一个实施例中,资产凭证的所有者向区块链系统所含的BaaS平台发起请求,由该BaaS(Blockchain as a Service,区块链即服务)平台生成包含管理请求的交易并发送至某一区块链节点。
步骤306、区块链系统接收该交易,调用资产管理合约中的管理逻辑,根据第一合约状态中记录的资产凭证对签名数据进行验证以及在验证通过的情况下对资产凭证管理。
具体的,区块链系统调用资产管理合约中的管理逻辑,根据第一合约状态中记录的资产凭证的凭证公钥对签名数据进行解密,如果解密的结果与交易包含的目标数据相匹配,那么确定验证通过,确认管理请求的发起方为资产凭证的所有者,有权管理资产凭证,则对资产凭证进行管理。如果解密的结果与交易包含的目标数据不匹配,那么确定验证不通过,区块链系统可以返回类似于“验证失败”等提示。
在一个实施例中,区块链系统上部署的资产管理合约的第二合约状态用于记录资产凭证的状态;执行管理操作之前,调用管理逻辑还验证第二合约状态中记录的资产凭证的状态与管理请求对应的管理操作是否匹配,并在验证结果为匹配的情况下,执行管理操作。
在一个实施例中,管理逻辑还用于:在完成管理操作后,对资产凭证的状态进行更新。
举例来说,参见图4,图中示出了商家为用户创建针对充值卡的资产凭证以及用户使用该充值卡进行充值的过程。当用户发起的管理请求为充值请求时,在区块链系统对用户提供的数字签名验证通过且第二合约状态中记录的资产凭证的状态为可用状态的情况下,区块链系统确定资产凭证的状态与管理请求对应的管理操作相匹配,执行充值操作(管理操作),并在管理操作完成后将资产凭证的状态更新为已充值状态。在对用户提供的数字签名验证通过,但第二合约状态中记录的资产凭证的状态为禁用状态、过期状态或者核销状态中的至少一种的情况下,区块链系统确定资产凭证的状态与管理请求对应的管理操作不匹配,不执行充值操作。
参见图5,图中示出了商家为用户a创建资产凭证以及用户a将该资产凭证转让给用户b的过程。当用户a发起的管理请求为转让请求时,在区块链系统对用户a提供的数字签名验证通过,且第二合约状态中记录的资产凭证的状态为可用状态的情况下,区块链系统确定资产凭证的状态与管理请求对应的管理操作相匹配,执行转让操作(管理操作),将区块链系统存证的凭证信息所包含的身份信息由用户a的身份信息更新为用户b的身份信息。执行完转让操作后资产凭证的状态不变,还是为可用状态。在对用户提供的数字签名验证通过,但第二合约状态中记录的资产凭证的状态为禁用状态、过期状态或者核销状态中的至少一种的情况下,区块链系统确定资产凭证的状态与管理请求对应的管理操作不匹配,不执行转让操作。
在一个实施例中,完成转让操作后,用户a可将其所持有的凭证私钥告知用户b,用户b持有该凭证私钥即拥有对凭证私钥的管理权限。
在一个实施例中,若凭证私钥和凭证公钥是基于身份信息生成的,区块链系统完成身份信息更新后,还可将更新后的身份信息发送至服务器,由服务器根据更新后的身份信息生成新的公私钥对,并使用新的公私钥对中的公钥更新存证于区块链系统的资产凭证的凭证公钥,新的公私钥对中的公钥由用户b持有。
需要说明的是,图4和图5中,服务器和资产凭证的所有者发起交易时,可以直接生成交易,也可以请求区块链系统所含的BaaS平台生成交易。若采用直接生成交易的方式,图中的区块链系统包含区块链节点;若采用请求BaaS平台生成交易的方式,图中的区块链系统不仅包含区块链节点,还需包含BaaS平台。
完成资产凭证创建之后,凭证创建请求方可以根据实际需求请求区块链系统对资产凭证进行管理。图6是一示例性实施例提供的另一种资产凭证的创建和创建之后的管理过程的泳道图,关于资产凭证的创建过程参见上述实施例,本实施例不再赘述,本说明书实施例中主要描述创建之后凭证创建请求方对资产凭证的管理过程。参见图6,资产凭证的管理过程还包括以下步骤:
步骤602、凭证创建请求方提供状态切换条件。
其中,状态切换条件可以但不限于包括资产凭证的有效期、预设业务规则和预设核销规则。状态切换条件存储于服务器。
步骤604、服务器在确定资产凭证满足状态切换条件的情况下,发起交易。
在一个实施例中,服务器在确定资产凭证满足状态切换条件的情况下生成管理请求,并将管理请求打包至一笔交易中,以及将该交易发送至区块链系统中的某个区块链节点。
在一个实施例中,服务器在确定资产凭证满足状态切换条件的情况下生成管理请求,并向区块链系统所含的BaaS平台发起请求,由该BaaS平台生成包含管理请求的交易并发送至某一区块链节点。
步骤606、区块链系统调用资产管理合约的状态切换交易,以通过调用资产管理合约中的管理逻辑更新第二合约状态中记录的资产凭证的状态。
区块链系统上部署的资产管理合约的第二合约状态用于记录资产凭证的状态。
在一个实施例中,状态切换条件包括资产凭证的有效期过期。当服务器确定资产凭证的有效期过期的情况下,服务器请求区块链系统调用资产管理合约中的管理逻辑以将第二合约状态中记录的资产凭证的状态更新为过期状态。
在一个实施例中,状态切换条件包括资产凭证不符合预设业务规则。当服务器确定资产凭证不符合预设业务规则的情况下,服务器向区块链系统发起禁用请求,以使区块链系统将第二合约状态中记录的资产凭证的状态更新为禁用状态。预设业务规则例如可以是以下中的至少一种:资产凭证的价值在预设价值范围内,资产凭证的过期时长在预设时长范围内,预设时长内接收到包含管理请求的交易的次数超过次数阈值等。
在一个实施例中,状态切换条件包括资产凭证符合预设核销规则。当服务器确定资产凭证符合预设核销规则时,服务器向区块链系统发起核销请求,以使区块链系统将第二合约状态中记录的资产凭证的状态更新为核销状态。
在一个实施例中,上述有效期、预设业务规则和预设核销规则可以由资产凭证创建方提供并存证于区块链系统中,由区块链系统监控资产凭证是否超过有效期,是否符合预设业务规则,是否符合预设核销规则,并根据监控结果调用管理逻辑对第二合约状态中记录的资产凭证的状态进行更新。
图7是一示例性实施例提供的一种资产凭证的管理方法的流程图,该方法应用于管理系统,所述管理系统包括服务器和区块链系统;所述方法包括:
步骤702、所述服务器创建资产凭证并将所述资产凭证存证至所述区块链系统;其中,所述资产凭证包含凭证公钥,且所述凭证公钥对应的凭证私钥由所述资产凭证的所有者持有;
步骤704、所述区块链系统存证所述资产凭证;以及,响应于针对所述资产凭证的管理请求,基于所述凭证公钥验证所述管理请求的发起方提供的签名数据,并在确定验证通过的情况下根据所述管理请求对所述资产凭证进行管理。
可选地,所述凭证公钥包括第一公私钥对中的第一公钥、所述凭证私钥包括所述第一公私钥对中的第一私钥,所述第一公私钥对为随机生成;和/或,
所述凭证公钥包括第二公私钥对中的第二公钥、所述凭证私钥包括所述第二公私钥对中的第二私钥,所述第二公私钥对根据所述所有者的身份信息而生成。
可选地,当所述凭证私钥包括所述第一私钥时,所述所有者持有的第一私钥由所述服务器生成后提供至所述所有者;
当所述凭证私钥包括第二私钥时,所述所有者持有的第二私钥由所述服务器生成后提供至所述所有者,或者由所述所有者基于所述身份信息自行生成。
可选地,所述身份信息为经过脱敏处理的身份信息。
可选地,所述签名数据包括:
采用所述第一私钥对所述资产凭证的凭证ID进行签名生成的第一签名数据;和/或,
采用所述第二私钥对所述管理请求的请求内容进行签名生成的第二签名数据。
可选地,所述资产凭证被记录于所述区块链系统上部署的资产管理合约的第一合约状态;
所述区块链系统基于所述凭证公钥验证所述管理请求的发起方提供的签名数据,包括:
所述区块链系统接收包含所述管理请求的交易,所述交易调用所述资产管理合约中的管理逻辑,以根据所述第一合约状态中记录的资产凭证对所述签名数据进行验证。
可选地,所述区块链系统上部署的资产管理合约的第二合约状态用于记录所述资产凭证的状态;所述管理逻辑还用于:
验证所述第二合约状态中记录的资产凭证的状态与所述管理请求对应的管理操作是否匹配,并在验证结果为匹配的情况下,执行所述管理操作。
所述管理逻辑还用于:
在完成所述管理操作后,对所述资产凭证的状态进行更新。
可选地,当所述管理请求为充值请求时,相匹配的状态为可用状态,且所述管理操作完成后将所述资产凭证的状态更新为已充值状态;
当所述管理请求为转让请求时,相匹配的状态为可用状态,所述资产凭证的状态不变。
可选地,所述区块链系统上部署的资产管理合约的第二合约状态用于记录所述资产凭证的状态;所述方法还包括:
所述服务器在所述资产凭证满足预定义的状态切换条件的情况下,向所述区块链系统发起调用所述资产管理合约的状态切换交易,以通过调用所述资产管理合约中的管理逻辑对第二合约状态中记录的资产凭证的状态进行更新。
可选地,当所述状态切换条件为所述资产凭证的有效期过期时,所述管理逻辑用于将所述第二合约状态中记录的资产凭证的状态更新为过期状态;
当所述状态切换条件为所述资产凭证不符合预设业务规则时,所述服务器向所述区块链系统发起禁用请求,以使所述区块链系统将所述第二合约状态中记录的资产凭证的状态更新为禁用状态;
在确定所述资产凭证符合预设核销规则时,所述服务器向所述区块链系统发起核销请求,以使所述区块链系统将所述第二合约状态中记录的资产凭证的状态更新为核销状态。
图8是一示例性实施例提供的另一种资产凭证的管理方法的流程图,该方法应用于服务器;所述方法包括:
步骤802、创建资产凭证;
步骤804、将所述资产凭证存证至所述区块链系统,以使所述区块链系统在接收到针对所述资产凭证的管理请求的情况下,基于所述资产凭证包含凭证公钥验证所述管理请求的发起方提供的签名数据,并在确定验证通过的情况下根据所述管理请求对所述资产凭证进行管理;其中,所述凭证公钥对应的凭证私钥由所述资产凭证的所有者持有。
可选地,所述凭证公钥包括第一公私钥对中的第一公钥、所述凭证私钥包括所述第一公私钥对中的第一私钥,所述第一公私钥对为随机生成;和/或,
所述凭证公钥包括第二公私钥对中的第二公钥、所述凭证私钥包括所述第二公私钥对中的第二私钥,所述第二公私钥对根据所述所有者的身份信息而生成。
可选地,当所述凭证私钥包括所述第一私钥时,所述所有者持有的第一私钥由所述服务器生成后提供至所述所有者;
当所述凭证私钥包括第二私钥时,所述所有者持有的第二私钥由所述服务器生成后提供至所述所有者,或者由所述所有者基于所述身份信息自行生成。
可选地,所述身份信息为经过脱敏处理的身份信息。
可选地,所述区块链系统上部署的资产管理合约的第二合约状态用于记录所述资产凭证的状态;所述方法还包括:
在所述资产凭证满足预定义的状态切换条件的情况下,向所述区块链系统发起调用所述资产管理合约的状态切换交易,以通过调用所述资产管理合约中的管理逻辑对第二合约状态中记录的资产凭证的状态进行更新。
图9是一示例性实施例提供的另一种资产凭证的管理方法的流程图,该方法应用于区块链系统;所述方法包括:
步骤902、存证资产凭证,所述资产凭证由服务器创建,其中,所述资产凭证包含凭证公钥,且所述凭证公钥对应的凭证私钥由所述资产凭证的所有者持有;
步骤904、响应于针对所述资产凭证的管理请求,基于所述凭证公钥验证所述管理请求的发起方提供的签名数据,并在确定验证通过的情况下根据所述管理请求对所述资产凭证进行管理。
可选地,所述签名数据包括:
采用所述第一私钥对所述资产凭证的凭证ID进行签名生成的第一签名数据;和/或,
采用所述第二私钥对所述管理请求的请求内容进行签名生成的第二签名数据。
可选地,所述资产凭证被记录于所述区块链系统上部署的资产管理合约的第一合约状态;所述区块链系统用于:
接收包含所述管理请求的交易,所述交易调用所述资产管理合约中的管理逻辑,以根据所述第一合约状态中记录的资产凭证对所述签名数据进行验证以及在验证通过的情况下对所述资产凭证管理。
可选地,所述区块链系统上部署的资产管理合约的第二合约状态用于记录所述资产凭证的状态;所述管理逻辑还用于:
验证所述第二合约状态中记录的资产凭证的状态与所述管理请求对应的管理操作是否匹配,并在验证结果为匹配的情况下,执行所述管理操作。
可选地,所述管理逻辑还用于:
在完成所述管理操作后,对所述资产凭证的状态进行更新。
可选地,当所述管理请求为充值请求时,相匹配的状态为可用状态,且所述管理操作完成后将所述资产凭证的状态更新为已充值状态;
当所述管理请求为转让请求时,相匹配的状态为可用状态,所述资产凭证的状态不变。
可选地,当所述状态切换条件为所述资产凭证的有效期过期时,所述管理逻辑用于将所述第二合约状态中记录的资产凭证的状态更新为过期状态;
当所述状态切换条件为所述资产凭证不符合预设业务规则时,所述服务器向所述区块链系统发起禁用请求,以使所述区块链系统将所述第二合约状态中记录的资产凭证的状态更新为禁用状态;
在确定所述资产凭证符合预设核销规则时,所述服务器向所述区块链系统发起核销请求,以使所述区块链系统将所述第二合约状态中记录的资产凭证的状态更新为核销状态。
图10是一示例性实施例提供的一种设备的示意结构图。请参考图10,在硬件层面,该设备包括处理器1002、内部总线1004、网络接口1006、内存1008以及非易失性存储器1010,当然还可能包括其他业务所需要的硬件。处理器1002从非易失性存储器1010中读取对应的计算机程序到内存1008中然后运行,在逻辑层面上形成资产凭证的管理装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图11,在软件实施方式中,应用于服务器的资产凭证的管理装置可以包括:
创建模块1101,用于创建资产凭证;
存证模块1102,用于将所述资产凭证存证至所述区块链系统,以使所述区块链系统在接收到针对所述资产凭证的管理请求的情况下,基于所述资产凭证包含凭证公钥验证所述管理请求的发起方提供的签名数据,并在确定验证通过的情况下根据所述管理请求对所述资产凭证进行管理;其中,所述凭证公钥对应的凭证私钥由所述资产凭证的所有者持有。
可选地,所述凭证公钥包括第一公私钥对中的第一公钥、所述凭证私钥包括所述第一公私钥对中的第一私钥,所述第一公私钥对为随机生成;和/或,
所述凭证公钥包括第二公私钥对中的第二公钥、所述凭证私钥包括所述第二公私钥对中的第二私钥,所述第二公私钥对根据所述所有者的身份信息而生成。
可选地,当所述凭证私钥包括所述第一私钥时,所述所有者持有的第一私钥由所述服务器生成后提供至所述所有者;
当所述凭证私钥包括第二私钥时,所述所有者持有的第二私钥由所述服务器生成后提供至所述所有者,或者由所述所有者基于所述身份信息自行生成。
可选地,所述身份信息为经过脱敏处理的身份信息。
可选地,所述区块链系统上部署的资产管理合约的第二合约状态用于记录所述资产凭证的状态;所述方法还包括:
在所述资产凭证满足预定义的状态切换条件的情况下,向所述区块链系统发起调用所述资产管理合约的状态切换交易,以通过调用所述资产管理合约中的管理逻辑对第二合约状态中记录的资产凭证的状态进行更新。
请参考图12,在软件实施方式中,应用于区块链系统的资产凭证的管理装置可以包括:
存证模块1201,用于存证资产凭证,所述资产凭证由服务器创建,其中,所述资产凭证包含凭证公钥,且所述凭证公钥对应的凭证私钥由所述资产凭证的所有者持有;
管理模块1202,用于响应于针对所述资产凭证的管理请求,基于所述凭证公钥验证所述管理请求的发起方提供的签名数据,并在确定验证通过的情况下根据所述管理请求对所述资产凭证进行管理。
可选地,所述签名数据包括:
采用所述第一私钥对所述资产凭证的凭证ID进行签名生成的第一签名数据;和/或,
采用所述第二私钥对所述管理请求的请求内容进行签名生成的第二签名数据。
可选地,所述资产凭证被记录于所述区块链系统上部署的资产管理合约的第一合约状态;所述区块链系统用于:
接收包含所述管理请求的交易,所述交易调用所述资产管理合约中的管理逻辑,以根据所述第一合约状态中记录的资产凭证对所述签名数据进行验证以及在验证通过的情况下对所述资产凭证管理。
可选地,所述区块链系统上部署的资产管理合约的第二合约状态用于记录所述资产凭证的状态;所述管理逻辑还用于:
验证所述第二合约状态中记录的资产凭证的状态与所述管理请求对应的管理操作是否匹配,并在验证结果为匹配的情况下,执行所述管理操作。
可选地,所述管理逻辑还用于:
在完成所述管理操作后,对所述资产凭证的状态进行更新。
可选地,当所述管理请求为充值请求时,相匹配的状态为可用状态,且所述管理操作完成后将所述资产凭证的状态更新为已充值状态;
当所述管理请求为转让请求时,相匹配的状态为可用状态,所述资产凭证的状态不变。
可选地,当所述状态切换条件为所述资产凭证的有效期过期时,所述管理逻辑用于将所述第二合约状态中记录的资产凭证的状态更新为过期状态;
当所述状态切换条件为所述资产凭证不符合预设业务规则时,所述服务器向所述区块链系统发起禁用请求,以使所述区块链系统将所述第二合约状态中记录的资产凭证的状态更新为禁用状态;
在确定所述资产凭证符合预设核销规则时,所述服务器向所述区块链系统发起核销请求,以使所述区块链系统将所述第二合约状态中记录的资产凭证的状态更新为核销状态。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储,其上存储有计算机程序(信息),程序被处理器执行时实现上述任一实施例所提供的方法步骤。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。