基于区块链技术的分布式总账系统的交易撮合方法及系统与流程

文档序号:12127276阅读:280来源:国知局
基于区块链技术的分布式总账系统的交易撮合方法及系统与流程

本发明涉及交易撮合技术领域,尤其涉及一种基于区块链技术的分布式总账系统的交易撮合方法及系统。



背景技术:

当前,随着信息技术的发展,资产数字化趋势已经越来越普遍。在当前的资产数字化趋势下,包括数字货币、数字票据、数字股权、数字地产权等多种数字资产均可用于交易。例如,人们去股票交易所买卖数字股权,去银行买卖数字货币等,这种买卖行为,称为交易撮合。

目前,现有技术中的交易撮合方式,主要依赖与交易所集中进行撮合交易,数字资产、数字货币托管于交易所,交易所对数字资产、数字货币有完全控制权。这种方式存在缺陷,如果交易所被攻击或交易所的运营者存在欺诈等行为,数字资产的撮合交易可能十分不安全。另外,当前还有采取分布式总账交易系统进行资产交易撮合的,但是其过程中需要第三方介入,第三方在交易过程中担当交易报价、报价展示、交易撮合、资产托管、资金托管的角色。这种方式仍然存在依赖第三方的缺陷,而且资金不能实时清算。依赖第三方不仅增加对交易成本和风险,而且由于可信任第三方难以获得,使得许多商业场景在推广方面存在障碍。



技术实现要素:

本发明的实施例提供一种基于区块链技术的分布式总账系统的交易撮合方法及系统,以解决现有技术中的交易撮合方式一般需要依赖交易所等第三方来进行数字资产、数字货币等的控制,造成交易撮合过程不安全的问题。

为达到上述目的,本发明采用如下技术方案:

一种基于区块链技术的分布式总账系统的交易撮合方法,应用于一种交易撮合系统,所述交易撮合系统包括卖方终端、买方终端以及所述分布式总账系统,所述分布式总账系统包括不同组织范围内的多个工作节点;所述卖方终端与买方终端分别与所述多个工作节点通信连接;

所述方法包括:

分布式总账系统接收在卖方终端输入的交易请求信息;所述交易请求信息包括第一输入引用信息和第一所有权转移证明信息;所述第一输入引用信息包括分布式总账系统中已经记录的卖方交易输出内容;

分布式总账系统根据所述第一输入引用信息和第一所有权转移证明信息对所述交易请求信息进行校验,并在确定交易合法后,输出待交易资产信息以及第一所有权转移条件信息;将所述交易请求信息、待交易资产信息以及第一所有权转移条件信息记录于分布式总账系统的后台数据库中;

各工作节点在所述后台数据库中查询到所述交易请求信息,并将所述待交易资产信息和所述第一所有权转移条件信息进行展示;

分布式总账系统接收在买方终端输入的接受交易信息;所述接受交易信息包括第二输入引用信息、第二所有权转移证明信息、第三输入引用信息和第三所有权转移证明信息;所述第二输入引用信息包括待交易资产信息以及第一所有权转移条件信息;所述第三输入引用信息包括分布式总账系统中已经记录的买方交易输出内容;

分布式总账系统判断所述第二所有权转移证明信息是否满足第一所有权转移条件,并判断所述第三所有权转移证明信息是否合法;

分布式总账系统在第二所有权转移证明信息满足第一所有权转移条件,且所述第三所有权转移证明信息合法时,输出买方用于交易的资产信息,及其对应的卖方已知的第二所有权转移条件,并输出所述待交易资产信息,及其对应的买方已知的第三所有权转移条件。

具体的,所述分布式总账系统中已经记录的卖方交易输出内容包括与所述待交易资产对应的卖方已拥有资产,以及所述卖方已拥有资产的所有权转移条件;

在分布式总账系统接收在卖方终端输入的交易请求信息之后,包括:

分布式总账系统判断所述已经记录的卖方交易输出内容是否未在其他交易中被输入引用;

若所述已经记录的卖方交易输出内容未在其他交易中被输入引用,分布式总账系统运行第一所有权转移证明信息的解锁脚本;所述第一所有权转移证明信息包括与卖方的公钥相匹配的私钥签名;

在运行第一所有权转移证明信息的解锁脚本成功后,分布式总账系统运行卖方已拥有资产的所有权转移条件的锁定脚本;所述卖方已拥有资产的所有权转移条件为提供与卖方的公钥匹配的私钥签名;

