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

基于区块链的资产管理方法、电子设备及可读存储介质

文献发布时间:2023-06-19 11:19:16


基于区块链的资产管理方法、电子设备及可读存储介质

技术领域

本发明涉及通信技术领域,特别是涉及一种基于区块链的资产管理方法、电子设备及可读存储介质。

背景技术

区块链技术基于区块链网络而实现,区块链网络的各个节点设备通过运行区块链程序,从而实现区块数据的生成、共识以及存储,最终达成了数据的防篡改机制,为业务开展提供了安全可信的技术新思路。

区块链技术可应用至多种业务场景,例如金融领域、电子商务领域、商品或原材料溯源领域、电子存证领域等,由于区块链技术实现了数据防篡改机制,因此利用区块链技术开展业务,能解决业务参与各方之间的信任危机。

相关技术中,区块链网络上可以发行或托管资产,例如债券、数字货币、ABS资产等,这些发行或托管在区块链网络中的资产可以简称为链上资产。买卖双方可以基于区块链网络可靠地实现链上资产的交换,例如买方通过其第一链上资产交换卖方的第二链上资产。然而相关技术中,在实施链下资产与链上资产的交换时,还难以确保链上资产的可靠性。

发明内容

本发明实施例的目的在于提供一种基于区块链的资产管理方法、电子设备及可读存储介质,旨在提高资产交换时链上资产的可靠性。具体技术方案如下:

在本发明实施例的第一方面,提供一种基于区块链的资产管理方法,所述方法应用于区块链网络的节点设备,所述区块链网络中部署有资产合约,所述资产合约中记录有售卖账目和卖方账目,所述售卖账目用于托管卖方的售卖资产,所述卖方账目用于托管卖方的非售卖资产;所述方法包括:

响应于买方的资产预定交易,根据该资产预定交易携带的信息创建订单;该订单用于预定所述售卖账目中的售卖资产;该订单包括订单状态,该订单当前的订单状态为资产预定状态;

响应于买方的付款登记交易,将该付款登记交易所针对的订单的订单状态更新为链下付款状态;

响应于卖方的资产回退交易,根据该资产回退交易所针对的订单的订单状态,确定是否将所述售卖账目中被该订单预定的售卖资产回退至所述卖方账目。

在本发明实施例的二方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于在执行存储器上所存放的程序时,实现本发明任一实施例所提供的基于区块链的资产管理方法。

在本发明实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的基于区块链的资产管理方法。

本发明中,资产合约中记录售卖账目和卖方账目,其中售卖账目用于托管卖方的售卖资产,卖方账目用于托管卖方的非售卖资产。如此,使得卖方的售卖资产和非售卖资产之间形成隔离,从而更安全可靠地仅针对卖方的售卖资产实施售卖。当节点设备处理资产预定交易时,根据资产预定交易携带的信息创建订单,该订单用于预定售卖账目中的售卖资产,此外该订单还包括订单状态,该订单当前的订单状态为资产预定状态。当节点设备处理付款登记交易时,将相应订单的订单状态更新为链下付款状态后,表征买方已经在区块链网络之外的系统对预定的售卖资产完成付款。当节点设备处理资产回退交易时,会根据相应订单的订单状态,确定是否将售卖账目中被该订单预定的售卖资产回退至卖方账目。如此,对于将售卖账目托管的售卖资产回退至卖方账目的操作,区块链网络对其进行了控制,防止卖方在违背公平可靠原则的情况下,随意将售卖资产回退至卖方账目。总言之,通过实施本发明,能提高资产交换时链上资产的可靠性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1(a)是本发明一实施例提出的基于区块链的资产管理方法的第一阶段的示意图;

图1(b)是本发明一实施例提出的基于区块链的资产管理方法的第二阶段的示意图;

图1(c)是本发明一实施例提出的基于区块链的资产管理方法的其他阶段的示意图;

图2(a)是节点设备在处理完授信交易后相应资产合约的状态示意图;

图2(b)是节点设备在处理完售卖交易后相应资产合约的状态示意图;

图2(c)是节点设备在完成售卖资产结算后的相应资产合约的状态示意图;

图3是本发明一实施例提出的基于区块链的资产管理方法的流程图;

图4是本发明一实施例提出的电子设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

相关技术中,区块链网络上可以发行或托管资产,例如债券、数字货币、ABS资产等,这些发行或托管在区块链网络中的资产可以简称为链上资产。买卖双方可以基于区块链网络可靠地实现链上资产的交换,例如买方通过其第一链上资产交换卖方的第二链上资产。然而相关技术中,在实施链下资产与链上资产的交换时,还难以确保链上资产的可靠性。

有鉴于此,本发明通过以下实施例提出基于区块链的资产管理方法、电子设备及可读存储介质,旨在提高资产交换时链上资产的可靠性。

需要说明的是,本发明应用区块链网络,本发明提供的方法由区块链网络的节点设备执行。因此,实施本发明的区块链网络所发行或托管的资产可视为链上资产,而由其他系统所发行或托管的资产可视为链下资产。其中,所述其他系统包括但不限于:中心化的金融系统、其他区块链网络。

