一种基于区块链的可信交易处理系统及方法与流程

文档序号:22327011发布日期:2020-09-25 17:56阅读:115来源:国知局
一种基于区块链的可信交易处理系统及方法与流程

本发明涉及互联网数字交易技术领域,尤其涉及一种基于区块链的可信交易处理系统及方法。



背景技术:

传统的区块链可以广泛用于去中心化的支付等功能。但是这样的区块链系统的支付效率比较低,不能够支持海量用户的大量支付的需求。同时,这些区块链系统不能够支持离线支付,所有的交易必须通过区块链的确认才能保证支付正常完成。我们之前的申请《一种基于区块链的可扩展快速支付方法及系统》可以支持海量用户的大量支付需求以及实现离线支付等功能。

上述发明可以用非标数字资产的交易与支付,但是必须将整个资产不可分割地转移。一种做法是用多个非标资产来表示不同面值的数字资产。这样可以通过不同面值的资产组合来实现实际的需求。但是这样的组合对客户端的要求比较高,交易的开销也很大,而且无法很好地支持交易的手续费问题。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是实现对任意数额的数字资产提供海量用户的快速支付。

为实现上述目的,本发明提供了一种基于区块链的可信交易处理系统,包括以下部分:

交易处理模块,用于处理交易过程;

区块链系统,用于记录交易处理模块的根哈希以及相关信息;

其中,交易处理模块包括

支出c-tree单元,用于记录设定时间内的交易集合的支出部分;

收入c-tree单元,用于记录设定时间内的交易集合的收入部分;

支出c-tree单元和收入c-tree单元的总额信息及相应的根哈希信息记录在区块链系统。

进一步地,支出c-tree单元的总额信息和收入c-tree单元的总额信息满足设定的运算关系。支出c-tree单元的总额信息和收入c-tree单元的总额信息可以是相等,或者某种运算关系,比如支撑总额=收入总额+费用。

进一步地,交易处理模块还包括充值c-tree单元,用于交易处理模块处理充值业务;

提取c-tree单元,用于交易处理模块处理提取业务。

进一步地,交易处理模块还包括控制模块,用于实现以下功能中的一种或多种:

记录交易处理模块递交的多个c-tree的根哈希以及相关信息;

提供用户的查询功能:用户拥有一个合法的c-tree证明,用户递交合法的c-tree证明的根哈希,以验证根哈希是否已经记录在控制模块;

提供用户的投诉功能:如果合法证明的根哈希未在设定的时间内存入控制模块,用户可以递交投诉,对交易处理方进行惩罚;

提供用户的充值功能:用户向控制模块锁定用户的数字资产a,交易处理方在设定的时间内在充值c-tree单元中增加用户的在交易处理模块中相应比例的数字资产b;(其中,充值是发生在控制模块层次。控制模块通常用区块链上的智能合约实现。用户在这个区块链中拥有的资产充值到这个控制模块,就是将自己的资产锁定在控制模块里,然后交易处理方在交易系统里给该用户增加相应的内部资产数量。)

提供用户的提取功能:用户向交易处理模块提交提取请求,并将所需提取的交易处理系统中的数字资产b发送给交易处理方,交易处理方向控制模块发出请求,将控制模块中相应的数字资产类a发送给提取用户。

本发明的又一实施例提供了一种基于区块链的可信交易处理系统的可信交易处理方法,包括以下步骤:

交易的支出方创建一个交易,交易包含收入方的地址以及转让数额;

交易处理方接收到支出方签名后的交易后,创建一个对应的收入方的交易记录,交易记录包含转让数额,交易处理方并对交易记录进行签名;

交易处理方在支出c-tree单元中添加支出方的交易,然后在收入c-tree单元中添加收入方的交易记录;

交易处理方在设定时间内同时处理支出c-tree单元与收入c-tree单元,并将支出c-tree单元与收入c-tree单元的根哈希以及相关信息记录到区块链系统;

交易处理方返回个交易支出方和收入方新的c-tree证明。

进一步地,支出方的c-tree证明包括如下信息:支出方的token对应的key/value对,以及其在支出c-tree单元中从页节点到根节点的路径,以及每个路径节点的兄弟节点的信息;