若卖方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统确定卖方终端本次交易的输入能够引用已经记录的卖方交易输出内容。

具体的,所述分布式总账系统中已经记录的买方交易输出内容包括与所述买方用于交易的资产对应的买方已拥有资产,以及所述买方已拥有资产的所有权转移条件;

在分布式总账系统接收在买方终端输入的接受交易信息之后,包括:

分布式总账系统判断所述已经记录的买方交易输出内容是否未在其他交易中被输入引用;

若所述已经记录的买方交易输出内容未在其他交易中被输入引用,分布式总账系统运行第三所有权转移证明信息的解锁脚本;所述第三所有权转移证明信息包括与买方的公钥相匹配的私钥签名;

在运行第三所有权转移证明信息的解锁脚本成功后,分布式总账系统运行买方已拥有资产的所有权转移条件的锁定脚本;所述买方已拥有资产的所有权转移条件为提供与买方的公钥匹配的私钥签名;

若买方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统确定买方终端本次交易的输入能够引用已经记录的买方交易输出内容。

具体的,分布式总账系统根据所述第一输入引用信息和第一所有权转移证明信息对所述交易请求信息进行校验,并在确定交易合法后,输出待交易资产信息以及第一所有权转移条件信息,包括:

分布式总账系统确定分布式总账系统中已经记录的卖方交易输出内容中是否存在待交易资产信息,并确定卖方终端是否输入了与卖方的公钥相匹配的私钥签名;

若分布式总账系统中已经记录的卖方交易输出内容中存在待交易资产信息,且卖方终端输入了与卖方的公钥相匹配的私钥签名,则分布式总账系统确定交易合法;

所述第一所有权转移条件信息为转移待交易资产的所有权的输出值为预定内容,或者提供与卖方的公钥相匹配的私钥签名。

进一步的,该基于区块链技术的分布式总账系统的交易撮合方法,还包括:

分布式总账系统接收在卖方终端输入的交易撤销请求信息;所述交易撤销请求消息包括第四输入引用信息和第四所有权转移证明信息;所述第四输入引用信息包括所述待交易资产信息以及所述第一所有权转移条件信息;所述第四所有权转移证明信息包括与卖方的公钥相匹配的私钥签名;

分布式总账系统根据所述第四输入引用信息和第四所有权转移证明信息对所述交易撤销请求信息进行校验,并在确定交易撤销请求合法后,输出待交易资产信息以及第四所有权转移条件信息;所述第四所有权转移条件信息包括提供与卖方的公钥相匹配的私钥签名。

进一步的,在分布式总账系统接收在买方终端输入的接受交易信息之后,还包括:

分布式总账系统判断所述第二输入引用信息是否在其他交易中被输入引用;

若所述第二输入引用信息在其他交易中被输入引用,分布式总账系统向买方终端发送拒绝消息。

具体的,所述分布式总账系统判断所述第二所有权转移证明信息是否满足第一所有权转移条件,并判断所述第三所有权转移证明信息是否合法,包括:

分布式总账系统判断所述第二所有权转移证明信息中是否含有预定内容的转移待交易资产的所有权的输出值;

分布式总账系统判断买方的公钥相匹配的私钥签名是否合法。

具体的,所述第二所有权转移条件为提供与卖方的公钥匹配的私钥签名;所述第三所有权转移条件为提供与买方的公钥匹配的私钥签名。

一种交易撮合系统,包括卖方终端、买方终端以及基于区块链技术的分布式总账系统,所述分布式总账系统包括不同组织范围内的多个工作节点;所述卖方终端与买方终端分别与所述多个工作节点通信连接;

分布式总账系统,用于接收在卖方终端输入的交易请求信息;所述交易请求信息包括第一输入引用信息和第一所有权转移证明信息;所述第一输入引用信息包括分布式总账系统中已经记录的卖方交易输出内容;

分布式总账系统,还用于根据所述第一输入引用信息和第一所有权转移证明信息对所述交易请求信息进行校验,并在确定交易合法后,输出待交易资产信息以及第一所有权转移条件信息;将所述交易请求信息、待交易资产信息以及第一所有权转移条件信息记录于分布式总账系统的后台数据库中;

各工作节点,用于在所述后台数据库中查询到所述交易请求信息,并将所述待交易资产信息和所述第一所有权转移条件信息进行展示;

