CN116629858A - 一种基于多分布式账本实现的交易方法和系统 - Google Patents

一种基于多分布式账本实现的交易方法和系统 Download PDF

Info

Publication number
CN116629858A
CN116629858A CN202210123863.2A CN202210123863A CN116629858A CN 116629858 A CN116629858 A CN 116629858A CN 202210123863 A CN202210123863 A CN 202210123863A CN 116629858 A CN116629858 A CN 116629858A
Authority
CN
China
Prior art keywords
financial institution
transaction
currency
cross
institution client
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
Application number
CN202210123863.2A
Other languages
English (en)
Inventor
何孟炜
高阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Currency Institute of the Peoples Bank of China
Original Assignee
Digital Currency Institute of the Peoples Bank of China
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Digital Currency Institute of the Peoples Bank of China filed Critical Digital Currency Institute of the Peoples Bank of China
Priority to CN202210123863.2A priority Critical patent/CN116629858A/zh
Publication of CN116629858A publication Critical patent/CN116629858A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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/3674Payment 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于多分布式账本实现的交易方法和系统,涉及数字货币技术领域。该方法的一具体实施方式包括:第一分布式账本接收第一金融机构客户端发送的第一跨链交易请求,其中,第一金融机构客户端通过第一分布式账本管理,第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;调用所部署的第一金融机构客户端的第一账户合约,扣除第一金额;调用跨链网关,将确定出的第一金融机构客户端的第一SPV证明路由给第二分布式账本,以使第二分布式账本基于第一SPV证明、第二金融机构客户端的第二跨链交易请求以及第二账户合约,为第二金融机构客户端进行跨链交易。该实施方式有效地降低收款方和付款方的风险。

Description

