一种数字资产互通方法和计算机可读存储介质与流程

文档序号:15205030发布日期:2018-08-21 07:43阅读:149来源:国知局

本申请涉及计算机技术领域,具体地,涉及区块链技术,更具体地,涉及一种数字资产互通方法和计算机可读存储介质。



背景技术:

联盟区块链是指其共识过程受到预选节点控制的区块链。是一种“部分去中心化”的区块链,也即联盟区块链中的普通节点(未获得联盟许可的节点)可以查阅和交易,但是不能验证交易,也不能发布智能合约。只有拥有一定的信誉和被联盟授予证书的节点才能够进行验证交易以及参与部署智能合约。这能够有效解决传统交易效率低和安全性差的问题。

目前,各个商家为了挽留老客户,吸引新客户,一般都会采用会员卡机制,并且根据客户的消费金额向会员卡中发放数字资产(如积分等)。客户可在规定的时间段使用数字资产兑换商家设置的物品。

但是,各个商家一般按照自己指定的数字资产发行规则向客户发行数字资产,也即客户拥有的数字资产只能按照商家设置的规则进行兑换,而且大多数数字资产会有到期作废等条件的限制。这使得不同的商家之间的数字资产独立存在,流通性差,数字资产利用率不高。



技术实现要素:

有鉴于此,本申请提供了一种数字资产互通方法和计算机可读存储介质,以实现不同类型的数字资产可以在联盟区块链内互通互用,提高了数字资产的使用效率,同时部署联盟区块链保障了数字资产发行方节点之间的安全问题。

第一方面,提供一种数字资产互通方法,包括:

第一节点将兑换请求上传至交易平台节点并将所述兑换请求的哈希值入链存证,所述兑换请求包括第一数字资产的类型标识和数量以及第二数字资产的类型标识;

所述交易平台节点根据所述第一数字资产和所述第二数字资产的兑换率将所述兑换请求与其他兑换请求进行匹配,并将匹配结果反馈给所述第一节点,所述兑换率根据所述第一数字资产和所述第二数字资产的通用兑换率计算;

预先部署在联盟区块链中的兑换智能合约响应于所述第一节点确认兑换的请求更新所述第一节点的数字资产类型和数量并入链存证;

所述数字资产发行方节点发行的数字资产的通用兑换率在一个发行周期内保持不变。

进一步地,预先部署在联盟区块链中的兑换智能合约响应于所述第一节点确认兑换的请求更新所述第一节点的数字资产类型标识和数量并入链存证包括:

所述交易平台节点向所述第一节点发起基于区块链的交易生成第一交易单,所述第一交易单包括所述交易平台节点和所述第一节点的私钥签名和地址、所述第一数字资产和所述第二数字资产的数量和类型标识;

若所述第一交易单被联盟区块链中的验证节点验证通过,更新所述第一节点数字资产类型标识和数量并入链存证。

进一步地,所述通用兑换率通过该发行周期的数字资产的发行量、货币价值、兑换需求量以及所述数字资产发行方的诚信度的加权和计算。

进一步地,所述方法还包括:

在当前发行周期开始时,根据联盟区块链的共识机制更新数字资产发行方节点的数字资产发行量。

进一步地,各类所述数字资产的货币价值通过联盟区块链的共识机制确定。

进一步地,所述方法还包括:

所述数字资产发行方节点通过基于区块链的发行交易向数字资产持有方节点发行预定数量的数字资产,所述第一节点属于所述数字资产持有方节点。

进一步地,所述数字资产发行方通过基于区块链的发行交易向数字资产持有方节点发行预定数量的数字资产包括:

所述数字资产发行方节点向所述数字资产持有方节点发起基于区块链的发行交易生成第二交易单,所述第二交易单包括所述数字资产发行方和所述数字资产持有方的私钥签名、发行的数字资产的类型标识和数量以及所述数字资产持有方的地址;

若所述第二交易单被联盟区块链中的验证节点验证通过,所述数字资产持有方节点获取所述发行的数字资产。

进一步地一个所述数字资产持有方节点拥有至少一类数字资产。

第二方面,提供一种计算机可读存储介质,其上存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如上所述的方法。

本申请实施例通过共识机制在联盟区块链上部署兑换智能合约,并且交易平台节点根据该发行周期的兑换率将各个兑换请求进行匹配,使得匹配成功的数字资产持有方节点执行所述兑换智能合约,以完成不同类型的数字资产的兑换。因此,本申请实施例实现了不同类型的数字资产可以在联盟区块链内互通互用,提高了数字资产的使用效率,同时部署联盟区块链保障了数字资产发行方节点之间的安全问题。