分布式总账系统,还用于接收在买方终端输入的接受交易信息;所述接受交易信息包括第二输入引用信息、第二所有权转移证明信息、第三输入引用信息和第三所有权转移证明信息;所述第二输入引用信息包括待交易资产信息以及第一所有权转移条件信息;所述第三输入引用信息包括分布式总账系统中已经记录的买方交易输出内容;

分布式总账系统,还用于判断所述第二所有权转移证明信息是否满足第一所有权转移条件,并判断所述第三所有权转移证明信息是否合法;

分布式总账系统,还用于在第二所有权转移证明信息满足第一所有权转移条件,且所述第三所有权转移证明信息合法时,输出买方用于交易的资产信息,及其对应的卖方已知的第二所有权转移条件,并输出所述待交易资产信息,及其对应的买方已知的第三所有权转移条件。

具体的,所述分布式总账系统中已经记录的卖方交易输出内容包括与所述待交易资产对应的卖方已拥有资产,以及所述卖方已拥有资产的所有权转移条件;

所述分布式总账系统,还用于判断所述已经记录的卖方交易输出内容是否未在其他交易中被输入引用;

若所述已经记录的卖方交易输出内容未在其他交易中被输入引用,分布式总账系统,还用于运行第一所有权转移证明信息的解锁脚本;所述第一所有权转移证明信息包括与卖方的公钥相匹配的私钥签名;

在运行第一所有权转移证明信息的解锁脚本成功后,分布式总账系统还用于运行卖方已拥有资产的所有权转移条件的锁定脚本;所述卖方已拥有资产的所有权转移条件为提供与卖方的公钥匹配的私钥签名;

若卖方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统还用于确定卖方终端本次交易的输入能够引用已经记录的卖方交易输出内容。

具体的,所述分布式总账系统中已经记录的买方交易输出内容包括与所述买方用于交易的资产对应的买方已拥有资产,以及所述买方已拥有资产的所有权转移条件;

分布式总账系统,还用于判断所述已经记录的买方交易输出内容是否未在其他交易中被输入引用;

若所述已经记录的买方交易输出内容未在其他交易中被输入引用,分布式总账系统还用于运行第三所有权转移证明信息的解锁脚本;所述第三所有权转移证明信息包括与买方的公钥相匹配的私钥签名;

在运行第三所有权转移证明信息的解锁脚本成功后,分布式总账系统还用于运行买方已拥有资产的所有权转移条件的锁定脚本;所述买方已拥有资产的所有权转移条件为提供与买方的公钥匹配的私钥签名;

若买方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统还用于确定买方终端本次交易的输入能够引用已经记录的买方交易输出内容。

此外,分布式总账系统,具体用于:

确定分布式总账系统中已经记录的卖方交易输出内容中是否存在待交易资产信息,并确定卖方终端是否输入了与卖方的公钥相匹配的私钥签名;

若分布式总账系统中已经记录的卖方交易输出内容中存在待交易资产信息,且卖方终端输入了与卖方的公钥相匹配的私钥签名,则确定交易合法;

所述第一所有权转移条件信息为转移待交易资产的所有权的输出值为预定内容,或者提供与卖方的公钥相匹配的私钥签名。

此外,该分布式总账系统,还用于:

接收在卖方终端输入的交易撤销请求信息;所述交易撤销请求消息包括第四输入引用信息和第四所有权转移证明信息;所述第四输入引用信息包括所述待交易资产信息以及所述第一所有权转移条件信息;所述第四所有权转移证明信息包括与卖方的公钥相匹配的私钥签名;

根据所述第四输入引用信息和第四所有权转移证明信息对所述交易撤销请求信息进行校验,并在确定交易撤销请求合法后,输出待交易资产信息以及第四所有权转移条件信息;所述第四所有权转移条件信息包括提供与卖方的公钥相匹配的私钥签名。

此外,所述分布式总账系统,还用于:

判断所述第二输入引用信息是否在其他交易中被输入引用;

若所述第二输入引用信息在其他交易中被输入引用,向买方终端发送拒绝消息。

此外,所述分布式总账系统,具体用于:

判断所述第二所有权转移证明信息中是否含有预定内容的转移待交易资产的所有权的输出值;

判断买方的公钥相匹配的私钥签名是否合法。

