一种通过链下结算的链上资产转移系统和方法与流程

文档序号:19530595发布日期:2019-12-27 15:21阅读:300来源:国知局
一种通过链下结算的链上资产转移系统和方法与流程

本发明涉及数字资产技术领域,尤其涉及一种通过链下结算的链上资产转移系统和方法。



背景技术:

目前区块链技术发展迅速,区块链作为一个去中心化的新型分布式计算范式,为各种数字资产在分布式网络上的运行提供了技术支持。这些数字资产运行在区块链的分布式网络上,不依赖某个特定第三方或中心方记账,而通过共享账本方式进行全局多节点共识记账,并通过加密算法实现了一种技术保障的安全体系。

现有技术中,基于区块链的数字资产典型的交易模式为:转让方发起交易,将其资产账本地址对应的一定数量的数字资产转移至接收方的资产账本地址,形成utxo(unspenttransactionoutput,未花费的交易输出)交易请求;区块链的共识节点对utxo交易请求进行全网共识并验证转让方公钥和签名后,在链上记录该utxo交易,实现由转让方到接收方的数字资产转移。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

(1)现有区块链只是完成了转让方将其拥有的链上数字资产转移至接收方的操作,无法满足真实环境下的交易需求,缺少资产转移对应的支付过程。

(2)缺少对链上数字资产转移操作的保护,交易的转让方在发起资产转移交易后,无法保证一定能收到来自接收方对价支付的价款,存在交易风险。

(3)缺少对链下操作的交互能力,所有操作只能在封闭的链上完成,无法支持链下支付的过程,也无法控制整个过程的交易风险。

(4)现有技术的数字资产交易过程依赖第三方平台,存在第三方平台信用、安全问题。



技术实现要素:

有鉴于此,本发明实施例提供一种通过链下结算的链上资产转移系统和方法,资产账本系统接收到来自转让方的链上资产转移指令后,执行第一智能合约生成待转移资产,接收方资产应用终端系统通过链下支付模块进行链下支付,完成支付后由资产账本系统执行第二智能合约生成转移后资产,通过上述方式实现了链上资产转移和链下支付的完整交易过程,同时降低了交易风险。

为实现上述目的,根据本发明实施例的一个方面,提供了一种通过链下结算的链上资产转移系统。

根据本发明实施例的通过链下结算的链上资产转移系统,包括:转让方资产应用终端系统、资产账本系统和接收方资产应用终端系统;其中,所述转让方资产应用终端系统,用于基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有所述转让方签名的链上资产转移指令发送至所述资产账本系统;所述资产账本系统,用于执行所述链上资产转移指令的被转移资产信息中包含的第一智能合约,以对所述带有所述转让方签名的链上资产转移指令进行验证,验证通过后,按照所述转移资产数量花费所述转让方的相应资产类别的被转移资产信息,并生成对应的待转移资产信息;所述接收方资产应用终端系统,用于基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付,根据接收到的支付信息生成第一链上待转移资产转移指令,之后将带有所述接收方签名的第一链上待转移资产转移指令发送至所述资产账本系统;其中,所述应付金额与所述转移资产数量对应的链上资产等价;所述资产账本系统,还用于执行所述第一链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对所述带有所述接收方签名的第一链上待转移资产转移指令进行验证,验证通过后,花费所述待转移资产信息,并生成与所述接收方的资产账本地址相对应的转移后资产信息。

可选地,所述系统还包括:接收方链下支付模块;所述接收方资产应用终端系统,还用于基于所述接收方选择和/或输入的转让方账户信息和应付金额生成支付请求信息,之后将所述支付请求信息发送至所述接收方链下支付模块;所述接收方链下支付模块,用于按照所述支付请求信息中的转让方账户信息和应付金额进行支付,之后将所述支付信息返回至所述接收方资产应用终端系统。

可选地,所述第一链上待转移资产转移指令包括:所述待转移资产信息、所述转移后资产信息和第一待转移资产后续交易调用参数,所述第一待转移资产后续交易调用参数为所述接收方收到的支付信息;所述待转移资产信息包括:控制待转移资产后续转移的第二智能合约和待转移资产数量,所述第二智能合约包含待转移资产转移触发条件验证,所述待转移资产转移触发条件包括正常转移触发条件和撤销回退触发条件;对所述带有所述接收方签名的第一链上待转移资产转移指令进行验证,包括:验证所述第一链上待转移资产转移指令的签名;验证所述第一链上待转移资产转移指令的接收方签名对应的用户公钥与所述接收方的资产账本地址相符;验证查找出的待转移资产数量等于所述转移后资产信息包含的接收资产数量之和;以及验证所述第一待转移资产后续交易调用参数满足所述正常转移触发条件。

可选地,所述系统还包括:转让方链下支付模块;所述转让方链下支付模块,用于在接收到与所述链上资产相对应的收款信息后,将所述收款信息反馈至所述转让方资产应用终端系统;所述转让方资产应用终端系统,还用于:根据接收到的所述收款信息生成第二链上待转移资产转移指令,之后将带有所述转让方签名的第二链上待转移资产转移指令发送至所述资产账本系统;所述资产账本系统,还用于执行所述第二链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对所述带有所述转让方签名的第二链上待转移资产转移指令进行验证,验证通过后,花费所述待转移资产信息,并生成与所述接收方的资产账本地址相对应的转移后资产信息。

可选地,所述第二链上待转移资产转移指令包括:所述待转移资产信息、所述转移后资产信息和第二待转移资产后续交易调用参数,所述第二待转移资产后续交易调用参数为所述收款信息或者带有转让方签名的确认到账信息;所述待转移资产信息包括:控制待转移资产后续转移的第二智能合约和待转移资产数量,所述第二智能合约包含待转移资产转移触发条件验证,所述待转移资产转移触发条件包括正常转移触发条件和撤销回退触发条件;对所述带有所述转让方签名的第二链上待转移资产转移指令进行验证,包括:验证所述第二链上待转移资产转移指令的签名;验证所述第二链上待转移资产转移指令的转让方签名对应的用户公钥与所述转让方的资产账本地址相符;验证查找出的待转移资产数量等于所述转移后资产信息包含的接收资产数量之和;以及验证所述第二待转移资产后续交易调用参数满足所述正常转移触发条件。

可选地,所述转让方资产应用终端系统,还用于:根据所述转让方在链上资产查询功能界面中输入和/或选择的查询要求,生成链上资产查询请求信息,之后将带有所述转让方签名的链上资产查询请求信息发送至所述资产账本系统;所述资产账本系统,还用于:对所述带有所述转让方签名的链上资产查询请求信息进行验证,验证通过后,将链上资产查询结果信息添加签名后返回至所述转让方资产应用终端系统;所述转让方资产应用终端系统,还用于:对所述链上资产查询结果信息进行验证,验证通过后,向所述转让方显示所述链上资产查询结果信息。