附图说明

通过以下参照附图对本申请实施例的描述,本申请的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本申请实施例的数字资产互通的联盟区块链系统示意图;

图2是本申请实施例的数字资产发行方节点加入联盟区块链的方法流程图;

图3是本申请实施例的数字资产互通方法的流程图;

图4是本申请实施例的数字资产发行方法的流程图;

图5是本申请实施例的数字资产兑换方法的流程图;

图6是本申请实施例的电子设备的示意图。

具体实施方式

以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

图1是本申请实施例的数字资产互通的联盟区块链系统示意图。如图1所示,在联盟区块链系统中,包括数字资产发行方11、数字资产持有方12(例如消费者所在方)和交易平台节点13。其中,数字资产发行方11是联盟区块链中的验证节点,在联盟区块链系统中的所有交易只有经过数字资产发行方11验证通过后才能交易成功。并且,新的数字资产发行方节点请求加入联盟区块链,需要被数字资产发行方11验证通过并被ca(certificateauthority,数字证书认证中心)授予根证书之后,才能行使验证交易等权利。

联盟区块链使用证书管理组件向联盟链成员(也即数字资产发行发节点和数字资产持有方节点)颁发基于pki(publickeyinfrastructure,公钥基础设施)的证书。其中联盟区块链通过ca向数字资产发行发节点颁发根证书(rootcert),向数字资产持有方节点颁发注册证书(ecert)和交易证书。应理解,上述各类证书均包括对应节点的身份信息、签名密钥对(也即公钥和私钥)以及加密密钥对。

数字资产持有方12中的成员节点在联盟区块链注册后持有注册证书和交易证书,因此,数字资产持有方12中的成员节点拥有在联盟区块链中查询数字资产的兑换率及进行数字资产交易等功能,但是不能对交易进行验证,也不能参与智能合约的部署。交易平台节点13用于接收数字资产持有方12中的成员节点的兑换请求,并对兑换请求中相匹配的数字资产持有方节点进行撮合交易。

数字资产发行方11包括数字资产发行方a、数字资产发行方b和数字资产发行方c等。数字资产持有方12包括第一节点a和第二节点b等。其中,数字资产发行方11中的成员节点用于在满足预定条件的前提下向数字资产持有方12中的成员节点发放一定数量的数字资产。例如,第一节点a对应的数字资产持有人在数字资产发行方节点a对应的商家消费,数字资产发行方节点a根据消费金额向第一节点a发行相对应的数字资产a(如积分等)。类似地,第一节点b对应的数字资产持有人在数字资产发行方节点b对应的商家消费,数字资产发行方节点b根据消费金额向第二节点b发行相对应的数字资产b。

其中,数字资产发行方节点通过向数字资产持有方节点发起基于区块链的发行交易以实现向数字资产持有方节点发行数字资产。

第一节点a对应的数字资产持有人可利用数字资产a在数字资产发行方节点a对应的商家进行再消费。同理,第二节点b对应的数字资产持有人可利用数字资产b在数字资产发行方节点b对应的商家进行再消费。第一节点a和第二节点b之间能够通过交换数字资产来获取所需的数字资产。例如,第一节点a和第二节点b通过交易平台节点13实现数字资产a和数字资产b的兑换的过程如下:

(1)第一节点a向交易平台节点13上传兑换请求a并将兑换请求a的哈希值入链存证。其中,兑换请求a包括数字资产a的数量和类型标识以及数字资产b的类型标识(第二节点b以相同的方式向交易平台节点13上传兑换请求b)。

(2)交易平台节点13根据数字资产a和数字资产b的兑换率将所述兑换请求a与其他兑换请求进行匹配。交易平台节点13将兑换请求a与兑换请求b匹配成功的结果反馈给第一节点a。

(3)在第一节点a和第二节点b确认兑换后,预先部署在联盟区块链中的兑换智能合约响应于确认兑换的请求更新第一节点a和第二节点b的数字资产类型和数量并入链存证。由此,第一节点a与第二节点b通过交易平台节点13完成不同类型的数字资产的兑换。此时第一节点a对应的数字资产持有人可使用数字资产b在数字资产发行方节点b对应的商家进行再消费,第二节点b对应的数字资产持有人可使用数字资产a在数字资产发行方节点a对应的商家进行再消费。