为便于理解,示例地,实施本发明的区块链网络中托管有卖方资产,中心化的金融系统中托管有买方资产,买方可以利用其在中心化金融系统中的买方资产,购买卖方在区块链网络中的卖方资产。其中,区块链网络中托管的卖方资产可视为链上资产,中心化金融系统中托管的买方资产可视为链下资产。

或者示例地,实施本发明的区块链网络A中托管有卖方资产,区块链网络B中托管有买方资产,买方可以利用其在区块链系统B中的买方资产,购买卖方在区块链网络A中的卖方资产。从区块链网络A的角度来讲,区块链网络A中托管的卖方资产可视为链上资产,区块链网络B中托管的买方资产可相对视为链下资产。

为便于说明,以下将区块链网络中托管的链上资产简称为资产。

参考图1(a),图1(a)是本发明一实施例提出的基于区块链的资产管理方法的第一阶段的示意图。该资产管理方法应用于区块链网络的节点设备,该区块链网络中部署有若干资产合约,每个资产合约用于记录一种资产。每个资产合约中记录有一个或多个账目以及每个账目下的资产余额。

为便于理解,示例地,债券类资产合约中记录有一个或多个账目以及每个账目下的债券资产余额。

图1(a)所示的第一阶段主要实现的是:在区块链网络中部署交易合约,在相应资产合约中为交易合约建立账目,并将该资产合约中的卖方账目下的部分或全部资产作为售卖资产,转入交易合约的账目。其中,交易合约用于对资产管理过程进行控制。

具体地,当卖方产生售卖资产的需求时,可以向区块链网络依次提交合约部署交易、授信交易以及售卖交易等。

如图1(a)所示,节点设备响应于合约部署交易,根据该合约部署交易携带的合约数据和合约地址,部署交易合约,交易合约中声明有售卖信息和若干业务逻辑。

示例地,售卖信息包括但不限于:售卖资产的ID、卖方的区块链地址(区块链地址也可以称为钱包地址)、售卖资产的总量、售卖资产的单价、售卖起始时间、售卖截止时间、付款时间条件等信息。

需要说明的是,如前所述,区块链网络中部署了若干资产合约,每个资产合约具有一个合约地址和资产ID。如前所述,每个资产合约中记录了一个或多个账目,还记录了每个账目下的资产余额。其中,每个账目的账目名实际上是相应用户的区块链地址,简言之,用户的账目名等于用户的区块链地址。上述示例中,通过在交易合约中声明售卖资产ID,从而约定了卖方账目所在的资产合约。通过在交易合约中声明卖方的区块链地址,从而约定了具体的卖方账目。总言之,通过在交易合约中声明售卖资产ID和卖方的区块链地址,从而使得相应资产合约的相应账目被确定为卖方账目,该账目下的资产作为卖方资产。

为便于理解,示例地,假设售卖信息中包括的售卖资产ID为bond(债券)、卖方的区块链地址为16U…jvM,则该售卖信息具体反映了如下信息:债券类资产合约中的账目16U…jvM作为卖方账目,该账目下的债券作为卖方资产。

示例地,若干业务逻辑包括但不限于:售卖逻辑、资产预定逻辑、付款登记逻辑、资产回退逻辑、付款确认逻辑、仲裁逻辑等。其中,售卖逻辑中包含调用关系,该调用关系用于调用资产合约中声明的授信转账逻辑。付款确认逻辑中也包含调用关系,该调用关系用于调用资产合约中声明的结算逻辑。

需要补充说明的是,节点设备在处理合约部署交易之前,可以对合约部署交易携带的签名数据进行签名验证。在签名验证通过的情况下,才处理合约部署交易。为简化附图,图1(a)中未示出签名验证的过程。

如图1(a)所示,节点设备响应于授信交易,可以根据授信交易携带的售卖资产ID,调用具有相应资产ID的资产合约;或者可以根据授信交易携带的资产合约地址,调用具有相应地址的资产合约;或者还可以根据授信交易携带的交易合约地址,调用相应的交易合约,然后根据该交易合约中声明的售卖资产ID,进而调用具有相应资产ID的资产合约。

然后,节点设备根据授信交易携带的交易合约地址,在调用的资产合约中为交易合约建立账目,该账目的账目名即是该交易合约的地址。接着,节点设备根据授信交易携带的授信数额和卖方区块链地址,在资产合约中,将卖方账目下所述授信数额的资产授信给交易合约的账目。

为便于理解,示例地,假设授信交易携带了资产合约的地址、交易合约的地址、卖方区块链地址A、以及授信数额300。则节点设备在处理授信交易时,首先根据授信交易携带的资产合约的地址,调用相应的资产合约;然后根据授信交易携带的交易合约的地址,在该资产合约中为交易合约建立账目,该账目的账目名即是该交易合约的地址;再根据授信交易携带的区块链地址A和授信数额300,将相应账目A下的300份资产授信给交易合约的账目。具体如图2(a)所示,图2(a)是节点设备在处理完授信交易后相应资产合约的状态示意图。