可选地,所述接收方资产应用终端系统,还用于:根据所述接收方在链上资产查询功能界面中输入和/或选择的查询要求,生成链上待转移资产查询请求信息,之后将带有所述接收方签名的链上待转移资产查询请求信息发送至所述资产账本系统;所述资产账本系统,还用于:对所述带有所述接收方签名的链上待转移资产查询请求信息进行验证,验证通过后,将链上待转移资产查询结果信息添加签名后返回至所述接收方资产应用终端系统;所述接收方资产应用终端系统,还用于:对所述链上待转移资产查询结果信息进行验证,验证通过后,向所述接收方显示所述链上待转移资产查询结果信息。

可选地,所述转让方资产应用终端系统,还用于:从所述资产账本系统中获取待转移资产转移后生成的最终链上资产信息,若所述最终链上资产信息中存在所述转移后资产信息,则确认资产转移支付成功;所述接收方资产应用终端系统,还用于:从所述资产账本系统中获取资产转移后所述接收方的最终链上资产信息,若所述接收方的最终链上资产信息中存在所述转移后资产信息,则确认资产转移支付成功。

可选地,所述链上资产转移指令包括:所述被转移资产信息、所述待转移资产信息和找回资产信息,所述被转移资产信息包括:所述转让方的资产账本地址、控制被转移资产后续交易的第一智能合约和被转移资产数量,所述第一智能合约包含被转移资产后续交易触发条件验证;对所述带有所述转让方签名的链上资产转移指令进行验证,包括:验证所述链上资产转移指令的签名;根据所述被转移资产信息查找被转移资产的权利人地址,验证查找出的被转移资产的权利人地址与所述链上资产转移指令的转让方签名对应的用户公钥相符;以及验证查找出的被转移资产数量等于所述待转移资产信息包含的接收资产数量与所述找回资产信息包含的接收资产数量之和。

可选地,所述接收方资产应用终端系统,还用于:检测预设时间内是否接收到所述支付信息,在未接收到所述支付信息的情况下,将带有所述接收方签名的链上待转移资产退回指令发送至所述资产账本系统;所述资产账本系统,还用于:执行所述链上待转移资产退回指令的待转移资产信息中包含的第二智能合约,以对带有所述接收方签名的所述链上待转移资产退回指令进行验证,验证通过后,花费所述待转移资产信息,并生成与所述转让方的资产账本地址相对应的退回资产信息。

可选地,所述转让方资产应用终端系统,还用于:检测预设时间内是否接收到所述收款信息,在未接收到所述收款信息的情况下,将带有所述转让方签名的链上待转移资产退回指令发送至所述资产账本系统;所述资产账本系统,还用于:执行所述链上待转移资产退回指令的待转移资产信息中包含的第二智能合约,以对带有所述转让方签名的所述链上待转移资产退回指令进行验证,验证通过后,花费所述待转移资产信息,并生成与所述转让方的资产账本地址相对应的退回资产信息。

可选地,对链上待转移资产退回指令进行验证,包括:验证所述链上待转移资产退回指令的签名;以及验证从生成所述待转移资产信息到接收到所述链上待转移资产退回指令的等待时间满足撤销回退触发条件。

可选地,所述资产账本系统,还用于:执行所述待转移资产信息中包含的第二智能合约,以通过所述第二智能合约检测是否满足所述撤销回退触发条件,如果满足所述撤销回退触发条件,则花费所述待转移资产信息,并生成与所述转让方的资产账本地址相对应的退回资产信息。

根据本发明实施例的再一个方面,提供一种通过链下结算的链上资产转移系统。

根据本发明实施例的通过链下结算的链上资产转移系统,包括:转让方资产应用终端系统、资产账本系统和接收方资产应用终端系统;其中,所述转让方资产应用终端系统,用于基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有所述转让方签名的链上资产转移指令发送至所述资产账本系统;所述资产账本系统,用于执行所述链上资产转移指令的被转移资产信息中包含的第一智能合约,以对所述带有所述转让方签名的链上资产转移指令进行验证,验证通过后,按照所述转移资产数量花费所述转让方的相应资产类别的被转移资产信息,并生成对应的待转移资产信息;所述接收方资产应用终端系统,用于基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付;其中,所述应付金额与所述转移资产数量对应的链上资产等价;所述转让方资产应用终端系统,还用于根据接收到的收款信息生成第二链上待转移资产转移指令,之后将带有所述转让方签名的第二链上待转移资产转移指令发送至所述资产账本系统;所述资产账本系统,还用于执行所述第二链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对所述带有所述转让方签名的第二链上待转移资产转移指令进行验证,验证通过后,花费所述待转移资产信息,并生成与所述接收方的资产账本地址相对应的转移后资产信息。

可选地,所述系统还包括:接收方链下支付模块;所述接收方资产应用终端系统,还用于基于所述接收方选择和/或输入的转让方账户信息和应付金额生成支付请求信息,之后将所述支付请求信息发送至所述接收方链下支付模块;所述接收方链下支付模块,用于按照所述支付请求信息中的转让方账户信息和应付金额进行支付,之后将支付信息返回至所述接收方资产应用终端系统。

可选地,所述系统还包括:转让方链下支付模块,用于在接收到与所述链上资产相对应的收款信息后,将所述收款信息反馈至所述转让方资产应用终端系统。

根据本发明实施例的另一个方面,提供一种通过链下结算的链上资产转移方法。

根据本发明实施例的通过链下结算的链上资产转移方法,包括:转让方资产应用终端系统基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有所述转让方签名的链上资产转移指令发送至资产账本系统;所述资产账本系统执行所述链上资产转移指令的被转移资产信息中包含的第一智能合约,以对所述带有所述转让方签名的链上资产转移指令进行验证,验证通过后,按照所述转移资产数量花费所述转让方的相应资产类别的被转移资产信息,并生成对应的待转移资产信息;所述接收方资产应用终端系统基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付,根据接收到的支付信息生成第一链上待转移资产转移指令,之后将带有所述接收方签名的第一链上待转移资产转移指令发送至所述资产账本系统;其中,所述应付金额与所述转移资产数量对应的链上资产等价;所述资产账本系统执行所述第一链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对所述带有所述接收方签名的第一链上待转移资产转移指令进行验证,验证通过后,花费所述待转移资产信息,并生成与所述接收方的资产账本地址相对应的转移后资产信息。

根据本发明实施例的再一个方面,提供一种通过链下结算的链上资产转移方法。

根据本发明实施例的通过链下结算的链上资产转移方法,包括:转让方资产应用终端系统基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有所述转让方签名的链上资产转移指令发送至资产账本系统;所述资产账本系统执行所述链上资产转移指令的被转移资产信息中包含的第一智能合约,以对所述带有所述转让方签名的链上资产转移指令进行验证,验证通过后,按照所述转移资产数量花费所述转让方的相应资产类别的被转移资产信息,并生成对应的待转移资产信息;所述接收方资产应用终端系统基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付;其中,所述应付金额与所述转移资产数量对应的链上资产等价;所述转让方资产应用终端系统根据接收到的收款信息生成第二链上待转移资产转移指令,之后将带有所述转让方签名的第二链上待转移资产转移指令发送至所述资产账本系统;所述资产账本系统执行所述第二链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对所述带有所述转让方签名的第二链上待转移资产转移指令进行验证,验证通过后,花费所述待转移资产信息,并生成与所述接收方的资产账本地址相对应的转移后资产信息。