兑换智能合约的具体执行方法为:交易平台节点13分别向第一节点a和第二节点b发起基于区块链的交易生成交易单a和交易单b。其中,交易单a包括第一节点a和交易平台节点13的私钥签名和地址、数字资产a和数字资产b的数量和类型标识。交易单b包括第二节点b和交易平台节点13的私钥签名和地址、数字资产a和数字资产b的数量和类型标识。在交易单a和交易单b被联盟区块链中的验证节点验证通过后,更新第一节点a和第二节点b的数字资产类型和数量并入链存证,也即兑换交易成功。

在联盟区块链系统中,不同数字资产兑换的过程中产生的所有交易凭证及结果均在联盟区块链中进行存证,确保了交易的真实性以及安全性。而且,保证了在下一发行周期中各个数字资产发行方节点的诚信度统计以及各个数字资产类型的兑换需求量统计的真实性。

应理解,数字资产持有方节点可以将数字资产放置于区块链钱包中,数字资产持有方节点的区块链钱包可以放置不同类型的数字资产,不同类型的数字资产在联盟区块链钱包中有唯一的类型标记。

其中,数字资产a和数字资产b之间的兑换率通过数字资产a和数字资产b的通用兑换率来计算。例如,假设数字资产a的通用兑换率为0.6,数字资产b的通用兑换率为0.3。则数字资产a和数字资产b之间的兑换率为0.6/0.3=2(也即1个数字资产a兑换2个数字资产b)。

应理解,每类数字资产的通用兑换率通过该发行周期的各类数字资产的发行量、货币价值、兑换需求量以及对应的数字资产发行方节点的诚信度的加权和进行计算。通用兑换率μ满足:

μ=ω1c+ω2v+ω3d+ω4i

其中,ω1,ω2,ω3和ω4分别为数字资产的发行量、货币价值、兑换需求量以及对应的数字资产发行方的诚信度的权值。其中,c为在该发行周期内数字资产的发行量与总数字资产发行量的比值。d为该数字资产兑换需求量与总数字资产兑换需求量的比值。例如,假设数字资产c在当前发行周期的发行量为1000个,当前发行周期的总数字资产发行量为10000个。数字资产c的货币价值为0.2,兑换需求量为0.1,数字资产发行方节点c的诚信度为0.9(数字资产发行方节点的诚信度为在0-1之间,0为诚信度极差,1为诚信度极好)。ω1,ω2,ω3和ω4的值分别为0.5,0.3,0.19和0.01。则数字资产c的通用兑换率μc为:

也即,数字资产c在当前发行周期内的通用兑换率为0.138。由于在同一个发行周期内,数字资产的发行量、货币价值、兑换需求量以及对应的数字资产发行方节点的诚信度不会发生变化,所以在每个发行周期内,每类数字资产的通用兑换率均保持不变,也即各类数字资产之间的兑换率也不会发生变化。

在一个发行周期内,各个数字资产发行方节点各自制定其要发行的数字资产的发行量。在该发行量被联盟区块链验证通过并入链存证后,根据制定的数字资产的发行量更新各个数字资产发行方节点的区块链钱包中的数字资产的数量。其中,各类数字资产的货币价值通过联盟区块链的共识机制确定。

应理解,在一个发行周期结束之后,数字资产持有方节点还存有数字资产,则这些数字资产可进入下一发行周期。相应的,由于下一个发行周期数字资产的发行量、货币价值、兑换需求量以及对应的数字资产发行方节点的诚信度会发生变化,通用兑换率也会发生浮动,在上一发行周期未使用的数字资产的通用兑换率跟随当前发行周期。

综上所述,本申请实施例通过共识机制在联盟区块链上部署兑换智能合约,并且交易平台节点根据该发行周期的兑换率将各个兑换请求进行匹配,使得匹配成功的数字资产持有方节点执行所述兑换智能合约,以完成不同类型的数字资产的兑换。因此,本申请实施例实现了不同类型的数字资产可以在联盟区块链内互通互用,提高了数字资产的使用效率,同时部署联盟区块链保障了数字资产发行方节点之间的安全问题。

优选地,在联盟区块链中,数字资产持有方节点之间除了通过交易平台节点13撮合交易之外,还可以进行点对点的交易,也即“熟人交易”。通过链下渠道(如电话,邮件等通信方式)获得彼此拥有相对应的数字资产的信息并达成兑换协议,然后在联盟区块链中触发兑换智能合约进行交易。这种交易的验证与撮合交易的验证一致。这使得熟人之间的数字资产交易不用历经撮合,更为便捷,提高了数字资产兑换的效率。