收入方的c-tree证明包括如下信息:收入方的token对应的key/value对,以及其在收入c-tree单元中从页节点到根节点的路径,以及每个路径节点的兄弟节点的信息。

进一步地,交易方的资产由c-tree的叶节点记录,其形式为同属于一个父节点的key/value对;

key为资产的唯一标识;

value记录资产所有者的公钥地址、当前的资产数量、正确签名的交易历史。

进一步地,还包括交易处理方清除支出c-tree单元与收入c-tree单元,等待下个周期内的交易请求并作相应处理。

本发明又一较佳实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时,实现如上述中任一项的方法。

本发明又一较佳实施例提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序使计算机执行时实现如上述中任一项的一种可信交易处理方法。

技术效果

本发明的一种基于区块链的可信交易处理系统和方法,在交易系统中采用多个相关的c-tree,以及支持任意数字资产转移的通证实现,并在区块链中记录多个c-tree的根哈希及相关信息,实现对数字资产的交易的可信记录。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明的一个较佳实施例的一种基于区块链的可信交易处理系统的整体架构图;

图2是本发明的一个较佳实施例的一种基于区块链的的资产交易示意图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

以下描述中,为了说明而不是为了限定,提出了诸如特定内部程序、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

实施例一

如图1所示,本发明实施例提供了一种基于区块链的可信交易处理系统,包括以下部分:

交易处理模块103,用于处理交易,其实际上是一个交易处理系统;作为本发明的可信交易处理系统的一部分;

区块链系统101,用于记录交易处理系统的哈希相关信息的;

其中,交易处理模块103包括一个支出c-tree单元105,用于记录设定时间内的交易集合的支出部分;

收入c-tree单元106,用于记录设定时间内的交易集合的收入部分;

支出c-tree单元106的支出部分与c-tree单元106的总额信息及相应的根哈希以及相关信息记录在区块链系统;

支出c-tree单元的总额信息与收入c-tree单元的总额信息满足设定的运算关系。其中,设定的运算关系表示支出c-tree单元的总额信息和收入c-tree单元的总额信息可以是相等,或者某种运算关系,比如支撑总额=收入总额+费用。

交易处理模块还包括充值c-tree单元,用于交易处理模块处理充值业务;

提取c-tree单元,用于交易处理模块处理提取业务。

另外,区块链系统101中部署一个控制模块102,实现以下任一功能或功能组合:

记录交易处理系统递交的多个c-tree的根哈希以及相关信息;

提供用户的查询功能:用户拥有一个合法的c-tree证明,用户递交合法证明的根哈希,以验证根哈希是否已经记录在控制模块;

提供用户的投诉功能:如果合法证明的根哈希未在设定的时间内存入控制模块,用户可以递交投诉,对交易处理方进行惩罚;

提供用户的充值功能:用户向控制模块锁定用户的数字资产a,交易处理方在设定的时间内在充值c-tree单元增加用户的在交易处理系统中相应比例的数字资产b;

提供用户的提取功能:用户向交易处理系统提交提取请求,并将所需提取的交易处理系统中的数字资产b发送给交易处理方,交易处理方向控制模块发出请求,将控制模块中相应的数字资产类a发送给提取用户。

其中,本申请中描述的“用户”指的是支出方和收入方。

c-tree,具有以下特征:

1、c-tree是一个排序二叉树;

2、同一个c-tree存储发行方发行的多个同类数字资产;

3、c-tree的同属一个父节点的两个叶节点分别存储数字资产的唯一编号107、数字资产在流通过程中的拥有者的历史记录106;

4、c-tree的叶节点的父节点记录三元信息108:其子节点的数字资产编号,当前交易的资产变更额(delta_value),以及左右子节点的组合信息的哈希值;

5、c-tree的非叶节点的父节点记录四元信息:其子节点的最小数字资产编号,其子节点的最大数字资产编号,所有子节点的资产变更总额sum(左子树的资产变更额加上右子树的资产变更额),以及左右子节点的组合信息的哈希值;

6、c-tree的根节点记录四元信息:整个c-tree的最小数字资产编号,整个c-tree的最大数字资产编号,整个c-tree的资产变更总额sum,以及左右子节点的组合信息的哈希值;