需要说明的是,由于账目A的300份资产当前仅是授信给交易合约的账目,还没有实现实际的转账。因此如图2(a)所示,账目A的资产余额不会减少300,仍然维持为500,交易合约账目的资产余额为0。而在节点设备的账本数据库和/或区块链中,会记录下“账目A向交易合约账目授信300份资产”这一授信信息。

还需要补充说明的是,节点设备在执行授信交易之前,可以利用授信交易携带的卖方区块链地址所对应的公钥,对授信交易的签名数据进行签名验证,在签名验证通过的情况下,才处理该授信交易,从而将卖方账目下的资产授信给交易合约的账目。为简化附图,图1(a)中未示出签名验证的过程。

如图1(a)所示,节点设备响应于售卖交易,根据售卖交易携带的交易合约地址,调用该交易合约,并执行该交易合约中声明的售卖逻辑。需要说明的是,节点设备在处理售卖交易之前,可以对售卖交易的签名数据进行签名验证,在签名验证通过的情况下,才处理该售卖交易。未简化附图,图1(a)中未示出对签名数据进行签名验证的过程。

如图1(a)所示,节点设备在执行售卖逻辑时,首先判断售卖交易的签名数据的签名者是否为交易合约中声明的卖方;若否,则终止处理售卖交易;若是,则继续根据售卖逻辑中包含的调用关系,调用相应资产合约中声明的授信转账逻辑。节点设备在调用并执行资产合约中声明的授信转账逻辑时,首先根据售卖交易携带的指定售卖量,判断卖方账目是否预先向交易合约的账目授信了不少于指定售卖量的资产;若否,则终止处理售卖交易;若是,则继续判断卖方账目的资产余额是否不低于指定售卖量。仅在卖方账目的资产余额不低于指定售卖量的情况下,才将卖方账目下所述指定售卖量的资产作为售卖资产,从而转入交易合约账目。为简化附图,图1(a)中未示出“判断售卖交易的签名数据的签名者是否为交易合约中声明的卖方”、“判断卖方账目是否预先向交易合约的账目授信了不少于指定售卖量的资产”、以及“判断卖方账目的资产余额是否不低于指定售卖量”等判断过程。

为便于理解,沿用上述示例,假设售卖交易携带的指定售卖量为300,则节点设备在执行授信转账逻辑时,首先判断卖方账目是否预先向交易合约账户授信了不少于300份资产。若是,则节点设备继续判断卖方账目的资产余额是否不低于300。如果卖方账目的资产余额不低于300,则将卖方账目下的300份资产转入交易合约账目。如此,与图2(a)相比,图2(b)中交易合约账目的资产余额增加300,卖方账目的资产余额扣除300。图2(b)是节点设备在处理完售卖交易后相应资产合约的状态示意图。

图1(a)所示的资产管理过程中,区块链网络的节点设备响应于合约部署交易,部署相应的交易合约,该交易合约中声明有售卖信息。节点设备还在相应资产合约中,为该交易合约建立账目,并且将卖方账目下一定数量的资产作为售卖资产,转入交易合约账目。可见本发明中,卖方账目下的剩余资产和交易合约账目下的售卖资产之间形成隔离,有助于后续更安全可靠地针对售卖资产实施售卖操作。

此外,节点设备在处理售卖交易期间,通过调用交易合约中声明的售卖逻辑,从而根据售卖逻辑中包含的调用关系,进一步调用相应资产合约中声明的授信转账逻辑,最终触发卖方资产被转入交易合约账目。其有益效果在于:在确保交易合约已经成功部署且可以正常使用的情况下,才将卖方资产转入该交易合约的账目,避免卖方资产被转入非正常交易合约的账目。

例如,如果节点设备在处理售卖交易期间,不调用交易合约的售卖逻辑,而直接将卖资产转入交易合约的账目,则可能会将卖方资产转入还未部署的交易合约的账目,或者转入部署失败的交易合约的账目,或者转入不能正常使用的交易合约的账目。而以本发明提供的上述方式转移卖方资产,只有在交易合约部署成功且能正常使用的情况下,节点设备才能成功调用交易合约中声明的售卖逻辑,从而调用相应资产合约中声明的授信转账逻辑,进而将卖方资产转入交易合约的账目。可见,本发明可以避免卖方资产被转入非正常交易合约的账目。

还需要说明的是,节点设备在执行售卖交易期间,需要验证售卖交易的签名数据的签名者是否为交易合约中声明的卖方。若是,才会调用资产合约中的授信转账逻辑,从而将卖方资产转入交易合约账目。如此,可以避免卖方之外的其他用户误将其资产转入交易合约账目,导致其资产被错误售卖。

参考图1(b),图1(b)是本发明一实施例提出的基于区块链的资产管理方法的第二阶段的示意图。图1(b)所示的第二阶段主要实现的是:为买方创建订单以预定售卖资产,对订单的链下付款状态进行更新,售卖资产结算等。