上述发明中的一个实施例具有如下优点或有益效果:资产账本系统接收到来自转让方的链上资产转移指令后,执行第一智能合约生成待转移资产,接收方资产应用终端系统通过链下支付模块进行链下支付,完成支付后由资产账本系统执行第二智能合约生成转移后资产,通过上述方式实现了链上资产转移和链下支付的完整交易过程,同时通过智能合约控制链上资产转移和链下支付过程,大大降低了交易风险;交易双方均可以控制将待转移资产变成转移后资产的执行过程,实现方式灵活,满足交易需求;无需第三方平台介入交易过程,不会引发第三方平台信用、安全等问题;在接收方不能在规定时间内提供支付信息或者不能成功发起链下支付交易时,将待转移资产退回转让方,降低交易风险。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是本发明实施例一中通过链下结算的链上资产转移系统的主要子系统示意图;

图2是本发明实施例一中通过链下结算的链上资产转移系统进行资产转移的主要流程示意图;

图3是本发明实施例二中通过链下结算的链上资产转移系统进行资产转移的主要流程示意图;

图4是本发明实施例三中通过链下结算的链上资产转移系统进行资产转移的主要流程示意图;

图5是本发明实施例四中通过链下结算的链上资产转移系统进行待转移资产退回的主要流程示意图;

图6是本发明实施例五中通过链下结算的链上资产转移系统进行资产转移支付确认的主要流程示意图;

图7是本发明实施例一中通过链下结算的链上资产转移方法的主要流程示意图。

图8是本发明实施例二中通过链下结算的链上资产转移方法的主要流程示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本发明实施例中转让方为发起链上资产转移操作的用户;接收方为接收转移后的链上资产,并进行对价支付的用户。转让方和接收方达成了如下交易:由转让方将一定数量的链上资产转移给接收方,接收方通过链下支付手段将交易对价金额支付给转让方。为了实现上述链上资产转移和链下支付交易,实施例中引入了区块链和智能合约。智能合约是运行在区块链共享账本上的,具有自动化、强制执行、可信安全特点的分布式执行软件。在交易发起后,智能合约可以控制链上资产的转移、退回等操作。具体实现原理如下:

转让方发起交易,将链上资产x转移给接收方;资产账本系统接收到来自转让方的链上资产转移指令后,执行智能合约,将链上资产x变成待转移资产t1,如果x>t1则同时生成找回资产t0(t0的资产数量等于x的资产数量减去t1的资产数量)给转让方;之后接收方通过链下支付模块将链下金额y转移给转让方;支付完成后,接收方获得支付到账凭证,转让方获得收款到账凭证,两方均可以通过对应凭证向资产账本系统发起待转移资产转移指令,由资产账本系统执行智能合约,将待转移资产t1转移给接收方。上述实现过程中,通过智能合约来控制交易双方(即转让方和接收方)的交易过程,交易安全可信,防止交易风险。

图1是本发明实施例一中通过链下结算的链上资产转移系统的主要子系统示意图。如图1所示,本发明实施例一的通过链下结算的链上资产转移系统100,主要包括:

转让方资产应用终端系统101,用于基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有转让方签名的链上资产转移指令发送至资产账本系统。其中,链上资产转移指令包括:被转移资产信息(归属于转让方的,且准备转移至接收方的链上资产信息)、待转移资产信息(执行链上资产转移指令后生成的,待转移至接收方的链上资产信息)、找回资产信息(资产转移过程中需要找零时,在执行资产转移指令后生成的转移至转让方的链上资产信息)等。转让方资产应用终端系统在终端设备上向用户(即转让方)展示链上资产转移功能界面,该链上资产转移功能界面用于用户输入和/或选择资产转移要求。转让方在链上资产转移功能界面中选择(或者输入)资产类别、转移资产数量和接收方的资产账本地址后,转让方资产应用终端系统即可生成链上资产转移指令;之后使用转让方的用户私钥对该链上资产转移指令进行签名,将带有转让方的用户私钥签名的链上资产转移指令发送至资产账本系统。

资产账本系统102,用于执行链上资产转移指令的被转移资产信息中包含的第一智能合约,以对带有转让方签名的链上资产转移指令进行验证,验证通过后,按照转移资产数量花费转让方的相应资产类别的被转移资产信息,并生成对应的待转移资产信息。资产账本系统的智能合约层执行模块执行验证操作:验证链上资产转移指令的签名;根据被转移资产信息查找被转移资产的权利人地址,验证查找出的被转移资产的权利人地址与链上资产转移指令的转让方签名对应的用户公钥相符;以及验证查找出的被转移资产数量等于待转移资产信息包含的接收资产数量与找回资产信息包含的接收资产数量之和。验证完成后,智能合约层执行模块执行上述链上资产转移指令,将被转移资产花费掉,生成链上资产转移指令对应的待转移资产和找回资产。

接收方资产应用终端系统103,用于基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付,根据接收到的支付信息生成第一链上待转移资产转移指令,之后将带有接收方签名的第一链上待转移资产转移指令发送至资产账本系统;其中,应付金额与转移资产数量对应的链上资产等价。接收方资产应用终端系统基于接收方在用户界面中选择和/或输入的转让方账户信息和应付金额生成支付请求信息,之后将支付请求信息发送至接收方链下支付模块;接收方链下支付模块按照支付请求信息中的转让方账户信息和应付金额进行支付,之后将支付信息返回至接收方资产应用终端系统;接收方资产应用终端系统根据接收到的支付信息生成第一链上待转移资产转移指令,之后使用接收方的用户私钥对该第一链上待转移资产转移指令进行签名,将带有接收方的用户私钥签名的第一链上待转移资产转移指令发送至资产账本系统。

资产账本系统102,还用于执行第一链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对带有接收方签名的第一链上待转移资产转移指令进行验证,验证通过后,花费待转移资产信息,并生成与接收方的资产账本地址相对应的转移后资产信息。资产账本系统的智能合约层执行模块执行验证操作:验证链上待转移资产转移指令的签名;验证第一链上待转移资产转移指令的接收方签名对应的用户公钥与接收方的资产账本地址相符;验证查找出的待转移资产数量等于转移后资产信息包含的接收资产数量之和;以及验证第一待转移资产后续交易调用参数满足正常转移触发条件。验证完成后,智能合约层执行模块执行上述第一链上待转移资产转移指令,将待转移资产花费掉,生成第一链上待转移资产转移指令对应的转移后资产。

图2是本发明实施例一中通过链下结算的链上资产转移系统进行资产转移的主要流程示意图。如图2所示,本发明实施例一的通过链下结算的链上资产转移系统进行资产转移的主要流程,包括以下步骤:

步骤s201:转让方访问安装在转让方终端设备上的转让方资产应用终端系统,按照预先设置好的登录识别方式提交识别信息后登录转让方资产应用终端系统。资产应用终端系统是安装在终端设备上的与资产账本系统对应的系统软件;用户可以通过访问资产托管系统,从资产托管系统上下载并安装资产应用终端系统软件。终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,比如手机、平板电脑、台式计算机等。其中,登录识别方式可以为用户名和密码识别、指纹识别、人脸识别等方式,相应的识别信息可以是:用户名和密码,或者与该用户名对应的预设格式的识别码。预设格式的识别码可以是字符形式的密码,也可以是生物识别码,如用户的指纹、面部信息、虹膜信息等。

转让方资产应用终端系统识别该用户后,确定转让方为本地关联特定用户私钥的用户。转让方资产应用终端系统包括本地安全模块,在该模块中保存用户私钥和用户公钥。用户公钥和用户私钥由资产应用终端系统在本地采用非对称加密算法生成。用户私钥可以用于对用户身份信息、用户的银行卡信息、用户的生物识别码信息或用户的身份证书等数据信息进行签名,也可以在后续资产交易或融资流程中用于对数字资产信息进行签名,以确认交易的所有权;用户公钥可以用于对被该用户私钥进行签名过的数据信息进行相应的验证。

需要注意的是,在资产交易过程中,可以是实名用户交易也可以是匿名用户交易。对于实名用户而言,可以在资产托管系统中注册实名用户信息,该实名用户信息对应到资产账本系统中记录资产所有者的资产账本地址。资产托管系统中存储有用户对应的实名账本记录。资产托管系统可以是对用户将链下的实名登记资产通过指定的资产托管方进行托管登记管理、以及对托管资产在区块链上发行数字资产的过程进行登记管理的系统,用户可以通过web或其它方式对该资产托管系统进行访问,发行数字资产的过程包括链下资产上链流程和链上资产下链流程。其中,链下资产上链,即是将用户在区块链之下的实名资产通过资产托管方托管后,由资产托管系统向基于区块链的资产账本系统发行链上数字资产;链上资产下链,即是将用户在区块链上的数字资产作废,并将该数字资产对应的链下托管资产返还转让至用户。实名账本记录包括:与用户的身份信息相关联的身份证书和与用户的身份信息相关联的资产账本地址,身份证书包括:用户的身份标识和用户公钥。链上资产对应至少一个资产账本地址,该资产账本地址与用户公钥相对应,因此持有该用户公钥对应的用户私钥的用户才可以操作该链上资产。身份证书可以是为信息不可抵赖提供的ca(certificationauthority,证书授权中心)证书。

步骤s202:转让方资产应用终端系统根据转让方选择的资产类别、输入的转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有转让方签名的链上资产转移指令发送至资产账本系统的智能合约层执行模块。资产账本系统是基于区块链技术的资产账本系统,其包括智能合约层执行模块和共识账本层执行模块,智能合约层执行模块用于接收用户指令并执行指令;共识账本层执行模块用于实现验证、查询、记录等操作。资产账本系统中的链上资产通过资产序号或者资产索引来标识指定。

其中,链上资产转移指令是指转让方对于自己已上链的数字资产,向智能合约层执行模块发起数字资产转移的指令。在一可选的实施例中,链上资产转移指令包括:被转移资产信息、待转移资产信息、找回资产信息等;实施例中上述信息均可以采用列表形式存储。

在一可选的实施例中,被转移资产信息包括:资产序号、资产索引、被转移资产明细、控制被转移资产后续交易的智能合约等;被转移资产明细包括:转让方的资产账本地址、被转移资产数量等;待转移资产信息包括:资产序号、资产索引、待转移资产明细、控制待转移资产后续转移的智能合约等,待转移资产明细包括:接收方的资产账本地址、接收资产数量等;找回资产信息包括:资产序号、资产索引、找回资产明细、控制找回资产后续交易的智能合约等,找回资产明细包括:转让方的资产账本地址、接收资产数量等。待转移资产明细中设定的接收方的资产账本地址即为接收方的用户公钥对应的资产账本地址。

需要注意的是,被转移资产信息、待转移资产信息和找回资产信息中均可以包括用于控制后续交易的智能合约,且智能合约中包含有后续交易的触发条件。如未特殊说明,该智能合约为常规非定制化的缺省智能合约。待转移资产信息的智能合约的触发条件有两个,一个是正常转移触发条件,另一个是撤销回退触发条件,具体可按照交易双方的约定来设置。

正常转移触发条件,是将待转移资产最终生成接收方实际接收到的资产。例如,交易双方的转让方先转移链上资产,生成对应的待转移资产(待转移资产属于在途状态,不归属任何一个交易方);并设置转让方必须提供支付到账凭证或者接收方必须成功发起支付交易后,才能最终完成将待转移资产生成资产账本地址为接收方的转移后资产。

撤销回退触发条件,是指将待转移资产退回给转让方。例如,交易双方的转让方先转移链上资产,生成对应的待转移资产;并设置如果转让方在规定时间内不能提供支付到账凭证或者接收方不能成功发起支付交易,则对该待转移资产执行一个新的转移交易,转移给转让方。

转让方资产应用终端系统生成链上资产转移指令后,使用转让方的用户私钥对该链上资产转移指令进行签名,之后将带有转让方的用户私钥签名的链上资产转移指令发送至智能合约层执行模块,以触发智能合约层执行模块执行链上资产转移指令的被转移资产信息中包含的智能合约。

步骤s203:资产账本系统的智能合约层执行模块对链上资产转移指令进行验证,验证通过后,执行链上资产转移指令。验证的实现过程包括:验证链下结算的链上资产转移指令的签名;根据被转移资产信息查找被转移资产的权利人地址和被转移资产数量,验证查找出的被转移资产的权利人地址与链上资产转移指令的签名对应的用户公钥相符;验证查找出的被转移资产数量等于待转移资产明细的接收资产数量与找回资产明细的接收资产数量之和。本发明实施例中的相符是指将用户公钥经哈希运算得到的结果与对应链上资产所属的权利人地址相同。链上资产转移指令中实际包括了执行该资产交易的智能合约所需的后续交易调用参数,智能合约层执行模块收到链上资产转移指令后,执行该链上资产转移指令内部的智能合约。实施例中将链上资产转移指令的被转移资产信息中包含的可触发被转移资产进行后续操作的验证智能合约以及生成待转移资产信息操作的执行智能合约称为第一智能合约。

被转移资产转移成待转移资产的智能合约执行过程为:使用被转移资产信息中包含的第一智能合约检查链上资产转移指令的签名,并判断是否满足该第一智能合约中指定的触发条件,如果满足指定的触发条件,则按照链上资产转移指令生成待转移资产信息,即将被转移资产花费掉,并生成链上资产转移指令对应的待转移资产信息和找回资产信息。该链上资产转移指令的第一智能合约执行后,将被转移资产转变为对应的待转移资产。

步骤s204:资产账本系统的智能合约层执行模块将第一资产转移执行结果信息记录到共识账本层执行模块。智能合约层执行模块将花费掉被转移资产,生成链上资产转移指令对应的待转移资产信息和找回资产信息这一执行结果记录到共识账本层执行模块。