具体的,所述第二所有权转移条件为提供与卖方的公钥匹配的私钥签名;所述第三所有权转移条件为提供与买方的公钥匹配的私钥签名。

本发明实施例提供的一种基于区块链技术的分布式总账系统的交易撮合方法及系统,其能够在分布式总账系统中实现交易撮合,在完全脱离第三方平台的情况下,实现交易报价、报价展示、交易撮合成交等功能,而且交易撮合成交时卖方的待交易资产与买方用于交易的资产所有权可同步移交。由于整个交易过程中无需引入第三方进行报价展示、资金托管、资产托管、担保、交易授权或签名,能节省大量第三方的费用交易成本。另外,由于撮合过程中可实现资产所有权的同步转移,即“一手交钱、一手交货”,交易过程中不存在信用风险,同时脱离第三方平台也可避免第三方的信用风险。

附图说明

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

图1为本发明实施例提供的一种基于区块链技术的分布式总账系统的交易撮合方法的流程图一;

图2为本发明实施例提供的一种交易撮合系统;

图3为本发明实施例提供的一种基于区块链技术的分布式总账系统的交易撮合方法的流程图二。

具体实施方式

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

如图1所示,本发明实施例提供一种基于区块链技术的分布式总账系统的交易撮合方法,应用于如图2所示的一种交易撮合系统20,所述交易撮合系统20包括卖方终端201、买方终端202以及所述分布式总账系统203,所述分布式总账系统203包括不同组织范围内的多个工作节点204;所述卖方终端201与买方终端202分别与所述多个工作节点204通信连接。此处的不同组织范围内的多个动作节点可以是不同的银行的服务器、不同的交易所的服务器等,因为多个工作节点处于不同的组织范围,不会被同一组织(例如一个交易所)来控制卖方与买方的数字资产、数字货币等,因此增加了交易撮合的安全性。

图1所示的方法包括:

步骤101、分布式总账系统接收在卖方终端输入的交易请求信息。

其中,所述交易请求信息包括第一输入引用信息和第一所有权转移证明信息;所述第一输入引用信息包括分布式总账系统中已经记录的卖方交易输出内容。

步骤102、分布式总账系统根据所述第一输入引用信息和第一所有权转移证明信息对所述交易请求信息进行校验,并在确定交易合法后,输出待交易资产信息以及第一所有权转移条件信息;将所述交易请求信息、待交易资产信息以及第一所有权转移条件信息记录于分布式总账系统的后台数据库中。

步骤103、各工作节点在所述后台数据库中查询到所述交易请求信息,并将所述待交易资产信息和所述第一所有权转移条件信息进行展示。

步骤104、分布式总账系统接收在买方终端输入的接受交易信息。

其中,所述接受交易信息包括第二输入引用信息、第二所有权转移证明信息、第三输入引用信息和第三所有权转移证明信息;所述第二输入引用信息包括待交易资产信息以及第一所有权转移条件信息;所述第三输入引用信息包括分布式总账系统中已经记录的买方交易输出内容。

步骤105、分布式总账系统判断所述第二所有权转移证明信息是否满足第一所有权转移条件,并判断所述第三所有权转移证明信息是否合法。

步骤106、分布式总账系统在第二所有权转移证明信息满足第一所有权转移条件,且所述第三所有权转移证明信息合法时,输出买方用于交易的资产信息,及其对应的卖方已知的第二所有权转移条件,并输出所述待交易资产信息,及其对应的买方已知的第三所有权转移条件。

这样,卖方通过其已知的第二所有权转移条件,即可得到买方用于交易的资产信息。同时,买方通过其已知的第三所有权转移条件,即可得到卖方的待交易资产信息。

本发明实施例提供的一种基于区块链技术的分布式总账系统的交易撮合方法,其能够在分布式总账系统中实现交易撮合,在完全脱离第三方平台的情况下,实现交易报价、报价展示、交易撮合成交等功能,而且交易撮合成交时卖方的待交易资产与买方用于交易的资产所有权可同步移交。由于整个交易过程中无需引入第三方进行报价展示、资金托管、资产托管、担保、交易授权或签名,能节省大量第三方的费用交易成本。另外,由于撮合过程中可实现资产所有权的同步转移,即“一手交钱、一手交货”,交易过程中不存在信用风险,同时脱离第三方平台也可避免第三方的信用风险。