优选地,在联盟区块链中还包括赠与机制,在联盟区块链中部署赠与智能合约,交易双方执行赠与智能合约之后,并可将一方的数字资产转移给另一方。

在联盟区块链中部署的所有智能合约均设置合约接口,用于查询联盟区块链上的信息并将智能合约执行的结果返回到联盟区块链。

图2是本申请实施例的数字资产发行方节点加入联盟区块链的方法流程图。如图2所示,在步骤s1000,新的数字资产发行方节点向联盟区块链申请加入数字资产发行方组织。具体地,在新的数字资产发行方节点发出申请时,应提交资质材料,例如该数字资产发行方节点对应的商家的营业证件以及经营状况等,并将这些资质材料进行哈希运算后上传至联盟区块链存证。

在步骤s2000,联盟区块链中的验证节点对该新的数字资产发行方的资质材料进行审核。

在步骤s3000,判断该新的数字资产发行方节点是否被验证通过。若被验证通过,执行步骤s4000。否则执行步骤s5000。

在步骤s4000,联盟区块链向新的数字资产发行方节点颁发根证书。此时,该新的数字资产发行方节点有权利验证联盟区块链中的数字资产发行和兑换的交易,以及参与部署相关的智能合约。

在步骤s5000,该新的数字资产发行方节点申请加入联盟区块链失败。

另外,数字资产持有方节点在加入联盟区块链时,需要通过注册来获取联盟区块链身份。在注册时,数字资产持有方节点需要提交真实姓名、身份证件号码以及该数字资产持有方节点对应的人员的至少一项生物特征(如指纹、面部或虹膜等)。将这些数字资产持有方节点对应的人员的实际信息核实后进行哈希运算获得其身份哈希值,这个身份哈希值可以作为联盟区块链中该数字资产持有方节点对应的人员的唯一身份。在数字资产持有方节点对应的人员的信息被验证通过后,联盟区块链通过ca向该数字资产持有方节点颁发注册证书和交易证书。

通过对加入联盟区块链中的节点进行严格地审查与验证,使得联盟区块链保障了数字资产互通的安全问题。

图3是本申请实施例的数字资产互通方法的流程图。如图3所示,在步骤s100,数字资产发行方节点a与第一节点执行基于区块链的发行交易生成第二交易单。其中,第二交易单包括数字资产发行方a与第一节点的私钥签名、数字资产a的数量和类型标识以及第一节点的地址。

具体地,数字资产发行方节点a向第一节点发起基于区块链的发行交易以生成第二交易单。

在步骤s200,第二交易单在联盟区块链中被验证节点验证。若第二交易单被验证通过,该发行交易成功,第一节点获取预定数量的数字资产a。若第二交易单未被验证通过,该发行交易失败。

在步骤s300,第一节点向交易平台节点上传兑换请求并将兑换请求的哈希值入链存证。兑换请求包括第一数字资产的数量和类型标识以及第二数字资产的类型标识。应理解,在此处,第一数字资产是第一节点所拥有的数字资产(如数字资产a),第二数字资产是第一节点想要通过兑换获得的数字资产。

在步骤s400,交易平台节点将兑换请求的匹配结果反馈给第一节点。兑换请求的匹配结果包括至少一个与第一节点的兑换请求相匹配的兑换请求对应的数字资产持有方节点的地址,或者反馈未匹配到对应的数字资产持有方节点的匹配结果。

具体地,交易平台节点根据第一数字资产和第二数字资产的兑换率将第一节点的兑换请求与其他兑换请求进行匹配。然后将兑换请求的匹配结果反馈给第一节点。其中,第一数字资产和第二数字资产之间的兑换率根据第一数字资产和第二数字资产的通用兑换率计算。

每类数字资产的通用兑换率通过该发行周期的各类数字资产的发行量、货币价值、兑换需求量以及对应的数字资产发行方节点的诚信度的加权和进行计算。由于在同一个发行周期内,数字资产的发行量、货币价值、兑换需求量以及对应的数字资产发行方节点的诚信度不会发生变化,所以在每个发行周期内,每类数字资产的通用兑换率均保持不变,也即各类数字资产之间的兑换率也不会发生变化。

