CN110659888A - 一种通过链上数字货币结算的链上资产转移***和方法 - Google Patents
一种通过链上数字货币结算的链上资产转移***和方法 Download PDFInfo
- Publication number
- CN110659888A CN110659888A CN201910717652.XA CN201910717652A CN110659888A CN 110659888 A CN110659888 A CN 110659888A CN 201910717652 A CN201910717652 A CN 201910717652A CN 110659888 A CN110659888 A CN 110659888A
- Authority
- CN
- China
- Prior art keywords
- asset
- transferred
- chain
- digital
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3674—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了通过链上数字货币结算的链上资产转移***和方法,涉及数字资产技术领域。该方法的一具体实施方式包括:接收方资产应用终端***生成链上数字货币转移指令,之后将该指令发送至资产账本***;资产账本***执行链上数字货币转移指令中的第一智能合约,生成待转移数字货币信息;转让方资产应用终端***生成相应的链上资产转移指令和待转移数字货币同步转移指令,之后将这两个指令发送至资产账本***;资产账本***执行链上资产转移指令中的第二智能合约以及待转移数字货币同步转移指令中的第三智能合约,完成链上数字货币的转移同时生成转移后资产。该实施方式基于智能合约实现了通过链上数字货币结算的链上资产转移,降低了交易风险。
Description
技术领域
本发明涉及数字资产技术领域,尤其涉及一种通过链上数字货币结算的链上资产转移***和方法。
背景技术
目前区块链技术发展迅速,区块链作为一个去中心化的新型分布式计算范式,为各种数字资产在分布式网络上的运行提供了技术支持。这些数字资产运行在区块链的分布式网络上,不依赖某个特定第三方或中心方记账,而通过共享账本方式进行全局多节点共识记账,并通过加密算法实现了一种技术保障的安全体系。
现有技术中,基于区块链的数字资产典型的交易模式为:转让方发起交易,将其资产账本地址对应的一定数量的数字资产转移至接收方的资产账本地址,形成UTXO(UnspentTransaction Output,未花费的交易输出)交易请求;区块链的共识节点对UTXO交易请求进行全网共识并验证转让方公钥和签名后,在链上记录该UTXO交易,实现由转让方到接收方的数字资产转移。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
(1)现有区块链只是完成了转让方将其拥有的链上数字资产转移至接收方的操作,无法满足真实环境下的交易需求,缺少资产转移对应的支付过程;
(2)缺少对链上数字资产转移操作的保护,交易的转让方在发起资产转移交易后,无法保证一定能收到来自接收方对价支付的价款,存在交易风险;
(3)缺少链上完整的进行资产转移和数字货币支付的交易方法,并且缺少将整个交易过程分步由交易双方单独控制完成的全流程智能合约设计的方法。
发明内容
有鉴于此,本发明实施例提供一种通过链上数字货币结算的链上资产转移***和方法,能够由接收方先发起链上数字货币转移指令,再由转让方将相应资产转移给接收方,实现了一种接收方在链上发起数字货币转移操作、由转让方在链上转移相应资产并完成最终数字货币转移的同步对付的链上资产转移过程,进而实现了对相应支付过程以及整个资产转移过程的全程控制,并且降低了交易风险。
为实现上述目的,根据本发明实施例的一个方面,提供了一种通过链上数字货币结算的链上资产转移***。
根据本发明实施例的通过链下结算的链上资产转移***,包括:接收方资产应用终端***、资产账本***和转让方资产应用终端***;其中,所述接收方资产应用终端***,用于基于接收方选择和/或输入的数字货币类别、应付数字货币数量和转让方信息,生成包含被转移数字货币信息的链上数字货币转移指令,并将带有所述接收方签名的链上数字货币转移指令发送至所述资产账本***;所述资产账本***,用于执行所述被转移数字货币信息中包含的第一智能合约,以对所述带有所述接收方签名的链上数字货币转移指令进行验证;验证通过后,按照所述转移数字货币数量花费所述接收方的被转移数字货币信息,并生成对应的待转移数字货币信息;所述转让方资产应用终端***,用于基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成包含被转移资产信息的链上资产转移指令,并根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;之后将带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令发送至所述资产账本***;其中,所述转移资产与所述对应的待转移数字货币等价;所述资产账本***,还用于执行所述被转移资产信息中包含的第二智能合约,以及执行所述待转移数字货币信息中包含的第三智能合约,以对所述带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证都通过后,花费所述被转移资产信息并生成与所述接收方相对应的转移后资产信息,同时花费所述待转移数字货币信息并生成与所述转让方的资产账本地址相对应的转移后数字货币信息。
可选地,所述接收方资产应用终端***包括:接收方数字资产钱包、接收方数字货币钱包;
所述接收方资产应用终端***生成包含被转移数字货币信息的链上数字货币转移指令,包括:所述接收方数字货币钱包生成包含被转移数字货币信息的链上数字货币转移指令,并对所述链上数字货币转移指令进行签名;
所述链上数字货币转移指令包括:所述被转移数字货币信息,所述转移后数字货币信息,找回数字货币信息;所述被转移数字货币信息包括:所述接收方的资产账本地址,被转移数字货币索引标识,控制被转移数字货币后续交易的第一智能合约和被转移数字货币数量。
可选地,所述资产账本***对所述带有所述接收方签名的链上数字货币转移指令进行验证,包括:
验证所述链上数字货币转移指令中的所述接收方数字货币钱包的签名;确认签名验证通过后,
根据所述被转移数字货币信息查找被转移数字货币的权利人地址;验证查找出的被转移数字货币的权利人地址与所述链上数字货币转移指令的接收方数字货币钱包签名对应的用户公钥是否相符;以及,
验证查找出的被转移数字货币数量,是否等于所述转移后数字货币资产明细的接收数字货币数量与找回数字货币资产明细的接收数字货币数量之和;
若都是,确认验证通过。
可选地,所述接收方数字货币钱包在生成链上数字货币转移指令之前,所述接收方数字资产钱包还用于:
根据所述接收方在链上资产查询功能界面中输入和/或选择的查询要求,生成链上待转移资产查询请求信息;并将带有所述接收方数字资产钱包签名的链上待转移资产查询请求信息发送至所述资产账本***;
所述资产账本***还用于:对所述带有所述接收方数字资产钱包签名的链上待转移资产查询请求信息进行验证,验证通过后,将链上待转移资产查询结果信息添加签名后返回至所述接收方资产应用终端***中的接收方数字资产钱包;
所述接收方数字资产钱包还用于:对所述链上待转移资产查询结果信息进行验证,验证通过后,向所述接收方显示所述链上待转移资产查询结果信息。
可选地,所述接收方数字货币钱包在生成链上数字货币转移指令之前,还用于:
根据所述接收方在链上资产查询功能界面中输入和/或选择的查询要求,生成接收方链上数字货币查询请求信息;并将带有所述接收方数字货币钱包签名的接收方链上数字货币查询请求信息发送至所述资产账本***;
所述资产账本***,还用于:对所述带有所述接收方数字货币钱包签名的接收方链上数字货币查询请求信息进行验证,验证通过后,将接收方链上数字货币查询结果信息添加签名后返回至所述接收方资产应用终端***中的接收方数字货币钱包;
所述接收方数字货币钱包还用于:对接收方链上数字货币查询结果信息进行验证,验证通过后,向所述接收方显示接收方链上数字货币查询结果信息。
可选地,所述转让方资产应用终端***包括:转让方数字资产钱包、转让方数字货币钱包;
所述转让方资产应用终端***基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址生成包含被转移资产信息的链上资产转移指令,包括:所述转让方数字资产钱包生成包含被转移资产信息的链上资产转移指令;
所述链上资产转移指令包括:所述被转移资产信息,所述待转移资产信息,找回资产信息;所述被转移资产信息包括:所述转让方的资产账本地址,被转移资产索引标识,控制被转移资产后续交易的第二智能合约和被转移资产数量。
所述转让方数字资产钱包还用于:对所述链上资产转移指令进行签名,之后将带有转让方数字资产钱包签名的链上资产转移指令发送至所述转让方数字货币钱包。
可选地,所述转让方资产应用终端***根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令包括:
所述转让方数字货币钱包接收到转让方数字资产钱包发送的带有转让方数字资产钱包签名的链上资产转移指令之后,对所述链上资产转移指令上的转让方数字资产钱包签名进行验证;验证通过后,根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;
所述待转移数字货币同步转移指令包括:所述待转移数字货币信息,所述转移后数字货币信息,所述待转移数字货币后续交易调用参数;所述待转移数字货币后续交易调用参数为链上资产转移指令的执行状态;所述待转移数字货币信息包括:待转移数字货币索引标识,控制待转移数字货币后续转移的第三智能合约和待转移数字货币数量,所述第三智能合约包含待转移数字货币转移触发条件验证,所述待转移数字货币转移触发条件包括正常转移触发条件和撤销回退触发条件;
所述转让方数字货币钱包还用于:对所述待转移数字货币同步转移指令进行签名,之后将带有转让方数字资产钱包签名的链上资产转移指令,以及带有转让方数字货币钱包签名的待转移数字货币同步转移指令发送至所述资产账本***。
可选地,所述资产账本***对所述带有所述转让方数字资产钱包签名的链上资产转移指令进行验证,包括:
验证所述链上资产转移指令中的所述转让方数字资产钱包的签名;确认签名验证通过后,
根据所述被转移资产信息查找被转移资产的权利人地址;验证查找出的被转移资产的权利人地址与所述链上资产转移指令的转让方签名对应的用户公钥是否相符;以及,
验证查找出的被转移资产数量,是否等于所述待转移资产信息包含的接收资产数量与所述找回资产信息包含的接收资产数量之和;
若都是,确认验证通过。
可选地,所述转让方数字资产钱包在生成链上资产转移指令之前,还用于:
根据所述转让方在链上资产查询功能界面中输入和/或选择的查询要求,生成转让方链上资产查询请求信息;并将带有所述转让方数字资产钱包签名的转让方链上资产查询请求信息发送至所述资产账本***;所述资产账本***,还用于:对所述带有所述转让方数字资产钱包签名的转让方链上资产查询请求信息进行验证,验证通过后,将转让方链上资产查询结果信息添加签名后返回至所述转让方资产应用终端***中的转让方数字资产钱包;所述转让方数字资产钱包还用于:对所述转让方链上资产查询结果信息进行验证,验证通过后,向所述转让方显示所述转让方链上资产查询结果信息。
可选地,在所述转让方数字资产钱包生成链上资产转移指令之前,所述转让方数字货币钱包还用于:
根据所述转让方在链上资产查询功能界面中输入和/或选择的查询要求,生成待转移数字货币查询请求信息;并将带有所述转让方数字货币钱包签名的待转移数字货币查询请求信息发送至所述资产账本***;
所述资产账本***,还用于:对所述带有所述转让方数字货币钱包签名的待转移数字货币查询请求信息进行验证,验证通过后,将待转移数字货币查询结果信息添加签名后返回至所述转让方资产应用终端***中的转让方数字货币钱包;
所述转让方数字货币钱包还用于:对待转移数字货币查询结果信息进行验证,验证通过后,向所述转让方显示待转移数字货币查询结果信息。
可选地,所述资产账本***对所述带有转让方数字货币钱包签名的待转移数字货币同步转移指令进行验证,包括:
验证所述待转移数字货币同步转移指令中的所述转让方数字货币钱包的签名;确认签名验证通过后,
验证转让方的资产账本地址与所述待转移数字货币同步转移指令的转让方数字货币钱包签名对应的用户公钥是否相符;以及,
验证所述待转移数字货币后续交易调用参数是否满足所述正常转移触发条件;
若是,确认验证通过。
可选地,所述资产账本***还用于:在对所述链上资产转移指令、以及所述待转移数字货币同步转移指令进行验证后,在确认这两个验证中至少有一个未通过的情况下,同时撤销这两个指令。
可选地,所述转让方资产应用终端***,还用于:从所述资产账本***中获取所述被转移资产转移后生成的最终链上资产信息,若所述最终链上资产信息中存在所述转移后资产信息,则确认资产转移支付成功;
所述接收方资产应用终端***,还用于:从所述资产账本***中获取资产转移后所述接收方的最终链上资产信息,若所述接收方的最终链上资产信息中存在所述转移后资产信息,则确认资产转移支付成功。
可选地,所述转让方资产应用终端***,还用于:从所述资产账本***中获取数字货币转移后生成的最终数字货币信息,若所述最终数字货币信息中存在所述转移后数字货币信息,则确认资产转移支付成功;
所述接收方资产应用终端***,还用于:从所述资产账本***中获取所述被转移数字货币转移后所述转让方生成的最终数字货币信息,若所述接收方的最终链上资产信息中存在所述转移后数字货币信息,则确认资产转移支付成功。
可选地,所述接收方资产应用终端***,还用于:
检测预设时间内所述链上资产转移指令是否成功被执行,在所述链上资产转移指令未被成功执行的情况下,将带有所述接收方签名的所述待转移数字货币退回指令发送至所述资产账本***;
所述资产账本***,还用于:执行所述待转移数字货币退回指令的待转移数字货币信息中包含的第三智能合约,以对带有所述接收方签名的所述链上待转移数字货币退回指令进行验证;验证通过后,花费所述待转移数字货币信息,并生成与所述接收方资产账本地址相对应的退回数字货币信息。
可选地,所述转让方资产应用终端***,还用于:
检测预设时间内所述链上资产转移指令是否成功被执行,在所述链上资产转移指令未被成功执行的情况下,将带有所述转让方签名的所述待转移数字货币退回指令发送至所述资产账本***;
所述资产账本***,还用于:执行所述待转移数字货币退回指令的待转移数字货币信息中包含的第三智能合约,以对带有所述转让方签名的所述链上待转移数字货币退回指令进行验证;验证通过后,花费所述待转移数字货币信息,并生成与所述接收方资产账本地址相对应的退回数字货币信息。
可选地,对所述待转移数字货币退回指令进行验证,包括:验证所述待转移数字货币退回指令的签名;以及,验证从生成所述待转移数字货币信息到接收到所述待转移数字货币退回指令的等待时间满足撤销回退触发条件。
可选地,所述资产账本***,还用于:执行所述待转移数字货币信息中包含的第三智能合约,以通过所述第三智能合约检测是否满足所述撤销回退触发条件,如果满足所述撤销回退触发条件,则花费所述待转移数字货币信息,并生成与所述接收方的资产账本地址相对应的退回数字货币信息。
根据本发明实施例的另一个方面,提供一种通过链上数字货币结算的链上资产转移方法。
根据本发明实施例的通过链上数字货币结算的链上资产转移方法,其特征在于,包括:接收方资产应用终端***基于接收方选择和/或输入的数字货币类别、应付数字货币数量和转让方信息,生成包含被转移数字货币信息的链上数字货币转移指令,并将带有所述接收方签名的链上数字货币转移指令发送至所述资产账本***;
所述资产账本***执行所述被转移数字货币信息中包含的第一智能合约,以对所述带有所述接收方签名的链上数字货币转移指令进行验证;验证通过后,按照所述转移数字货币数量花费所述接收方的被转移数字货币信息,并生成转移数字货币信息;
转让方资产应用终端***基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成包含被转移资产信息的链上资产转移指令,并根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;之后将带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令发送至所述资产账本***;其中,所述转移资产与所述对应的待转移数字货币等价;
所述资产账本***执行所述被转移资产信息中包含的第二智能合约,以及执行所述待转移数字货币信息中包含的第三智能合约,以对所述带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证都通过后,花费所述被转移资产信息并生成与所述接收方相对应的转移后资产信息,同时花费所述待转移数字货币信息并生成与所述转让方的资产账本地址相对应的转移后数字货币信息。
上述发明中的一个实施例具有如下优点或有益效果:资产账本***接收到来自接收方的链上数字货币转移指令后,执行第一智能合约生成待转移数字货币,转让方资产应用终端***进行相对应的链上资产转移,发起链上资产转移指令和待转移数字货币同步转移指令,由资产账本***执行第二智能合约和第三智能合约,同时完成应付的链上资产和待转移数字货币的转移,生成转移后资产和转移后数字货币;通过上述方式实现了链上数字货币支付和链上资产转移的完整交易过程,同时通过智能合约控制链上数字货币支付和链上资产转移的过程,保证了接收方支付的数字货币与转让方需要转移的资产的同步对付,并且在转让方没有在规定时间内正常发起对应的链上资产转移指令的情况下,能够将待转移数字货币退回给接收方,大大降低了交易风险。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例一中通过链上数字货币结算的链上资产转移***的主要子***示意图;
图2是本发明实施例一中通过链上数字货币结算的链上资产转移***进行资产转移的主要流程示意图;
图3是本发明实施例二中通过链上数字货币结算的链上资产转移***进行资产转移的主要流程示意图;
图4是本发明实施例三中通过链上数字货币结算的链上资产转移***进行待转移数字货币退回的主要流程示意图;
图5是本发明实施例四中通过链上数字货币结算的链上资产转移***进行资产转移支付确认的主要流程示意图;
图6是本发明实施例一中通过链上数字货币结算的链上资产转移方法的主要流程示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例中接收方为发起链上数字货币转移操作的用户;转让方为接收转移后的数字货币、并发起相应链上资产转移操作的用户。接收方和转让方达成了如下交易:由接收方将一定数量的链上数字货币转移给转让方,转让方再发起相对应的链上资产转移操作,将链上资产转移给接收方。为了实现上述链上数字货币转移和链上资产转移的交易,实施例中引入了区块链和智能合约。智能合约是运行在区块链共享账本上的,具有自动化、强制执行、可信安全特点的分布式执行软件。在交易发起后,智能合约可以控制链上资产和数字货币的转移、退回等操作。具体实现原理如下:
接收方发起交易,将链上数字货币X转移给转让方;资产账本***接收到来自接收方的链上数字货币转移指令后,执行智能合约,将链上数字货币X变成待转移数字货币T1,如果X>T1则同时生成找回数字货币T0(T0的数字货币数量等于X的数字货币数量减去T1的数字货币数量)给接收方;之后转让方生成链上资产转移指令,拟将对应的链上资产Y转移给接收方;同时,转让方根据链上资产转移指令生成待转移数字货币同步转移指令,并将链上资产转移指令和待转移数字货币同步转移指令都发送给资产账本***;资产账本***执行智能合约,将对应的链上资产Y转移给接收方,同时将待转移数字货币T1转移给转让方。上述实现过程中,通过智能合约来控制交易双方(即接收方和转让方)的交易过程,交易安全可信,防止交易风险。
图1是本发明实施例一中通过链上数字货币结算的链上资产转移***的主要子***示意图;如图1所示,本发明实施例一的通过链上数字货币结算的链上资产转移***100,主要包括:
接收方资产应用终端***101,用于基于接收方选择和/或输入的数字货币类别、应付数字货币数量和转让方信息,生成链上数字货币转移指令,之后将带有所述接收方签名的链上数字货币转移指令发送至所述资产账本***。其中,链上数字货币转移指令包括:被转移数字货币信息(归属于接收方的,且准备转移至转让方的链上数字货币信息)、待转移数字货币信息(执行链上数字货币转移指令后生成的,待转移至转让方的链上数字货币信息)、找回数字货币信息(当数字货币转移过程中需要找零的情况下,在执行数字货币转移指令后生成的转移至接收方的链上数字货币信息)等。接收方资产应用终端***在终端设备上向用户(即接收方)展示链上数字货币转移功能界面,该链上数字货币转移功能界面用于用户输入和/或选择数字货币转移要求。接收方在链上数字货币转移功能界面中选择(或者输入)数字货币类别、应付数字货币数量和转让方数字货币钱包地址,接收方资产应用终端***即可生成链上数字货币转移指令;之后使用接收方的用户私钥对该链上数字货币转移指令进行签名,将带有接收方的用户私钥签名的链上数字货币转移指令发送至资产账本***;其中,转让方数字货币钱包可以存在于转让方资产应用终端***中。
资产账本***102,用于执行链上数字货币转移指令中的被转移数字货币信息中包含的第一智能合约,以对带有接收方签名的链上数字货币转移指令进行验证,验证通过后,按照转移数字货币数量花费接收方的被转移数字货币信息,并生成对应的待转移数字货币信息。资产账本***的智能合约层执行模块执行验证操作:验证链上数字货币转移指令:验证所述链上数字货币转移指令中的所述接收方数字货币钱包的签名;确认签名验证通过后,根据所述被转移数字货币信息查找被转移数字货币的权利人地址;验证查找出的被转移数字货币的权利人地址与所述链上数字货币转移指令的接收方数字货币钱包签名对应的用户公钥是否相符;以及,验证查找出的被转移数字货币数量,是否等于所述转移后数字货币资产明细的接收数字货币数量与找回数字货币资产明细的接收数字货币数量之和;若都是,确认验证通过。验证完成后,智能合约层执行模块执行上述链上数字货币转移指令,将被转移数字货币花费掉,生成链上数字货币转移指令对应的待转移数字货币和找回数字货币。
其中,“花费A消息,生成对应的B消息”中的“花费”的含义可以理解为:根据A消息生成对应的B消息,同时将A消息状态标记为“已花费状态”,并与B消息建立表示花费的关联关系。全文中的“花费”含义都可以按如上方式理解。
转让方资产应用终端***103,用于基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成包含被转移资产信息的链上资产转移指令,并根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;之后将带有转让方签名的链上资产转移指令和待转移数字货币同步转移指令发送至资产账本***;其中,转移的链上资产与待转移数字货币等价。
资产账本***102,还用于执行上述被转移资产信息的中的第二智能合约和上述待转移数字货币信息中的第三智能合约,以对带有转让方签名的链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证都通过后,花费所述被转移资产信息并生成与所述转让方相对应的转移后资产信息,同时花费所述待转移数字货币信息并生成与所述转让方的资产账本地址相对应的转移后数字货币信息。资产账本***的智能合约层执行模块执行验证操作,包括:(1)验证链上资产转移指令:验证所述链上资产转移指令中的所述转让方数字资产钱包的签名;确认签名验证通过后,根据所述被转移资产信息查找被转移资产的权利人地址;验证查找出的被转移资产的权利人地址与所述链上资产转移指令的转让方数字资产钱包签名对应的用户公钥是否相符;以及验证查找出的被转移资产数量是否等于待转移资产信息包含的接收资产数量与找回资产信息包含的接收资产数量之和;若都是,确认验证通过。(2)验证待转移数字货币同步转移指令:验证所述待转移数字货币同步转移指令中的所述转让方数字货币钱包的签名;确认签名验证通过后,验证转让方的资产账本地址与所述待转移数字货币同步转移指令的转让方数字货币钱包签名对应的用户公钥是否相符;以及,(3)验证所述待转移数字货币后续交易调用参数是否满足所述正常转移触发条件;若是,确认验证通过。验证都通过后,智能合约层执行模块执行上述链上资产转移指令和待转移数字货币同步转移指令,花费所述被转移资产信息并生成与所述接收方数字资产钱包地址相对应的转移后资产信息,同时花费所述待转移数字货币信息并生成与所述转让方的资产账本地址相对应的转移后数字货币信息;其中,接收方数字资产钱包可以存在于接收方资产应用终端***中。
图2是本发明实施例一中通过链上数字货币结算的链上资产转移***进行资产转移的主要流程示意图。如图2所示,本发明实施例一的通过链上数字货币结算的链上资产转移***进行资产转移的主要流程,包括以下步骤:
步骤S201:转让方访问安装在转让方终端设备上的转让方资产应用终端***,按照预先设置好的登录识别方式提交识别信息后登录转让方资产应用终端***。
资产应用终端***可以是安装在终端设备上的与资产账本***对应的***软件;用户可以通过访问资产托管***,从资产托管***上下载并安装资产应用终端***软件。终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,比如手机、平板电脑、台式计算机等。其中,登录识别方式可以为用户名和密码识别、指纹识别、人脸识别等方式,相应的识别信息可以是:用户名和密码,或者与该用户名对应的预设格式的识别码。预设格式的识别码可以是字符形式的密码,也可以是生物识别码,如用户的指纹、面部信息、虹膜信息等。
接收方资产应用终端***识别该用户后,确定接收方为本地关联特定用户私钥的用户。接收方资产应用终端***包括本地安全模块,在该模块中保存用户私钥和用户公钥。用户公钥和用户私钥由资产应用终端***在本地采用非对称加密算法生成。用户私钥可以用于对用户身份信息、用户的银行卡信息、用户的生物识别码信息或用户的身份证书等数据信息进行签名,也可以在后续资产交易或融资流程中用于对数字资产信息进行签名,以确认交易的所有权;用户公钥可以用于对被该用户私钥进行签名过的数据信息进行相应的验证。
需要注意的是,在资产交易过程中,可以是实名用户交易也可以是匿名用户交易。对于实名用户而言,可以在资产托管***中注册实名用户信息,该实名用户信息对应到资产账本***中记录资产所有者的资产账本地址。资产托管***中存储有用户对应的实名账本记录。资产托管***可以是对用户将链下的实名登记资产通过指定的资产托管方进行托管登记管理、以及对托管资产在区块链上发行数字资产的过程进行登记管理的***,用户可以通过Web或其它方式对该资产托管***进行访问,发行数字资产的过程包括链下资产上链流程和链上资产下链流程。其中,链下资产上链,即是将用户在区块链之下的实名资产通过资产托管方托管后,由资产托管***向基于区块链的资产账本***发行链上数字资产;链上资产下链,即是将用户在区块链上的数字资产作废,并将该数字资产对应的链下托管资产返还转让至用户。实名账本记录包括:与用户的身份信息相关联的身份证书和与用户的身份信息相关联的资产账本地址,身份证书包括:用户的身份标识和用户公钥。链上资产对应至少一个资产账本地址,该资产账本地址与用户公钥相对应,因此持有该用户公钥对应的用户私钥的用户才可以操作该链上资产。身份证书可以是为信息不可抵赖提供的CA(Certification Authority,证书授权中心)证书。
步骤S202:接收方资产应用终端***根据接收方选择和/或输入的数字货币类别、应付数字货币数量和转让方数字货币钱包地址信息,生成包含被转移数字货币信息的链上数字货币转移指令,之后将带有接收方签名的链上数字货币转移指令发送至资产账本***的智能合约层执行模块。
资产账本***是基于区块链技术的资产账本***,其包括智能合约层执行模块和共识账本层执行模块,智能合约层执行模块用于接收用户指令并执行指令;共识账本层执行模块用于实现验证、查询、记录等操作。资产账本***中的链上资产通过资产序号或者资产索引来标识指定。
其中,链上数字货币转移指令是指接收方对于自己链上的数字货币,向智能合约层执行模块发起链上数字货币转移的指令。在一可选的实施例中,链上数字货币转移指令包括:被转移数字货币信息、待转移数字货币信息、找回数字货币信息等;实施例中上述信息均可以采用列表形式存储;其中被转移数字货币信息中需要包含被转移数字货币索引标识,以表示该被转移数字货币是基于币的模式被标识的,而不是基于账户模式被标识的。
需要注意的是,被转移数字货币信息、待转移数字货币信息和找回数字货币信息中均可以包括用于控制后续交易的智能合约,且智能合约中包含有后续交易的触发条件。如未特殊说明,该智能合约为常规非定制化的缺省智能合约。待转移数字货币信息的智能合约的触发条件有两个,一个是正常转移触发条件,另一个是撤销回退触发条件,具体可按照交易双方的约定来设置。
正常转移触发条件,是将待转移数字货币最终生成接收方实际接收到的数字货币。例如,交易双方的接收方先转移链上数字货币,生成对应的待转移数字货币(待转移数字货币属于在途状态,不归属任何一个交易方);并设置转让方必须成功向接收方转移了相应的链上资产后,才能最终完成将待转移数字货币生成资产账本地址为转让方的转移后数字货币;具体地,在一些实施例中,转让方必须向接收方发起链上资产转移指令,并将执行成功的结果看做一种前置验证,该前置验证可以作为转让方根据链上资产转移相应发起的、将待转移数字货币转移给转让方作为转移后数字货币的正常转移触发条件。
撤销回退触发条件,是指将待转移数字货币退回给接收方。例如,交易双方的接收方先转移链上数字货币,生成对应的待转移数字货币;并设置如果转让方在规定时间内不能提供支付到账凭证或者接收方不能成功执行支付数字货币的交易;或设置转让方未能足量发起链上资产转移指令并发起相应的待转移数字货币转移指令,待转移数字货币还有余额,则对该待转移数字货币转移后的余额执行一个新的转移交易,转移给接收方。
接收方资产应用终端***生成链上数字货币转移指令后,使用接收方的用户私钥对该链上数字货币转移指令进行签名,之后将带有接收方的用户私钥签名的链上数字货币转移指令发送至智能合约层执行模块,以触发智能合约层执行模块执行链上数字货币转移指令的被转移数字货币信息中包含的智能合约。
步骤S203:资产账本***的智能合约层执行模块对链上数字货币转移指令进行验证,验证通过后,执行链上数字货币转移指令。
验证的实现过程包括:验证链上结算的链上数字货币转移指令的签名;根据被转移数字货币信息查找被转移数字货币的权利人地址和被转移数字货币数量,验证查找出的被转移数字货币的权利人地址与链上数字货币转移指令的签名对应的用户公钥相符;验证查找出的被转移数字货币数量等于待转移数字货币明细的接收数字货币数量与找回数字货币明细的接收数字货币数量之和。
本发明实施例中的相符是指将用户公钥经哈希运算得到的结果与对应链上数字货币所属的权利人地址相同。链上数字货币转移指令中实际包括了执行该资产交易的智能合约所需的后续交易调用参数,智能合约层执行模块收到链上数字货币转移指令后,执行该链上数字货币转移指令内部的智能合约。实施例中将链上数字货币转移指令的被转移数字货币信息中包含的可触发被转移数字货币进行后续操作的验证智能合约以及生成待转移数字货币信息操作的执行智能合约称为第一智能合约。
被转移数字货币转移成待转移数字货币的智能合约执行过程为:使用被转移数字货币信息中包含的第一智能合约检查链上数字货币转移指令的签名,并判断是否满足该第一智能合约中指定的触发条件,如果满足指定的触发条件,则按照链上数字货币转移指令生成待转移数字货币信息,即将被转移数字货币花费掉,并生成链上数字货币转移指令对应的待转移数字货币信息和找回数字货币信息。该链上数字货币转移指令的第一智能合约执行后,将被转移数字货币转变为对应的待转移数字货币。
步骤S204:资产账本***的智能合约层执行模块将链上数字货币转移指令的执行结果信息记录到共识账本层执行模块。智能合约层执行模块将花费掉被转移数字货币,生成链上数字货币转移指令对应的待转移数字货币信息和找回数字货币信息这一执行结果记录到共识账本层执行模块。
步骤S205:转让方访问安装在转让方终端设备上的转让方资产应用终端***,按照预先设置好的登录识别方式提交识别信息后登录转让方资产应用终端***。该步骤的实现原理与步骤S201相同。实施例中并不限定本步骤的执行顺序,其在步骤S206之前执行即可。转让方资产应用终端***识别该用户后,确定转让方为本地关联特定用户私钥的用户。转让方资产应用终端***也包括本地安全模块,在该模块中保存用户私钥和公钥信息。
步骤S206:转让方资产应用终端***根据转让方选择的资产类别、输入的转移资产数量和接收方的资产账本地址,生成链上资产转移指令,并根据所述链上资产转移指令生成待转移数字货币同步转移指令;之后将带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令都发送至所述资产账本***。
链上资产转移的过程为:转让方资产应用终端***根据转让方选择的资产类别、输入的转移资产数量和接收方的资产账本地址,生成链上资产转移指令,所述转移资产与待转移数字货币等价。链上资产转移指令中的被转移资产信息中包含的第二智能合约,可以控制被转移资产的后续交易;其中,被转移资产信息中还包括被转移资产索引标识,用于在检索资产信息时标识指定,以表示该被转移资产是基于资产序号或资产索引的模式被标识的,而不是基于账户模式被标识的。
待转移数字货币同步转移指令是指转让方可以向智能合约执行层模块发起的针对待转移数字货币信息的转移指令,该指令用于触发待转移数字货币信息中包含的第三智能合约(即将待转移数字货币信息变成转移后数字货币信息的智能合约)的执行。
在一可选的实施例中,待转移数字货币同步转移指令包括:待转移数字货币信息、转移后数字货币信息、待转移数字货币后续交易调用参数等。待转移数字货币后续交易调用参数是指执行待转移数字货币信息中包含的第三智能合约时需要调用的参数,该参数可以是接收方成功执行链上资产转移指令;转移后数字货币信息是指执行待转移数字货币信息中包含的智能合约后生成的最终转移后数字货币;其中待转移数字货币信息中需要包含待转移数字货币索引标识,以表示该待转移数字货币是基于币的模式被标识的,而不是基于账户模式被标识的。
需要注意的是,转移后数字货币信息中也包括用于后续交易的智能合约,且智能合约中包含有后续交易的触发条件以及触发条件的验证,还规定了接收方拥有的对转移后数字货币的操作权限。通常情况下,接收方拥有的对转移后数字货币进行操作的全部权利。
步骤S207:资产账本***的智能合约层执行模块对链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证通过后,执行链上资产转移指令和待转移数字货币同步转移指令。
验证的实现过程包括:(1)验证链上资产转移指令:验证所述链上资产转移指令的签名;确认签名验证通过后,根据被转移资产信息查找被转移资产的权利人地址和被转移资产数量,验证查找出的被转移资产的权利人地址与链上资产转移指令的签名对应的用户公钥是否相符;验证查找出的被转移资产数量是否等于待转移资产明细的接收资产数量与找回资产明细的接收资产数量之和;若都是,确认验证通过;
(2)验证待转移数字货币同步转移指令:验证所述待转移数字货币同步转移指令中的所述转让方数字货币钱包的签名;确认签名验证通过后,验证转让方的资产账本地址与所述待转移数字货币同步转移指令的转让方数字货币钱包签名对应的用户公钥是否相符;
(3)验证所述待转移数字货币后续交易调用参数是否满足所述正常转移触发条件,若是,确认验证通过。在本实施例中,正常转移触发条件可以是:***试运行带转让方数字资产钱包签名的链上资产转移指令后,确认可以成功执行。
需要注意的是,在对所述链上资产转移指令、以及所述待转移数字货币同步转移指令进行验证后,在确认这两个验证中至少有一个未通过的情况下,所述资产账本***还可以用于同时撤销这两个指令,即资产账本***对这两个指令的执行结果不做更新。
链上资产转移指令的被转移资产信息中实际包含触发被转移资产后续交易的第二智能合约;
待转移数字货币同步转移指令中实际包括了执行该资产交易的智能合约所需的后续交易调用参数,智能合约层执行模块收到待转移数字货币同步转移指令后,执行该待转移数字货币同步转移指令内部的智能合约。实施例中将待转移数字货币信息中包含的智能合约称为第三智能合约。
被转移资产成为转移后资产、同时待转移数字货币转移成转移后数字货币的智能合约执行过程为:
使用待转移数字货币信息中包含的第三智能合约检查待转移数字货币同步转移指令中包含的待转移数字货币后续交易调用参数是否满足该第三智能合约中指定的正常转移触发条件,如果满足指定的正常转移触发条件则按照待转移数字货币同步转移指令生成转移后数字货币信息,即将待转移数字货币花费掉,生成待转移数字货币同步转移指令对应的转移后数字货币信息。该待转移数字货币同步转移指令的第三智能合约执行后,将待转移数字货币完成最终转移;
同时,使用被转移资产信息中包含的第二智能合约控制被转移资产转移成为与接收方的资产账本地址对应的转移后资产;
其中,所述指定的正常转移触发条件可以是:转让方成功执行链上资产转移指令后,将执行结果作为调用参数传给待转移数字货币的第三智能合约进行验证,将验证通过的结果作为正常转移触发条件。
步骤S208:资产账本***的智能合约层执行模块将待转移数字货币同步转移指令和链上资产转移指令的执行结果信息记录到共识账本层执行模块。智能合约层执行模块将以下两个执行结果记录到共识账本层执行模块:(1)花费所述被转移资产信息并生成与所述接收方的链上数字资产钱包地址相对应的转移后资产信息;(2)同时花费所述待转移数字货币信息并生成与所述转让方的数字货币钱包相对应的转移后数字货币信息;
在该过程中,由资产账本***控制对两个指令的执行结果进行同步更新。
实施例二:交易双方在交易之前需要做一些准备工作,比如登录各自的资产应用终端***,查询各自持有的链上资产等。实施例二中,接收方通过其资产应用终端***查询其持有的链上数字货币,以便于转让方基于获取的链上数字货币查询结果信息输入转移数字货币数量;其中,接收方资产应用终端***可以包括接收方数字资产钱包、接收方数字货币钱包。转让方通过其资产应用终端***查询资产账本***中是否已经生成自身对应的待转移数字货币信息,便于转让方开始进行相应的链上资产的转移;其中,转让方资产应用终端***包括:转让方数字资产钱包、转让方数字货币钱包。具体实现如下:
图3是本发明实施例二中通过链上数字货币结算的链上资产质押融资***进行资产质押融资的主要流程示意图。如图3所示,本发明实施例二的通过链上数字货币结算的链上资产质押融资***进行资产质押融资的主要流程,包括以下步骤:
步骤S301:接收方访问安装在接收方终端设备上的接收方资产应用终端***,按照预先设置好的登录识别方式提交识别信息后登录接收方资产应用终端***。该步骤与步骤S201的实现过程相同。
以下步骤S302~S304是接收方用户查询并得到接收方链上资产查询结果信息的过程:
步骤S302:接收方资产应用终端***在接收方终端设备上向接收方展示链上资产查询功能界面,根据接收方在链上资产查询功能界面中输入和/或选择的查询要求,接收方资产应用终端***中的接收方数字资产钱包生成接收方链上资产查询请求信息,之后将带有接收方数字资产钱包签名的接收方链上资产查询请求信息发送至资产账本***的共识账本层执行模块。
接收方进入接收方资产应用终端***提供的链上资产查询功能界面,该链上资产查询功能界面用于用户输入和/或选择查询要求,共同组成接收方发起的接收方链上资产查询请求信息。接收方链上资产查询请求信息是指接收方对于自己已上链的数字资产,可以发起数字资产查询的请求。在一可选的实施例中,接收方链上资产查询请求信息包括:接收方对应的资产账本地址和查询要求。
查询要求是指用户进行链上资产查询可能用到的一些限制因素。在一可选的实施例中,查询要求包括:查询条件和查询结果。查询条件可以为下列任意一项或者多项:资产序号、资产类别、资产状态等。其中,资产状态包括:有效状态、冻结状态、作废状态等。
查询结果可以为下列任意一项或者多项:资产数量、资产明细、初始块信息、终结块信息、资产交易历史记录、初始块对应的托管资产保存信息、终结块对应的托管资产保存信息等。初始块信息包括:初始块块号、资产序号、托管资产登记索引信息、托管资产描述信息、权利人地址、资产发行单位数量、有效资产单位数量。终结块信息包括:终结块对应的已终结初始块记录列表、终结块块号、带存储服务***签名的更新的托管资产登记索引信息。托管资产保存信息可以认为是在存储服务***中存放的、与链下资产托管上链或链上资产下链返还相关的、证实资产托管方作为托管资产权利人的全面的托管资产信息,在可选的实施例中,托管资产保存信息包括:纸质文件电子化或者纯电子化的凭证信息(比如可以是电子签名存档,或者通过资产权利登记***查询到的结果)。
本步骤用于使接收方向接收方资产应用终端***发起查询接收方链上资产信息的操作。具体实现可以是接收方访问接收方资产应用终端***的数字资产钱包的相应功能。需要注意的是,如果接收方链上资产查询请求信息中包含资产类别,则只查询该资产类别对应的链上资产;如果接收方链上资产查询请求信息中不包含资产类别,则查询所有资产类别对应的链上资产。
步骤S303:资产账本***的共识账本层执行模块对接收方链上资产查询请求信息进行验证,验证通过后,将接收方的资产账本地址对应的接收方链上资产查询结果信息添加签名后返回至接收方资产应用终端***。
其中,验证内容包括:验证接收方链上资产查询请求信息的签名。
接收方链上资产查询结果信息包括:带有接收方数字资产钱包签名的接收方链上资产查询请求信息、资产类别、链上未花费资产信息列表、与接收方链上未花费资产对应的有效初始块信息列表等。接收方链上未花费资产信息包括:权利人地址、资产类别、资产数量等。接收方链上未花费资产信息列表中每一个链上未花费资产信息的权利人地址都与接收方链上资产查询请求信息中接收方的资产账本地址相同。有效初始块信息包括:链上托管资产发行信息、链上托管资产登记索引信息等。
步骤S304:接收方资产应用终端***验证接收链上资产查询结果信息的签名,验证通过后,向接收方显示接收链上资产查询结果信息。接收方可以根据显示的接收方链上资产查询结果信息了解自身当前持有的链上资产,进而方便在完整的链上资产转移过程成功结束之后核对所持有的链上资产。
以下步骤S305~S307是接收方用户查询并得到接收方链上数字货币查询请求信息的过程:
步骤S305:接收方资产应用终端***在接收方终端设备上向接收方展示链上数字货币查询功能界面,根据接收方在链上资产查询功能界面中输入和/或选择的查询要求,接收方资产应用终端***中的接收方数字货币钱包生成接收方链上数字货币查询请求信息,之后将带有接收方数字资产钱包签名的链上数字货币查询请求信息发送至资产账本***的共识账本层执行模块。
接收方链上数字货币查询请求可以包括:接收方链上数字货币钱包地址信息;如果该请求包含数字货币类别号,则可以只查询该类数字货币,否则查询所有类型的数字货币。特别地,在跨境场景下,链上可以查询多种数字货币。
步骤S306:资产账本***的共识账本层执行模块对接收方链上数字货币查询请求信息进行验证,验证通过后,将接收方链上数字货币钱包地址对应的链上数字货币查询结果信息添加签名后返回至接收方资产应用终端***。
其中,验证内容包括:验证接收方链上数字货币查询请求信息的签名。
接收方链上数字货币查询结果可以包括:带接收方数字货币钱包签名的查询请求信息,数字货币类别、链上未花费数字货币信息列表、与该数字货币类别号对应的有效初始块信息列表等。链上未花费数字货币信息列表中每一个未花费数字货币信息的权利人地址信息都与查询请求中的接收方链上数字货币钱包地址信息相同。
步骤S307:接收方资产应用终端***验证接收方链上数字货币查询结果信息的签名,验证通过后,向接收方显示接收方链上数字货币查询结果信息。接收方可以根据显示的接收方链上数字货币查询结果信息了解自身当前持有的数字货币,进而方便在完整的链上资产转移过程成功结束之后核对所持有的数字货币金额。后续,接收方可以在根据显示的接收方链上数字货币查询结果信息并输入转移数字货币数量和转让方信息后,发起通过链上数字货币结算的链上数字货币转移请求。
在一些实施例中,转让方用户查询链上资产信息和转让方链上数字货币信息的先后关系可以不确定,甚至可以并行查询。
步骤S308:接收方资产应用终端***中的接收方数字货币钱包接收到步骤S307中的链上数字货币转移请求后,根据接收方输入的转移数字货币数量和转让方信息,生成包含被转移数字货币信息的链上数字货币转移指令,之后将带有接收方签名的链上数字货币转移指令发送至资产账本***的智能合约层执行模块。该步骤与步骤S202的实现过程相同。
步骤S309:资产账本***的智能合约层执行模块执行步骤S308中的被转移数字货币信息中包含的第一智能合约,以对链上数字货币转移指令进行验证,验证通过后,按照转移数字货币数量花费接收方的被转移数字货币信息,并生成待转移数字货币信息。该步骤与步骤S203的实现过程相同。
步骤S310:资产账本***的智能合约层执行模块将链上数字货币转移指令的执行结果信息记录到共识账本层执行模块。该步骤与步骤S204的实现过程相同。
步骤S311:转让方访问安装在转让方终端设备上的转让方资产应用终端***,按照预先设置好的登录识别方式提交识别信息后登录转让方资产应用终端***。该步骤的实现原理与步骤S205相同。实施例中并不限定本步骤的执行顺序,其在步骤S312之前执行即可。
以下步骤S312~S314是转让方用户查询并得到转让方链上资产查询结果信息的过程:
步骤S312:转让方资产应用终端***在转让方终端设备上向转让方展示链上资产查询功能界面,根据转让方在链上资产查询功能界面中输入和/或选择的查询要求,生成转让方链上资产查询请求信息,之后将带有转让方签名的转让方链上资产查询请求信息发送至资产账本***的共识账本层执行模块。
转让方链上资产查询请求信息可以是转让方资产应用终端***中的转让方数字资产钱包向资产账本***发起的,用于查询转让方链上资产的请求。在一可选的实施例中,转让方链上资产查询请求信息包括:转让方对应的资产账本地址和查询要求。
本步骤用于使转让方向转让方资产应用终端***发起转让方链上资产查询操作。具体实现可以是转让方访问转让方资产应用终端***的数字资产钱包的相应功能。需要注意的是,如果转让方链上资产查询请求信息中包含资产类别,则只查询该资产类别对应的待转移资产;如果转让方链上资产查询请求信息中不包含资产类别,则查询所有资产类别对应的待转移资产。
步骤S313:资产账本***的共识账本层执行模块对转让方链上资产查询请求信息进行验证,验证通过后,将对应的转让方链上资产查询结果信息添加签名后发送至转让方资产应用终端***。
其中,验证内容包括:验证转让方链上资产查询请求信息的签名。
转让方链上资产查询结果信息包括:带有转让方数字资产钱包签名的转让方链上资产查询请求信息、资产类别、转让方资产信息列表、与转让方资产相对应的有效初始块信息列表等。其中,链上未花费转让方资产信息列表中每一个资产信息的权利人地址信息都与查询请求中的转让方资产账本用户地址信息相同。
步骤S314:转让方资产应用终端***验证转让方链上资产查询结果信息的签名,验证通过后,向转让方显示转让方链上资产查询结果信息。使用共识账本层执行模块的公钥验证转让方链上资产查询结果信息的签名。
以下步骤S315~S317是转让方用户查询并得到待转移数字货币查询结果信息的过程:
步骤S315:转让方资产应用终端***在转让方终端设备上向转让方展示链上数字货币查询功能界面,根据转让方在链上资产查询功能界面中输入和/或选择的查询要求,转让方资产应用终端***中的转让方数字货币钱包生成待转移数字货币查询请求信息,之后将带有转让方数字货币钱包签名的待转移数字货币查询请求信息发送至资产账本***的共识账本层执行模块。
待转移数字货币查询请求可以包括:转让方链上数字货币钱包地址信息;如果该请求包含数字货币类别号,则可以只查询该类数字货币,否则查询所有类型的数字货币。特别地,在跨境场景下,链上可以查询多种数字货币。
步骤S316:资产账本***的共识账本层执行模块对待转移数字货币查询请求信息进行验证,验证通过后,将转让方链上数字货币钱包地址对应的待转移数字货币查询结果信息添加签名后返回至转让方资产应用终端***。
其中,验证内容包括:验证待转移数字货币查询请求信息的签名。
待转移数字货币查询结果可以包括:带转让方数字货币钱包签名的查询请求信息,数字货币类别、链上未花费数字货币信息列表、与该数字货币类别号对应的有效初始块信息列表等。链上未花费数字货币信息列表中每一个未花费数字货币信息的权利人地址信息都与查询请求中的转让方链上数字货币钱包地址信息相同。
步骤S317:转让方资产应用终端***验证待转移数字货币查询结果信息的签名,验证通过后,向转让方显示待转移数字货币查询结果信息。使用共识账本层执行模块的公钥验证待转移数字货币查询结果信息的签名。
在一些实施例中,转让方用户查询转让方链上资产信息和待转移数字货币信息的先后关系可以不确定,甚至可以并行查询。
步骤S318:转让方根据转让方资产应用终端***显示的转让方链上资产查询结果信息中包含的转让方资产信息、转让方资产数量和待转移数字货币对应的转让方资产,发起链上资产转移操作请求,以进行链上资产转移。
步骤S319:转让方数字资产钱包根据链上资产转移操作请求生成包含被转移资产信息的链上资产转移指令,并对所述链上资产转移指令进行签名后,将带签名的链上资产转移指令发送至转让方数字货币钱包。该实施例中,上述被转移资产信息中包含的第二智能合约,可以触发被转移资产的后续交易。
步骤S320:转让方数字货币钱包验证链上资产转移指令签名后,根据该指令,生成待转移数字货币同步转移指令。
待转移数字货币同步转移指令包括:待转移数字货币信息、转移后数字货币信息、待转移数字货币后续交易调用参数等。待转移数字货币后续交易调用参数是指执行待转移数字货币信息中包含的第三智能合约时需要调用的参数;转移后数字货币信息是指执行待转移数字货币信息中包含的智能合约后生成的最终转移后数字货币。转让方数字货币钱包生成待转移数字货币同步转移指令后,使用转让方数字货币钱包用户私钥对待转移数字货币同步转移指令进行签名;之后将带转让方数字资产钱包用户私钥签名的链上资产转移指令,以及带有转让方数字货币钱包用户私钥签名的待转移数字货币同步转移指令发送至智能合约层执行模块,以触发智能合约层执行模块执行链上资产转移指令和待转移数字货币同步转移指令;
其中,关于待转移数字货币后续交易调用参数,在一些具体实施例中可以是:
转让方将链上资产转移指令的执行结果作为待转移数字货币的第三智能合约的调用参数,而待转移数字货币同步转移指令操作的对象就是待转移数字货币,因此资产账本***在执行完链上资产转移指令后,将执行结果作为调用参数调用待转移数字货币第三智能合约进行验证,验证通过后,执行待转移数字货币同步转移指令。
步骤S321:资产账本***的智能合约层执行模块对链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证通过后,执行链上资产转移指令和待转移数字货币同步转移指令,花费掉被转移资产信息,并生成与接收方的链上数字资产钱包地址相对应的转移后资产信息,同时花费掉待转移数字货币信息,并生成与转让方的链上数字货币钱包地址相对应的转移后数字货币信息。该步骤的具体实现与步骤S207相同。
步骤S322:资产账本***的智能合约层执行模块将链上资产转移指令的执行结果信息,以及待转移数字货币同步转移指令的执行结果信息记录到共识账本层执行模块。即智能合约层执行模块将以下两个执行结果记录到共识账本层执行模块:(1)花费所述被转移资产信息并生成与所述接收方的链上资产货币钱包地址相对应的转移后资产信息;(2)同时花费所述待转移数字货币信息并生成与所述转让方的链上数字货币钱包地址相对应的转移后数字货币信息。
实施例三:如果接收方已经发起数字货币转移指令,并且在资产账本***形成待转移数字货币,但是转让方未在预设时间内进行相应的链上资产转移,那么资产账本***可以将待转移数字货币撤销退回至接收方。撤销回退操作可以通过以下两种方式实现:方式一:第三智能合约定时检测,一旦满足撤销回退触发条件,第三智能合约自动执行将待转移数字货币退回至接收方的转移交易。方式二:接收方发起链上待转移数字货币退回指令,第三智能合约检查撤销回退触发条件,如果满足,则执行链上待转移数字货币退回指令,以生成对应接收方资产账本地址的退回数字货币信息,将待转移数字货币退回至接收方。
图4是本发明实施例三中通过链上数字货币结算的链上资产转移***进行待转移数字货币退回的主要流程示意图。如图4所示,本发明实施例三中通过链上数字货币结算的链上资产转移***进行待转移数字货币退回的主要流程,包括以下步骤:
步骤S401:转让方资产应用终端***检测预设时间内所述链上资产转移指令是否成功被执行;在所述链上资产转移指令未被成功执行的情况下,或者转让方未能足额发起链上资产转移指令并根据相应的链上资产发起待转移数字货币同步转移指令,待转移数字货币还有余额的情况下,将带有所述转让方签名的所述待转移数字货币的余额退回指令发送至所述资产账本***;
具体地,在所述链上资产转移指令未被成功执行的情况下,或者在待转移数字货币信息存在未转出的余额的情况下,将带有转让方签名的包含待转移数字货币信息的链上待转移数字货币退回指令发送至资产账本***的智能合约层执行模块。链上待转移数字货币退回指令用于将待转移数字货币退回至接收方。在一优选的实施例中,链上待转移数字货币退回指令包括:所述待转移数字货币信息、待转移数字货币余额、待转移数字货币后续交易调用参数、退回数字货币信息等。此处待转移数字货币后续交易调用参数可以为空,直接调用待转移数字货币信息包含的第三智能合约中的退回操作,第三智能合约检查是否满足撤销回退触发条件(一般为等待时间达到预设时间阈值)。退回资产信息包括:接收方的资产账本地址、退回数字货币数量等。
步骤S402:资产账本***的智能合约层执行模块执行步骤S401中的待转移数字货币信息中包含的第三智能合约,以对带有接收方签名的链上待转移数字货币退回指令进行验证,验证通过后,花费待转移数字货币信息,并生成与接收方的资产账本地址相对应的退回数字货币信息。验证内容包括:验证链上待转移数字货币退回指令的转让方签名;验证从生成待转移数字货币信息到接收到链上待转移数字货币退回指令的等待时间满足撤销回退触发条件。资产账本***的智能合约层执行模块验证链上待转移数字货币退回指令完成后,执行链上待转移数字货币退回指令,将待转移数字货币信息花费掉,并生成与接收方的资产账本地址相对应的退回数字货币信息。
另外,也可以由接收方资产应用终端***发起链上待转移数字货币退回指令。此时,步骤S401为:接收方资产应用终端***检测预设时间内所述链上资产转移指令是否成功被执行,在所述链上资产转移指令未被成功执行的情况下,或者,转让方未能足额发起链上资产转移指令并根据相应的链上资产发起待转移数字货币同步转移指令,待转移数字货币还有余额的情况下,将带有所述转让方签名的所述待转移数字货币退回指令发送至所述资产账本***。资产账本***对链上待转移数字货币退回指令的处理与步骤S402相同,此处不再赘述。
待转移数字货币生成退回数字货币的智能合约执行过程为:使用待转移数字货币信息中包含的第三智能合约检查链上待转移数字货币退回指令中包含的待转移数字货币后续交易调用参数是否满足该第三智能合约中指定的撤销回退触发条件(或者根据第三智能合约中的退回操作检查是否满足撤销回退触发条件),如果满足指定的撤销回退触发条件,则按照链上待转移数字货币退回指令生成退回数字货币信息。退回数字货币信息中也会包含缺省的用于后续交易的智能合约。
实施例四:接收方在执行完步骤S310之后,转让方在执行完步骤S322之后,可以通过各自的资产应用终端***查询链上资产信息(即查询交易完成后转让方和接收方持有的链上资产)和/或查询数字货币信息即查询交易完成后转让方和接收方持有的数字货币),以确认资产转移支付成功。接收方查询链上资产信息的具体过程请参见步骤S302至步骤S304,接收方查询链上数字货币信息的具体过程请参见步骤S305至步骤S307;转让方查询链上资产信息或链上数字货币信息的具体过程与接收方的查询原理相同。若接收方最终查询到的接收方最终链上资产信息中存在转移后资产信息,和/或转让方最终查询到的接收方最终链上资产信息中存在转移后资产信息,和/或接收方最终查询到的转让方最终链上数字货币信息中存在转移后数字货币信息,和/或转让方最终查询到的转让方最终链上数字货币信息中存在转移后数字货币信息;则确认资产转移支付成功;
以转让方和接收方查询各自链上资产信息为例,一种具体实现过程如下:
图5是本发明实施例四中通过链上数字货币结算的链上资产转移***进行资产转移支付确认的主要流程示意图。如图5所示,本发明实施例四中通过链上数字货币结算的链上资产转移***进行资产转移支付确认的主要流程,包括以下步骤:
步骤S501:转让方资产应用终端***从资产账本***的共识账本层执行模块中获取所述待转移资产转移后接收方的最终链上资产信息,若所述最终链上资产信息中存在对应接收方资产账本地址的转移后资产信息,则确认资产转移支付成功。转让方在知道被转移资产或待转移资产的情况下,可以通过查询被转移资产交易后生成的待转移资产,以及通过待转移资产交易后生成的转移后资产来进行交易后最终链上资产信息查询。故如果查询出的最终链上资产信息中存在对应接收方资产账本地址的转移后资产信息,则确认资产转移支付成功。
步骤S502:接收方资产应用终端***从资产账本***的共识账本层执行模块中获取待转移资产转移后生成的最终链上资产信息,若接收方的最终链上资产信息中存在转移后资产信息,则确认资产转移支付成功。在区块链上,由接收方的资产账本地址可以直接查询到转移后的资产信息。实施例中并不限定步骤S501和步骤S502执行顺序的先后,也可以先执行步骤S502,再执行步骤S501。
图6是本发明实施例一中通过链上数字货币结算的链上资产转移方法的主要流程示意图。如图6所示本发明实施例一中通过链上数字货币结算的链上资产转移方法,主要包括以下步骤:
步骤S601:接收方资产应用终端***基于接收方选择和/或输入的数字货币类别、应付数字货币数量和转让方信息,生成链上数字货币转移指令,之后将带有所述接收方签名的链上数字货币转移指令发送至所述资产账本***。其中,链上数字货币转移指令包括:被转移数字货币信息、待转移数字货币信息、找回数字货币信息等。接收方资产应用终端***在终端设备上向用户(即接收方)展示链上数字货币转移功能界面,该链上数字货币转移功能界面用于用户输入和/或选择数字货币转移要求。接收方在链上数字货币转移功能界面中选择(或者输入)数字货币类别、转移数字货币数量和转让方的资产账本地址后,接收方资产应用终端***即可生成链上数字货币转移指令;之后使用接收方的用户私钥对该链上数字货币转移指令进行签名,将带有接收方的用户私钥签名的链上数字货币转移指令发送至资产账本***。
步骤S602:资产账本***执行上述被转移数字货币信息中包含的第一智能合约,以对带有接收方签名的链上数字货币转移指令进行验证,验证通过后,按照转移数字货币数量花费接收方的相应数字货币类别的被转移数字货币信息,并生成相对应的待转移数字货币信息。资产账本***的智能合约层执行模块执行验证操作:验证链上数字货币转移指令的签名;根据被转移数字货币息查找被转移数字货币的权利人地址,验证查找出的被转移数字货币的权利人地址与链上数字货币转移指令的接收方签名对应的用户公钥相符;以及验证查找出的被转移数字货币数量等于待转移数字货币信息包含的接收数字货币数量与找回数字货币信息包含的接收数字货币数量之和。验证完成后,智能合约层执行模块执行上述链上数字货币转移指令,将被转移数字货币花费掉,生成链上数字货币转移指令对应的待转移数字货币和找回数字货币。
步骤S603:转让方资产应用终端***基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成包含被转移资产信息的链上资产转移指令,并根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;之后将带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令发送至所述资产账本***;其中,所述转移资产与所述对应的待转移数字货币等价。
步骤S604:资产账本***执行所述被转移资产信息中包含的第二智能合约,以及执行所述待转移数字货币信息中包含的第三智能合约,以对所述带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证都通过后,花费所述被转移资产信息并生成与所述接收方相对应的转移后资产信息,同时花费所述待转移数字货币信息并生成与所述转让方的资产账本地址相对应的转移后数字货币信息。
根据本发明实施例的技术方案,接收方通过链上数字货币进行链上支付,资产账本***接收到来自接收方的链上数字货币转移指令后,执行第一智能合约生成待转移数字货币,转让方资产应用终端***进行相应链上资产的转移,发起链上资产转移指令和待转移数字货币同步转移指令,由资产账本***执行第二智能合约和第三智能合约,同时完成应付的链上资产和待转移数字货币的转移,生成转移后资产和转移后数字货币;通过上述方式实现了链上数字货币支付和链上资产转移的完整交易过程,同时通过智能合约控制链上数字货币支付和链上资产转移的过程,保证了接收方支付的数字货币与转让方需要转移的资产的同步对付,并且在转让方没有在规定时间内正常发起对应的链上资产转移指令的情况下,能够将待转移数字货币退回给接收方,大大降低了交易风险。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (19)
1.一种通过链上数字货币结算的链上资产转移***,其特征在于,包括:接收方资产应用终端***、资产账本***和转让方资产应用终端***;其中,
所述接收方资产应用终端***,用于基于接收方选择和/或输入数字货币类别、应付数字货币数量和转让方信息,生成包含被转移数字货币信息的链上数字货币转移指令,之后将带有所述接收方签名的链上数字货币转移指令发送至所述资产账本***;
所述资产账本***,用于执行所述被转移数字货币信息中包含的第一智能合约,以对所述带有所述接收方签名的链上数字货币转移指令进行验证;验证通过后,按照所述转移数字货币数量花费所述接收方的被转移数字货币信息,并生成待转移数字货币信息;
所述转让方资产应用终端***,用于基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成包含被转移资产信息的链上资产转移指令,并根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;之后将带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令发送至所述资产账本***;其中,所述转移资产与所述对应的待转移数字货币等价;
所述资产账本***,还用于执行所述被转移资产信息中包含的第二智能合约,以及执行所述待转移数字货币信息中包含的第三智能合约,以对所述带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证都通过后,花费所述被转移资产信息并生成与所述接收方相对应的转移后资产信息,同时花费所述待转移数字货币信息并生成与所述转让方的资产账本地址相对应的转移后数字货币信息。
2.根据权利要求1所述的***,其特征在于,所述接收方资产应用终端***包括:接收方数字资产钱包、接收方数字货币钱包;
所述接收方资产应用终端***生成包含被转移数字货币信息的链上数字货币转移指令,包括:所述接收方数字货币钱包生成包含被转移数字货币信息的链上数字货币转移指令,并对所述链上数字货币转移指令进行签名;
所述链上数字货币转移指令包括:所述被转移数字货币信息,所述转移后数字货币信息,找回数字货币信息;所述被转移数字货币信息包括:所述接收方的资产账本地址,被转移数字货币索引标识,控制被转移数字货币后续交易的第一智能合约和被转移数字货币数量。
3.根据权利要求2所述的***,其特征在于,
所述资产账本***对所述带有所述接收方签名的链上数字货币转移指令进行验证,包括:
验证所述链上数字货币转移指令中的所述接收方数字货币钱包的签名;确认签名验证通过后,
根据所述被转移数字货币信息查找被转移数字货币的权利人地址;验证查找出的被转移数字货币的权利人地址与所述链上数字货币转移指令的接收方数字货币钱包签名对应的用户公钥是否相符;以及,
验证查找出的被转移数字货币数量,是否等于所述转移后数字货币资产明细的接收数字货币数量与找回数字货币资产明细的接收数字货币数量之和;
若都是,确认验证通过。
4.根据权利要求3所述的***,其特征在于,所述接收方数字货币钱包在生成链上数字货币转移指令之前,所述接收方数字资产钱包还用于:
根据所述接收方在链上资产查询功能界面中输入和/或选择的查询要求,生成接收方链上资产查询请求信息;并将带有所述接收方数字资产钱包签名的接收方链上资产查询请求信息发送至所述资产账本***;
所述资产账本***还用于:对所述带有所述接收方数字资产钱包签名的接收方链上资产查询请求信息进行验证,验证通过后,将接收方链上资产查询结果信息添加签名后返回至所述接收方资产应用终端***中的接收方数字资产钱包;
所述接收方数字资产钱包还用于:对所述接收方链上资产查询结果信息进行验证,验证通过后,向所述接收方显示所述接收方链上资产查询结果信息。
5.根据权利要求3所述的***,其特征在于,所述接收方数字货币钱包在生成链上数字货币转移指令之前,还用于:
根据所述接收方在链上资产查询功能界面中输入和/或选择的查询要求,生成接收方链上数字货币查询请求信息;并将带有所述接收方数字货币钱包签名的接收方链上数字货币查询请求信息发送至所述资产账本***;
所述资产账本***,还用于:对所述带有所述接收方数字货币钱包签名的接收方链上数字货币查询请求信息进行验证,验证通过后,将接收方链上数字货币查询结果信息添加签名后返回至所述接收方资产应用终端***中的接收方数字货币钱包;
所述接收方数字货币钱包还用于:对接收方链上数字货币查询结果信息进行验证,验证通过后,向所述接收方显示接收方链上数字货币查询结果信息。
6.根据权利要求2所述的***,其特征在于,所述转让方资产应用终端***包括:转让方数字资产钱包、转让方数字货币钱包;
所述转让方资产应用终端***基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址生成链上资产转移指令,包括:所述转让方数字资产钱包生成链上资产转移指令;
所述链上资产转移指令包括:所述被转移资产信息,所述待转移资产信息,找回资产信息;所述被转移资产信息包括:所述转让方的资产账本地址,被转移资产索引标识,控制被转移资产后续交易的第二智能合约和被转移资产数量;
所述转让方数字资产钱包还用于:对所述链上资产转移指令进行签名,之后将带有转让方数字资产钱包签名的链上资产转移指令发送至所述转让方数字货币钱包。
7.根据权利要求6所述的***,其特征在于,所述转让方资产应用终端***根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令包括:
所述转让方数字货币钱包接收到转让方数字资产钱包发送的带有转让方数字资产钱包签名的链上资产转移指令之后,对所述链上资产转移指令上的转让方数字资产钱包签名进行验证;验证通过后,根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;
所述待转移数字货币同步转移指令包括:所述待转移数字货币信息,所述转移后数字货币信息,所述待转移数字货币后续交易调用参数;所述待转移数字货币后续交易调用参数为链上资产转移指令的执行状态;所述待转移数字货币信息包括:待转移数字货币索引标识,控制待转移数字货币后续转移的第三智能合约和待转移数字货币数量,所述第三智能合约包含待转移数字货币转移触发条件验证,所述待转移数字货币转移触发条件包括正常转移触发条件和撤销回退触发条件;
所述转让方数字货币钱包还用于:对所述待转移数字货币同步转移指令进行签名,之后将带有转让方数字资产钱包签名的链上资产转移指令,以及带有转让方数字货币钱包签名的待转移数字货币同步转移指令发送至所述资产账本***。
8.根据权利要求7所述的***,其特征在于,所述资产账本***对所述带有所述转让方数字资产钱包签名的链上资产转移指令进行验证,包括:
验证所述链上资产转移指令中的所述转让方数字资产钱包的签名;确认签名验证通过后,
根据所述被转移资产信息查找被转移资产的权利人地址;验证查找出的被转移资产的权利人地址与所述链上资产转移指令的转让方签名对应的用户公钥是否相符;以及,
验证查找出的被转移资产数量,是否等于所述待转移资产信息包含的接收资产数量与所述找回资产信息包含的接收资产数量之和;
若都是,确认验证通过。
9.根据权利要求8所述的***,其特征在于,所述转让方数字资产钱包在生成链上资产转移指令之前,还用于:
根据所述转让方在链上资产查询功能界面中输入和/或选择的查询要求,生成转让方链上资产查询请求信息;并将带有所述转让方数字资产钱包签名的转让方链上资产查询请求信息发送至所述资产账本***;
所述资产账本***,还用于:对所述带有所述转让方数字资产钱包签名的转让方链上资产查询请求信息进行验证,验证通过后,将转让方链上资产查询结果信息添加签名后返回至所述转让方资产应用终端***中的转让方数字资产钱包;
所述转让方数字资产钱包还用于:对所述转让方链上资产查询结果信息进行验证,验证通过后,向所述转让方显示所述转让方链上资产查询结果信息。
10.根据权利要求8所述的***,其特征在于,在所述转让方数字资产钱包生成链上资产转移指令之前,所述转让方数字货币钱包还用于:
根据所述转让方在链上资产查询功能界面中输入和/或选择的查询要求,生成待转移数字货币查询请求信息;并将带有所述转让方数字货币钱包签名的待转移数字货币查询请求信息发送至所述资产账本***;
所述资产账本***,还用于:对所述带有所述转让方数字货币钱包签名的待转移数字货币查询请求信息进行验证,验证通过后,将待转移数字货币查询结果信息添加签名后返回至所述转让方资产应用终端***中的转让方数字货币钱包;
所述转让方数字货币钱包还用于:对待转移数字货币查询结果信息进行验证,验证通过后,向所述转让方显示待转移数字货币查询结果信息。
11.根据权利要求8所述的***,其特征在于,所述资产账本***对所述带有转让方数字货币钱包签名的待转移数字货币同步转移指令进行验证,包括:
验证所述待转移数字货币同步转移指令中的所述转让方数字货币钱包的签名;确认签名验证通过后,
验证转让方的资产账本地址与所述待转移数字货币同步转移指令的转让方数字货币钱包签名对应的用户公钥是否相符;以及,
验证所述待转移数字货币后续交易调用参数是否满足所述正常转移触发条件;
若是,确认验证通过。
12.根据权利要求11所述的***,其特征在于,
所述资产账本***还用于:在对所述链上资产转移指令、以及所述待转移数字货币同步转移指令进行验证后,在确认这两个验证中至少有一个未通过的情况下,同时撤销这两个指令。
13.根据权利要求1至12的任一项所述的***,其特征在于,
所述转让方资产应用终端***,还用于:从所述资产账本***中获取所述被转移资产转移后所述接收方的最终链上资产信息,若所述最终链上资产信息中存在所述转移后资产信息,则确认资产转移支付成功;
所述接收方资产应用终端***,还用于:从所述资产账本***中获取资产转移后生成的最终链上资产信息,若所述接收方的最终链上资产信息中存在所述转移后资产信息,则确认资产转移支付成功。
14.根据权利要求1至12的任一项所述的***,其特征在于,
所述转让方资产应用终端***,还用于:从所述资产账本***中获取数字货币转移后生成的最终数字货币信息,若所述最终数字货币信息中存在所述转移后数字货币信息,则确认资产转移支付成功;
所述接收方资产应用终端***,还用于:从所述资产账本***中获取所述被转移数字货币转移后所述转让方生成的最终数字货币信息,若所述接收方的最终链上资产信息中存在所述转移后数字货币信息,则确认资产转移支付成功。
15.根据权利要求1所述的***,其特征在于,所述接收方资产应用终端***,还用于:
检测预设时间内所述链上资产转移指令是否成功被执行,在所述链上资产转移指令未被成功执行的情况下,将带有所述接收方签名的所述待转移数字货币退回指令发送至所述资产账本***;
所述资产账本***,还用于:执行所述待转移数字货币退回指令的待转移数字货币信息中包含的第三智能合约,以对带有所述接收方签名的所述链上待转移数字货币退回指令进行验证;验证通过后,花费所述待转移数字货币信息,并生成与所述接收方资产账本地址相对应的退回数字货币信息。
16.根据权利要求1所述的***,其特征在于,所述转让方资产应用终端***,还用于:
检测预设时间内所述链上资产转移指令是否成功被执行,在所述链上资产转移指令未被成功执行的情况下,将带有所述转让方签名的所述待转移数字货币退回指令发送至所述资产账本***;
所述资产账本***,还用于:执行所述待转移数字货币退回指令的待转移数字货币信息中包含的第三智能合约,以对带有所述转让方签名的所述链上待转移数字货币退回指令进行验证;验证通过后,花费所述待转移数字货币信息,并生成与所述接收方资产账本地址相对应的退回数字货币信息。
17.根据权利要求15或16所述的***,其特征在于,对所述待转移数字货币退回指令进行验证,包括:
验证所述待转移数字货币退回指令的签名;以及,
验证从生成所述待转移数字货币信息到接收到所述待转移数字货币退回指令的等待时间满足撤销回退触发条件。
18.根据权利要求7所述的***,其特征在于,所述资产账本***,还用于:
执行所述待转移数字货币信息中包含的第三智能合约,以通过所述第三智能合约检测是否满足所述撤销回退触发条件,如果满足所述撤销回退触发条件,则花费所述待转移数字货币信息,并生成与所述接收方的资产账本地址相对应的退回数字货币信息。
19.一种通过链上数字货币结算的链上资产转移方法,其特征在于,包括:
接收方资产应用终端***基于接收方选择和/或输入的数字货币类别、应付数字货币数量和转让方信息,生成包含被转移数字货币信息的链上数字货币转移指令,之后将带有所述接收方签名的链上数字货币转移指令发送至所述资产账本***;
所述资产账本***执行所述被转移数字货币信息中包含的第一智能合约,以对所述带有所述接收方签名的链上数字货币转移指令进行验证;验证通过后,按照所述转移数字货币数量花费所述接收方的被转移数字货币信息,并生成待转移数字货币信息;
转让方资产应用终端***基于转让方选择和/或输入的资产类别、转移资产数量和接收方的资产账本地址,生成包含被转移资产信息的链上资产转移指令,并根据所述链上资产转移指令生成包含待转移数字货币信息的待转移数字货币同步转移指令;之后将带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令发送至所述资产账本***;其中,所述转移资产与所述对应的待转移数字货币等价;
所述资产账本***执行所述被转移资产信息中包含的第二智能合约,以及执行所述待转移数字货币信息中包含的第三智能合约,以对所述带有所述转让方签名的链上资产转移指令和待转移数字货币同步转移指令分别进行验证;验证都通过后,花费所述被转移资产信息并生成与所述接收方相对应的转移后资产信息,同时花费所述待转移数字货币信息并生成与所述转让方的资产账本地址相对应的转移后数字货币信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910717652.XA CN110659888A (zh) | 2019-08-05 | 2019-08-05 | 一种通过链上数字货币结算的链上资产转移***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910717652.XA CN110659888A (zh) | 2019-08-05 | 2019-08-05 | 一种通过链上数字货币结算的链上资产转移***和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110659888A true CN110659888A (zh) | 2020-01-07 |
Family
ID=69036892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910717652.XA Pending CN110659888A (zh) | 2019-08-05 | 2019-08-05 | 一种通过链上数字货币结算的链上资产转移***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659888A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112488684A (zh) * | 2020-12-14 | 2021-03-12 | 中钞***产业发展有限公司杭州区块链技术研究院 | 一种基于法定数字货币的区块链资产券款对付方法、*** |
CN112766958A (zh) * | 2020-12-31 | 2021-05-07 | 山东数字能源交易中心有限公司 | 一种数字资产的处理方法和装置 |
CN112907244A (zh) * | 2021-02-10 | 2021-06-04 | iCALC控股有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
US11651353B1 (en) * | 2020-08-26 | 2023-05-16 | Membrane Labs Inc. | Platform for coordinated credit-based and non-custodial digital asset settlement |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956923A (zh) * | 2016-04-20 | 2016-09-21 | 上海如鸽投资有限公司 | 资产交易平台以及资产的数字化认证和交易方法 |
CN108197214A (zh) * | 2017-12-28 | 2018-06-22 | 中国人民银行数字货币研究所 | 数字货币交易信息的查询方法和查询*** |
CN108197944A (zh) * | 2017-11-22 | 2018-06-22 | 远光软件股份有限公司 | 基于区块链技术的资源交易方法及装置 |
CN108885761A (zh) * | 2016-04-11 | 2018-11-23 | 区块链控股有限公司 | 用于区块链上的安全点对点通信的方法 |
CN109146448A (zh) * | 2018-07-13 | 2019-01-04 | 杭州复杂美科技有限公司 | 跨链资产转移方法、设备和存储介质 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
US20190139037A1 (en) * | 2017-11-07 | 2019-05-09 | Ramy Abdelmageed Ebrahim Khalil | System and method for scaling blockchain networks with secure off-chain payment hubs |
-
2019
- 2019-08-05 CN CN201910717652.XA patent/CN110659888A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108885761A (zh) * | 2016-04-11 | 2018-11-23 | 区块链控股有限公司 | 用于区块链上的安全点对点通信的方法 |
CN105956923A (zh) * | 2016-04-20 | 2016-09-21 | 上海如鸽投资有限公司 | 资产交易平台以及资产的数字化认证和交易方法 |
US20190139037A1 (en) * | 2017-11-07 | 2019-05-09 | Ramy Abdelmageed Ebrahim Khalil | System and method for scaling blockchain networks with secure off-chain payment hubs |
CN108197944A (zh) * | 2017-11-22 | 2018-06-22 | 远光软件股份有限公司 | 基于区块链技术的资源交易方法及装置 |
CN108197214A (zh) * | 2017-12-28 | 2018-06-22 | 中国人民银行数字货币研究所 | 数字货币交易信息的查询方法和查询*** |
CN109146448A (zh) * | 2018-07-13 | 2019-01-04 | 杭州复杂美科技有限公司 | 跨链资产转移方法、设备和存储介质 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11651353B1 (en) * | 2020-08-26 | 2023-05-16 | Membrane Labs Inc. | Platform for coordinated credit-based and non-custodial digital asset settlement |
CN112488684A (zh) * | 2020-12-14 | 2021-03-12 | 中钞***产业发展有限公司杭州区块链技术研究院 | 一种基于法定数字货币的区块链资产券款对付方法、*** |
CN112766958A (zh) * | 2020-12-31 | 2021-05-07 | 山东数字能源交易中心有限公司 | 一种数字资产的处理方法和装置 |
CN112907244A (zh) * | 2021-02-10 | 2021-06-04 | iCALC控股有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN112907244B (zh) * | 2021-02-10 | 2023-11-28 | iCALC控股有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109102269B (zh) | 基于区块链的转账方法及装置、区块链节点及存储介质 | |
CN110659888A (zh) | 一种通过链上数字货币结算的链上资产转移***和方法 | |
CN109508564B (zh) | 一种基于区块链的数字资产存储***和方法 | |
KR101876674B1 (ko) | 블록 체인을 이용한 공동 계좌 관리 방법 및 이를 실행하는 시스템 | |
CN109669955B (zh) | 一种基于区块链的数字资产查询***和方法 | |
US20140089156A1 (en) | Addresses in financial systems | |
US20180287790A1 (en) | Authentication of a transferable value or rights token | |
CN109933626B (zh) | 金融业务的数据处理方法、装置及金融交易终端 | |
CN110619578A (zh) | 一种通过链下结算的链上资产转移***和方法 | |
CN110580652B (zh) | 通过链上数字货币结算的链上资产质押融资***和方法 | |
CN110648228A (zh) | 一种通过链上数字货币结算的链上资产转移***和方法 | |
US11310052B1 (en) | Identity authentication blockchain | |
CN110619566A (zh) | 通过链上数字货币结算的链上质押资产返还***和方法 | |
CA2970301C (en) | Improved network for onboarding and delivery of electronic payments to payees | |
CN114511321B (zh) | 基于点对点的数据处理方法、***、计算设备及存储介质 | |
CN110619565A (zh) | 一种通过链下结算的链上质押资产清偿***和方法 | |
WO2023024453A1 (zh) | 一种交易处理方法、装置、设备及存储介质 | |
CN110648227A (zh) | 一种通过链下结算的链上资产质押融资***和方法 | |
KR20200005322A (ko) | 국외로 송금되는 자금의 처리를 관리하는 전자 장치, 방법 및 컴퓨터 판독 가능한 기록 매체 | |
JP7461241B2 (ja) | 顧客情報管理サーバ及び顧客情報の管理方法 | |
CN109658104B (zh) | 一种链上资产一致性确认的***和方法 | |
CN110610426A (zh) | 通过链上数字货币结算的链上资产质押融资***和方法 | |
CN110610410A (zh) | 一种通过链下结算的链上质押资产返还***和方法 | |
CN109670831B (zh) | 一种待下链返还数字资产冻结的***和方法 | |
JP7109717B2 (ja) | 送金支援サーバ、送金支援システム、送金支援方法、および送金支援方法を実行するためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Meng Jianghua Inventor after: Yao Qian Inventor before: Meng Jianghua |
|
CB03 | Change of inventor or designer information |