为了使本领域的技术人员更好的了解本发明,下面结合具体实例,来对本发明做进一步的阐述,如图3所示,本发明实施例提供一种基于区块链技术的分布式总账系统的交易撮合方法,包括:

步骤301、分布式总账系统接收在卖方终端输入的交易请求信息。

其中,所述交易请求信息包括第一输入引用信息和第一所有权转移证明信息;所述第一输入引用信息包括分布式总账系统中已经记录的卖方交易输出内容。此处,所述分布式总账系统中已经记录的卖方交易输出内容包括与所述待交易资产对应的卖方已拥有资产,以及所述卖方已拥有资产的所有权转移条件。

对于分布式总账系统中已经记录的卖方交易输出内容,其可以来自在分布式总账系统中已经进行的交易X。该交易X的输出为:待交易资产对应的卖方已拥有资产,以及所述卖方已拥有资产的所有权转移条件。

例如,卖方已拥有资产为:数字资产a。而卖方已拥有资产的所有权转移条件可以为提供与卖方(此处称为卖方A)的公钥匹配的私钥签名。该卖方已拥有资产的所有权转移条件的锁定脚本为:DUP HASH160<pubkhash_A>EQUALVERIFY CHECKSIG。

该第一输入引用信息所引用的是交易X的输出。

步骤302、分布式总账系统判断所述已经记录的卖方交易输出内容是否未在其他交易中被输入引用。

步骤303、若所述已经记录的卖方交易输出内容未在其他交易中被输入引用,分布式总账系统运行第一所有权转移证明信息的解锁脚本。

其中,所述第一所有权转移证明信息包括与卖方的公钥相匹配的私钥签名。例如,该第一所有权转移证明信息对应的解锁脚本可以为:<sig_A><pubk_A>。

步骤304、在运行第一所有权转移证明信息的解锁脚本成功后,分布式总账系统运行卖方已拥有资产的所有权转移条件的锁定脚本。

其中,所述卖方已拥有资产的所有权转移条件为提供与卖方的公钥匹配的私钥签名。

步骤305、若卖方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统确定卖方终端本次交易的输入能够引用已经记录的卖方交易输出内容。

步骤306、分布式总账系统确定分布式总账系统中已经记录的卖方交易输出内容中是否存在待交易资产信息,并确定卖方终端是否输入了与卖方的公钥相匹配的私钥签名。

步骤307、若分布式总账系统中已经记录的卖方交易输出内容中存在待交易资产信息,且卖方终端输入了与卖方的公钥相匹配的私钥签名,则分布式总账系统确定交易合法。

步骤308、分布式总账系统输出待交易资产信息以及第一所有权转移条件信息;将所述交易请求信息、待交易资产信息以及第一所有权转移条件信息记录于分布式总账系统的后台数据库中。

例如,待交易资产信息可以为数字资产a;

此处,所述第一所有权转移条件信息为转移待交易资产的所有权的输出值为预定内容,或者提供与卖方的公钥相匹配的私钥签名。例如,该预定内容可以为一个预设值,例如<Txout1>;而与卖方的公钥相匹配的私钥签名对应的锁定脚本可以为:OUT1<Txout1>EQUAL IF ELSE DUP HASH160<pubkhash_A>EQUALVERIFY CHECKSIG ENDIF。

其中,<Txout1>是卖方A设定的交易输出,买方(交易对手)发起的接受报价交易中输出必须为此值,买方发起的交易输出的内容即为此次交易的对价,即数字货币b必须同步转移到卖方A名下。

可选择的,此处操作码OUT1不仅限定取使用交易的输出1,可以定义操作码OUT2、OUT3……以取使用交易的输出2、输出3……。即对于一个交易输入,可以对应多个交易输出。

此处的第一所有权转移条件信息为转移待交易资产的所有权的输出值为预定内容,或者提供与卖方的公钥相匹配的私钥签名,这样设置的目的是,既可以在买方B的交易输出值满足预定内容时得到待交易资产的所有权,又可以是卖方A通过提供与卖方的公钥相匹配的私钥签名,从而完成交易的撤销。

步骤309、各工作节点在所述后台数据库中查询到所述交易请求信息,并将所述待交易资产信息和所述第一所有权转移条件信息进行展示。

在步骤309之后,可以执行步骤310或者步骤312。

步骤310、分布式总账系统接收在卖方终端输入的交易撤销请求信息。