步骤s205:接收方访问安装在接收方终端设备上的接收方资产应用终端系统,按照预先设置好的登录识别方式提交识别信息后登录接收方资产应用终端系统。该步骤的实现原理与步骤s201相同。实施例中并不限定本步骤的执行顺序,其在步骤s206之前执行即可。接收方资产应用终端系统识别该用户后,确定接收方为本地关联特定用户私钥的用户。接收方资产应用终端系统也包括本地安全模块,在该模块中保存用户私钥和公钥信息。

步骤s206:接收方资产应用终端系统基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付,根据接收到的支付信息生成链上待转移资产转移指令,之后将带有接收方签名的链上待转移资产转移指令发送至资产账本系统。其中,应付金额与转移资产数量对应的链上资产等价。接收方发起链下支付操作,链下支付的方式包括通过银行账户转账、现金支付、通过第三方支付平台转账或其它方式。链下支付的过程为:接收方资产应用终端系统基于接收方选择和/或输入的转让方账户信息和应付金额生成支付请求信息,之后将支付请求信息发送至接收方链下支付模块;接收方链下支付模块按照支付请求信息中的转让方账户信息和应付金额进行支付,之后将支付信息返回至接收方资产应用终端系统。

链上待转移资产转移指令是指接收方可以向智能合约执行层模块发起的针对待转移资产信息的转移指令,该指令用于触发待转移资产信息中包含的第二智能合约(即将待转移资产信息变成转移后资产信息的智能合约)的执行。在一可选的实施例中,链上待转移资产转移指令包括:待转移资产信息、待转移资产后续交易调用参数、转移后资产信息等。待转移资产后续交易调用参数是指执行待转移资产信息中包含的第二智能合约时需要调用的参数,该参数可以是接收方提供的支付到账凭证、也可以是转让方提供的收款到账凭证、也可以是转让方提供的带有转让方签名的确认到账信息;转移后资产信息是指执行待转移资产信息中包含的智能合约后生成的最终转移后资产。

实施例中,转移后资产信息包括:转移后资产明细、控制转移后资产后续交易的智能合约等,转移后资产明细包括:接收方的资产账本地址、接收资产数量等。需要注意的是,转移后资产信息中也包括用于后续交易的智能合约,且智能合约中包含有后续交易的触发条件以及触发条件的验证,还规定了转让方拥有的对转移后资产的操作权限。通常情况下,转让方拥有的对转移后资产进行操作的全部权利。

步骤s207:资产账本系统的智能合约层执行模块对第一链上待转移资产转移指令进行验证,验证通过后,执行第一链上待转移资产转移指令。验证的实现过程包括:验证第一链上待转移资产转移指令的签名;验证链上待转移资产转移指令的签名对应的用户公钥与接收方的资产账本地址相符;验证查找出的待转移资产数量等于转移后资产明细的接收资产数量之和;以及验证第一待转移资产后续交易调用参数满足正常转移触发条件。第一链上待转移资产转移指令中实际包括了执行该资产交易的智能合约所需的后续交易调用参数,智能合约层执行模块收到链上待转移资产转移指令后,执行该链上待转移资产转移指令内部的智能合约。实施例中将待转移资产信息中包含的智能合约称为第二智能合约。

待转移资产转移成转移后资产的智能合约执行过程为:使用待转移资产信息中包含的第二智能合约检查第一链上待转移资产转移指令中包含的第一待转移资产后续交易调用参数是否满足该第二智能合约中指定的正常转移触发条件,如果满足指定的正常转移触发条件,则按照第一链上待转移资产转移指令生成转移后资产信息,即将待转移资产花费掉,生成第一链上待转移资产转移指令对应的转移后资产信息。该第一链上待转移资产转移指令的第二智能合约执行后,将待转移资产完成最终转移。

步骤s208:资产账本系统的智能合约层执行模块将第二资产转移执行结果信息记录到共识账本层执行模块。智能合约层执行模块将花费掉待转移资产,生成第一链上待转移资产转移指令对应的转移后资产信息这一执行结果记录到共识账本层执行模块。

实施例二:交易双方在交易之前需要做一些准备工作,比如登录各自的资产应用终端系统,查询各自持有的链上资产等。实施例二中,转让方通过其资产应用终端系统查询其持有的链上资产,便于转让方基于获取的链上资产查询结果信息选定资产类别、输入转移资产数量。接收方通过其资产应用终端系统查询资产账本系统中是否已经生成自身对应的待转移资产信息,便于接收方开始进行链下支付。具体实现如下:

图3是本发明实施例二中通过链下结算的链上资产转移系统进行资产转移的主要流程示意图。如图3所示,本发明实施例二的通过链下结算的链上资产转移系统进行资产转移的主要流程,包括以下步骤:

步骤s301:转让方访问安装在转让方终端设备上的转让方资产应用终端系统,按照预先设置好的登录识别方式提交识别信息后登录转让方资产应用终端系统。该步骤与步骤s201的实现过程相同。

步骤s302:转让方资产应用终端系统在转让方终端设备上向转让方展示链上资产查询功能界面,根据转让方在链上资产查询功能界面中输入和/或选择的查询要求,生成链上资产查询请求信息,之后将带有转让方签名的链上资产查询请求信息发送至资产账本系统的共识账本层执行模块。转让方进入转让方资产应用终端系统提供的链上资产查询功能界面,该链上资产查询功能界面用于用户输入和/或选择查询要求,共同组成转让方发起的链上资产查询请求信息。链上资产查询请求信息是指转让方对于自己已上链的数字资产,可以发起数字资产查询的请求。在一可选的实施例中,链上资产查询请求信息包括:转让方对应的资产账本地址和查询要求。

查询要求是指用户进行链上资产查询可能用到的一些限制因素。在一可选的实施例中,查询要求包括:查询条件和查询结果。查询条件可以为下列任意一项或者多项:资产序号、资产类别、资产状态等。其中,资产状态包括:有效状态、冻结状态、作废状态等。

查询结果可以为下列任意一项或者多项:资产数量、资产明细、初始块信息、终结块信息、资产交易历史记录、初始块对应的托管资产保存信息、终结块对应的托管资产保存信息等。初始块信息包括:初始块块号、资产序号、托管资产登记索引信息、托管资产描述信息、权利人地址、资产发行单位数量、有效资产单位数量。终结块信息包括:终结块对应的已终结初始块记录列表、终结块块号、带存储服务系统签名的更新的托管资产登记索引信息。托管资产保存信息可以认为是在存储服务系统中存放的、与链下资产托管上链或链上资产下链返还相关的、证实资产托管方作为托管资产权利人的全面的托管资产信息,在可选的实施例中,托管资产保存信息包括:纸质文件电子化或者纯电子化的凭证信息(比如可以是电子签名存档,或者通过资产权利登记系统查询到的结果)。