具体地,当买方产生购买资产的需求时,可以向区块链网络提交资产预定交易。当买方在区块链网络之外完成链下付款后,也即买方将链下资产支付给卖方后,可以向区块链网络提交付款登记交易。当卖方确定买方已经支付链下资产后,可以向区块链网络提交付款确认交易。

如图1(b)所示,节点设备响应于买方的资产预定交易,可以根据资产预定交易携带的交易信息,创建一笔订单,该笔订单用于预定交易合约账目中一定数量的售卖资产。此外,节点设备还可以对交易合约中声明的可售卖余额进行更新。需要说明的是,节点设备在处理资产预定交易之前,可以预先对资产预定交易的签名数据进行签名验证。在签名验证通过的情况下,才处理该资产预定交易,从而创建订单并更新可售卖余额。在签名验证未通过的情况下,不处理该资产预定交易。为简化附图,图1(b)中未示出节点设备对签名数据进行签名验证的过程。

具体实现时,节点设备可以根据资产预定交易携带的交易合约地址,调用交易合约。然后节点设备根据资产预定交易携带的买方信息、资产预定数额、链下支付数额等信息,在该交易合约中创建一笔订单,该订单包括:订单编号、买方信息、资产预定数额、链下支付数额、订单状态等信息。其中,订单编号可以沿用资产预定交易的交易编号,买方信息具体可以是买方的区块链地址,当前的订单状态为资产预定状态。

具体实现时,节点设备可以根据资产预定交易携带的资产预定数额,将交易合约中声明的可售卖余额减去该资产预定数额,从而更新可售卖余额。

为便于理解,示例地,资产预定交易携带的信息包括:交易合约地址21U…992、交易编号cc2…7be、买方区块链地址12w…qBU、资产预定数额10、链下支付数额50等。则节点设备在处理该资产预定交易时,首先根据资产预定交易携带的交易合约地址21U…992,调用具有该地址的交易合约,然后节点设备在该交易合约中创建一笔订单。示例地,该笔订单的结构可以如表1所示。

表1订单示意表

需要说明的是,上述订单中虽然不包括售卖资产ID和卖方区块链地址,但是由于上述订单被创建在交易合约中,交易合约已经声明了售卖资产ID和卖方区块链地址,因此订单中可以不包含售卖资产ID和卖方区块链地址。

如图1(b)所示,节点设备响应于买方的付款登记交易,可以首先根据付款登记交易携带的签名数据,对签名数据进行签名验证。在签名验证未通过的情况下,可以拒绝处理该付款登记交易,或者可以直接得出交易处理失败的处理结果。在签名验证通过的情况下,可以根据付款登记交易携带的交易合约地址和付款登记逻辑的业务逻辑ID,调用相应的交易合约,并执行该交易合约中声明的付款登记逻辑。为简化附图,图1(b)未示出节点设备对签名数据进行签名验证的过程。

如图1(b)所示,节点设备通过执行付款登记逻辑,从而根据付款登记交易携带的订单编号,在交易合约中查询该订单编号对应的订单,然后判断签名者是否与该订单中记录的买方区块链地址对应。如果两者不对应,则说明签名者不是该订单对应的买方,则节点设备可以终止执行该付款登记逻辑。如果两者对应,则说明签名者是该订单对应的买方,则节点设备可以继续判断当前时间是否超出交易合约中声明的付款截止时间。如果当前时间超过付款截止时间,则节点设备可以终止处理该付款登记逻辑。如果当前时间未超过付款截止时间,则节点设备将该订单的订单状态更新为链下付款状态。需要说明的是,上述各个判断步骤的顺序可以进行调换。例如可以首先判断当前时间是否超过付款截止时间,再判断签名者是否与订单中记录的买方区块链地址对应。

为便于理解,沿用上述示例,假设付款登记交易携带的订单编号为cc2…7be,又假设签名验证通过、签名者与订单中记录的买方区块链地址对应、当前时间未超过付款截止时间,则节点设备将订单编号为cc2…7be的订单的订单状态更新为链下付款状态。示例地,更新后的订单的结构如表2所示。

表2订单示意表

可选地,在一些具体实施方式中,节点设备在判断签名者是否与该订单中记录的买方区块链地址对应时,具体可以执行以下步骤:节点设备从签名数据中推导出签名者的区块链地址,然后将推导出的区块链地址和订单中记录的买方区块链地址进行对比;如果两者一致,则确定签名者与订单中记录的买方区块链地址对应;如果两者不一致,则确定签名者与订单中记录的买方区块链地址不对应。

如图1(b)所示,节点设备响应于卖方的付款确认交易,可以首先根据付款确认交易携带的签名数据,对签名数据进行签名验证。在签名验证未通过的情况下,可以拒绝处理该付款确认交易,或者可以直接得出交易处理失败的处理结果。在签名验证通过的情况下,可以根据付款确认交易携带的交易合约地址和付款确认逻辑的业务逻辑ID,调用相应的交易合约,并执行该交易合约中声明的付款确认逻辑。为简化附图,图1(b)未示出节点设备对签名数据进行签名验证的过程。