其中,所述交易撤销请求消息包括第四输入引用信息和第四所有权转移证明信息;所述第四输入引用信息包括所述待交易资产信息以及所述第一所有权转移条件信息;所述第四所有权转移证明信息包括与卖方的公钥相匹配的私钥签名。

此处,该第四输入引用信息可以为步骤308中的输出。而第四所有权转移证明信息对应的解锁脚本可以为<sig_A><pubk_A>。

步骤311、分布式总账系统根据所述第四输入引用信息和第四所有权转移证明信息对所述交易撤销请求信息进行校验,并在确定交易撤销请求合法后,输出待交易资产信息以及第四所有权转移条件信息。

该待交易资产信息可以为数字资产a;而第四所有权转移条件信息可以为提供与卖方的公钥相匹配的私钥签名,其对应的锁定脚本为:DUP HASH160<pubkhash_A>EQUALVERIFY CHECKSIG。

在步骤311之后,还可以执行步骤312。

步骤312、分布式总账系统接收在买方终端输入的接受交易信息。

其中,所述接受交易信息包括第二输入引用信息、第二所有权转移证明信息、第三输入引用信息和第三所有权转移证明信息;所述第二输入引用信息包括待交易资产信息以及第一所有权转移条件信息;所述第三输入引用信息包括分布式总账系统中已经记录的买方交易输出内容。所述分布式总账系统中已经记录的买方交易输出内容包括与所述买方用于交易的资产对应的买方已拥有资产,以及所述买方已拥有资产的所有权转移条件。

对于分布式总账系统中已经记录的买方交易输出内容,其可以来自分布式总账系统中已经进行的交易Y,该交易Y的输出为:买方已拥有资产,以及所述买方已拥有资产的所有权转移条件。

例如,该买方已拥有资产可以为数字货币b;该买方已拥有资产的所有权转移条件可以为提供与买方(此处称为买方B)的公钥匹配的私钥签名。该买方已拥有资产的所有权转移条件的锁定脚本为:DUP HASH160<pubkhash_B>EQUALVERIFY CHECKSIG。

步骤313、分布式总账系统判断所述第二输入引用信息是否在其他交易中被输入引用。

例如,该第二输入引用信息可以被其他交易中被输入引用(相当于其他买方已经接受了卖方A的交易),或者被卖方A自身撤销(可参见上述步骤310至步骤311)。

步骤314、若所述第二输入引用信息在其他交易中被输入引用,分布式总账系统向买方终端发送拒绝消息。

步骤315、若所述第二输入引用信息未在其他交易中被输入引用,分布式总账系统判断所述已经记录的买方交易输出内容是否未在其他交易中被输入引用。

步骤316、若所述已经记录的买方交易输出内容未在其他交易中被输入引用,分布式总账系统运行第三所有权转移证明信息的解锁脚本。

其中,所述第三所有权转移证明信息包括与买方的公钥相匹配的私钥签名;其解锁脚本可以为<sig_B><pubk_B>。

步骤317、在运行第三所有权转移证明信息的解锁脚本成功后,分布式总账系统运行买方已拥有资产的所有权转移条件的锁定脚本。

其中,所述买方已拥有资产的所有权转移条件为提供与买方的公钥匹配的私钥签名。其锁定脚本为DUP HASH160<pubkhash_B>EQUALVERIFY CHECKSIG。

步骤318、若买方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统确定买方终端本次交易的输入能够引用已经记录的买方交易输出内容。

步骤319、分布式总账系统判断所述第二所有权转移证明信息中是否含有预定内容的转移待交易资产的所有权的输出值,并判断买方的公钥相匹配的私钥签名是否合法。

此处步骤319中的第二所有权转移证明信息中,若含有步骤308中的预设值<Txout1>,且第二所有权转移证明的解锁脚本为<TRUE>,买方的公钥相匹配的私钥签名合法,则可以完成交易撮合。

步骤320、分布式总账系统在第二所有权转移证明信息中含有预定内容的转移待交易资产的所有权的输出值,且买方的公钥相匹配的私钥签名合法时,输出买方用于交易的资产信息,及其对应的卖方已知的第二所有权转移条件,并输出所述待交易资产信息,及其对应的买方已知的第三所有权转移条件。