本步骤用于使转让方向转让方资产应用终端系统发起链上资产信息查询操作。具体实现可以是转让方访问转让方资产应用终端系统的相应功能。需要注意的是,如果链上资产查询请求信息中包含资产类别,则只查询该资产类别对应的链上资产;如果链上资产查询请求信息中不包含资产类别,则查询所有资产类别对应的链上资产。

步骤s303:资产账本系统的共识账本层执行模块对链上资产查询请求信息进行验证,验证通过后,将转让方的资产账本地址对应的链上资产查询结果信息添加签名后返回至转让方资产应用终端系统。其中,验证内容包括:验证链上资产查询请求信息的签名。链上资产查询结果信息包括:带有转让方签名的链上资产查询请求信息、资产类别、链上未花费资产信息列表、与链上未花费资产对应的有效初始块信息列表等。链上未花费资产信息包括:权利人地址、资产类别、资产数量等。链上未花费资产信息列表中每一个链上未花费资产信息的权利人地址都与链上资产查询请求信息中转让方的资产账本地址相同。有效初始块信息包括:链上托管资产发行信息、链上托管资产登记索引信息等。

步骤s304:转让方资产应用终端系统验证链上资产查询结果信息的签名,验证通过后,向转让方显示链上资产查询结果信息。转让方根据显示的链上资产查询结果信息选择资产类别,并输入转移资产数量和接收方的资产账本地址后,发起通过链下结算的链上资产转移请求。

步骤s305:转让方资产应用终端系统根据转让方选择的资产类别、输入的转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有转让方签名的链上资产转移指令发送至资产账本系统的智能合约层执行模块。该步骤与步骤s202的实现过程相同。

步骤s306:资产账本系统的智能合约层执行模块执行链上资产转移指令的被转移资产信息中包含的第一智能合约,以对链上资产转移指令进行验证,验证通过后,按照转移资产数量花费转让方的相应资产类别的被转移资产信息,并生成对应的待转移资产信息。该步骤与步骤s203的实现过程相同。

步骤s307:资产账本系统的智能合约层执行模块将第一资产转移执行结果信息记录到共识账本层执行模块。该步骤与步骤s204的实现过程相同。

步骤s308:接收方访问安装在接收方终端设备上的接收方资产应用终端系统,按照预先设置好的登录识别方式提交识别信息后登录接收方资产应用终端系统。该步骤的实现原理与步骤s205相同。实施例中并不限定本步骤的执行顺序,其在步骤s309之前执行即可。

步骤s309:接收方资产应用终端系统在接收方终端设备上向接收方展示链上资产查询功能界面,根据接收方在链上资产查询功能界面中输入和/或选择的查询要求,生成链上待转移资产查询请求信息,之后将带有接收方签名的链上待转移资产查询请求信息发送至资产账本系统的共识账本层执行模块。链上待转移资产查询请求信息是指接收方向资产账本系统发起的,用于查询来源于转让方且转移后的资产账本地址为自身的待转移资产的请求。在一可选的实施例中,链上待转移资产查询请求信息包括:接收方对应的资产账本地址和查询要求。

本步骤用于使接收方向接收方资产应用终端系统发起链上待转移资产查询操作。具体实现可以是接收方访问接收方资产应用终端系统的相应功能。需要注意的是,如果链上待转移资产查询请求信息中包含资产类别,则只查询该资产类别对应的待转移资产;如果链上待转移资产查询请求信息中不包含资产类别,则查询所有资产类别对应的待转移资产。

步骤s310:资产账本系统的共识账本层执行模块对链上待转移资产查询请求信息进行验证,验证通过后,将对应的链上待转移资产查询结果信息添加签名后发送至接收方资产应用终端系统。其中,验证内容包括:验证链上待转移资产查询请求信息的签名。链上待转移资产查询结果信息包括:带有接收方签名的链上待转移资产查询请求信息、资产类别、待转移资产信息列表、与待转移资产相对应的有效初始块信息列表等。

步骤s311:接收方资产应用终端系统验证链上待转移资产查询结果信息的签名,验证通过后,向接收方显示链上待转移资产查询结果信息。使用共识账本层执行模块的公钥验证链上待转移资产查询结果信息的签名。

步骤s312:接收方根据接收方资产应用终端系统显示的链上待转移资产查询结果信息中包含的待转移资产信息、待转移资产数量和该待转移资产对应的待转移资产转移触发条件,按照应付金额向接收方链下支付模块发送支付请求信息。其中,支付请求信息包括:接收方账户信息、转让方账户信息、应付金额等。此时,接收方为付款人,转让方为收款人。实施例中,接收方账户信息包括付款账号,转让方账户信息包括收款账号。

步骤s313:接收方链下支付模块按照支付请求信息中的应付金额和转让方账户信息进行链下支付,并将支付信息返回给接收方资产应用终端系统。其中,支付信息可用于通知接收方已经成功将应付金额支付给转让方,比如可以为支付到账凭证。步骤s312和步骤s313用于使接收方发起支付对价操作,并由接收方链下支付模块完成支付对价的转移。

步骤s314:转让方通过转让方资产应用终端系统向转让方链下支付模块发送收付款情况查询请求信息。其中,收付款情况查询请求信息包括:转让方账户信息等。步骤s314至步骤s316用于转让方查询接收方的链下支付收款结果,本发明实施例中并不限定步骤s314至步骤s316的执行顺序,其可以与步骤s312至步骤s313同步执行,即在接收方发起链下支付后即可执行。在另一实施例中,还可以由链下支付平台,比如商业银行服务端、第三方支付平台等,在接收方链下支付后,直接将收款结果发送至转让方资产应用终端系统,此时可以通过上述方式替换步骤s314至步骤s316来获取转让方的链下支付收款结果。

步骤s315:转让方链下支付模块按照收付款情况查询请求信息执行收付款情况查询操作,以查询出转让方账户信息对应的收款信息。其中,收款信息是指转让方接收到的来自接收方的资金支付信息,比如可以为收款到账凭证等。

步骤s316:转让方链下支付模块将转让方账户信息对应的收款信息返回至转让方资产应用终端系统。至此,转让方和接收方均接收到了链下支付成功的信息,即转让方接收到了收款到账凭证,接收方接收到了支付到账凭证,此时,转让方可以依据收款到账凭证,接收方可以依据支付到账凭证,向智能合约层执行模块发送链上待转移资产转移指令。转让方提供带有自身签名的确认到账信息,或者转让方提供收款到账凭证,或者接收方提供支付到账凭证均可以作为执行链上待转移资产转移指令中的第二智能合约的触发条件。下面以接收方发起链上待转移资产转移指令为例进行说明。

步骤s317:接收方资产应用终端系统根据接收到的支付信息生成第一链上待转移资产转移指令,之后将带有接收方签名的第一链上待转移资产转移指令发送至资产账本系统的智能合约层执行模块。该实施例中,第一链上待转移资产转移指令中包含的第一待转移资产后续交易调用参数为接收方提供的支付到账凭证。接收方资产应用终端系统生成第一链上待转移资产转移指令后,使用接收方的用户私钥对该第一链上待转移资产转移指令进行签名,之后将带有接收方的用户私钥签名的第一链上待转移资产转移指令发送至智能合约层执行模块,以触发智能合约层执行模块执行第一链上待转移资产转移指令。