如图1(b)所示,节点设备通过执行付款确认逻辑,从而判断签名者是否与该交易合约中声明的卖方区块链地址对应。如果两者不对应,则说明签名者不是交易合约中声明的卖方,则节点可以终止执行该付款确认逻辑。如果两者对应,则说明签名者是交易合约中声明的卖方,则节点设备可以继续根据付款确认交易携带的订单编号,在交易合约查询该订单编号对应的订单。在查询到相应订单后,节点设备判断该订单的订单状态是否为链下付款状态。如果订单状态不是链下付款状态,则节点设备不更新订单状态,且终止执行付款确认逻辑。如果订单状态是链下付款状态,则节点设备将订单状态更新为确认付款状态,并继续执行付款确认逻辑。

为便于理解,沿用上述示例,假设付款确认交易携带的订单编号为cc2…7be,又假设签名验证通过、签名者与交易合约中声明的卖方区块链地址对应、订单状态为链下付款状态,则节点设备将订单编号为cc2…7be的订单的订单状态更新为确认付款状态。示例地,更新后的订单的结构如表3所示。

表3订单示意表

如图1(b)所示,节点设备在继续执行付款确认逻辑时,首先判断当前时间是否满足交易合约中声明的结算时间条件。如果不满足,则节点设备可以终止执行付款确认逻辑。如果满足,则节点设备可以根据付款确认逻辑中包含的调用关系,从而调用相应资产合约中声明的结算逻辑。其中,所述相应资产合约即是交易合约中声明的售卖资产ID所对应的合约,也即是记录售卖资产的资产合约。

示例地,交易合约中声明的结算时间条件为“立即结算”,则节点设备确定当前时间自动满足该结算时间条件。或者示例地,交易合约中声明的结算时间条件为“达到预设结算时间后进行结算”,则节点设备判断当前时间是否达到交易合约中声明的预设结算时间,如果达到,则节点设备确定当前时间满足该结算时间条件;如果未达到,节点设备确定当前时间不满足该结算时间条件。

如图1(b)所示,节点设备在执行资产合约中声明的结算逻辑时,根据当前正在处理的订单(也即是付款确认交易携带的订单编号所对应的订单)的订单信息,在资产合约中,将交易合约账目下相应数量的售卖资产转入买方账目。其中,所述相应数量也即是订单信息中的资产预定数额,买方账目的账目名也即是订单信息中的买方区块链地址。

为便于理解,沿用上述示例,假设买方区块链地址为12w…qBU,资产预定数额等于10份,则节点设备将交易合约账目下的10份售卖资产转入买方账目后,最新的资产合约如图2(c)所示。与图2(b)相比,图2(c)中交易合约账目的资产余额扣除10,买方账目的资产余额增加10。图2(c)是节点设备在完成售卖资产结算后的相应资产合约的状态示意图。

图1(b)所示的资产管理过程中,区块链网络的节点设备在响应买方的资产预定交易时创建相应的订单,并为该订单赋予订单状态属性。节点设备在后续针对订单执行一系列操作时,会更新订单的订单状态。并且,节点在针对订单执行相应操作时,会判断订单当前的订单状态是否满足要求。在订单当前的订单状态满足要求的情况下,才继续执行相应操作,从而控制订单按照正常的业务规律被处理。

本发明中,区块链网络的节点设备通过执行图1(b)所示的资产管理过程,实现了将卖方链上资产结算给买方的过程。

参考图1(c),图1(c)是本发明一实施例提出的基于区块链的资产管理方法的其他阶段的示意图。图1(c)所示的其他阶段主要实现的是:在一些特殊场景下,节点设备管理资产和订单的方式。

具体地,当到达交易合约中声明的付款截止时间后,卖方可以向区块链网络提交资产回退交易。当某笔订单的订单状态为链下付款状态,但是卖方没有收到买方支付的链下资产,则卖方可以向区块链网络提交仲裁交易。或者当某笔订单的订单状态为链下付款状态,但是买方没有收到卖方结算的链上资产(也即售卖资产),则买方可以向区块链网络提交仲裁交易。

如图1(c)所示,节点设备响应于卖方的资产回退交易,可以根据资产回退交易携带的交易合约地址和资产回退逻辑的业务逻辑ID,调用相应的交易合约,并执行该交易合约中声明的资产回退逻辑。需要说明的是,节点设备在处理资产回退交易之前,可以预先对资产回退交易的签名数据进行签名验证。在签名验证通过的情况下,才处理该资产回退交易,从而执行资产回退逻辑。在签名验证未通过的情况下,不处理该资产回退交易。为简化附图,图1(c)中未示出节点设备对签名数据进行签名验证的过程。

如图1(c)所示,节点设备通过执行资产回退逻辑,首先判断当前时间是否超过交易合约中声明的付款截止时间。如果未超过,则节点设备终止执行资产回退逻辑。如果超过,则节点设备继续执行资产回退逻辑。