具体的,所述第二所有权转移条件为提供与卖方的公钥匹配的私钥签名,例如其锁定脚本为DUP HASH160<pubkhash_A>EQUALVERIFY CHECKSIG;所述第三所有权转移条件为提供与买方的公钥匹配的私钥签名,例如其锁定脚本为DUP HASH160<pubkhash_B>EQUALVERIFY CHECKSIG。

这样,卖方通过其已知的第二所有权转移条件,即可得到买方用于交易的资产信息。同时,买方通过其已知的第三所有权转移条件,即可得到卖方的待交易资产信息。

对于上述卖方A与买方B的具体实例,其中的解锁脚本和锁定脚本可采用逆波兰表示法的基于堆栈的执行语言。

例如可以预先设定如下操作码:

DUP:复制栈顶元素;

HASH160:栈顶项进行两次HASH,先用SHA-256,再用RIPEMD-160;

EQUAL:如果输入的两个数相等,则返回1,否则返回0;

EQUALVERIFY:如果输入的两个数相等,则继续执行,否则返回0,并标记交易无效;

CHECKSIG:交易所用的签名必须是哈希值和公钥的有效签名,如果为真,返回1,否则返回0;

BOOLOR:两项有一个不为0,输出1,否则输出0;

OUT1:取使用交易的输出1;

在本方案中可预先设定如下常量:

<pubk_A>:A的公钥;

<pubk_B>:B的公钥;

<pubkhash_A>:A的公钥进行HASH160运算的结果;

<pubkhash_B>:B的公钥进行HASH160运算的结果;

<sig_A>:交易的哈希值使用A的私钥进行签名后结果;

<sig_B>:交易的哈希值使用B的私钥进行签名后结果;

<Txout1>:交易发起方设定的交易输出;

<TRUE>:常数1。

本发明实施例提供的一种基于区块链技术的分布式总账系统的交易撮合方法,其能够在分布式总账系统中实现交易撮合,在完全脱离第三方平台的情况下,实现交易报价、报价展示、交易撮合成交等功能,而且交易撮合成交时卖方的待交易资产与买方用于交易的资产所有权可同步移交。由于整个交易过程中无需引入第三方进行报价展示、资金托管、资产托管、担保、交易授权或签名,能节省大量第三方的费用交易成本。另外,由于撮合过程中可实现资产所有权的同步转移,即“一手交钱、一手交货”,交易过程中不存在信用风险,同时脱离第三方平台也可避免第三方的信用风险。

如图2所示,本发明实施例提供一种交易撮合系统20,包括卖方终端201、买方终端202以及基于区块链技术的分布式总账系统203,所述分布式总账系统203包括不同组织范围内的多个工作节点204;所述卖方终端201与买方终端202分别与所述多个工作节点204通信连接。

该分布式总账系统203,用于接收在卖方终端201输入的交易请求信息;所述交易请求信息包括第一输入引用信息和第一所有权转移证明信息;所述第一输入引用信息包括分布式总账系统203中已经记录的卖方交易输出内容;

分布式总账系统203,还用于根据所述第一输入引用信息和第一所有权转移证明信息对所述交易请求信息进行校验,并在确定交易合法后,输出待交易资产信息以及第一所有权转移条件信息;将所述交易请求信息、待交易资产信息以及第一所有权转移条件信息记录于分布式总账系统203的后台数据库中;

各工作节点,用于在所述后台数据库中查询到所述交易请求信息,并将所述待交易资产信息和所述第一所有权转移条件信息进行展示;

分布式总账系统203,还用于接收在买方终端202输入的接受交易信息;所述接受交易信息包括第二输入引用信息、第二所有权转移证明信息、第三输入引用信息和第三所有权转移证明信息;所述第二输入引用信息包括待交易资产信息以及第一所有权转移条件信息;所述第三输入引用信息包括分布式总账系统203中已经记录的买方交易输出内容;

分布式总账系统203,还用于判断所述第二所有权转移证明信息是否满足第一所有权转移条件,并判断所述第三所有权转移证明信息是否合法;

分布式总账系统203,还用于在第二所有权转移证明信息满足第一所有权转移条件,且所述第三所有权转移证明信息合法时,输出买方用于交易的资产信息,及其对应的卖方已知的第二所有权转移条件,并输出所述待交易资产信息,及其对应的买方已知的第三所有权转移条件。

具体的,所述分布式总账系统203中已经记录的卖方交易输出内容包括与所述待交易资产对应的卖方已拥有资产,以及所述卖方已拥有资产的所有权转移条件;