一种基于多分布式账本实现的交易方法和系统
技术领域
本发明涉及数字货币技术领域,尤其涉及一种基于多分布式账本实现的交易方法和系统。
背景技术
目前,数字货币交易一般是在链内完成,即基于一个分布式账本实现。针对数字货币的跨链交易,目前还没有相关技术公开。
特别地,跨境交易作为可通过跨链交易完成的一类交易,其目前主要是通过一个国家的金融机构与另一个国家的金融机构协作来完成交易。即目前的跨境交易一般是付款方的金融机构完成支付后,收款方的金融机构即可确收,而对于收款方的金融机构没有行之有效的约束,导致跨境支付存在比较高的风险。比如,由于时差原因,不同国家的金融机构工作时间存在差异,付款方在通过其所在国家的一个金融机构向另一个国家的金融机构支付款项后,该另一个国家的金融机构虽然收到该支付款项,但是由于该另一个国家的金融机构未处在工作时间,其并不能为收款方及时兑付,由于这种支付和收款时间差异的存在,使付款方和收款方均需要承担金融机构支付困难的风险。
发明内容
有鉴于此,本发明实施例提供一种基于多分布式账本实现的跨链交易方法和系统,能够实现跨链交易,同时有效地降低分属不同分布式账本的收款方和付款方的风险。
为实现上述目的,根据本发明实施例的一个方面,提供了一种基于多分布式账本实现的交易方法,包括:
通过第一分布式账本接收第一金融机构客户端发送的第一跨链交易请求,其中,所述第一金融机构客户端通过所述第一分布式账本管理,所述第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;
调用所部署的所述第一金融机构客户端的第一账户合约,扣除所述第一金额;
调用跨链网关,将确定出的所述第一金融机构客户端的第一SPV证明路由给所述第二分布式账本,以使所述第二分布式账本基于所述第一SPV证明、所述第二金融机构客户端的第二跨链交易请求以及所部署的第二账户合约,为所述第二金融机构客户端进行跨链交易处理。
可选地,
所述第一金融机构客户端通过第一数字货币系统、所述第二金融机构客户端通过第二数字货币系统均注册于数字身份认证系统,其中,所述数字身份认证系统存储有所述第一金融机构客户端的第一交易用公钥和所述第二金融机构客户端的第二交易用公钥。
可选地,上述交易方法,还包括:
所述第一分布式账本调用其所部署的第一跨链记录合约,生成所述第一SPV证明。
可选地,上述交易方法,还包括:
基于所述第一账户合约扣除的第一金额,调用所述第一跨链记录合约记录第一账本外金额。
可选地,上述交易方法,还包括:
所述第一金融机构客户端从所述数字身份认证系统中获取所述第二交易用公钥和所述第一数字货币系统的第一管理用公钥,并通过所述第一金融机构客户端的第一交易用公钥、所述第二交易用公钥、所述第一管理用公钥和所述第一金额构建第一验证信息;
将所述第一验证信息发送给所述第一数字货币系统对应的第一验证节点;
所述第一验证节点对所述第一验证信息进行验证,在验证通过后,生成第一验证签名;
所述第一金融机构客户端基于所述第一验证签名以及其具有的第一金融机构签名,生成所述第一跨链交易请求。
可选地,通过所述第一金融机构客户端的第一交易用公钥、所述第二交易用公钥、所述第一管理用公钥和所述第一金额构建第一验证信息,包括:
分别通过所述第一交易用公钥、所述第二交易用公钥以及所述第一管理用公钥对所述第一金额进行加密,确定加密后的结果为所述第一验证信息。
可选地,所述调用所部署的所述第一金融机构客户端的第一账户合约,扣除所述第一金额,包括:
调用所述第一账户合约,对所述第一跨链交易请求包括的所述第一验证签名以及第一金融机构签名进行验证;
如果验证通过,扣除所述第一金额。
可选地,上述交易方法,还包括:
任一金融机构客户端发送身份注册请求给其所属的数字货币系统;
针对所述身份注册请求,所述数字货币系统将所述金融机构客户端注册到其管理的分布式账本上,并生成密钥生成请求,并将所述密钥生成请求发送给所述数字货币系统的验证节点;
所述验证节点为所述金融机构客户端生成交易用公钥和交易用私钥;
将所述交易用公钥发送给所述数字货币系统,通过所述数字货币系统将所述交易用公钥和所述金融机构客户端注册到所述数字身份认证系统。
可选地,上述交易方法,还包括:任一金融机构客户端生成身份验证公钥和身份验证私钥;
所述任一金融机构客户端发送身份注册请求给其所属的数字货币系统,包括:
任一金融机构客户端发送所述身份验证公钥和自身基本信息给其所属的数字货币系统。
可选地,所述数字货币系统将所述金融机构客户端注册到其管理的分布式账本上,包括:
根据所述身份验证公钥,所述数字货币系统为所述金融机构客户端生成在分布式账本中的地址。
可选地,所述通过所述数字货币系统将所述交易用公钥和所述金融机构客户端注册到所述数字身份认证系统,包括:
所述数字货币系统调用所述数字身份认证系统的身份服务合约,为所述金融机构客户端注册DID标识;
将所述DID标识和所述交易用公钥发送给所述金融机构客户端;
将所述交易用公钥、所述身份验证公钥和所述金融机构客户端的基本信息存储到所述数字身份认证系统。
可选地,所述验证节点为所述金融机构客户端生成交易用公钥和交易用私钥,包括:
通过Paillier算法为所述金融机构客户端生成交易用公钥和交易用私钥。
第二方面,本发明实施例提供一种基于多分布式账本实现的交易方法,包括:
接收跨链网关发送的第一分布式账本确定出的第一金融机构客户端的第一SPV证明;
调用所部署的第二跨链记录合约对所述第一SPV证明进行验证,如果验证所述第一SPV证明正确,则对所述第一SPV证明指示的第一金额进行加锁;
在接收到第二分布式账本所管理的第二金融机构客户端发送的第二跨链交易请求的情况下,调用所述第二跨链记录合约对所述第二跨链交易请求进行处理;
如果处理的结果指示所述第一SPV证明与所述第二跨链交易请求相匹配,解锁所述第一金额;
调用所述第二分布式账本所部署的第二账户合约,基于所述第一金额对所述第二金融机构客户端进行加款操作。
可选地,所述第二金融机构客户端从数字身份认证系统中获取所述第一金融机构客户端的第一交易用公钥和所述第二分布式账本对应的第二数字货币系统的第二管理用公钥,并通过所述第一交易用公钥、所述第二管理用公钥和确定出的第二金额构建第二验证信息;
将所述第二验证信息发送给所述第二数字货币系统对应的第二验证节点;
所述第二验证节点对所述第二验证信息进行验证;
在验证通过后,生成第二验证签名;
基于所述第二验证签名,生成所述第二跨链交易请求。
可选地,所述通过所述第一交易用公钥、所述第二管理用公钥和所述第二金额构建第二验证信息,包括:
分别通过所述第一交易用公钥以及所述第二管理用公钥对所述第二金额进行加密,确定加密后的结果为所述第二验证信息。
可选地,所述调用所述第二跨链记录合约对所述第二跨链交易请求进行处理,包括:
验证所述第一SPV证明以及所述第二跨链交易请求包括的所述第二验证签名是否匹配。
可选地,上述交易方法,还包括:
将解锁后的第一金额记录到所述第二跨链记录合约。
第三方面,本发明实施例提供一种基于多分布式账本实现的交易方法,包括:
第一分布式账本接收第一金融机构客户端发送的第一货币兑换请求,其中,所述第一金融机构客户端通过所述第一分布式账本管理,所述第一货币交换请求指示与第二分布式账本管理的第二金融机构客户端之间进行第一币种的金额与第二币种的金额之间的货币兑换;
调用所述第一金融机构客户端的第一币种账户合约,扣除所述第一币种的金额;
在接收到所述跨链网关发送的所述第二金融机构客户端生成的针对所述货币兑换的第三SPV证明的情况下,对所述第三SPV进行验证;
如果验证结果指示所述第三SPV证明正确,调用所述第一金融机构客户端的第二币种账户合约,为所述第一金融机构客户端进行加款操作。
可选地,所述第一分布式账本部署有第一跨链哈希锁定合约;
通过所述第一跨链哈希锁定合约,执行下述步骤M1至步骤M3中的任意一个或多个步骤:
步骤M1:调用所述第一金融机构客户端的第一币种账户合约,扣除所述第一币种的金额的步骤;
步骤M2:对所述第三SPV进行验证的步骤;
步骤M3:调用所述第一金融机构客户端的第二币种账户合约,为所述第一金融机构客户端进行加款操作的步骤。
可选地,上述交易方法,还包括:
通过所述第一跨链哈希锁定合约调用第一币种与第二币种的第一币种兑换合约,根据所述第一币种与所述第二币种之间的汇率,锁定第二币种的金额;
所述为所述第一金融机构的客户端进行加款操作,包括:
通过所述第一跨链哈希锁定合约调用第一币种与第二币种的第一兑换合约,对所述第二币种的金额解除锁定;
调用所述第一金融机构客户端的第二币种账户合约,将解除锁定的所述第二币种的金额加款到所述第一金融机构客户端。
可选地,在所述扣除所述第一币种的金额之后,还包括:
所述第一分布式账本将指示扣除成功的信息发送给所述第一金融机构客户端;
所述第一金融机构客户端生成第四SPV证明;
所述第一金融机构客户端通过所述跨链网关将所述第四SPV证明发送给所述第二分布式账本的第二哈希锁定合约,以使所述第二哈希锁定合约验证所述第四SPV证明,并使所述第二哈希锁定合约在验证所述第四SPV证明正确后,调用所述第二金融机构客户端的第一币种账户合约,基于所述第四SPV证明指示的第一币种的金额,为所述第二金融机构客户端进行加款操作。
可选地,所述第三SPV证明是所述第二金融机构客户端基于所述第二分布式账本部署的第一币种与第二币种的第二兑换合约所锁定的第一币种的金额以及所述第二金融机构客户端的第二币种账户合约扣除的第二币种的金额生成。
可选地,上述交易方法,还包括:
所述第一金融机构客户端从数字身份认证系统获取所述第二金融机构客户端的第二公钥,通过所述第一金融机构客户端的第一公钥、所述第二公钥,分别对第一币种的金额和第二币种的金额进行加密,其中,所述第一币种的金额与所述第二币种的金额满足所述第一币种与所述第二币种之间的汇率;
确定加密后的结果为所述第一货币兑换请求。
第四方面,本发明实施例提供一种交易系统,包括:
部署有第一分布式账本的多个第一任务节点;
部署有第二分布式账本的多个第二任务节点;
与所述第一任务节点通信的第一金融机构客户端;
与所述第二任务节点通信的第二金融机构客户端;以及,
连接所述第一任务节点和所述第二任务节点的跨链网关。
可选地,所述第一任务节点,用于通过所部署的所述第一分布式账本,处理所述第一金融机构客户端发送的第一跨链交易请求或者第一货币兑换请求;
所述第二任务节点,用于通过所部署的所述第二分布式账本,处理所述第二金融客户端发送的第二跨链交易请求或者第二货币兑换请求,其中,所述第二跨链交易请求与所述第一跨链交易请求相对应,所述第二货币兑换请求与所述第一货币兑换请求相对应。
可选地,针对所述第一分布式账本处理所述第一跨链交易请求,以及所述第二分布式账本处理所述第二跨链交易请求的情况,
所述第一分布式账本中设置有所述第一金融机构客户端的第一账户合约和第一跨链记录合约;
所述第二分布式账本中设置有所述第二金融机构客户端的第二账户合约和第二跨链记录合约;
所述第一任务节点,用于通过所述第一分布式账本调用所述第一账户合约和所述第一跨链记录合约处理所述第二跨链交易请求;
所述第二任务节点,用于通过所述第二分布式账本调用所述第二账户合约和所述第二跨链记录合约处理所述第二跨链交易请求。
可选地,针对所述第一分布式账本处理所述第一货币兑换请求,以及所述第二分布式账本处理所述第二货币兑换请求的情况,
所述第一分布式账本中设置有所述第一金融机构客户端的第一账户合约和第一跨链哈希锁定合约;
所述第二分布式账本中设置有所述第二金融机构客户端的第二账户合约和第二哈希锁定合约;
所述第一任务节点,用于通过所述第一分布式账本调用所述第一账户合约和所述第一哈希锁定合约处理所述第一货币兑换请求;
所述第二任务节点,用于通过所述第二分布式账本调用所述第二账户合约和所述第二哈希锁定合约处理所述第二货币兑换请求。
可选地,上述交易系统,还包括:
用于管理所述第一金融机构客户端的第一数字货币系统,其中,所述第一数字货币系统对应于所述第一分布式账本;
用于管理所述第二金融机构客户端的第二数字货币系统,其中,所述第二数字货币系统对应于所述第二分布式账本;
以及,
用于存储所述第一金融机构客户端的第一交易用公钥和所述第二金融机构客户端的第二交易用公钥的数字身份认证系统。
可选地,所述第一金融机构客户端,用于通过所述第一数字货币系统,注册到所述数字身份认证系统;
所述第二金融机构客户端,用于通过所述第二数字货币系统,注册到所述数字身份认证系统。
可选地,上述交易系统,还包括:
对应于所述第一数字货币系统的第一验证节点,用于对所述第一金融机构客户端构建的第一验证信息进行验证,在验证通过后,生成第一验证签名,并将所述第一验证签名发送给所述第一金融机构客户端;
所述第一金融机构客户端,用于根据所述第一验证签名,生成第一跨链交易请求,并将所述第一跨链交易请求发送给所述第一分布式账本。
可选地,上述交易系统,还包括:
对应于所述第二数字货币系统的第二验证节点,用于对所述第二金融机构客户端构建的第二验证信息进行验证,在验证通过后,生成第二验证签名,并将所述第二验证签名发送给所述第二金融机构客户端;
所述第二金融机构客户端,用于根据所述第二验证签名,生成第二跨链交易请求,并将所述第二跨链交易请求发送给所述第二分布式账本。
上述发明中的一个实施例具有如下优点或有益效果:本申请实施例提供的方案中,跨链的任意两个金融机构之间的交易需要通过分别管理这两个金融机构的两个分布式账本对交易进行管理,即第一分布式账本接收其管理的第一金融机构客户端发送第一跨链交易请求,其中,第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;然后通过调用所部署的第一金融机构客户端的第一账户合约,扣除第一金额,即通过账户合约管理跨链交易的金额,在第二分布式账本基于其接收到的第一金融机构客户端的第一SPV证明、第二金融机构客户端的第二跨链交易请求以及其所部署的第二账户合约,为第二金融机构客户端进行跨链交易处理,以实现第一分布式账本管理的第一金融机构客户端和第二分布式账本管理的第二金融机构客户端之间(即分属不同分布式账本管理的支付方和收款方之间)跨链交易的同时,能够通过多个分布式账本即管理支付方的分布式账本和管理收款方的分布式账本对交易金额进行监管,以有效地降低付款方和收款方的风险。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的基于多分布式账本实现的交易方法的主要流程的示意图;
图2是根据本发明实施例的分布式账本所依赖的运行环境的示意图;
图3是根据本发明实施例的生成第一跨链交易请求的主要流程的示意图;
图4是根据本发明另一实施例的基于多分布式账本实现的交易方法的主要流程的示意图;
图5是根据本发明实施例的生成第二跨链交易请求的主要流程的示意图;
图6是根据本发明实施例的跨链同币种交易的主要流程的示意图;
图7是根据本发明又一实施例的基于多分布式账本实现的交易方法的主要流程的示意图;
图8是根据本发明实施例的跨链跨币种交易的主要流程的示意图;
图9是根据本发明实施例的实现交易方法的各个设备的注册过程的主要流程的示意图;
图10是根据本发明实施例的将金融机构客户端注册到数字身份认证系统的主要流程的示意图;
图11是根据本发明实施例的基于多分布式账本实现的交易系统的结构示意图;
图12是本发明实施例可以应用于其中的示例性系统架构图;
图13是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
数字货币系统是为数字货币开发的、用于对数字货币进行管理,并对金融机构进行管理的系统。该数字货币系统可通过为其管理的金融机构客户端开放接口,以使该数字货币系统与其管理的金融机构客户端进行信息交互。其中,金融机构客户端是指商业银行或其他能够基于数字货币进行交易的股票、基金、证券等发行机构的服务端。
每一个数字货币系统一般对应有一个或多个分布式账本。该分布式账本(Distributed ledger)是一种在网络成员之间共享、复制和同步的数据库。分布式账本记录网络参与者之间的交易,比如资产或数据的交换。这种共享账本消除了调解不同账本的时间和开支。区块链技术作为第一个分布式账户的核心技术,得到了各国央行的广泛关注。目前多家央行已经将区块链技术作为实现CBDC(Central bank digital currency,央行数字货币)的核心技术。在本发明实施例中,该分布式账本以区块链的形式供其所对应或管理的数字货币系统和/或金融机构客户端使用。即不同数字货币系统可维护或管理不同的区块链。值得说明的是,一个数字货币系统也可维护多条区块链。
在本发明实施例提供的方案中,不同分布式账本可以属于同一个数字货币系统,也可以属于不同的数字货币系统。
不同分布式账本之间通过跨链网关进行信息交互。
另外,各个数字货币系统或者各个分布式账本对应的管理端可共同维护有数字身份认证系统(简称DID系统),该各个数字货币系统或者各个分布式账本对应的管理端在DID系统中注册,同时,一个或多个数字货币系统可将各个分布式账本所管理的各个金融机构注册到DID系统中,以保证数字货币系统和金融机构跨链可信或多分布式账本交易可信。
该跨链网关是为多个分布式账本之间交互、不同分布式账本管理的金融机构交互提供信息交互接口。在本发明实施例中,该跨链网关一般为注册于DID系统的多个分布式账本和/或金融机构客户端开放。
为了实现数字货币跨链交易,同时降低数字货币跨链交易的风险,本发明实施例提供一种基于多分布式账本实现的跨链交易方法和系统。
图1是根据本发明实施例的一种基于多分布式账本实现的交易方法的主要流程示意图。如图1所示,该基于多分布式账本实现的交易方法主要包括如下步骤:
步骤S101:通过第一分布式账本接收第一金融机构客户端发送的第一跨链交易请求,其中,第一金融机构客户端通过第一分布式账本管理,第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;
步骤S102:调用所部署的第一金融机构客户端的第一账户合约,扣除第一金额;
步骤S103:调用跨链网关,将确定出的第一金融机构客户端的第一SPV证明路由给第二分布式账本,以使第二分布式账本基于第一SPV证明、第二金融机构客户端的第二跨链交易请求以及所部署的第二账户合约,为第二金融机构客户端进行跨链交易处理。
其中,第一金融机构客户端和第二金融机构客户端均通过数字货币系统注册于数字身份认证系统,其中,数字身份认证系统存储有第一金融机构客户端的第一交易用公钥和第二金融机构客户端的第二交易用公钥,数字身份认证系统由多个分布式账本共同维护。该数字身份认证系统是实现跨链交易的基础,其可维护金融机构客户端的交易用公钥和基本信息等,以为跨链提供交易用公钥,以满足跨链交易的需求。
其中,SPV证明(第一SPV证明、第二SPV证明、第三SPV证明等)是金融机构客户端确实存在于某一条区块链上的声明,其可由分布式账本生成,也可由金融机构客户端生成。
其中,第一金融机构客户端与第二金融机构客户端分属于不同的分布式账本管理,即第一金融机构客户端属于第一分布式账本管理,其可注册于管理第一分布式账本的第一数字货币系统,第二金融机构客户端属于第二分布式账本管理,其可注册于管理第二分布式账本的第二数字货币系统。该第一数字货币系统和第二数字货币系统可以为同一数字货币系统,也可以为不同的数字货币系统。
值得说明的是,第一金融机构客户端以及第二金融机构客户端等中的“第一”以及“第二”等仅是为了区分一个交易的发起方和接收方而设置的,其并不构成对金融机构客户端的次序或个数以及金融机构客户端本身的限定。即通过跨链网关交互的多个分布式账本中的任意一个分布式账本所管理的任意一个金融机构客户端即可作为第一金融机构客户端,也可以作为第二金融机构客户端。另外,第一金融机构客户端与第二金融机构客户端可以互换。
相应地,下述的第一数字货币系统和第二数字货币系统等仅是为了区分一个交易的发起方和接收方分别对应的不同数字货币系统而设置的,而并不是对数字货币系统的次序或个数或数字货币系统本身的限定。
相应地,第一分布式账本和第二分布式账本等仅是为了区分一个交易的发起方和接收方分别对应的不同分布式账本而设置的,而并不是对分布式账本的次序或个数或分布式账本本身的限定。即通过跨链网关交互的多个分布式账本中的任意一个分布式账本可以为第一分布式账本,也可以为第二分布式账本。另外,第一分布式账本与第二分布式账本可以互换。
在图1所示的实施例中,跨链的任意两个金融机构之间的交易需要通过分别管理这两个金融机构的两个分布式账本对交易进行管理,即第一分布式账本接收其管理的第一金融机构客户端发送第一跨链交易请求,其中,第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;然后通过调用所部署的第一金融机构客户端的第一账户合约,扣除第一金额,即通过账户合约管理跨链交易的金额,在第二分布式账本基于其接收到的第一金融机构客户端的第一SPV证明、第二金融机构客户端的第二跨链交易请求以及其所部署的第二账户合约,为第二金融机构客户端进行跨链交易处理,以实现第一分布式账本管理的第一金融机构客户端和第二分布式账本管理的第二金融机构客户端之间(即分属不同分布式账本管理的支付方和收款方之间)跨链交易的同时,能够通过多个分布式账本即管理支付方的分布式账本和管理收款方的分布式账本对交易金额进行监管,以有效地降低付款方和收款方的风险。
另外,本发明实施例提供的基于多分布式账本实现的交易方法可应用于跨境交易,在通过本发明实施例提供的方案进行跨境交易过程中,可以规避“赫尔斯塔特风险”,同时,在规避“赫尔斯塔特风险”可尽可能的节约交易过程中的流动性。
另外,由于本发明实施例中,先对转账的第一金额通过第一账户合约扣除,然后收款方的第二分布式账本基于确定出的第一金融机构客户端的第一SPV证明第二金融机构客户端的第二跨链交易请求以及所部署的第二账户合约,为第二金融机构客户端进行跨链交易处理,才完成跨链交易,实现跨链实时转账和原子支付。
其中,本发明实施例提供的基于多分布式账本实现的交易方法中分布式账本所依赖的运行环境可如图2所示。从图2可以看出,该分布式账本的运行环境可涉及数字身份认证系统(下述简称DID系统)以及基于数字货币的交易管理系统,其中,基于数字货币的交易管理系统可以分为四层,分别是基础存储层、合约层、中间件层、客户端层。基础存储层负责分布式账本、跨链网关、数字货币系统的验证节点的存储,合约层负责系统中各种合约的管理,中间件层负责维护客户端与数字货币系统、分布式账本、区块链、各种合约之间调用的接口或SDK,客户端层为整个跨链网络提供本地的分布式交易管理。
其中,基础存储层主要分为三个模块,管理交易的分布式账本、跨链网关以及验证节点,管理交易的分布式账本是基于账户模型的区块链技术实现,由央行和其相关金融机构共同维护。该分布式账本存储其所管理的金融机构的交易信息,实现交易信息的安全存储和安全共享,为上层的合约层提供信息存贮和查询支撑。该分布式账本记录的的各机构的资产数额由Paillier算法加密,除央行外的任何机构无法查看。跨链网关对跨链网络中的信息进行寻址和转发。验证节点负责特定交易信息的认证和签名,该验证节点采用集群的部署方式,防止单点问题。
合约层主要包含三个主要的智能合约,账户合约、跨链记录合约以及哈希锁定合约。账户合约实现了金融机构客户端交易的记录和管理,是合约层的核心合约。账户合约记录链上金融机构的资产数额,采用Paillier算法进行加密。在一条区块链上,同一种货币仅存在唯一的账户合约。跨链记录合约用于记录跨链交易的信息比如进行跨链交易的金融机构客户端的信息、跨链交易类型如同币种交易或跨币种交易、跨链交易金额等。该一般采用SPV算法验证跨链信息的正确性,并记录跨链交易的进出数额。哈希锁定合约其是一种不同币种交易协议的合约,用于对不同币种间交易的金额进行哈希锁定。该哈希锁定合约可通过哈希锁定算法来完成链内或跨链的同步交收(Payment Versus Payment,PVP)交易,保证交易的两种货币均于同一时间完成交割以及交易的原子性。合约层的账户合约、跨链记录合约以及哈希锁定合约均通过部署在各种分布式账本上。合约层通过智能合约技术实现了对交易的身份信息、交易凭证等生成和验证相关业务逻辑的强制执行,借助基础存储层对分布式账本实现了写入、查询、更新和撤销操作。
中间层作为客户端和合约层之间的桥梁,不作业务逻辑判断,只进行身份管理和交易请求的转发。中间件层包括区块链SDK、DID SDK、合约SDK、数字货币SDK。其中,区块链SDK提供调用分布式账本的接口。DID SDK提供调用各国数字货币系统共同维护的数字身份认证系统的接口,以通过该数字身份认证系统对不同金融机构进行注册和管理。合约SDK提供调用合约层提供的各种合约的接口。数字货币SDK与数字货币系统对接的中间件,可提供调用数字货币系统的接口,金融机构在进行入交易操作时需要通过其所注册的数字货币系统来完成。同时,中间件层提供的各种SDK也是身份认证的网关,只会对合规的请求进行应答。
客户端层为整个跨链网络提供本地的分布式信息管理,并该客户端层主要包括区块链客户端、钱包、数字货币系统等。
DID系统是由所有使用该系统的央行所共同维护的分布式身份系统,不同国家的不同金融机构在DID系统的链上拥有一个唯一的DID标识和DID文件(简称DIDdoc),DIDdoc中除了包含金融机构的基本信息外,还包含了金融机构所对应的Paillier公钥和ECDSA(lliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)公钥等。
值得说明的是,图1所示的实施例主要针对跨链同币种交易这种场景,其中,跨链同币种交易可以为境内交易,也可以为跨境交易。
具体地,针对跨链同币种交易场景来说,图1所示的交易方法还可进一步包括:第一分布式账本调用其所部署的第一跨链记录合约,生成第一SPV证明。以保证跨链交易的完成,同时能够通过分布式账本对账本外金额进行记录和管理。即通过用于管理交易发起方的分布式账本所部署的跨链记录合约生成第一SPV证明,以为用于管理交易接收方的分布式账本提供证明,保证交易正确、且合法。
在本发明实施例中,还可以基于第一账户合约扣除的第一金额,调用第一跨链记录合约记录第一账本外金额。以通过跨链记录合约记录跨链转账的金额即账本外金额,以记录跨链金额或账本外金额流转,方便后续对跨链资金或账本外金额进行溯源。
在本发明实施例中,如图3所示,上述跨链交易方法可进一步包括如下步骤,以得到第一跨链交易请求。
步骤S301:第一金融机构客户端从数字身份认证系统中获取第二交易用公钥和第一数字货币系统的第一管理用公钥,并通过第一金融机构客户端的第一交易用公钥、第二交易用公钥、第一管理用公钥和金额构建第一验证信息;
其中,第二交易用公钥是管理第二金融机构客户端的数字货币系统为第二金融机构客户端生成的。该管理第二金融机构客户端的数字货币系统可以与管理第一金融机构客户端的数字货币系统相同,也可以不同。
其中,交易用公钥除了存储在DID系统,还可以存储在对应的金融机构客户端。相应的,该第一交易用公钥可从第一金融机构客户端获取,也可从DID系统中获取。
其中,交易用公钥和对应的交易用私钥一般通过Paillier同态加法密码算法(下述简称Paillier算法)生成。该Paillier算法在加密时选取的随机数其中,表征有限域;0<r<n,其中,p与公钥互质。
该步骤S301具体实现:分别通过第一交易用公钥、第二交易用公钥以及第一管理用公钥对第一金额进行加密,确定加密后的结果为第一验证信息。
下面以一个数字货币系统(即第一数字货币系统)管理的金融机构A的客户端作为第一金融机构客户端,另一个数字货币系统(即第二数字货币系统)管理的金融机构B的客户端作为第二金融机构客户端为例,详细说明构建第一验证信息。具体地,通过第一交易用公钥paPK_A加密金额得到加密后的结果E_A(x);通过第二交易用公钥paPK_B加密金额得到加密后的结果E_B(x);通过第一管理用公钥paPK_CD加密金额得到加密后的结果E_CD(x);其中,x表征金额。相应地,第一验证信息:<E_A(x),E_B(x),E_CD(x)>。
步骤S302:将第一验证信息发送给第一数字货币系统对应的第一验证节点;
步骤S303:第一验证节点对第一验证信息进行验证;
该步骤验证过程的具体实现:第一数字货币系统的验证节点从DID系统中获取第一交易用公钥paPK_A和第二交易用公钥paPK_B,通过验证节点存储的第一管理用公钥paPK_1_CD对应的第一管理用私钥paSK_1_CD,利用第一交易用公钥paPK_A、第二交易用公钥paPK_B和第一管理用私钥paSK_1_CD,对第一验证信息进行验证。利用第一管理用私钥paSK_1_CD对E_1_CD(x)进行解密得到D_1_CD(E_1_CD(x)),并分别用第一交易用公钥paPK_A和第二交易用公钥paPK_B对解密后的结果进行加密得到:E_A(D_1_CD(E_1_CD(x)))、E_B(D_1_CD(E_1_CD(x))),如果E_A(D_1_CD(E_1_CD(x)))=E_A(x),且E_B(D_1_CD(E_1_CD(x)))=E_B(x),则确定验证通过。
步骤S304:在验证通过后,生成第一验证签名;
针对上述<E_A(x),E_B(x),E_1_CD(x)>的验证签名:Sign_1(E_A(x)|E_B(x)|E_1_CD(x))。
步骤S305:第一金融机构客户端基于第一验证签名以及其具有的第一金融机构签名,生成第一跨链交易请求。
针对该Sign_1(E_A(x)|E_B(x)|E_1_CD(x))生成的第一跨链交易请求:(from:address_A,to:address_B,value_from:E_A(x),value_to:E_B(x),value_1_CD:E_1_CD(x),sign:Sign_1(E_A(x)|E_B(x)|E_1_CD(x))),其中,address_A指示金融机构A在第一分布式账本上的地址;address_B指示金融机构B在第二分布式账本上的地址。
通过上述验证过程,可以保证跨链交易请求的安全性,同时能够保证交易金额的保密性和安全性,通过引入第一管理用公钥加密的结果E_1_CD(x),可以使第一数字货币系统监控货币的跨链交易比如针对跨链交易为跨境的情况,第一数字货币系统可监控本国所在货币的离岸货币的交易,通过智能合约技术防止货币跨链超发。
另外,上述图1所示的实施例中,上述调用所部署的第一金融机构客户端的第一账户合约,扣除第一金额的具体实施方式可包括:第一分布式账本调用所部署的第一账户合约,对第一跨链交易请求包括的第一验证签名以及第一金融机构的签名进行验证;如果验证通过,扣除第一金额。
值得说明的是,图1所示的实施例以及与图1相关的实施例主要是针对交易发起侧实现交易的过程。在本发明实施例中,图4示出了与图1交易发起侧的交易过程相匹配的交易接收侧的交易过程。具体地,如图4所示,针对交易接收侧,基于多分布式账本实现的交易方法可包括如下步骤:
步骤S401:接收跨链网关发送的第一分布式账本确定出的第一金融机构客户端的第一SPV证明;
步骤S402:调用所部署的第二跨链记录合约对第一SPV证明进行验证,如果验证第一SPV证明正确,则执行步骤S403;否则,终止交易,并结束当前流程;
步骤S403:对第一SPV证明指示的第一金额进行加锁;
步骤S404:在接收到第二分布式账本所管理的第二金融机构客户端发送的第二跨链交易请求的情况下,调用第二跨链记录合约对第二跨链交易请求进行处理;
步骤S405:如果处理的结果指示第一SPV证明与第二跨链交易请求相匹配,解锁第一金额;
步骤S406:调用第二分布式账本所部署的第二账户合约,基于第一金额对第二金融机构客户端进行加款操作。
通过第二分布式账本对第一SPV证明指示的第一金额进行加锁,在验证第一SPV证明正确,且第一SPV证明与接收方即第二金融机构客户端发送的第二跨链交易请求相匹配,则说明转账金额、账户等是正确的,然后才调用所部署的第二账户合约,基于第一金额对第二金融机构客户端进行加款操作,进一步保证交易正确性以及安全性。
另外,通过调用部署于第二分布式账本上的第二账户合约,为第二金融机构客户端加款,在保证跨链交易完成的同时,能够通过第二分布式账本上的第二账户合约管理第二金融机构的交易。
在本发明实施例中,如图5所示,上述图4所示的跨链交易方法可进一步包括如下步骤,以得到第二跨链交易请求。
步骤S501:第二金融机构客户端从数字身份认证系统中获取第一金融机构客户端的第一交易用公钥和第二分布式账本对应的第二数字货币系统的第二管理用公钥,并通过第一交易用公钥、第二管理用公钥和金额构建第二验证信息;
该步骤具体实现:分别通过第一交易用公钥以及第二管理用公钥对金额进行加密,确定加密后的结果为第二验证信息。
下面仍以上述金融机构A的客户端作为第一金融机构客户端,金融机构B的客户端作为第二金融机构客户端为例,详细说明构建第二验证信息。具体地,通过第一交易用公钥paPK_A加密金额得到加密后的结果E_A(x);通过第二管理用公钥paPK_2_CD加密金额得到加密后的结果E_2_CD(x);其中,x表征金额。相应地,第二验证信息:<E_A(x),E_2_CD(x)>。
步骤S502:将第二验证信息发送给第二数字货币系统对应的第二验证节点;
步骤S503:第二验证节点对第二验证信息进行验证;
该步骤的具体实现:通过第二管理用公钥paPK_2_CD对应的第二管理用私钥paSK_2_CD对第二管理用公钥加密后的金额进行解密,并将解密的结果通过第一交易用公钥paPK_A进行加密E_A(D_2_CD(E_2_CD(x))),加密后的结果与第一交易用公钥加密后的金额进行对比,如果比对结果:E_A(D_2_CD(E_2_CD(x)))==E_A(x),则确定验证通过。
步骤S504:在验证通过后,生成第二验证签名;
通过第二数字货币系统的数字签名对第二验证信息<E_A(x),E_2_CD(x)>进行签名,得到Sign_2(E_A(x)|E_2_CD(x))。
步骤S505:基于第二验证签名,生成第二跨链交易请求。
针对该Sign_2(E_A(x)|E_2_CD(x))生成的第二跨链交易请求:(from:address_A,to:address_B,value_from:E_A(x),value_to:E_B(x),value_2_CD:E_2_CD(x),sign:Sign_2(E_A(x)|E_2_CD(x)),其中,address_A指示金融机构A在第一分布式账本上的地址;address_B指示金融机构B在第二分布式账本上的地址。
通过上述验证过程,可以进一步保证第二跨链交易请求的安全性,同时能够保证交易金额的保密性和安全性。由于交易金额经过加密,可进一步保证只有参与交易的两个数字货币系统能够查询交易信息。
进一步在本发明实施例中,上述调用第二跨链记录合约对第二跨链交易请求进行处理的具体实施方式可包括:验证第一SPV证明以及第二跨链交易请求包括的第二验证签名是否匹配。以进一步保证跨链交易的安全性,同时实现原子交易。
在本发明实施例中,上述方法还可进一步包括:将解锁后的第一金额记录到第二跨链记录合约。可以对跨链交易进行管理以及溯源。
下面以数字货币系统1管理的金融机构A及其对应的分布式账本1与数字货币系统2管理的金融机构B及其对应的分布式账本2通过跨链网关进行跨链同币种为例,对跨链同币种交易进行详细说明。如图6所示,具体交易可包括如下步骤:
步骤S601:金融机构A构建验证信息<<E_A(x),E_B(x),E_1_CD(x)>>,并将该验证信息发送给金融机构A所属数字货币系统1对应的验证节点1;
步骤S602:验证节点1对验证信息进行验证,如果验证通过,则执行步骤S603;如果验证未通过,则直接结束当前流程;
步骤S603:验证节点1对验证信息进行签名,生成验证签名Sign_1(E_A(x)|E_B(x)|E_1_CD(x));
步骤S604:验证节点1将验证签名Sign_1(E_A(x)|E_B(x)|E_1_CD(x))发送给金融机构A;
步骤S605:金融机构A基于验证签名,生成跨链交易请求;
步骤S601':金融机构B构建验证信息<E_A(x),E_2_CD(x)>,并将该验证信息发送给金融机构B所属数字货币系统2对应的验证节点2;
步骤S602':验证节点2对验证信息进行验证,如果验证通过,则执行步骤S603';如果验证未通过,则直接结束当前流程;
该步骤在验证出E_A(D_2_CD(E_2_CD(x)))==E_A(x),则确定验证通过。
步骤S603':验证节点2对验证信息进行签名,生成验证签名Sign_2(E_A(x)|E_2_CD(x));
步骤S604':验证节点1将验证签名Sign_2(E_A(x)|E_2_CD(x))发送给验证节点2;
步骤S605':验证节点1基于验证签名,生成跨链交易请求;
值得说明的是,上述步骤S601'至步骤S605',与步骤S601至步骤S605之间没有严格的执行顺序,另外,该步骤S601'至步骤S605'与下述步骤S606至步骤S612也没有严格的执行顺序,即步骤S601'至步骤S605'可在下述步骤S613之前任一步骤完成。
步骤S606:验证节点1将跨链交易请求发布到分布式账本1上;
步骤S607:分布式账本1调用部署的金融机构A的账户合约对签名进行验证,如果在验证通过后,则执行步骤S608;否则,结束当前流程;
该步骤所需验证的签名有两个一个是央行签名即央行的数字货币系统证明该金融机构A获得授权的签名,另一个为上述验证节点1生成的验证签名。
步骤S608:分布式账本1调用金融机构A的账户合约完成扣款操作;
步骤S609:分布式账本1调用部署的跨链合约记录账本外金额E_1_CD(x),并生成SPV证明;
步骤S610:分布式账本1调用跨链网关,将SPV证明发送到分布式账本2上;
步骤S611:分布式账本2调用其部署的跨链记录合约对SPV证明进行验证;
步骤S612:分布式账本2验证通过后,基于该SPV证明,锁定相应的金额;
步骤S613:分布式账本2利用上述验证签名Sign_2(E_A(x)|E_2_CD(x))解锁金额,并调用金融机构B的账户合约;
步骤S614:分布式账本2为账户合约完成加款操作;
步骤S615:分布式账本2将交易记录在跨链记录合约中。
上述过程可以是跨链同币种交易中两条交易的链属于同一央行的数字货币管理系统管理,其通过央行所发行的货币进行交易,也可以是跨链同币种交易中一条链直接通过其所属央行所发行的货币与另一条链交易,比如,一条链L1直接通过其所属央行所发行的货币为a,其直接使用货币a与另一条链L2交易。
另外,跨链同币种交易还可包括:另一条链L2通过链L1对应的货币a与链L1交易;链L1与链L2之间交易通过货币c完成,该货币c为链L3所属央行发行。
针对另一条链L2通过链L1对应的货币a与链L1交易这种情况,
跨链记录合约的操作会有所不同,当链L1的分布式账本的跨链合约收到链L2的分布式账本的跨链信息时,会对跨链合约中记录的离岸总金额执行同态减法操作,当若金额不足,拒绝执行交易。
针对链L1与链L2之间交易通过货币c完成,该货币c为链L3所属央行发行这种情况,
需要通过链L3完成交易,首先链L1和链L3进行交易。在链L1的分布式账本记录的货币c账本外金额足够的情况下,将货币c从链L1的账户a转移到链L3的账户c中,最后通过步骤S601至步骤S615交易过程完成链L3到链L2的交易。
在基于图2所示的分布式账本所依赖的运行环境除了可以应用于上述各个实施例提供的跨链同币种交易场景之外,还可应用于跨链跨币种交易场景。
针对跨链跨币种交易场景,如图7所示,本发明实施例提供的一种基于多分布式账本实现的交易方法可包括如下步骤:
步骤S701:第一分布式账本接收第一金融机构客户端发送的第一货币兑换请求,其中,第一金融机构客户端通过第一分布式账本管理,第一货币交换请求指示与第二分布式账本管理的第二金融机构客户端之间进行第一币种的金额与第二币种的金额之间的货币兑换;
步骤S702:调用第一金融机构客户端的第一币种账户合约,扣除第一币种的金额;
步骤S703:在接收到跨链网关发送的第二金融机构客户端生成的针对货币兑换的第三SPV证明的情况下,对第三SPV进行验证;
其中,第三SPV证明是第二金融机构客户端基于第二分布式账本部署的第一币种与第二币种的第二兑换合约所锁定的第一币种的金额以及第二金融机构客户端的第二币种账户合约扣除的第二币种的金额生成。
步骤S704:如果验证结果指示第三SPV证明正确,调用第一金融机构客户端的第二币种账户合约,为第一金融机构客户端进行加款操作。
值得说明的是,第一币种以及第二币种等中的“第一”以及“第二”等仅是为了区分一个交易的发起交易方所支付的币种以及所兑换出的币种,即该“第一”以及“第二”等是针对不同币种而设置的,其并不构成对币种的次序或个数以及币种本身的限定。即通过跨链网关交互的多个分布式账本兑换的任意一种币种均可作为第一币种,也均可作为第二币种。
相应地,第一金融机构客户端以及第二金融机构客户端等中的“第一”以及“第二”等仅是为了区分一个交易的发起方和接收方而设置的,其并不构成对金融机构客户端的次序或个数以及金融机构客户端本身的限定。即通过跨链网关交互的多个分布式账本中的任意一个分布式账本所管理的任意一个金融机构客户端即可作为第一金融机构客户端,也可以作为第二金融机构客户端。另外,第一金融机构客户端与第二金融机构客户端可以互换。
相应地,下述的第一数字货币系统和第二数字货币系统等仅是为了区分一个交易的发起方和接收方分别对应的不同数字货币系统而设置的,而并不是对数字货币系统的次序或个数或数字货币系统本身的限定。
相应地,第一分布式账本和第二分布式账本等仅是为了区分一个交易的发起方和接收方分别对应的不同分布式账本而设置的,而并不是对分布式账本的次序或个数或分布式账本本身的限定。即通过跨链网关交互的多个分布式账本中的任意一个分布式账本可以为第一分布式账本,也可以为第二分布式账本。另外,第一分布式账本与第二分布式账本可以互换。
在图7所示的实施例中,跨链的任意两个金融机构之间的货币兑换需要通过分别管理这两个金融机构的两个分布式账本对交易进行管理,即第一分布式账本接收其管理的第一金融机构客户端发送第一货币兑换请求,其中,第一货币交换请求指示与第二分布式账本管理的第二金融机构客户端之间进行第一币种的金额与第二币种的金额之间的货币兑换;然后通过调用所部署的第一金融机构客户端的第一币种账户合约,扣除第一币种的金额,即通过第一币种账户合约管理跨链交易的第一币种的金额,在在接收到跨链网关发送的第二金融机构客户端生成的针对货币兑换的第三SPV证明的情况下,对第三SPV进行验证,以实现第一分布式账本管理的第一金融机构客户端和第二分布式账本管理的第二金融机构客户端之间(即分属不同分布式账本管理的支付方和收款方之间)跨链币种间兑换的同时,能够通过多个分布式账本即管理支付方的分布式账本和管理收款方的分布式账本对兑换的金额进行监管,以有效地降低付款方和收款方的风险。
在本发明实施例中,第一分布式账本部署有第一跨链哈希锁定合约;通过第一跨链哈希锁定合约,执行调用第一金融机构客户端的第一币种账户合约的步骤。以通过跨链哈希锁定合约管理币种兑换,保证兑换过程的原子性以及安全性。
在本发明实施例中,还可通过第一跨链哈希锁定合约,执行对第三SPV进行验证的步骤。
在本发明实施例中,还可通过第一跨链哈希锁定合约,执行调用第一金融机构客户端的第二币种账户合约的步骤。
即通过第一跨链哈希锁定合约实现对跨链相关过程的统一管理。
在本发明实施例中,针对跨链跨币种交易场景,上述交易方法还可进一步包括:通过第一跨链哈希锁定合约调用第一币种与第二币种的第一币种兑换合约,根据第一币种与所述第二币种之间的汇率,锁定第二币种的金额;相应地,为第一金融机构的客户端进行加款操作的具体实施方式可包括:通过第一跨链哈希锁定合约调用第一币种与第二币种的第一兑换合约,对第二币种的金额解除锁定;调用第一金融机构客户端的第二币种账户合约,将解除锁定的第二币种的金额加款到第一金融机构客户端。
在本发明实施例中,针对跨链跨币种交易场景,在扣除第一币种的金额之后还可进一步包括:第一分布式账本将指示扣除成功的信息发送给第一金融机构客户端;第一金融机构客户端生成第四SPV证明;第一金融机构客户端通过跨链网关将第四SPV证明发送给第二分布式账本的第二哈希锁定合约,以使第二哈希锁定合约验证第四SPV证明,并使第二哈希锁定合约在验证第四SPV证明正确后,调用第二金融机构客户端的第一币种账户合约,基于第四SPV证明指示的第一币种的金额,为第二金融机构的客户端进行加款操作。
在本发明实施例中,上述交易方法还可进一步包括:第一金融机构客户端从数字身份认证系统获取第二金融机构客户端的第二公钥,通过第一金融机构客户端的第一公钥、第二公钥,分别对第一币种的金额和第二币种的金额进行加密,其中,第一币种的金额与第二币种的金额满足第一币种与第二币种之间的汇率;确定加密后的结果为第一货币兑换请求。
其中,第一公钥可以为上述第一金融机构客户端的第一交易用公钥,也可以为第一交易用公钥之外的第一金融机构客户端的其他公钥;第二公钥可以为上述第二金融机构客户端的第二交易用公钥,也可以为第二交易用公钥之外的第二金融机构客户端的其他公钥。
通过上述过程实现跨链跨币种原子交易,同时保证交易的安全性。
下面以第一数字货币系统1管理的金融机构A和第二数字货币系统2管理的金融机构B通过跨链网关进行跨链跨币种比如币种a与币种b交换为例,对跨链跨币种交易进行详细说明。如图8所示,具体交易可包括如下步骤:
步骤S801:金融机构A构造跨链货币交换交易,将该跨链货币交换交易发送给第一数字货币系统1对应的分布式账本1;
步骤S802:分布式账本1调用跨链哈希锁定合约锁定相应的货币b的金额;
步骤S803:分布式账本1从货币a的账户合约扣除相应金额的货币a;
步骤S804:分布式账本1将合约构建完成情况发送给金融机构A;
步骤S805:金融机构A生成SPV证明;
步骤S801':金融机构B构造跨链货币交换交易,将该跨链货币交换交易发送给第一数字货币系统2对应的分布式账本2;
步骤S802':分布式账本2调用跨链哈希锁定合约锁定相应的货币a的金额;
步骤S803':分布式账本2从货币b的账户合约扣除相应金额的货币b;
步骤S804':分布式账本2将合约构建完成情况发送给金融机构B;
步骤S805':金融机构B生成SPV证明;
步骤S806:金融机构B和金融机构A调用跨链网关,交换SPV证明;
步骤S807:金融机构B将交换得到的SPV证明发送给分布式账本2,金融机构A将交换得到的SPV证明发送给分布式账本1;
步骤S808:分布式账本1和分布式账本2分别对各自部署的哈希锁定合约所锁定的金额进行解锁;
步骤S809:分布式账本1调用货币b的账户合约为金融机构A完成货币b的加款操作,并结束当前流程;
步骤S810:分布式账本2调用货币a的账户合约为金融机构B完成货币a的加款操作。
在本发明实施例中,上述交易方法还可包括对金融机构客户端等的注册过程,如图9所示,注册过程可包括如下步骤:
步骤S901:任一金融机构客户端发送身份注册请求给其所属的数字货币系统;
在该步骤之前,金融机构生成表征身份的ECDSA公私钥,并将该ECDSA公私钥注册到数字货币系统。该ECDSA公私钥是通过现有技术得到,在此不再赘述。
步骤S902:针对身份注册请求,数字货币系统将金融机构客户端注册到其管理的分布式账本上,并生成密钥生成请求,并将密钥生成请求发送给数字货币系统的验证节点;
步骤S903:验证节点为金融机构客户端生成交易用公钥和交易用私钥;
该步骤通过Paillier算法生成交易用公钥和交易用私钥。
步骤S904:将交易用公钥发送给数字货币系统,通过数字货币系统将交易用公钥和金融机构客户端注册到数字身份认证系统。
该步骤主要是为金融机构注册交易,具体将上述ECDSA公钥以及交易用公钥注册到数字身份认证系统上。
然后将注册得到DID标识下发给金融机构。
其中,上述注册过程还可进一步包括:任一金融机构客户端生成身份验证公钥和身份验证私钥;相应的,上述步骤S801的具体实施方式可包括:任一金融机构客户端发送身份验证公钥和自身基本信息给其所属的数字货币系统。
其中,上述步骤S802中,数字货币系统将金融机构客户端注册到其管理的分布式账本上得具体实施方式可包括:根据身份验证公钥,数字货币系统为金融机构客户端生成在分布式账本中的地址。
如图10所示,上述步骤S904的具体实施方式可包括如下步骤:
步骤S1001:数字货币系统调用数字身份认证系统的身份服务合约,为金融机构客户端注册DID标识;
步骤S1002:将DID标识和交易用公钥发送给金融机构客户端;
步骤S1003:将交易用公钥、身份验证公钥和金融机构客户端的基本信息存储到数字身份认证系统。
值得说明的是,上述各个实施例提供的交易方法可用于跨境交易。
如图11所示,本发明实施例提供一种交易系统1100,该基于多分布式账本实现的交易系统1100实现上述各个实施例提供的基于多分布式账本实现的交易方法。该交易系统1100可包括:
部署有第一分布式账本的多个第一任务节点1101;
部署有第二分布式账本的多个第二任务节点1102;
与第一任务节点1101通信的第一金融机构客户端1103;
与第二任务节点1102通信的第二金融机构客户端1104;以及,
连接第一任务节点1101和第二任务节点1102的跨链网关1105。
在本发明实施例中,第一任务节点1101,用于通过所部署的第一分布式账本,处理第一金融机构客户端1103发送的第一跨链交易请求或者第一货币兑换请求;
第二任务节点1102,用于通过所部署的第二分布式账本,处理第二金融客户端1104发送的第二跨链交易请求或者第二货币兑换请求,其中,第二跨链交易请求与第一跨链交易请求相对应,第二货币兑换请求与第一货币兑换请求相对应。
在本发明实施例中,针对第一分布式账本处理第一跨链交易请求,以及第二分布式账本处理第二跨链交易请求的情况,
第一分布式账本中设置有第一金融机构客户端1103的第一账户合约和第一跨链记录合约;
第二分布式账本中设置有第二金融机构客户端1104的第二账户合约和第二跨链记录合约;
第一任务节点1101,用于通过第一分布式账本调用第一账户合约和第一跨链记录合约处理第二跨链交易请求;
第二任务节点1102,用于通过第二分布式账本调用第二账户合约和第二跨链记录合约处理第二跨链交易请求。
在本发明实施例中,针对第一分布式账本处理第一货币兑换请求,以及第二分布式账本处理第二货币兑换请求的情况,
第一分布式账本中设置有第一金融机构客户端1103的第一账户合约和第一跨链哈希锁定合约;
第二分布式账本中设置有第二金融机构客户端1104的第二账户合约和第二哈希锁定合约;
第一任务节点1101,用于通过第一分布式账本调用第一账户合约和第一哈希锁定合约处理第一货币兑换请求;
第二任务节点1102,用于通过第二分布式账本调用第二账户合约和第二哈希锁定合约处理第二货币兑换请求。
如图11所示,交易系统1100还可进一步包括:
用于管理第一金融机构客户端1103的第一数字货币系统1106,其中,第一数字货币系统1106对应于第一分布式账本;
用于管理第二金融机构客户端1104的第二数字货币系统1107,其中,第二数字货币系统1107对应于第二分布式账本;
以及,
用于存储第一金融机构客户端1103的第一交易用公钥和第二金融机构客户端1104的第二交易用公钥的数字身份认证系统1108。
在本发明实施例中,第一金融机构客户端1103,用于通过第一数字货币系统1106,注册到数字身份认证系统1108;
第二金融机构客户端1104,用于通过第二数字货币系统1107,注册到数字身份认证系统1108。
在本发明实施例中,如图11所示,交易系统1100还可进一步包括:
对应于第一数字货币系统1106的第一验证节点1109,用于对第一金融机构客户端1103构建的第一验证信息进行验证,在验证通过后,生成第一验证签名,并将第一验证签名发送给第一金融机构客户端1103;
第一金融机构客户端1103,用于根据第一验证签名,生成第一跨链交易请求,并将第一跨链交易请求发送给第一分布式账本。
在本发明实施例中,如图10所示,交易系统1100还可进一步包括:对应于第二数字货币系统1107的第二验证节点1110,用于对第二金融机构客户端1104构建的第二验证信息进行验证,在验证通过后,生成第二验证签名,并将第二验证签名发送给第二金融机构客户端1104;
第二金融机构客户端1104,用于根据第二验证签名,生成第二跨链交易请求,并将第二跨链交易请求发送给第二分布式账本。
在本发明实施例中,第一任务节点1101,进一步用于通过第一分布式账本接收第一金融机构客户端1103发送的第一跨链交易请求,其中,第一金融机构客户端1103通过第一分布式账本管理,第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端1104支付的第一金额;调用所部署的第一金融机构客户端1103的第一账户合约,扣除第一金额;调用跨链网关1105,将确定出的第一金融机构客户端1103的第一SPV证明路由给第二分布式账本,以使第二分布式账本基于第一SPV证明、第二金融机构客户端1104的第二跨链交易请求以及所部署的第二账户合约,为第二金融机构客户端1104进行跨链交易处理。
在本发明实施例中,第一任务节点1101,进一步用于通过第一分布式账本调用其所部署的第一跨链记录合约,生成第一SPV证明。
在本发明实施例中,第一任务节点1101,进一步用于基于第一账户合约扣除的第一金额,调用第一跨链记录合约记录第一账本外金额。
在本发明实施例中,第一金融机构客户端1103,进一步用于从数字身份认证系统1108中获取第二交易用公钥和第一数字货币系统1106的第一管理用公钥,并通过第一金融机构客户端1103的第一交易用公钥、第二交易用公钥、第一管理用公钥和第一金额构建第一验证信息;将第一验证信息发送给第一数字货币系统1106对应的第一验证节点1109;
第一验证节点1109,进一步用于对第一验证信息进行验证,在验证通过后,生成第一验证签名;
第一金融机构客户端1103,进一步用于基于第一验证签名以及其具有的第一金融机构签名,生成第一跨链交易请求。
在本发明实施例中,第一金融机构客户端1103,进一步用于分别通过第一交易用公钥、第二交易用公钥以及第一管理用公钥对第一金额进行加密,确定加密后的结果为第一验证信息。
在本发明实施例中,第一任务节点1101,进一步用于调用第一账户合约,对第一跨链交易请求包括的第一验证签名以及第一金融机构签名进行验证;如果验证通过,扣除第一金额。
在本发明实施例中,第二任务节点1102,进一步用于接收跨链网关发送的第一分布式账本确定出的第一金融机构客户端1103的第一SPV证明;调用所部署的第二跨链记录合约对第一SPV证明进行验证,如果验证第一SPV证明正确,则对第一SPV证明指示的第一金额进行加锁;在接收到第二分布式账本所管理的第二金融机构客户端1104发送的第二跨链交易请求的情况下,调用第二跨链记录合约对第二跨链交易请求进行处理;如果处理的结果指示第一SPV证明与第二跨链交易请求相匹配,解锁第一金额;调用第二分布式账本所部署的第二账户合约,基于第一金额对第二金融机构客户端1104进行加款操作。
在本发明实施例中,第二金融机构客户端1104,进一步用于从数字身份认证系统1108中获取第一金融机构客户端1103的第一交易用公钥和第二分布式账本对应的第二数字货币系统1104的第二管理用公钥,并通过第一交易用公钥、第二管理用公钥和确定出的第二金额构建第二验证信息;将第二验证信息发送给第二数字货币系统1107对应的第二验证节点1110;
第二验证节点1110,进一步用于对第二验证信息进行验证;在验证通过后,生成第二验证签名;
第二金融机构客户端1104,进一步用于基于第二验证签名,生成第二跨链交易请求。
在本发明实施例中,第二金融机构客户端1104,进一步用于分别通过第一交易用公钥以及第二管理用公钥对第二金额进行加密,确定加密后的结果为第二验证信息。
在本发明实施例中,第二任务节点1102,进一步用于验证第一SPV证明以及第二跨链交易请求包括的第二验证签名是否匹配。
在本发明实施例中,第二任务节点1102,进一步用于将解锁后的第一金额记录到第二跨链记录合约。
在本发明实施例中,第一任务节点1101,进一步用于通过第一分布式账本接收第一金融机构客户端1103发送的第一货币兑换请求,其中,第一金融机构客户端1103通过第一分布式账本管理,第一货币交换请求指示与第二分布式账本管理的第二金融机构客户端1104之间进行第一币种的金额与第二币种的金额之间的货币兑换;调用第一金融机构客户端1103的第一币种账户合约,扣除第一币种的金额;在接收到跨链网关1105发送的第二金融机构客户端1104生成的针对货币兑换的第三SPV证明的情况下,对第三SPV进行验证;如果验证结果指示第三SPV证明正确,调用第一金融机构客户端1103的第二币种账户合约,为第一金融机构客户端1103进行加款操作。
在本发明实施例中,第一分布式账本部署有第一跨链哈希锁定合约。第一任务节点1101,进一步用于通过第一跨链哈希锁定合约,执行调用第一金融机构客户端的第一币种账户合约的步骤。
在本发明实施例中,第一任务节点1101,进一步用于通过第一跨链哈希锁定合约,执行对第三SPV进行验证的步骤。
在本发明实施例中,第一任务节点1101,进一步用于通过第一跨链哈希锁定合约,执行调用第一金融机构客户端1103的第二币种账户合约的步骤。
在本发明实施例中,第一任务节点1101,进一步用于通过第一跨链哈希锁定合约调用第一币种与第二币种的第一币种兑换合约,根据第一币种与第二币种之间的汇率,锁定第二币种的金额;通过第一跨链哈希锁定合约调用第一币种与第二币种的第一兑换合约,对第二币种的金额解除锁定;调用第一金融机构客户端1103的第二币种账户合约,将解除锁定的第二币种的金额加款到第一金融机构客户端1103。
在本发明实施例中,第一任务节点1101,进一步用于通过第一分布式账本将指示扣除成功的信息发送给第一金融机构客户端1103;
第一金融机构客户端1103,进一步用于生成第四SPV证明;
第一金融机构客户端1103,进一步用于通过跨链网关1105将第四SPV证明发送给第二分布式账本的第二哈希锁定合约,以使第二哈希锁定合约验证第四SPV证明,并使第二哈希锁定合约在验证第四SPV证明正确后,调用第二金融机构客户端的第一币种账户合约,基于第四SPV证明指示的第一币种的金额,为第二金融机构客户端进行加款操作。
在本发明实施例中,第三SPV证明是第二金融机构客户端1104基于第二分布式账本部署的第一币种与第二币种的第二兑换合约所锁定的第一币种的金额以及第二金融机构客户端1104的第二币种账户合约扣除的第二币种的金额生成。
在本发明实施例中,第一金融机构客户端1103,进一步用于从数字身份认证系统1108获取第二金融机构客户端1104的第二公钥,通过第一金融机构客户端1103的第一公钥、第二公钥,分别对第一币种的金额和第二币种的金额进行加密,其中,第一币种的金额与第二币种的金额满足第一币种与第二币种之间的汇率;确定加密后的结果为第一货币兑换请求。
在本发明实施例中,任一金融机构客户端,进一步用于发送身份注册请求给其所属的数字货币系统;
任一数字货币系统,用于针对身份注册请求,将金融机构客户端注册到其管理的分布式账本上,并生成密钥生成请求,并将密钥生成请求发送给数字货币系统的验证节点;
任一节点进一步用于为其对应的金融机构客户端生成交易用公钥和交易用私钥;将交易用公钥发送给其对应的数字货币系统;
任一数字货币系统,进一步用于将交易用公钥和其所管理的金融机构客户端1102注册到数字身份认证系统。
在本发明实施例中,任一金融机构客户端,进一步用于生成身份验证公钥和身份验证私钥;发送身份验证公钥和自身基本信息给其所属的数字货币系统。
在本发明实施例中,任一数字货币系统,进一步用于根据身份验证公钥,为其所管理的金融机构客户端生成在分布式账本中的地址。
在本发明实施例中,任一数字货币系统,进一步用于调用数字身份认证系统的身份服务合约,为其所管理的金融机构客户端注册DID标识;将DID标识和交易用公钥发送给金融机构客户端1102;
数字身份认证系统,进一步用于存储交易用公钥、身份验证公钥和金融机构客户端的基本信息。
值得说明的是,上述第一数字货币系统、第二数字货币系统是为了区分在一个跨链交易过程中的发起方和接收方而设置的,其并不构成对数字货币系统本身的限定。
第一金融机构客户端、第二金融机构客户端,是为了区分在一个交易过程中的交易双方而定义的,其并不构成对金融机构客户端本身的限定。
第一分布式账本、第二分布式账本等也是为了区分在一个交易过程中的交易双方所用分布式账本而定义的,其并不构成对分布式账本本身的限定。
图12示出了可以应用本发明实施例的基于多分布式账本实现的交易方法或基于多分布式账本实现的交易系统的示例性系统架构1200。
如图12所示,系统架构1200可以包括终端设备1201、1202、1203,网络1204、部署有数字货币系统的服务集群1205、部署有分布式账本的服务器集群1206、DID系统的服务器集群1207以及验证节点1208。网络1204用以在终端设备1201、1202、1203和部署有数字货币系统的服务集群1205之间、部署有数字货币系统的服务集群1205与部署有分布式账本的服务器集群1206之间、终端设备1201、1202、1203和部署有DID系统的服务器集群1207之间、部署有数字货币系统的服务集群1205与部署有DID系统的服务器集群1207之间、终端设备1201、1202、1203,网络1204与验证节点1208之间、部署有数字货币系统的服务集群1205与验证节点1208之间提供通信链路的介质。网络1204可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备1201、1202、1203通过网络1204分别与部署有数字货币系统的服务集群1205、部署有DID系统的服务器集群1207交互,以接收或发送消息等。比如,向部署有数字货币系统的服务集群1205发送注册请求,接收部署有数字货币系统的服务集群1205发送的注册成功的相关信息,又比如,向部署有DID系统的服务器集群1207发送获取其他区块链上的终端设备的公钥等。终端设备1201、1202、1203上可以安装有各种通讯客户端应用,例如金融交易应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备1201、1202、1203可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
部署有数字货币系统的服务集群1205中的服务器可以是提供各种服务的服务器,例如对用户利用终端设备1201、1202、1203所进行的数字货币交易操作提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的注册请求、链内交易请求等数据进行分析等处理,并将处理结果(例如注册成功的标识、链内交易结果--仅为示例)反馈给终端设备,并记录在分布式账本记录的账户合约、跨链记录合约、哈希锁定合约等。
部署有分布式账本的服务器集群1206一般与部署有数字货币系统的服务集群1205一一对应,即一个部署有数字货币系统的服务集群1205一般维护一个部署有分布式账本的服务器集群1206,其可为数字货币交易提供各种智能合约,并记录交易等。
部署有DID系统的服务器集群1207中的服务器为多条区块链上的部署有数字货币系统的服务集群1205、终端设备1201、1202、1203等提供服务,例如将多条区块链上的终端设备1201、1202、1203注册到部署有DID系统的服务器集群1207,并通过部署有DID系统的服务器集群1207管理多条区块链上的终端设备1201、1202、1203的公钥,以多条区块链上的终端设备1201、1202、1203查询和使用。
验证节点1208一般与部署有数字货币系统的服务集群1205一一对应,即一个部署有数字货币系统的服务集群1205一般对应有一个验证节点1208,其可对交易进行验证,并对验证结果进行签名等,以保证交易的合法性。
需要说明的是,本发明实施例所提供的基于多分布式账本实现的交易方法一般由交易系统中的各个服务器集群、终端设备、验证节点等协调执行。另外,图12仅示例性的给出了一些连接结构。
应该理解,图12中的终端设备、网络、部署有数字货币系统的服务集群、部署有分布式账本的服务器集群、DID系统的服务器集群以及验证节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、部署有数字货币系统的服务集群、部署有分布式账本的服务器集群、DID系统的服务器集群以及验证节点。
下面参考图13,其示出了适于用来实现本发明实施例的终端设备或者集群中的服务器的计算机系统1300的结构示意图。图13示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统1300操作所需的各种程序和数据。CPU 1301、ROM 1302以及RAM 1303通过总线1304彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:通过第一分布式账本接收第一金融机构客户端发送的第一跨链交易请求,其中,第一金融机构客户端通过第一分布式账本管理,第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;调用所部署的第一金融机构客户端的第一账户合约,扣除第一金额;调用跨链网关,将确定出的第一金融机构客户端的第一SPV证明路由给第二分布式账本,以使第二分布式账本基于第一SPV证明、第二金融机构客户端的第二跨链交易请求以及所部署的第二账户合约,为第二金融机构客户端进行跨链交易处理。
根据本发明实施例的技术方案,跨链的任意两个金融机构之间的交易需要通过分别管理这两个金融机构的两个分布式账本对交易进行管理,即第一分布式账本接收其管理的第一金融机构客户端发送第一跨链交易请求,其中,第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;然后通过调用所部署的第一金融机构客户端的第一账户合约,扣除第一金额,即通过账户合约管理跨链交易的金额,在第二分布式账本基于其接收到的第一金融机构客户端的第一SPV证明、第二金融机构客户端的第二跨链交易请求以及其所部署的第二账户合约,为第二金融机构客户端进行跨链交易处理,以实现第一分布式账本管理的第一金融机构客户端和第二分布式账本管理的第二金融机构客户端之间(即分属不同分布式账本管理的支付方和收款方之间)跨链交易的同时,能够通过多个分布式账本即管理支付方的分布式账本和管理收款方的分布式账本对交易金额进行监管,以有效地降低付款方和收款方的风险。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (33)

1.一种基于多分布式账本实现的交易方法,其特征在于,包括:
通过第一分布式账本接收第一金融机构客户端发送的第一跨链交易请求,其中,所述第一金融机构客户端通过所述第一分布式账本管理,所述第一跨链交易请求指示向第二分布式账本管理的第二金融机构客户端支付的第一金额;
调用所部署的所述第一金融机构客户端的第一账户合约,扣除所述第一金额;
调用跨链网关,将确定出的所述第一金融机构客户端的第一SPV证明路由给所述第二分布式账本,以使所述第二分布式账本基于所述第一SPV证明、所述第二金融机构客户端的第二跨链交易请求以及所部署的第二账户合约,为所述第二金融机构客户端进行跨链交易处理。
2.根据权利要求1所述的交易方法,其特征在于,
所述第一金融机构客户端通过第一数字货币系统、所述第二金融机构客户端通过第二数字货币系统均注册于数字身份认证系统,其中,所述数字身份认证系统存储有所述第一金融机构客户端的第一交易用公钥和所述第二金融机构客户端的第二交易用公钥。
3.根据权利要求1所述的交易方法,其特征在于,还包括:
所述第一分布式账本调用其所部署的第一跨链记录合约,生成所述第一SPV证明。
4.根据权利要求3所述的交易方法,其特征在于,还包括:
基于所述第一账户合约扣除的第一金额,调用所述第一跨链记录合约记录第一账本外金额。
5.根据权利要求2所述的交易方法,其特征在于,还包括:
所述第一金融机构客户端从所述数字身份认证系统中获取所述第二交易用公钥和所述第一数字货币系统的第一管理用公钥,并通过所述第一金融机构客户端的第一交易用公钥、所述第二交易用公钥、所述第一管理用公钥和所述第一金额构建第一验证信息;
将所述第一验证信息发送给所述第一数字货币系统对应的第一验证节点;
所述第一验证节点对所述第一验证信息进行验证,在验证通过后,生成第一验证签名;
所述第一金融机构客户端基于所述第一验证签名以及其具有的第一金融机构签名,生成所述第一跨链交易请求。
6.根据权利要求5所述的交易方法,其特征在于,通过所述第一金融机构客户端的第一交易用公钥、所述第二交易用公钥、所述第一管理用公钥和所述第一金额构建第一验证信息,包括:
分别通过所述第一交易用公钥、所述第二交易用公钥以及所述第一管理用公钥对所述第一金额进行加密,确定加密后的结果为所述第一验证信息。
7.根据权利要求5所述的交易方法,其特征在于,所述调用所部署的所述第一金融机构客户端的第一账户合约,扣除所述第一金额,包括:
调用所述第一账户合约,对所述第一跨链交易请求包括的所述第一验证签名以及第一金融机构签名进行验证;
如果验证通过,扣除所述第一金额。
8.根据权利要求2所述的交易方法,其特征在于,还包括:
任一金融机构客户端发送身份注册请求给其所属的数字货币系统;
针对所述身份注册请求,所述数字货币系统将所述金融机构客户端注册到其管理的分布式账本上,并生成密钥生成请求,并将所述密钥生成请求发送给所述数字货币系统的验证节点;
所述验证节点为所述金融机构客户端生成交易用公钥和交易用私钥;
将所述交易用公钥发送给所述数字货币系统,通过所述数字货币系统将所述交易用公钥和所述金融机构客户端注册到所述数字身份认证系统。
9.根据权利要求8所述的交易方法,其特征在于,
还包括:任一金融机构客户端生成身份验证公钥和身份验证私钥;
所述任一金融机构客户端发送身份注册请求给其所属的数字货币系统,包括:
任一金融机构客户端发送所述身份验证公钥和自身基本信息给其所属的数字货币系统。
10.根据权利要求9所述的交易方法,其特征在于,所述数字货币系统将所述金融机构客户端注册到其管理的分布式账本上,包括:
根据所述身份验证公钥,所述数字货币系统为所述金融机构客户端生成在分布式账本中的地址。
11.根据权利要求9所述的交易方法,其特征在于,所述通过所述数字货币系统将所述交易用公钥和所述金融机构客户端注册到所述数字身份认证系统,包括:
所述数字货币系统调用所述数字身份认证系统的身份服务合约,为所述金融机构客户端注册DID标识;
将所述DID标识和所述交易用公钥发送给所述金融机构客户端;
将所述交易用公钥、所述身份验证公钥和所述金融机构客户端的基本信息存储到所述数字身份认证系统。
12.根据权利要求8所述的交易方法,其特征在于,所述验证节点为所述金融机构客户端生成交易用公钥和交易用私钥,包括:
通过Paillier算法为所述金融机构客户端生成交易用公钥和交易用私钥。
13.一种基于多分布式账本实现的交易方法,其特征在于,包括:
接收跨链网关发送的第一分布式账本确定出的第一金融机构客户端的第一SPV证明;
调用所部署的第二跨链记录合约对所述第一SPV证明进行验证,如果验证所述第一SPV证明正确,则对所述第一SPV证明指示的第一金额进行加锁;
在接收到第二分布式账本所管理的第二金融机构客户端发送的第二跨链交易请求的情况下,调用所述第二跨链记录合约对所述第二跨链交易请求进行处理;
如果处理的结果指示所述第一SPV证明与所述第二跨链交易请求相匹配,解锁所述第一金额;
调用所述第二分布式账本所部署的第二账户合约,基于所述第一金额对所述第二金融机构客户端进行加款操作。
14.根据权利要求13所述的交易方法,其特征在于,
所述第二金融机构客户端从数字身份认证系统中获取所述第一金融机构客户端的第一交易用公钥和所述第二分布式账本对应的第二数字货币系统的第二管理用公钥,并通过所述第一交易用公钥、所述第二管理用公钥和确定出的第二金额构建第二验证信息;
将所述第二验证信息发送给所述第二数字货币系统对应的第二验证节点;
所述第二验证节点对所述第二验证信息进行验证;
在验证通过后,生成第二验证签名;
基于所述第二验证签名,生成所述第二跨链交易请求。
15.根据权利要求14所述的交易方法,其特征在于,所述通过所述第一交易用公钥、所述第二管理用公钥和所述第二金额构建第二验证信息,包括:
分别通过所述第一交易用公钥以及所述第二管理用公钥对所述第二金额进行加密,确定加密后的结果为所述第二验证信息。
16.根据权利要求14所述的交易方法,其特征在于,所述调用所述第二跨链记录合约对所述第二跨链交易请求进行处理,包括:
验证所述第一SPV证明以及所述第二跨链交易请求包括的所述第二验证签名是否匹配。
17.根据权利要求13所述的交易方法,其特征在于,还包括:
将解锁后的第一金额记录到所述第二跨链记录合约。
18.一种基于多分布式账本实现的交易方法,其特征在于,包括:
第一分布式账本接收第一金融机构客户端发送的第一货币兑换请求,其中,所述第一金融机构客户端通过所述第一分布式账本管理,所述第一货币交换请求指示与第二分布式账本管理的第二金融机构客户端之间进行第一币种的金额与第二币种的金额之间的货币兑换;
调用所述第一金融机构客户端的第一币种账户合约,扣除所述第一币种的金额;
在接收到所述跨链网关发送的所述第二金融机构客户端生成的针对所述货币兑换的第三SPV证明的情况下,对所述第三SPV进行验证;
如果验证结果指示所述第三SPV证明正确,调用所述第一金融机构客户端的第二币种账户合约,为所述第一金融机构客户端进行加款操作。
19.根据权利要求18所述的交易方法,其特征在于,
所述第一分布式账本部署有第一跨链哈希锁定合约;
通过所述第一跨链哈希锁定合约,执行下述步骤M1至步骤M3中的任意一个或多个步骤:
步骤M1:调用所述第一金融机构客户端的第一币种账户合约,扣除所述第一币种的金额的步骤;
步骤M2:对所述第三SPV进行验证的步骤;
步骤M3:调用所述第一金融机构客户端的第二币种账户合约,为所述第一金融机构客户端进行加款操作的步骤。
20.根据权利要求19所述的交易方法,其特征在于,还包括:
通过所述第一跨链哈希锁定合约调用第一币种与第二币种的第一币种兑换合约,根据所述第一币种与所述第二币种之间的汇率,锁定第二币种的金额;
所述为所述第一金融机构的客户端进行加款操作,包括:
通过所述第一跨链哈希锁定合约调用第一币种与第二币种的第一兑换合约,对所述第二币种的金额解除锁定;
调用所述第一金融机构客户端的第二币种账户合约,将解除锁定的所述第二币种的金额加款到所述第一金融机构客户端。
21.根据权利要求18所述的交易方法,其特征在于,在所述扣除所述第一币种的金额之后,还包括:
所述第一分布式账本将指示扣除成功的信息发送给所述第一金融机构客户端;
所述第一金融机构客户端生成第四SPV证明;
所述第一金融机构客户端通过所述跨链网关将所述第四SPV证明发送给所述第二分布式账本的第二哈希锁定合约,以使所述第二哈希锁定合约验证所述第四SPV证明,并使所述第二哈希锁定合约在验证所述第四SPV证明正确后,调用所述第二金融机构客户端的第一币种账户合约,基于所述第四SPV证明指示的第一币种的金额,为所述第二金融机构客户端进行加款操作。
22.根据权利要求18所述的交易方法,其特征在于,
所述第三SPV证明是所述第二金融机构客户端基于所述第二分布式账本部署的第一币种与第二币种的第二兑换合约所锁定的第一币种的金额以及所述第二金融机构客户端的第二币种账户合约扣除的第二币种的金额生成。
23.根据权利要求18所述的交易方法,其特征在于,还包括:
所述第一金融机构客户端从数字身份认证系统获取所述第二金融机构客户端的第二公钥,通过所述第一金融机构客户端的第一公钥、所述第二公钥,分别对第一币种的金额和第二币种的金额进行加密,其中,所述第一币种的金额与所述第二币种的金额满足所述第一币种与所述第二币种之间的汇率;
确定加密后的结果为所述第一货币兑换请求。
24.一种交易系统,其特征在于,包括:
部署有第一分布式账本的多个第一任务节点;
部署有第二分布式账本的多个第二任务节点;
与所述第一任务节点通信的第一金融机构客户端;
与所述第二任务节点通信的第二金融机构客户端;以及,
连接所述第一任务节点和所述第二任务节点的跨链网关。
25.根据权利要求24所述的交易系统,其特征在于,
所述第一任务节点,用于通过所部署的所述第一分布式账本,处理所述第一金融机构客户端发送的第一跨链交易请求或者第一货币兑换请求;
所述第二任务节点,用于通过所部署的所述第二分布式账本,处理所述第二金融客户端发送的第二跨链交易请求或者第二货币兑换请求,其中,所述第二跨链交易请求与所述第一跨链交易请求相对应,所述第二货币兑换请求与所述第一货币兑换请求相对应。
26.根据权利要求25所述的交易系统,其特征在于,
针对所述第一分布式账本处理所述第一跨链交易请求,以及所述第二分布式账本处理所述第二跨链交易请求的情况,
所述第一分布式账本中设置有所述第一金融机构客户端的第一账户合约和第一跨链记录合约;
所述第二分布式账本中设置有所述第二金融机构客户端的第二账户合约和第二跨链记录合约;
所述第一任务节点,用于通过所述第一分布式账本调用所述第一账户合约和所述第一跨链记录合约处理所述第二跨链交易请求;
所述第二任务节点,用于通过所述第二分布式账本调用所述第二账户合约和所述第二跨链记录合约处理所述第二跨链交易请求。
27.根据权利要求25所述的交易系统,其特征在于,
针对所述第一分布式账本处理所述第一货币兑换请求,以及所述第二分布式账本处理所述第二货币兑换请求的情况,
所述第一分布式账本中设置有所述第一金融机构客户端的第一账户合约和第一跨链哈希锁定合约;
所述第二分布式账本中设置有所述第二金融机构客户端的第二账户合约和第二哈希锁定合约;
所述第一任务节点,用于通过所述第一分布式账本调用所述第一账户合约和所述第一哈希锁定合约处理所述第一货币兑换请求;
所述第二任务节点,用于通过所述第二分布式账本调用所述第二账户合约和所述第二哈希锁定合约处理所述第二货币兑换请求。
28.根据权利要求24所述的交易系统,其特征在于,还包括:
用于管理所述第一金融机构客户端的第一数字货币系统,其中,所述第一数字货币系统对应于所述第一分布式账本;
用于管理所述第二金融机构客户端的第二数字货币系统,其中,所述第二数字货币系统对应于所述第二分布式账本;
以及,
用于存储所述第一金融机构客户端的第一交易用公钥和所述第二金融机构客户端的第二交易用公钥的数字身份认证系统。
29.根据权利要求28所述的交易系统,其特征在于,
所述第一金融机构客户端,用于通过所述第一数字货币系统,注册到所述数字身份认证系统;
所述第二金融机构客户端,用于通过所述第二数字货币系统,注册到所述数字身份认证系统。
30.根据权利要求28所述的交易系统,其特征在于,还包括:
对应于所述第一数字货币系统的第一验证节点,用于对所述第一金融机构客户端构建的第一验证信息进行验证,在验证通过后,生成第一验证签名,并将所述第一验证签名发送给所述第一金融机构客户端;
所述第一金融机构客户端,用于根据所述第一验证签名,生成第一跨链交易请求,并将所述第一跨链交易请求发送给所述第一分布式账本。
31.根据权利要求28所述的交易系统,其特征在于,还包括:
对应于所述第二数字货币系统的第二验证节点,用于对所述第二金融机构客户端构建的第二验证信息进行验证,在验证通过后,生成第二验证签名,并将所述第二验证签名发送给所述第二金融机构客户端;
所述第二金融机构客户端,用于根据所述第二验证签名,生成第二跨链交易请求,并将所述第二跨链交易请求发送给所述第二分布式账本。
32.一种基于多分布式账本实现的跨链交易电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-23中任一所述的方法。
33.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-23中任一所述的方法。
CN202210123863.2A 2022-02-10 2022-02-10 一种基于多分布式账本实现的交易方法和系统 Pending CN116629858A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210123863.2A CN116629858A (zh) 2022-02-10 2022-02-10 一种基于多分布式账本实现的交易方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210123863.2A CN116629858A (zh) 2022-02-10 2022-02-10 一种基于多分布式账本实现的交易方法和系统

Publications (1)

Publication Number Publication Date
CN116629858A true CN116629858A (zh) 2023-08-22

Family

ID=87636969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210123863.2A Pending CN116629858A (zh) 2022-02-10 2022-02-10 一种基于多分布式账本实现的交易方法和系统

Country Status (1)

Country Link
CN (1) CN116629858A (zh)

Similar Documents

Publication Publication Date Title
US10977632B2 (en) Electronic bill management method, apparatus, and storage medium
US20240296429A1 (en) Information transaction infrastructure
US10262321B1 (en) Digital coin, digital wallet, and model of transaction
CN107230055B (zh) 支付数字货币的方法和系统
US20200027080A1 (en) Scalable reconciliation of crypto assets in a blockchain network
JP2021529397A (ja) ブロックチェーンアドレスおよび所有者の検証のためのシステムおよび方法
CN112000976B (zh) 区块链系统的认证管理方法、装置、介质及电子设备
US20220303258A1 (en) Computer-implemented system and method
US20190251556A1 (en) Distributed ledger on-boarding system for standby guarantee resources
JP2019511150A (ja) ブロックチェーンを介して資産関連活動を制御するシステム及び方法
CN111639923B (zh) 一种基于零知识证明的数字货币交易记账方法及系统
WO2020147651A1 (zh) 区块链资金结算系统中的数据处理方法、装置、设备和介质
CN108876669A (zh) 应用于多平台教育资源共享的课程公证系统及方法
CN113052599B (zh) 交易凭证的生成、验证及存储方法、装置、设备和系统
JP7304963B2 (ja) プログラム、データ認証方法、およびコンピュータ装置
WO2021195357A1 (en) Methods and systems for providing a digital currency payment and wallet solution with hybrid blockchain design
KR20190132159A (ko) 스마트 컨트랙트를 이용한 블록체인 기반 암호화폐 거래 플랫폼 제공 방법
KR20190132054A (ko) 블록체인 기반 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
KR20230153439A (ko) 임시 키 쌍을 사용한 블록체인 자산의 원자 교환을 위한 방법 및 시스템
CN109685659B (zh) 一种区块链硬钱包支持链下交易的方法及硬钱包
CN111915302B (zh) 关联数据处理方法、装置、电子设备及计算机可读介质
KR20190132160A (ko) 스마트 컨트랙트를 이용한 암호화폐 거래 플랫폼 제공 방법
CN114641967A (zh) 区块链交易的回调机制
CN112308546A (zh) 一种离线数字货币收单系统及方法
JP2022531642A (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