在一些具体实施方式中,节点设备继续执行资产回退逻辑时,根据资产回退交易携带的订单编号,在交易合约中查询该订单编号对应的订单,然后判断该订单当前的订单状态是否为资产预定状态。如果该订单当前的订单状态不是资产预定状态(例如订单状态是链下付款状态或确认付款状态),表示买方申明其已经完成链下付款,则节点设备终止执行资产回退逻辑。如果该订单当前的订单状态是资产预定状态,表示买方在超过付款截止时间还没有申明其完成链下付款,则节点设备根据资产回退逻辑中包含的调用关系,调用相应资产合约中声明的转账逻辑,从而通过执行该转账逻辑,以继续处理该订单。

在另一些具体实施方式中,节点设备继续执行资产回退逻辑时,根据资产回退交易携带的交易合约地址,查询到相应交易合约中的若干笔订单。然后针对每笔订单,判断该订单当前的订单状态是否为资产预定状态;如果该订单当前的订单状态不是资产预定状态,则节点设备终止处理该订单;如果该订单当前的订单状态是资产预定状态,则节点设备根据资产回退逻辑中包含的调用关系,调用相应资产合约中声明的转账逻辑,从而通过执行该转账逻辑,以继续处理该订单。

如图1(c)所示,节点设备通过执行转账逻辑,根据当前处理的订单的订单信息,将交易合约账目下被该订单预定的售卖资产,回退至卖方账目。为便于理解,示例地,假设当前处理的订单中记录的资产预定数额为20,则节点设备将交易合约账目下的20份售卖资产回退至卖方账目。

如图1所示,节点响应于买方或卖方的仲裁交易,可以首先根据仲裁交易携带的签名数据,对签名数据进行签名验证。在签名验证未通过的情况下,可以拒绝处理该仲裁交易,或者可以直接得出交易处理失败的处理结果。在签名验证通过的情况下,可以根据仲裁交易携带的交易合约地址和仲裁逻辑的业务逻辑ID,调用相应的交易合约,并执行该交易合约中声明的仲裁逻辑。为简化附图,图1(c)未示出节点设备对签名数据进行签名验证的过程。

如图1(c)所示,节点设备通过执行仲裁逻辑,从而判断签名者是否与交易合约中声明的卖方区块链地址对应;或者,根据仲裁交易携带的订单编号,在交易合约中查询该订单编号对应的订单,然后判断签名者是否与该订单中记录的买方区块链地址对应。如果签名者与交易合约中声明的卖方区块链地址对应,或者签名者与相应订单中记录的买方区块链地址对应,则节点设备继续执行仲裁逻辑。否则,节点设备终止执行仲裁逻辑。

如图1(c)所示,节点设备继续执行仲裁逻辑时,根据仲裁交易携带的订单编号,在交易合约中查询该订单编号对应的订单,然后判断该订单当前的订单状态是否为链下付款状态,且判断当前时间是否超过交易合约中声明的付款截止时间。如果订单当前的订单状态为链下付款状态,且当前时间超过了交易合约声明的付款截止时间,则节点设备将该订单的订单状态更新为仲裁状态,以表征该订单进入冲裁流程。否则,节点设备不更新该订单的订单状态。

图1(c)所示的资产管理过程中,在资产回退流程期间,当订单状态处于资产预定状态时,表示买方还没有申明其完成链下付款,则节点设备继续执行资产回退逻辑,从而将交易合约账目中被该订单预定的售卖资产回退至卖方账目。而当订单状态处于其他状态(例如链下付款状态或确认付款状态)时,表示买方申明其已经完成链下付款,则节点设备终止执行资产回退逻辑,从而避免交易合约账目下的售卖资产还没有结算给买方账目时,就被回退至卖方账目,造成买方损失。

在资产仲裁流程期间,当订单状态处于链下付款状态时,表示买方申明其已经完成链下付款,而卖方还没有申明其已经收到买方的链下付款。如此,买方和卖方在链下付款事项上存在争议,则节点设备继续执行仲裁逻辑,从而将订单状态更新为仲裁状态。

以上,本发明通过一些较佳实施例,提出了基于区块链的资产管理方法。以下,本发明通过另一些实施例,提出了另一些基于区块链的资产管理方法,旨在提高资产交换时链上资产的可靠性。需要说明的是,以下实施例可与以上实施例相互参照。

参考图3,图3是本发明一实施例提出的基于区块链的资产管理方法的流程图,该资产管理方法应用于区块链网络的节点设备,所述区块链网络中部署有资产合约,所述资产合约中记录有售卖账目和卖方账目,所述售卖账目用于托管卖方的售卖资产,所述卖方账目用于托管卖方的非售卖资产。其中,所述售卖账目可以是上述较佳实施例中的交易合约账目。

如图3所示,该资产管理方法包括以下步骤:

步骤S31:响应于买方的资产预定交易,根据该资产预定交易携带的信息创建订单;该订单用于预定所述售卖账目中的售卖资产;该订单包括订单状态,该订单当前的订单状态为资产预定状态。

如前所述,订单中可以包括如下信息:订单编号、买方信息、资产预定数额、链下支付数额、订单状态等。其中,订单编号可以沿用资产预定交易的交易编号,买方信息具体可以是买方的区块链地址,当前的订单状态为资产预定状态。

步骤S32:响应于买方的付款登记交易,将该付款登记交易所针对的订单的订单状态更新为链下付款状态。

如前所述,付款登记交易所针对的订单具体可以是:付款登记交易携带的交易编号所对应的交易。

步骤S33:响应于卖方的资产回退交易,根据该资产回退交易所针对的订单的订单状态,确定是否将所述售卖账目中被该订单预定的售卖资产回退至所述卖方账目。

如前所述,资产回退交易所针对的订单具体可以是:资产回退交易携带的交易编号所对应的交易。或者具体可以是:资产回退交易携带的交易合约地址所对应的交易合约中的所有订单。

本发明中,资产合约中记录售卖账目和卖方账目,其中售卖账目用于托管卖方的售卖资产,卖方账目用于托管卖方的非售卖资产。如此,使得卖方的售卖资产和非售卖资产之间形成隔离,从而更安全可靠地仅针对卖方的售卖资产实施售卖。当节点设备处理资产预定交易时,根据资产预定交易携带的信息创建订单,该订单用于预定售卖账目中的售卖资产,此外该订单还包括订单状态,该订单当前的订单状态为资产预定状态。当节点设备处理付款登记交易时,将相应订单的订单状态更新为链下付款状态后,表征买方已经在区块链网络之外的系统对预定的售卖资产完成付款。当节点设备处理资产回退交易时,会根据相应订单的订单状态,确定是否将售卖账目中被该订单预定的售卖资产回退至卖方账目。如此,对于将售卖账目托管的售卖资产回退至卖方账目的操作,区块链网络对其进行了控制,防止卖方在违背公平可靠原则的情况下,随意将售卖资产回退至卖方账目。总言之,通过实施本发明,能提高资产交换时链上资产的可靠性。

可选地,在一些具体实施方式中,节点设备在根据资产回退交易所针对的订单的订单状态,确定是否将所述售卖账目中被该订单预定的售卖资产回退至所述卖方账目时,具体地,如果该订单的订单状态不是资产预定状态,则节点确定不能将所述售卖账目中被该订单预定的售卖资产回退至所述卖方账目。

如前所述,在资产回退流程期间,当订单状态处于资产预定状态时,表示买方还没有申明其完成链下付款,则节点设备继续执行资产回退逻辑,从而将交易合约账目中被该订单预定的售卖资产回退至卖方账目。而当订单状态处于其他状态(例如链下付款状态或确认付款状态)时,表示买方申明其已经完成链下付款,则节点设备终止执行资产回退逻辑,从而避免交易合约账目下的售卖资产还没有结算给买方账目时,就被回退至卖方账目,造成买方损失。

可选地,在一些具体实施方式中,所述订单还包括买方信息和资产预定数额。如前所述,其中买方信息具体可以是买方区块链地址。节点设备还可以执行以下步骤:响应于卖方的付款确认交易,将该付款确认交易所针对的订单的订单状态更新为确认付款状态;在满足结算时间条件的情况下,调用并执行所述资产合约中声明的结算逻辑,从而根据所述付款确认交易所针对的订单的订单信息,将售卖账目下相应数量的售卖资产转入买方账目。

如前所述,付款确认交易所针对的订单具体可以是:付款确认交易携带的交易编号所对应的交易。其中,所述相应数量具体可以是:订单包括的资产预定数量。

可选地,在一些具体实施方式中,节点设备在将付款确认交易所针对的订单的订单状态更新为确认付款状态时,具体地,节点设备查询所述付款确认交易所针对的订单的订单状态,在该订单的订单状态是链下付款状态的情况下,将该订单的订单状态更新为确认付款状态。

可选地,在一些具体实施方式中,节点设备还可以执行以下步骤:响应于买方或卖方的仲裁交易,根据该仲裁交易所针对的订单的订单状态,确定是否将该订单的订单状态更新为仲裁状态;其中,如果该订单的订单状态是链下付款状态,则将该订单的订单状态更新为仲裁状态;如果该订单的订单状态不是链下付款状态,则不更新该订单的订单状态。

如前所述,仲裁交易所针对的订单具体可以是:仲裁交易携带的交易编号所对应的交易。

如前所述,在资产仲裁流程期间,当订单状态处于链下付款状态时,表示买方申明其已经完成链下付款,而卖方还没有申明其已经收到买方的链下付款。如此,买方和卖方在链下付款事项上存在争议,则节点设备继续执行仲裁逻辑,从而将订单状态更新为仲裁状态。