所述分布式总账系统203,还用于判断所述已经记录的卖方交易输出内容是否未在其他交易中被输入引用;

若所述已经记录的卖方交易输出内容未在其他交易中被输入引用,分布式总账系统203,还用于运行第一所有权转移证明信息的解锁脚本;所述第一所有权转移证明信息包括与卖方的公钥相匹配的私钥签名;

在运行第一所有权转移证明信息的解锁脚本成功后,分布式总账系统203还用于运行卖方已拥有资产的所有权转移条件的锁定脚本;所述卖方已拥有资产的所有权转移条件为提供与卖方的公钥匹配的私钥签名;

若卖方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统203还用于确定卖方终端本次交易的输入能够引用已经记录的卖方交易输出内容。

具体的,所述分布式总账系统203中已经记录的买方交易输出内容包括与所述买方用于交易的资产对应的买方已拥有资产,以及所述买方已拥有资产的所有权转移条件;

分布式总账系统203,还用于判断所述已经记录的买方交易输出内容是否未在其他交易中被输入引用;

若所述已经记录的买方交易输出内容未在其他交易中被输入引用,分布式总账系统203还用于运行第三所有权转移证明信息的解锁脚本;所述第三所有权转移证明信息包括与买方的公钥相匹配的私钥签名;

在运行第三所有权转移证明信息的解锁脚本成功后,分布式总账系统203还用于运行买方已拥有资产的所有权转移条件的锁定脚本;所述买方已拥有资产的所有权转移条件为提供与买方的公钥匹配的私钥签名;

若买方已拥有资产的所有权转移条件的锁定脚本运行成功,分布式总账系统203还用于确定买方终端本次交易的输入能够引用已经记录的买方交易输出内容。

此外,分布式总账系统203,具体用于:

确定分布式总账系统203中已经记录的卖方交易输出内容中是否存在待交易资产信息,并确定卖方终端是否输入了与卖方的公钥相匹配的私钥签名;

若分布式总账系统203中已经记录的卖方交易输出内容中存在待交易资产信息,且卖方终端输入了与卖方的公钥相匹配的私钥签名,则确定交易合法;

所述第一所有权转移条件信息为转移待交易资产的所有权的输出值为预定内容,或者提供与卖方的公钥相匹配的私钥签名。

此外,该分布式总账系统203,还用于:

接收在卖方终端输入的交易撤销请求信息;所述交易撤销请求消息包括第四输入引用信息和第四所有权转移证明信息;所述第四输入引用信息包括所述待交易资产信息以及所述第一所有权转移条件信息;所述第四所有权转移证明信息包括与卖方的公钥相匹配的私钥签名;

根据所述第四输入引用信息和第四所有权转移证明信息对所述交易撤销请求信息进行校验,并在确定交易撤销请求合法后,输出待交易资产信息以及第四所有权转移条件信息;所述第四所有权转移条件信息包括提供与卖方的公钥相匹配的私钥签名。

此外,所述分布式总账系统203,还用于:

判断所述第二输入引用信息是否在其他交易中被输入引用;

若所述第二输入引用信息在其他交易中被输入引用,向买方终端发送拒绝消息。

此外,所述分布式总账系统203,具体用于:

判断所述第二所有权转移证明信息中是否含有预定内容的转移待交易资产的所有权的输出值;

判断买方的公钥相匹配的私钥签名是否合法。

具体的,所述第二所有权转移条件为提供与卖方的公钥匹配的私钥签名;所述第三所有权转移条件为提供与买方的公钥匹配的私钥签名。

值得说明的是,本发明实施例提供的一种交易撮合系统的具体实现方式可以参见上述图1和图3对应的方法实施例,此处不再赘述。

本发明实施例提供的一种交易撮合系统,其能够在分布式总账系统中实现交易撮合,在完全脱离第三方平台的情况下,实现交易报价、报价展示、交易撮合成交等功能,而且交易撮合成交时卖方的待交易资产与买方用于交易的资产所有权可同步移交。由于整个交易过程中无需引入第三方进行报价展示、资金托管、资产托管、担保、交易授权或签名,能节省大量第三方的费用交易成本。另外,由于撮合过程中可实现资产所有权的同步转移,即“一手交钱、一手交货”,交易过程中不存在信用风险,同时脱离第三方平台也可避免第三方的信用风险。

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

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

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

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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