7、c-tree的根节点的四元信息周期性地写入区块链系统。

本发明实施例提供了一种基于区块链的可信交易处理系统的可信交易处理方法,包括以下步骤:

交易的支出方创建一个交易,交易包含收入方的地址以及转让数额;

交易处理方接收到支出方签名后的交易后,创建一个对应的收入方的交易记录,交易记录包含转让数额,交易处理方并对交易记录进行签名;

交易处理方在支出c-tree单元中添加支出方的交易,然后在收入c-tree单元中添加收入方的交易记录;

交易处理方在设定时间内同时处理支出c-tree单元与收入c-tree单元,并将支出c-tree单元与收入c-tree单元的根哈希以及相关信息记录到区块链系统;

交易处理方返回个交易支出方和收入方新的c-tree证明。

如图2所示,是一个交易处理系统中的交易实现的过程。

201表示的是两种不同编号的资产#1001,#1002.每个资产编号对应一个数字资产在流通过程中的拥有者的历史记录202。

每个资产历史记录202包含一个记录头,以及若干交易记录段。记录头包含两部分,初始化资产数额203,以及当前资产的所有者地址204。

如图2所示,用户a拥有资产#1001,初始数额为100。用户b拥有资产#1002,初始数额为10。

现在用户a需要转账资产数额30从#1001到用户b的#1002。此时,用户a为支出方,用户b为收入方。

用户a需要创建一个交易记录段,包括类型标识205、交易完成后的新的数额206、目标地址或目标资产编号207、以及用户对以上信息的合法签名208。

具体来讲,用户a创建一个交易记录段,类型标识=0(表示是一个支出交易);新的数额=70(表示从原来的100总额中扣除30);目标地址=0x237…(表示用户b的token#1002的地址);用户a对(0,70,0x237…)的签名=0xa16…。目标地址也可以是token地址,例如:目标地址=1002。

用户a将此交易记录段递交到交易处理系统。

交易处理方对用户b的交易历史进行更新。如图2所示,交易处理方在token#1002添加一个交易记录段,包括类型标识210、交易完成后的新的数额211、交易处理方地址212、以及交易处理方对以上信息的合法签名213。

具体来讲,类型标识=1(表示是一个收入交易);新的数额=40(表示从原来的10总额中增加30);交易处理方地址=0x86c…;交易处理方对(1,40,0x86c…)的签名=0x7e9…。

交易处理方分别将token#1001加入支出c-tree105中,将#1002添加到收入c-tree104中。

交易处理方必须保证支出c-tree105的根节点的sum数额与收入c-tree104的根节点的sum数额一致,或者满足设定的运算关系。

交易处理方在设定时间内同时处理支出c-tree与收入c-tree,并将各个c-tree的根哈希以及相关信息记录到区块链;

交易处理方将token#1001的c-tree证明返回给用户a,在用户b请求的情况下,将token#1002的c-tree证明返回给用户b。

交易处理方清除支出c-tree与收入c-tree,等待下个周期内的交易请求并作相应处理。

现有技术中的数字资产的数量是可以任意的,但是面额是固定的。比如可以发行面额5元的数字资产100万个,10元的资产50万个。转让需要把5元/10元转给对方,代表5元/10元的这个数字资产的拥有权在变化。因此可以转让的数额不是任意的。

而本发明实施例中指的是每个数字资产里面代表的面额是可以变化的,比如某个数字资产代表100.24元,可以把34元转给其他人,自己留66.24元,该资产的拥有权还是属于自己。

本发明的一种基于区块链的可信交易处理系统和方法,在交易系统中采用多个相关的c-tree,以及支持任意数字资产转移的通证实现,并在区块链中记录多个c-tree的根哈希及相关信息,实现对数字资产的交易的可信记录。

实施例二

本发明实施例二提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现上述任一项的方法。

该实施例的计算机设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如交易处理程序。所述处理器执行所述计算机程序时实现上述各个数据同步方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述计算机设备中的执行过程。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器、存储器。

所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可以是所述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。所述存储器也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器还可以既包括所述计算机设备的内部存储单元也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述计算机设备所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。

本发明实施例还提供了一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现上述任一项所述的一种基于区块链的可信交易处理系统的可信交易处理方法。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

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