可选地,在一些具体实施方式中,节点设备还可以执行以下步骤:响应于合约部署交易,根据该合约部署交易携带的合约数据,部署交易合约;所述交易合约中声明有售卖信息;在所述资产合约中,根据所述交易合约的合约地址,建立所述售卖账目;在所述资产合约中,将卖方账目下指定售卖量的资产作为售卖资产,转入所述售卖账目。

对于上述步骤的具体实现,可参考图1(c),为避免重复,本发明对此不做赘述。

可选地,在一些具体实施方式中,所述交易合约中还声明有资产预定逻辑、付款登记逻辑以及资产回退逻辑。

节点设备在响应于买方的资产预定交易,根据该资产预定交易携带的信息创建订单时,具体地,节点设备响应于买方的资产预定交易,可以调用并执行所述交易合约中声明的资产预定逻辑,从而根据该资产预定交易携带的信息创建订单。

节点设备在响应于买方的付款登记交易,将该付款登记交易所针对的订单的订单状态更新为链下付款状态时,具体地,节点设备响应于买方的付款登记交易,可以调用并执行所述交易合约中声明的付款登记逻辑,从而将该付款登记交易所针对的订单的订单状态更新为链下付款状态。

节点设备在响应于卖方的资产回退交易,根据该资产回退交易所针对的订单的订单状态,确定是否将所述售卖账目中被该订单预定的售卖资产回退至所述卖方账目时,具体地,节点设备响应于卖方的资产回退交易,可以调用并执行所述交易合约中声明的资产回退逻辑,从而根据该资产回退交易所针对的订单的订单状态,确定是否将所述售卖账目中被该订单预定的售卖资产回退至所述卖方账目。

或者可选地,在另一些具体实施方式中,区块链程序中包含有资产预定逻辑、付款登记逻辑、以及资产回退逻辑等业务逻辑。节点设备在响应交易时,可以直接调用区块链程序中包含的相应业务逻辑,而不是调用智能合约中声明的业务逻辑。

可选地,在一些具体实施方式中,所述交易合约中还声明有付款确认逻辑,所述付款确认逻辑中包含调用关系,用于调用所述资产合约中声明的结算逻辑。

节点设备在响应于卖方的付款确认交易,将该付款确认交易所针对的订单的订单状态更新为确认付款状态时,具体地,节点设备响应于卖方的付款确认交易,可以调用并执行所述交易合约中声明的付款确认逻辑,从而将该付款确认交易所针对的订单的订单状态更新为确认付款状态。

所述在满足结算时间条件的情况下,节点设备调用并执行所述资产合约中声明的结算逻辑,从而根据所述付款确认交易所针对的订单的订单信息,将售卖账目下相应数量的售卖资产转入买方账目时,具体地,节点设备可以继续执行所述付款确认逻辑,在满足结算时间条件的情况下,根据所述付款确认逻辑包含的调用关系,调用并执行所述资产合约中声明的结算逻辑,从而根据所述付款确认交易所针对的订单的订单信息,将售卖账目下相应数量的售卖资产转入买方账目。

或者可选地,在另一些具体实施方式中,区块链程序中包含付款确认逻辑,所述付款确认逻辑中包含调用关系,用于调用所述资产合约中声明的结算逻辑。节点设备在响应付款确认交易时,可以直接调用区块链程序中包含的付款确认逻辑,而不是调用智能合约中声明的业务逻辑。

可选地,在一些具体实施方式中,所述交易合约中还声明了售卖资产的可售卖余额;节点设备在根据所述资产预定交易携带的信息创建订单后,还可以执行以下步骤:根据所述订单对售卖资产的资产预定数额,更新所述交易合约中声明的所述可售卖余额。具体地,节点设备可以将可售卖余额减去资产预定数额,从而更新可售卖余额。

基于同一发明构思,本发明实施例还提供了一种电子设备,该电子设备作为区块链网络中的一个节点设备,该区块链网络中部署有资产合约,其中资产合约中记录有售卖账目和卖方账目,售卖账目用于托管卖方的售卖资产,卖方账目用于托管卖方的非售卖资产。如图4所示,该电子设备包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。

所述存储器403,用于存放计算机程序;

所述处理器401,用于在执行存储器403上所存放的程序时,实现如下步骤:

响应于买方的资产预定交易,根据该资产预定交易携带的信息创建订单;该订单用于预定所述售卖账目中的售卖资产;该订单包括订单状态,该订单当前的订单状态为资产预定状态;

响应于买方的付款登记交易,将该付款登记交易所针对的订单的订单状态更新为链下付款状态;

响应于卖方的资产回退交易,根据该资产回退交易所针对的订单的订单状态,确定是否将所述售卖账目中被该订单预定的售卖资产回退至所述卖方账目。

或者,处理器401用于在执行存储器403上所存放的程序时,实现本发明以上其他方法实施例所提供的基于区块链的资产管理方法步骤。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于区块链的资产管理方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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

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

相关技术
  • 基于区块链的资产管理方法、电子设备及可读存储介质
  • 资产管理方法、电子设备及可读存储介质
技术分类

06120112879706