在步骤s500,预先部署在联盟区块链中的兑换智能合约响应于第一节点确认兑换的请求更新第一节点的数字资产类型和数量。具体地,交易平台节点向第一节点发起基于区块链的交易生成第一交易单。第一交易单包括交易平台节点和第一节点的私钥签名和地址、第一数字资产和第二数字资产的数量和类型标识。在第一交易单被联盟区块链中的验证节点验证通过后,更新第一节点数字资产类型标识和数量并入链存证。

应理解,与第一节点的兑换请求相匹配的兑换请求对应的数字资产持有方节点执行与第一节点相同的步骤。也即,第一节点与对应数字资产持有方节点通过交易平台节点(也即中间方)达成数字资产兑换。

数字资产持有方节点拥有至少一类数字资产。数字资产持有方节点可以将数字资产放置于区块链钱包中,数字资产持有方节点的区块链钱包可以放置不同类型的数字资产,不同类型的数字资产在联盟区块链钱包中有唯一的类型标记。

本申请实施例的数字资产互通方法还包括步骤s600。在步骤s600,各个数字资产发行方节点各自制定其要发行的数字资产的发行量。在该发行量被联盟区块链验证通过并入链存证后,根据制定的数字资产的发行量更新各个数字资产发行方节点的区块链钱包中的数字资产的数量。其中,各类数字资产的货币价值通过联盟区块链的共识机制确定。

综上所述,本申请实施例通过共识机制在联盟区块链上部署兑换智能合约,并且交易平台节点根据该发行周期的兑换率将各个兑换请求进行匹配,使得匹配成功的数字资产持有方节点执行所述兑换智能合约,以完成不同类型的数字资产的兑换。因此,本申请实施例实现了不同类型的数字资产可以在联盟区块链内互通互用,提高了数字资产的使用效率,同时部署联盟区块链保障了数字资产发行方节点之间的安全问题。

优选地,本申请实施例的数字资产互通方法还包括步骤s700。在步骤s700,在联盟区块链中,进行点对点的交易,也即“熟人交易”。具体地,通过链下渠道(如电话,邮件等通信方式)获得彼此拥有相对应的数字资产的信息并达成兑换协议,然后在联盟区块链中触发兑换智能合约进行交易。这种交易的验证与撮合交易的验证一致。这使得熟人之间的数字资产交易不用历经撮合,更为便捷,提高了数字资产兑换的效率。

优选地,本申请实施例的数字资产互通方法还包括步骤s800。在步骤s800,执行基于区块链的赠与交易。具体地,两个数字资产持有方节点执行原先部署的赠与智能合约以将一方的数字资产转移给另一方。

在联盟区块链中部署的所有智能合约均设置合约接口,用于查询联盟区块链上的信息并将智能合约执行的结果返回到联盟区块链。

应理解,上述步骤并不表示执行的先后顺序,例如,步骤s100和步骤s300可以同时执行,可以步骤s100执行在前,也可以步骤s300执行在前(发行交易对应的数字资产与数字资产兑换对应的数字资产类型不同时)。

在数字资产互通的方法中,步骤s100还包括以下步骤:

如图4所示,在步骤s110,数字资产发行方节点a向第一节点发起基于区块链的发行交易以生成第二交易单。第二交易单包括数字资产发行方a与第一节点的私钥签名、数字资产a的数量和类型标识以及第一节点的地址。

在步骤s120,联盟区块链中的验证节点验证第二交易单。

在步骤s130,在第二交易单被验证节点验证通过后,更新第一节点的数字资产类型和数量并入链存证。

在数字资产互通的方法中,步骤s500还包括以下步骤:

在步骤s510,交易平台节点向第一节点发起基于区块链的交易生成第一交易单。第一交易单包括交易平台节点和第一节点的私钥签名和地址、第一数字资产和第二数字资产的数量和类型标识。

在步骤s520,联盟区块链中的验证节点验证第一交易单。

在步骤s530,在第一交易单被验证节点验证通过后,更新第一节点的数字资产类型和数量并入链存证。

图6是本申请实施例的电子设备的示意图。图6所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器61和存储器62。处理器61和存储器62通过总线63连接。存储器62适于存储处理器61可执行的指令或程序。处理器61可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器61通过执行存储器62所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线63将上述多个组件连接在一起,同时将上述组件连接到显示控制器64和显示装置以及输入/输出(i/o)装置65。输入/输出(i/o)装置65可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置65通过输入/输出(i/o)控制器66与系统相连。

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

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。

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

也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。

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

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