步骤s318:资产账本系统的智能合约层执行模块执行第一链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对第一链上待转移资产转移指令进行验证,验证通过后,花费待转移资产信息,并生成与接收方的资产账本地址相对应的转移后资产信息。该步骤的具体实现与步骤s207相同。

步骤s319:资产账本系统的智能合约层执行模块将第二资产转移执行结果信息记录到共识账本层执行模块。智能合约层执行模块将花费掉待转移资产,生成第一链上待转移资产转移指令对应的转移后资产信息这一执行结果记录到共识账本层执行模块。

实施例三:由于转让方提供的带有自身签名的确认到账信息,或者收款到账凭证也可以作为智能合约执行层模块执行待转移资产转移指令中第二智能合约的触发条件,故实施例三中以转让方发送链上待转移资产转移指令为例,对本发明实施例中通过链下结算的链上资产转移方法进行说明。具体实现如下:

图4是本发明实施例三中通过链下结算的链上资产转移系统进行资产转移的主要流程示意图。如图4所示,本发明实施例三中通过链下结算的链上资产转移系统进行资产转移的主要流程,其中实施例三的步骤s401至步骤s416与实施例二中的步骤s301至步骤s316对应相同,此处不再赘述。后续包括以下步骤:

步骤s417:转让方资产应用终端系统根据接收到的收款信息生成第二链上待转移资产转移指令,之后将带有转让方签名的第二链上待转移资产转移指令发送至资产账本系统的智能合约层执行模块。第二链上待转移资产转移指令包括:待转移资产信息列表、第二待转移资产后续交易调用参数、转移后资产信息等,第二待转移资产后续交易调用参数是执行待转移资产信息中包含的第二智能合约时需要调用的参数。该实施例中,第二链上待转移资产转移指令中包含的第二待转移资产后续交易调用参数可以是转让方提供的确认到账信息或者收款到账凭证。转移后资产信息是指执行待转移资产信息中包含的第二智能合约后生成的最终数字资产。

步骤s418:资产账本系统的智能合约层执行模块执行第二链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对第二链上待转移资产转移指令进行验证,验证通过后,花费待转移资产信息,并生成与接收方的资产账本地址相对应的转移后资产信息。该步骤中,智能合约层执行模块验证转让方提供的确认到账信息或者收款到账凭证,判断是否满足第二智能合约中指定的正常转移触发条件,如果满足,则执行该第二链上待转移资产转移指令,即将待转移资产花费掉,生成第二链上待转移资产转移指令对应的转移后资产信息。该第二链上待转移资产转移指令的智能合约执行后,将待转移资产完成最终转移。

步骤s419:资产账本系统的智能合约层执行模块将第二资产转移执行结果信息记录到共识账本层执行模块。智能合约层执行模块将花费掉待转移资产,生成第二链上待转移资产转移指令对应的转移后资产信息这一执行结果记录到共识账本层执行模块。

实施例四:如果转让方已经发起资产转移交易,并且在资产账本系统形成待转移资产,但是接收方未在预设时间内进行对价支付,那么资产账本系统可以将待转移资产撤销退回至转让方。撤销回退操作可以通过以下两种方式实现:方式一:第二智能合约定时检测,一旦满足撤销回退触发条件,第二智能合约自动执行将待转移资产退回至转让方的转移交易。方式二:转让方或者接收方发起链上待转移资产退回指令,第二智能合约检查撤销回退触发条件,如果满足,则执行链上待转移资产退回指令,以生成对应转让方资产账本地址的退回资产信息,将待转移资产退回至转让方。

图5是本发明实施例四中通过链下结算的链上资产转移系统进行待转移资产退回的主要流程示意图。如图5所示,本发明实施例四中通过链下结算的链上资产转移系统进行待转移资产退回的主要流程,包括以下步骤:

步骤s501:转让方资产应用终端系统检测预设时间内是否接收到收款信息,在未接收到收款信息的情况下,将带有转让方签名的链上待转移资产退回指令发送至资产账本系统的智能合约层执行模块。链上待转移资产退回指令用于将待转移资产退回至转让方。在一优选的实施例中,链上待转移资产退回指令包括:待转移资产信息、待转移资产后续交易调用参数、退回资产信息等。此处待转移资产后续交易调用参数可以为空,直接调用待转移资产信息包含的第二智能合约中的退回操作,第二智能合约检查是否满足撤销回退触发条件(一般为等待时间达到预设时间阈值)。退回资产信息包括:转让方的资产账本地址、退回资产数量等。

步骤s502:资产账本系统的智能合约层执行模块执行链上待转移资产退回指令的待转移资产信息中包含的第二智能合约,以对带有转让方签名的链上待转移资产退回指令进行验证,验证通过后,花费待转移资产信息,并生成与转让方的资产账本地址相对应的退回资产信息。验证内容包括:验证链上待转移资产退回指令的转让方签名;验证从生成待转移资产信息到接收到链上待转移资产退回指令的等待时间满足撤销回退触发条件。资产账本系统的智能合约层执行模块验证链上待转移资产退回指令完成后,执行链上待转移资产退回指令,将待转移资产信息花费掉,并生成与转让方的资产账本地址相对应的退回资产信息。

另外,也可以由接收方资产应用终端系统发起链上待转移资产退回指令。此时,步骤s501为:接收方资产应用终端系统检测预设时间内是否接收到支付信息,在未接收到支付信息的情况下,将带有接收方签名的链上待转移资产退回指令发送至资产账本系统。资产账本系统对链上待转移资产退回指令的处理与步骤s502相同,此处不再赘述。

待转移资产生成退回资产的智能合约执行过程为:使用待转移资产信息中包含的第二智能合约检查链上待转移资产退回指令中包含的待转移资产后续交易调用参数是否满足该第二智能合约中指定的撤销回退触发条件(或者根据第二智能合约中的退回操作检查是否满足撤销回退触发条件),如果满足指定的撤销回退触发条件,则按照链上待转移资产退回指令生成退回资产信息。退回资产信息中也会包含缺省的用于后续交易的智能合约。

实施例五:转让方在执行完步骤s307之后,接收方在执行完步骤s319之后,可以通过各自的资产应用终端系统查询链上资产信息(即查询交易完成后转让方和接收方持有的链上资产),以确认资产转移支付成功。转让方查询链上资产信息的具体过程请参见步骤s302至步骤s304,接收方查询链上资产信息的具体过程与转让方的查询原理相同。若最终链上资产信息中存在转移后资产信息时,资产转移支付成功。具体实现过程如下:

图6是本发明实施例五中通过链下结算的链上资产转移系统进行资产转移支付确认的主要流程示意图。如图6所示,本发明实施例五中通过链下结算的链上资产转移系统进行资产转移支付确认的主要流程,包括以下步骤:

步骤s601:转让方资产应用终端系统从资产账本系统的共识账本层执行模块中获取所述待转移资产转移后生成的最终链上资产信息,若所述最终链上资产信息中存在对应接收方资产账本地址的转移后资产信息,则确认资产转移支付成功。转让方在知道被转移资产或待转移资产的情况下,可以通过查询被转移资产交易后生成的待转移资产,以及通过待转移资产交易后生成的转移后资产来进行交易后最终链上资产信息查询。故如果查询出的最终链上资产信息中存在对应接收方资产账本地址的转移后资产信息,则确认资产转移支付成功。

步骤s602:接收方资产应用终端系统从资产账本系统的共识账本层执行模块中获取资产转移后接收方的最终链上资产信息,若接收方的最终链上资产信息中存在转移后资产信息,则确认资产转移支付成功。在区块链上,由接收方的资产账本地址可以直接查询到转移后的资产信息。实施例中并不限定步骤s601和步骤s602执行顺序的先后,也可以先执行步骤s602,再执行步骤s601。

图7是本发明实施例一中通过链下结算的链上资产转移方法的主要流程示意图。如图7所示本发明实施例一中通过链下结算的链上资产转移方法,主要包括以下步骤:

步骤s701:转让方资产应用终端系统基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有转让方签名的链上资产转移指令发送至资产账本系统。其中,链上资产转移指令包括:被转移资产信息、待转移资产信息、找回资产信息等。转让方资产应用终端系统在终端设备上向用户(即转让方)展示链上资产转移功能界面,该链上资产转移功能界面用于用户输入和/或选择资产转移要求。转让方在链上资产转移功能界面中选择(或者输入)资产类别、转移资产数量和接收方的资产账本地址后,转让方资产应用终端系统即可生成链上资产转移指令;之后使用转让方的用户私钥对该链上资产转移指令进行签名,将带有转让方的用户私钥签名的链上资产转移指令发送至资产账本系统。

步骤s702:资产账本系统执行链上资产转移指令的被转移资产信息中包含的第一智能合约,以对带有转让方签名的链上资产转移指令进行验证,验证通过后,按照转移资产数量花费转让方的相应资产类别的被转移资产信息,并生成相对应的待转移资产信息。资产账本系统的智能合约层执行模块执行验证操作:验证链上资产转移指令的签名;根据被转移资产信息查找被转移资产的权利人地址,验证查找出的被转移资产的权利人地址与链上资产转移指令的转让方签名对应的用户公钥相符;以及验证查找出的被转移资产数量等于待转移资产信息包含的接收资产数量与找回资产信息包含的接收资产数量之和。验证完成后,智能合约层执行模块执行上述链上资产转移指令,将被转移资产花费掉,生成链上资产转移指令对应的待转移资产和找回资产。

步骤s703:接收方资产应用终端系统基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付,根据接收到的支付信息生成第一链上待转移资产转移指令,之后将带有接收方签名的第一链上待转移资产转移指令发送至资产账本系统;其中,应付金额与转移资产数量对应的链上资产等价。接收方资产应用终端系统基于接收方在用户界面中选择和/或输入的转让方账户信息和应付金额生成支付请求信息,之后将支付请求信息发送至接收方链下支付模块;接收方链下支付模块按照支付请求信息中的转让方账户信息和应付金额进行支付,之后将支付信息返回至接收方资产应用终端系统;接收方资产应用终端系统根据接收到的支付信息生成第一链上待转移资产转移指令,之后使用接收方的用户私钥对该第一链上待转移资产转移指令进行签名,将带有接收方的用户私钥签名的第一链上待转移资产转移指令发送至资产账本系统。

步骤s704:资产账本系统执行第一链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对带有接收方签名的第一链上待转移资产转移指令进行验证,验证通过后,花费待转移资产信息,并生成与接收方的资产账本地址相对应的转移后资产信息。资产账本系统的智能合约层执行模块执行验证操作:验证链上待转移资产转移指令的签名;验证链上待转移资产转移指令的接收方签名对应的用户公钥与接收方的资产账本地址相符;验证查找出的待转移资产数量等于转移后资产信息包含的接收资产数量之和;以及验证第一待转移资产后续交易调用参数满足正常转移触发条件。验证完成后,智能合约层执行模块执行上述第一链上待转移资产转移指令,将待转移资产花费掉,生成第一链上待转移资产转移指令对应的转移后资产。

图8是本发明实施例二中通过链下结算的链上资产转移方法的主要流程示意图。如图8所示本发明实施例二中通过链下结算的链上资产转移方法,主要包括以下步骤:

步骤s801:转让方资产应用终端系统基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成链上资产转移指令,之后将带有转让方签名的链上资产转移指令发送至资产账本系统。该步骤的具体实现与步骤s701相同。

步骤s802:资产账本系统执行链上资产转移指令的被转移资产信息中包含的第一智能合约,以对带有转让方签名的链上资产转移指令进行验证,验证通过后,按照转移资产数量花费转让方的相应资产类别的被转移资产信息,并生成对应的待转移资产信息。该步骤的具体实现与步骤s702相同。

步骤s803:接收方资产应用终端系统基于接收方选择和/或输入的转让方账户信息和应付金额进行链下支付;其中,应付金额与转移资产数量对应的链上资产等价。该步骤的具体实现与步骤s703的支付过程相同。

步骤s804:转让方资产应用终端系统根据接收到的收款信息生成第二链上待转移资产转移指令,之后将带有转让方签名的第二链上待转移资产转移指令发送至资产账本系统。转让方资产应用终端系统基于收到的收款信息生成第二链上待转移资产转移指令,之后使用转让方的用户私钥对该第二链上待转移资产转移指令进行签名,将带有转让方的用户私钥签名的第二链上待转移资产转移指令发送至资产账本系统。

步骤s805:资产账本系统执行第二链上待转移资产转移指令的待转移资产信息中包含的第二智能合约,以对带有所述转让方签名的第二链上待转移资产转移指令进行验证,验证通过后,花费待转移资产信息,并生成与接收方的资产账本地址相对应的转移后资产信息。资产账本系统按照步骤s704的验证内容对第二链上待转移资产转移指令进行验证,验证完成后,智能合约层执行模块执行上述第二链上待转移资产转移指令,将待转移资产花费掉,生成第二链上待转移资产转移指令对应的转移后资产。

根据本发明实施例的技术方案,资产账本系统接收到来自转让方的链上资产转移指令后,执行第一智能合约生成待转移资产,接收方资产应用终端系统通过链下支付模块进行链下支付,完成支付后由资产账本系统执行第二智能合约生成转移后资产,通过上述方式实现了链上资产转移和链下支付的完整交易过程,同时通过智能合约控制链上资产转移和链下支付过程,大大降低了交易风险;交易双方均可以控制将待转移资产变成转移后资产的执行过程,实现方式灵活,满足交易需求;无需第三方平台介入交易过程,不会引发第三方平台信用、安全等问题;在接收方不能在规定时间内提供支付信息或者不能成功发起链下支付交易时,将待转移资产退回转让方,降低交易风险。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

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