一种基于五个Merkle树结构的共识与交易分离系统与方法与流程

专利查询2023-10-14  89


一种基于五个merkle树结构的共识与交易分离系统与方法
技术领域
1.本发明属于区块链技术领域,特别是基于共识与交易分离的区块链模型以及其上的5个merkle树结构,具体涉及一种基于五个merkle树结构的共识与交易分离系统与方法。


背景技术:

2.传统的区块链系统使用一个merkle树,并且认为共识即是交易,共识完成即交易完成,也代表结算完成。但是存在如下技术缺陷:(1)由于共识就是交易完成,如果发现有洗钱现象,资金却追不回来;或者如果后续发现交易存在问题,由于已经结算了,资金或是资产无法恢复。
3.(2)除了有洗钱的风险,可靠性也有问题。如果每次交易数量很大,交易失败的可能性就很大。事实上,数据量大的交易几乎一定会失败,例如一个交易数据块包含一万笔交易,这一万笔交易中大概率会有失败的交易(具体失败原因可以包括账户余额不足或者gas不足等),只要一万笔交易中有一笔交易出现这种情况,就会造成共识失败,导致整个一万笔交易失败,从而引发可靠性风险。
4.(3)另外基于区块链的交易系统需要被监管,而且这些监管机制应该和区块链系统融合。 可是现在很少有这样的设计出现。
5.目前的解决办法和存在的问题主要包括:(1)减少数据块包含的交易笔数,例如由一万笔交易改为一百笔或是一千笔交易,这样即使共识失败也只会导致一百笔或是一千笔交易失败,但是这样的机制会造成交易速度慢且依然会存在本来应该成功的交易被判定为失败的情况;并且。然而,以上解决方法对应的结算是在区块链系统上的结算,现代金融交易系统需要在银行或是金融机构结算,因此在区块链系统上的结算只是“暂时结算”,不是最终结算。
6.(2)最近的发展是将交易和结算分开,并且使用2个merkle树,一个管理交易,一个管理结算,美国脸书稳定币项目就是据此设计的,脸书稳定币系统提出的结算系统fastpay虽然可以在金融机构内结算,但是存在如下严重问题:没有使用区块链系统,虽然使用区块链的技术,却没有使用区块链系统;没有merkle树数据结构支持,因此脸书系统fastpay即使区块链系统比较完备,但是结算系统还是有许多问题。
7.(3)传统区块链系统只有一个树,树内有不同内容, 但是所有信息都存在一起,因此查询复杂。脸书区块链系统有两树,可以支持多种不同交易,但是facebook的系统并没有将反洗钱和结算机制当作区块链系统必要的机制,而现代金融交易必须同时具备结算和反洗钱功能,并且结算机制复杂,需要多金融机构参与,因此facebook的2树结构不能解决这些问题。


技术实现要素:

8.本发明为了解决现有技术存在的一项或多项技术问题,提出一种基于五个merkle树结构的共识与交易分离系统和方法,五个merkle树结构的数据结构支持:
(1)共识与交易分离的机制;(2)交易和暂时结算分离的机制;(3)暂时结算和反洗钱(aml)分离的机制;(4)暂时结算和(最终)结算分离的机制。
9.本发明的目的在于提供一种基于五个merkle树结构的共识与交易分离系统,包括:银行系统、结算系统、交易层、共识层以及五个merkle树结构,其中所述五个merkle树结构包括:共识事件merkle树,交易事件merkle树,暂时结算merkle树,反洗钱数据merkle树以及银行结算merkle树,所述共识层实现共识机制,所述交易层实现交易机制,所述结算系统实现暂时结算机制和反洗钱机制,所述银行系统实现银行结算机制,所述共识机制支持所述交易机制、暂时结算机制、反洗钱机制以及最终结算机制;所述五个merkle树独立建立和维持,但是互相引用,包括:所述共识事件merkle树和所述交易事件merkle树的关系:交易事件中的数据唯一标识符一定能在成功的共识事件中找到对应;所述交易事件merkle树和所述暂时结算merkle树的关系:t1时刻的暂时结算merkle树与t2时刻的暂时结算merkle树,可以通过计算t1到t2时间之间的交易事件得到t2时刻的暂时结算merkle树,进行相互印证,防止有人篡改数据或系统错误;所述交易事件merkle树和所述银行结算merkle树的关系:银行系统通过读取交易事件merkle树种的数据,统计出其跨行交易数据,然后根据跨行交易数据进行银行之间的结算,生成最终的银行结算merkle树;所述交易事件merkle树和所述反洗钱数据merkle树之间的关系:从交易事件merkle树中读取数据并行统计出涉及反洗钱的交易信息以及账户信息,并得出最终的反洗钱数据merkle树。
10.优选的,所述共识事件merkle树由所述共识层生成,并记录共识的状态;所述共识层仅负责数据在各个节点之间的同步工作和交易数据上链,即提供一个交易数据在各个节点的数据同步机制,不管交易成功与失败,只是把所有数据上链,所述共识事件merkle树对应的共识事件包括共识事件标示、时间戳、共识参与节点和领导节点以及第一关联共识标识;共识事件标示包括区块链身份证,关联共识标识包括参与的交易前、交易中、预结算、反洗钱、结算的共识标识;其中数据块唯一标识符是这一笔需要共识的交易数据的唯一标识,共识状态包括共识成功,共识失败两种状态;将一段时间内的所有共识事件打包成一个merkle树形成所述共识事件merkle树。
11.优选的,所述交易事件merkle树由所述交易层生成,并记录一个数据块中失败的交易、成功的交易以及交易失败的原因;所述交易层位于共识层上方,所述交易层仅处理共识成功的交易,即在各个数据节点成功同步的交易,交易数据经过共识以后由统一的交易数据处理程序进行交易处理,所述交易层利用大数据技术并行处理所有共识成功的数据块,判断每一笔交易账户余额是否充足,gas值是否充足从而判断交易的成功或失败;所述交易事件的结构包括交易事件标示、交易数据处理开始时间、交易数据处理结算时间、成功交易集合、失败交易集合、失败原因以及关联共识标识,其中关联共识标识包括参与的交易前、交易中、预结算、反洗钱、结算的共识标识。
12.优选的,所述暂时结算merkle树由暂时结算系统生成,并记录账户对应的交易以及结算信息,交易事件merkle树记录了成功的交易和失败的交易,暂时结算系统读取交易事件merkle树中成功的交易进行交易结算,所述暂时结算系统可以实时结算;暂时结算merkle树与共识事件merkle树和交易事件merkle树结构类似,每隔一段时间都需要构建一个暂时结算merkle树进行存储;每一个共识数据块需要一个共识事件merkle树,每一个交易数据块需要一个交易事件merkle树;一段时间的交易事件merkle树中的数据进行结算形成暂时结算merkle树,暂时结算事件的结构包括:暂时结算事件标识、账户唯一标示符、关联交易集合、结算前的余额、结算后的余额、时间戳、关联交易标识以及关联共识标识,其中所述关联共识标识包括参与的交易前、交易中、预结算、反洗钱、结算的共识标识;其中账户唯一标识符是每一个账户的哈希值,关联交易集合记录了该账户这一段时间内的所有有关交易,结算前的余额由上一个暂时结算merkle树中相应账户的结算后余额提供,结算后的余额由计算前余额经过关联交易计算后得出;每一个账户形成一个数据块,所有账户的结算事件构成一个暂时结算merkle树。
13.优选的,所述反洗钱数据merkle树由aml分析系统生成,aml分析系统读取所述暂时结算merkle树中的数据进行反洗钱分析,从而得出参与洗钱的交易以及账户信息,反洗钱数据的结构包括:反洗钱事件标识、时间戳、关联洗钱交易集合、关联账户集合、关联预结算标识、关联交易标识以及关联共识标识,其中所述关联共识标识包括参与的交易前、交易中、预结算、结算的共识标识;每一段时间的暂时洗钱信息构成一个反洗钱事件,多个反洗钱事件构成一个反洗钱数据merkle树。
14.优选的,所述银行结算merkle树是银行之间进行结算的结算数据的树结构,通常银行之间的结算间隔时间长,所述银行结算事件的数据结构包括:结算事件标识、时间戳、结算前余额、结算后余额、关联洗钱交易集合、关联银行包括跨行的账户集合、相关预结算标识、相关交易标识以及相关共识标识,其中所述相关共识标识包括参与的交易前、交易中、预结算、结算的共识标识。银行系统统计交易数据,其中的跨行交易数据,并行处理统计每个银行关联的跨行交易并进行最终的结算。
15.优选的,如果区块链交易系统不需要银行或是金融机构结算,可以减少所述银行结算merkle树;如果交易层没有反洗钱机制,可以省略所述反洗钱数据merkle树;如果系统有多个结算系统参与,可以有多个所述银行结算merkle树;一个所述银行结算merkle树可以和多个所述共识事件merkle树和多个所述交易事件merkle树交互;或者一个所述银行结算merkle树可以和多个所述反洗钱数据merkle树交互;一个反洗钱系统可以和多个结算系统合作,也可以和多个区块链交易系统合作,一个反洗钱树,可以和多个共识树,多个交易树,多个结算树合作;并且所述merkle树包括多个种类。
16.本发明的目的还在于提供一种基于五个merkle树结构的共识与交易分离方法,包括:五个merkle树互相引用;以及进行分布式实时分析和审计。
17.优选的,所述五个merkle树互相引用包括:(1)单笔交易产生的依赖关系,其中所述五个merkle树之间是互相引用的,对于一笔交易或一个交易数据块,包括:
每一交易事件必须至少有一个共识,在通常情形下,有多个共识事件;交易时间的时间戳和共识时间戳重叠;每一个暂时结算事件对应一个特定交易事件或是一组交易事件;而且这些交易事件必须发生在暂时结算事件的同时或是以前;每一个反洗钱事件对应至少一个交易事件或至少一个暂时结算事件;每一个结算事件对应一个暂时结算或交易事件和反洗钱事件,所述结算事件都发生在结算事件前;以及(2)多笔交易产生的依赖关系,其中所述多笔交易在一个区块内或是不同区块内,由于所述多笔交易具有依赖关系,所述五树的关系复杂,包括:共识事件支持所有其他事件;一笔交易事件在该笔暂时结算事件前,但是前面一笔交易必须先完成,因此具有双向依赖关系;该笔交易事件必须在该笔反洗钱事件前,但是上一笔反洗钱事件必须在该笔交易前完成,因此具有双向依赖关系;该笔交易事件必须在这笔结算事件前,但是上一笔结算必须发生在这笔交易事件前,所以有双向依赖关系;该笔暂时结算事件必须在该笔反洗钱事件前,但是上一笔反洗钱必须完成在这笔暂时结算事件前,所以有双向依赖关系;优选的,所述进行分布式实时分析和审计包括:根据多笔交易产生的依赖关系在不同子系统实时进行分析,分为完整性分析、一致性分析和时间分析,还包括一个或是多个审计子系统在运行时查询系统的完备性,从而一直检验五树上的数据是不是一致。
18.本发明的有益效果:(1)在共识与交易分离的基础上提出了一种由五个merkle树结构的数据结构可以方便交易的记录以及查询和回滚,5个树之间可以互相印证,防止某一层系统作弊。由于每个merkle树使用哈希算法,这5树都不能轻易更改,于是建立一个区块链交易系统内部完整的审计的机制,而且是符合现代金融交易规则的金融系统,不是逃避监管的区块链交易系统。
19.(2)使用五种不同树,独立运行而又合作,可以支持许多不同大型数字货币、数字资产交易。五树结构可以由五个子系统负责,因此五树可以并行处理,增加速度;并且五树可以并行处理,进行完整性分析、一致性分析、 时间分析、次序分析,这样的数据结构使区块链系统可以支持许多不同的交易方式和流程,包括数字货币交易,数字资产交易,数字衍生品交易,数字房地产交易。
20.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
21.后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些
附图未必是按比例绘制的。本发明的目标及特征考虑到如下结合附图的描述将更加明显,附图中:图1为根据本发明优选实施例的数据区块链交易方案与传统区块按结构比较示意图;图2为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统结构图;图3为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统merkle树模型;图4为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统五树关系图图5为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统中共识事件结构图;图6为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统中交易事件结构图;图7为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统中暂时结算事件结构图;图8为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统中反洗钱事件结构图;图9为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离系统中结算事件结构图;图10为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离方法中单笔交易五树关系依赖示意图;图11为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离方法中多笔交易五树关系依赖示意图;图12为根据本发明优选实施例的基于五个merkle树结构的共识与交易分离方法中整体交易流程图。
22.具体实施方式
23.为了使得本发明能够针对其发明要点更加明显易懂,下面将结合附图和实例对本发明作进一步的说明。在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
24.在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
25.本实施例中基于五个merkle树结构的共识与交易分离系统和方法,五个merkle树
结构的数据结构支持:(1)共识与交易分离的机制;(2)交易和暂时结算分离的机制;(3)暂时结算和反洗钱(aml)分离的机制;(4)暂时结算和(最终)结算分离的机制。
26.如图1左侧所示传统区块链系统的方案,右侧为本发明提出的方案。由于机制分离的机制可以实现融合的机制(只需要将分离的机制一同进行就可以),但是融合的机制不能进行分开的机制,因此五个merkle树结构可以进行多种交易流程,包括共识和交易融合的机制,交易和暂时结算机制融合,暂时结算和反洗钱融合机制,暂时结算和结算融合的机制。
27.根据五个merkle树结构的多种机制形成新的区块链运行方式,包括:(1)共识机制仅负责各个区块链节点之间的数据同步,相当于把共识机制当成一种数据同步机制,共识机制可以同时支持交易、暂时结算、反洗钱以及结算机制。
28.(2)交易机制由更上层的软件负责,交易层负责并行处理共识成功的交易是否可以成功交易(主要负责验证余额是否大于转出金额,以及gas值是否足够);(3)结算机制包括暂时结算机制和银行结算机制,只负责进行成功交易的结算,每隔一段短时间结算一次,相当于可以进行实时结算,银行系统负责最终的结算工作以及反洗钱分析;(4)反洗钱机制只负责反洗钱分析。
29.如图2所示,本发明的目的在于提供一种基于五个merkle树结构的共识与交易分离系统,包括:银行系统、结算系统、交易层、共识层以及五个merkle树结构,其中所述五个merkle树结构包括:共识事件merkle树,交易事件merkle树,暂时结算merkle树,反洗钱数据merkle树以及银行结算merkle树,所述共识层实现共识机制,所述交易层实现交易机制,所述结算系统实现暂时结算机制和反洗钱机制,所述银行系统实现银行结算机制,所述共识机制支持所述交易机制、暂时结算机制、反洗钱机制以及最终结算机制,每个机制需要一个merkle树,于是需要5个merkle树,以下实施方式中使用共识树、交易树、暂时结算树、反洗钱树、结算树代表这5个merkle树;其中5个merkle树独立建立和维持,但是互相引用。例如结算的交易必定经过反洗钱,结算树必定引用反洗钱树。
30.merkle树具有可以快速验证数据有没有被篡改,以及快速定位到篡改数据位置的功能。但是merkle树进行的是分布式系统各个数据副本之间的对比,对于更上层的数据篡改或系统错误没有发现功能,例如系统出现问题,有些数据共识失败却交易成功。五种merkle树之间可以相互印证以防止有人篡改系统数据或防止系统错误。
31.共识事件merkle树和交易事件merkle树的关系:交易事件中的数据唯一标识符一定能在成功的共识事件中找到对应。
32.交易事件merkle树和暂时结算merkle树的关系:t1时刻的暂时结算merkle树与t2时刻的暂时结算merkle树,可以通过计算t1到t2时间之间的交易事件得到t2时刻的暂时结算merkle树,进行相互印证,防止有人篡改数据或系统错误。
33.交易事件merkle树和银行结算merkle树的关系:银行系统通过读取交易事件
merkle树种的数据,统计出其跨行交易数据,然后根据跨行交易数据进行银行之间的结算,生成最终的银行结算merkle树。
34.交易事件merkle树和反洗钱数据merkle树之间的关系:通过专利“一个实时交易和发现洗钱算法”中的方法可以从交易事件merkle树中读取数据并行统计出涉及反洗钱的交易信息以及账户信息,并得出最终的反洗钱数据merkle树。
35.其中:(1)所述共识事件merkle树由所述共识层生成,并记录共识的状态;所述共识层仅负责数据在各个节点之间的同步工作;(2)所述交易事件merkle树由所述交易层生成,并记录一个数据块中失败的交易、成功的交易以及交易失败的原因;所述交易层主要负责处理所述共识层中已经成功共识的数据块,所述交易层利用大数据技术并行处理所有共识成功的数据块,判断每一笔交易账户余额是否充足,gas值是否充足从而判断交易的成功或失败;(3)所述暂时结算merkle树由暂时结算系统生成,并记录账户对应的交易以及结算信息,交易事件merkle树记录了成功的交易和失败的交易,暂时结算系统读取交易事件merkle树中成功的交易进行交易结算,所述暂时结算系统可以实时结算;(4)所述银行结算merkle树在银行系统内结算,其间隔时间可以较长,例如一分钟结算一次,10分钟结算一次,或是1小时结算一次。英国央行建议数字货币结算机制需要在2小时内完成。而现在银行传统货币系统上每天只结算一次。
36.(3)反洗钱数据merkle树由aml分析系统生成,aml分析系统统计所述暂时结算merkle树中的数据,具体的反洗钱分析方法参见申请人的早期专利“一个实时交易和发现洗钱算法”,统计后形成反洗钱数据merkle树存储反洗钱账户和交易。
37.作为优选的实施方式,如果区块链交易系统不需要银行或是金融机构结算,可以减少一个树,例如采用结算系统或是预结算系统替代。
38.作为优选的实施方式,如果交易层没有反洗钱机制,反洗钱树可以省略。
39.作为优选的实施方式,如果系统有多个结算系统参与,可以有多个结算树参与。
40.作为优选的实施方式,一个结算系统可以和多个区块链交易系统合作,因此一个结算树可以和多个共识树和多个的交易树交互。
41.作为优选的实施方式,一个结算系统可以和多个反洗钱系统合作,例如国际反洗钱系统,国内反洗钱系统,和地方反洗钱系统,因此一个结算树可以和多个反洗钱树交互。
42.作为优选的实施方式,一个反洗钱系统可以和多个结算系统合作,也可以和多个区块链交易系统合作,因此一个反洗钱树,可以和多个共识树,多个交易树,多个结算树合作。
43.作为优选的实施方式,merkle树包括多个种类,例如merkle patricia 树等都是可以选用的merkle树。
44.作为优选的实施方式,5个merkle树的结构类似,但是其数据内容不同,树结构如图3所示。各个层次之间的数据流通关系如图4所示。其中交易数据来自于经过共识层共识的数据,交易系统仅处理共识成功的数据之后生成交易数据,暂时结算数据由交易数据获得,反洗钱数据也由交易数据分析得到,银行结算数据可由汇集一段时间内的暂时结算数据得到。
45.作为优选的实施方式,所述共识事件merkle树由所述共识层生成,所述共识层只负责交易数据上链,即提供一个交易数据在各个节点的数据同步机制,不管交易成功与失败,只是把所有数据上链。共识事件merkle树对应的共识事件由图5所示的几个部分构成,包括共识事件标示、时间戳、共识参与节点和领导节点以及第一关联共识标识;共识事件标示包括区块链身份证等,关联共识标识例如参与的交易前、交易中、预结算、反洗钱、结算的共识标识;其中数据块唯一标识符是这一笔需要共识的交易数据的唯一标识,共识状态包括共识成功,共识失败两种状态。将一段时间内的所有共识事件打包成一个merkle树形成所述共识事件merkle树。
46.作为优选的实施方式,所述交易事件merkle树由所述交易层生成,所述交易层位于共识层上方,交易层仅处理共识成功的交易,即在各个数据节点成功同步的交易,交易数据经过共识以后由统一的交易数据处理程序进行交易处理,处理流程可以参考专利文件“一个实时交易和发现洗钱算法”。交易层利用大数据技术并行处理所有共识成功的数据块,判断每一笔交易账户余额是否充足,从而判断交易的成功或失败,交易事件的结构如图6所示,包括交易事件标示、交易数据处理开始时间、交易数据处理结算时间、成功交易集合、失败交易集合、失败原因以及关联共识标识,其中关联共识标识例如参与的交易前、交易中、预结算、反洗钱、结算的共识标识。
47.作为优选的实施方式,所述暂时结算merkle树与共识事件merkle树和交易事件merkle树结构类似,每隔一段时间都需要构建一个暂时结算merkle树进行存储;每一个共识数据块需要一个共识事件merkle树,每一个交易数据块需要一个交易事件merkle树;一段时间的交易事件merkle树中的数据进行结算形成暂时结算merkle树,暂时结算事件的结构如图7所示,包括:暂时结算事件标识、账户唯一标示符、关联交易集合、结算前的余额、结算后的余额、时间戳、关联交易标识以及关联共识标识,其中所述关联共识标识例如参与的交易前、交易中、预结算、反洗钱、结算的共识标识;其中账户唯一标识符是每一个账户的哈希值,关联交易集合记录了该账户这一段时间内的所有有关交易,结算前的余额由上一个暂时结算merkle树中相应账户的结算后余额提供,结算后的余额由计算前余额经过关联交易计算后得出;每一个账户形成一个数据块,所有账户的结算事件构成一个暂时结算merkle树。
48.作为优选的实施方式,所述反洗钱数据merkle树由aml分析系统生成,aml分析系统读取所述暂时结算merkle树中的数据进行反洗钱分析,反洗钱并行分析方法由专利“一个实时交易和发现洗钱算法”提供,经过分析可以得出参与洗钱的交易以及账户信息。反洗钱数据的结构如图8所示,包括:反洗钱事件标识、时间戳、关联洗钱交易集合、关联账户集合、关联预结算标识、关联交易标识以及关联共识标识,其中所述关联共识标识例如参与的交易前、交易中、预结算、结算的共识标识。每一段时间的暂时洗钱信息构成一个反洗钱事件,多个反洗钱事件构成一个反洗钱数据merkle树。
49.作为优选的实施方式,所述银行结算merkle树是银行之间进行结算的结算数据的树结构,通常银行之间的结算可以间隔时间长一些例如一天,其merkle树的树结构与前述结构相同,其中存储的数据不同,银行结算事件的数据结构如图9所示,包括:结算事件标识、时间戳、结算前余额、结算后余额、关联洗钱交易集合、关联银行包括跨行的账户集合、相关预结算标识、相关交易标识以及相关共识标识,其中所述相关共识标识例如参与的交
易前、交易中、预结算、结算的共识标识。银行系统统计交易数据,其中的跨行交易数据,并行处理统计每个银行关联的跨行交易并进行最终的结算。
50.本发明的目的还在于提供一种基于五个merkle树结构的共识与交易分离方法,包括:五个merkle树互相引用;以及进行分布式实时分析和审计。
51.作为优选的实施方式,所述五个merkle树互相引用包括:(1)单笔交易产生的依赖关系,其中所述五个merkle树之间是互相引用的,对于一笔交易或一个交易数据块,所述五个merkle树之间的引用关系如图10所示,包括:每一交易事件必须至少有一个共识,在通常情形下,有多个共识事件;交易时间的时间戳和共识时间戳重叠;每一个暂时结算事件对应一个特定交易事件或是一组交易事件;而且这些交易事件必须发生在暂时结算事件的同时或是以前;每一个反洗钱事件对应至少一个交易事件或至少一个暂时结算事件;每一个结算事件对应一个暂时结算或交易事件和反洗钱事件,所述结算事件都发生在结算事件前。
52.(2)多笔交易产生的依赖关系,其中所述多笔交易在一个区块内或是不同区块内,由于所述多笔交易具有依赖关系,所述五树的关系复杂,包括:共识事件支持所有其他事件;一笔交易事件在该笔暂时结算事件前,但是前面一笔交易必须先完成,因此具有双向依赖关系;该笔交易事件必须在该笔反洗钱事件前,但是上一笔反洗钱事件必须在该笔交易前完成,因此具有双向依赖关系;该笔交易事件必须在这笔结算事件前,但是上一笔结算必须发生在这笔交易事件前,所以有双向依赖关系;该笔暂时结算事件必须在该笔反洗钱事件前,但是上一笔反洗钱必须完成在这笔暂时结算事件前,所以有双向依赖关系;图11显示以上多笔交易5树的依赖关系图。
53.新型交易会产生不同依赖关系,上面只是表示一般交易可能遇到的场景。对于新交易方式,可以根据其特性发现新型依赖关系。
54.作为优选的实施方式,进行分布式实时分析和审计根据多笔交易产生的依赖关系可以在不同子系统实时进行分析。上面的关系可以分为完整性分析(completeness analysis)(例如每个暂时结算事件需要一个对应的交易事件), 一致性分析(consistency analysis)(例如一个结算事件只能对应一个交易事件,而不能是2个交易事件), 时间分析(timing analysis)包括次序(ordering analysis)分析(例如暂时结算必须发生在交易前或是同时)。由于五树可以交给不同子系统并行处理,另外可以有一个或是多个审计子系统在运行时查询系统的完备性,从而一直检验五树上的数据是不是一致。
55.作为优选的实施方式,如果以后出现更复杂的交易,而需要更多的merkle树,可以
在五个树外再建立新树。
56.作为优选的实施方式,不同交易方式会有不同依赖关系,上面描述的一般案例。其他特殊案例可以针对其特殊案例发现依赖关系。
57.实施例:五树由不同子系统控制,而又互相引用,这样的数据结构可以支持许多不同的交易方式,包括国际大型跨境支付,由多国的金融机构参与,多个区块链系统,多个反洗钱机构参与,复杂的交易机制。例如摩根大通银行的数字货币系统包括了20个大银行,400个金融机构,和78个国家。这种大规模的数字货币平台需要大量的交易、审计、反洗钱、结算机制并行合作处理。
58.数据块的共识以及交易结算和反洗钱流程如下:首先在共识层进行共识数据块的共识,之后生成共识事件merkle树,交易层读取共识成功的数据进行交易分析,具体方法可以参考专利“一个实时交易和发现洗钱算法”,之后交易层生成交易事件merkle树,暂时结算merkle树由结算系统每隔一段时间生成一次。读取交易事件merkle树之后进行并行处理进行账户之间的结算,反洗钱数据merkle树经过结算系统生成之后上报给银行系统,银行系统可以进行相应的账户冻结操作,同时银行系统也生成银行结算merkle树。4个分层以及5个树之间的关系如图12所示。
59.虽然本发明已经参考特定的说明性实施例进行了描述,但是不会受到这些实施例的限定而仅仅受到附加权利要求的限定。本领域技术人员应当理解可以在不偏离本发明的保护范围和精神的情况下对本发明的实施例能够进行改动和修改。

技术特征:
1.一种基于五个merkle树结构的共识与交易分离系统,其特征在于包括:银行系统、结算系统、交易层、共识层以及五个merkle树结构,其中所述五个merkle树结构包括:共识事件merkle树,交易事件merkle树,暂时结算merkle树,反洗钱数据merkle树以及银行结算merkle树,所述共识层实现共识机制,所述交易层实现交易机制,所述结算系统实现暂时结算机制和反洗钱机制,所述银行系统实现银行结算机制,所述共识机制支持所述交易机制、暂时结算机制、反洗钱机制以及最终结算机制;所述五个merkle树独立建立和维持,但是互相引用,包括:所述共识事件merkle树和所述交易事件merkle树的关系:交易事件中的数据唯一标识符一定能在成功的共识事件中找到对应;所述交易事件merkle树和所述暂时结算merkle树的关系:t1时刻的暂时结算merkle树与t2时刻的暂时结算merkle树,可以通过计算t1到t2时间之间的交易事件得到t2时刻的暂时结算merkle树,进行相互印证,防止有人篡改数据或系统错误;所述交易事件merkle树和所述银行结算merkle树的关系:银行系统通过读取交易事件merkle树种的数据,统计出其跨行交易数据,然后根据跨行交易数据进行银行之间的结算,生成最终的银行结算merkle树;所述交易事件merkle树和所述反洗钱数据merkle树之间的关系:从交易事件merkle树中读取数据并行统计出涉及反洗钱的交易信息以及账户信息,并得出最终的反洗钱数据merkle树。2.根据权利要求1所述的一种基于五个merkle树结构的共识与交易分离系统,其特征在于,所述共识事件merkle树由所述共识层生成,并记录共识的状态;所述共识层仅负责数据在各个节点之间的同步工作和交易数据上链,即提供一个交易数据在各个节点的数据同步机制,不管交易成功与失败,只是把所有数据上链,所述共识事件merkle树对应的共识事件包括共识事件标示、时间戳、共识参与节点和领导节点以及第一关联共识标识;共识事件标示包括区块链身份证,关联共识标识包括参与的交易前、交易中、预结算、反洗钱、结算的共识标识;其中数据块唯一标识符是这一笔需要共识的交易数据的唯一标识,共识状态包括共识成功,共识失败两种状态;将一段时间内的所有共识事件打包成一个merkle树形成所述共识事件merkle树。3.根据权利要求1所述的一种基于五个merkle树结构的共识与交易分离系统,其特征在于,所述交易事件merkle树由所述交易层生成,并记录一个数据块中失败的交易、成功的交易以及交易失败的原因;所述交易层位于共识层上方,所述交易层仅处理共识成功的交易,即在各个数据节点成功同步的交易,交易数据经过共识以后由统一的交易数据处理程序进行交易处理,所述交易层利用大数据技术并行处理所有共识成功的数据块,判断每一笔交易账户余额是否充足,gas值是否充足从而判断交易的成功或失败;所述交易事件的结构包括交易事件标示、交易数据处理开始时间、交易数据处理结算时间、成功交易集合、失败交易集合、失败原因以及关联共识标识,其中关联共识标识包括参与的交易前、交易中、预结算、反洗钱、结算的共识标识。4.根据权利要求1所述的一种基于五个merkle树结构的共识与交易分离系统,其特征在于,所述暂时结算merkle树由暂时结算系统生成,并记录账户对应的交易以及结算信息,交易事件merkle树记录了成功的交易和失败的交易,暂时结算系统读取交易事件merkle树
中成功的交易进行交易结算,所述暂时结算系统可以实时结算;暂时结算merkle树与共识事件merkle树和交易事件merkle树结构类似,每隔一段时间都需要构建一个暂时结算merkle树进行存储;每一个共识数据块需要一个共识事件merkle树,每一个交易数据块需要一个交易事件merkle树;一段时间的交易事件merkle树中的数据进行结算形成暂时结算merkle树,暂时结算事件的结构包括:暂时结算事件标识、账户唯一标示符、关联交易集合、结算前的余额、结算后的余额、时间戳、关联交易标识以及关联共识标识,其中所述关联共识标识包括参与的交易前、交易中、预结算、反洗钱、结算的共识标识;其中账户唯一标识符是每一个账户的哈希值,关联交易集合记录了该账户这一段时间内的所有有关交易,结算前的余额由上一个暂时结算merkle树中相应账户的结算后余额提供,结算后的余额由计算前余额经过关联交易计算后得出;每一个账户形成一个数据块,所有账户的结算事件构成一个暂时结算merkle树。5.根据权利要求1所述的一种基于五个merkle树结构的共识与交易分离系统,其特征在于,所述反洗钱数据merkle树由aml分析系统生成,aml分析系统读取所述暂时结算merkle树中的数据进行反洗钱分析,从而得出参与洗钱的交易以及账户信息,反洗钱数据的结构包括:反洗钱事件标识、时间戳、关联洗钱交易集合、关联账户集合、关联预结算标识、关联交易标识以及关联共识标识,其中所述关联共识标识包括参与的交易前、交易中、预结算、结算的共识标识;每一段时间的暂时洗钱信息构成一个反洗钱事件,多个反洗钱事件构成一个反洗钱数据merkle树。6.根据权利要求1所述的一种基于五个merkle树结构的共识与交易分离系统,其特征在于,所述银行结算merkle树是银行之间进行结算的结算数据的树结构,通常银行之间的结算间隔时间长,所述银行结算事件的数据结构包括:结算事件标识、时间戳、结算前余额、结算后余额、关联洗钱交易集合、关联银行包括跨行的账户集合、相关预结算标识、相关交易标识以及相关共识标识,其中所述相关共识标识包括参与的交易前、交易中、预结算、结算的共识标识;银行系统统计交易数据,其中的跨行交易数据,并行处理统计每个银行关联的跨行交易并进行最终的结算。7.根据权利要求1所述的一种基于五个merkle树结构的共识与交易分离系统,其特征在于,如果区块链交易系统不需要银行或是金融机构结算,可以减少所述银行结算merkle树;如果交易层没有反洗钱机制,可以省略所述反洗钱数据merkle树;如果系统有多个结算系统参与,可以有多个所述银行结算merkle树;一个所述银行结算merkle树可以和多个所述共识事件merkle树和多个所述交易事件merkle树交互;或者一个所述银行结算merkle树可以和多个所述反洗钱数据merkle树交互;一个反洗钱系统可以和多个结算系统合作,也可以和多个区块链交易系统合作,一个反洗钱树,可以和多个共识树,多个交易树,多个结算树合作;并且所述merkle树包括多个种类。8.一种根据权利要求1-7任一所述基于五个merkle树结构的共识与交易分离系统的共识与交易分离方法,其特征在于,包括:五个merkle树互相引用;以及进行分布式实时分析和审计。9.根据权利要求8所述的方法,其特征在于,所述五个merkle树互相引用包括:
(1)单笔交易产生的依赖关系,其中所述五个merkle树之间是互相引用的,对于一笔交易或一个交易数据块,包括:每一交易事件必须至少有一个共识,在通常情形下,有多个共识事件;交易时间的时间戳和共识时间戳重叠;每一个暂时结算事件对应一个特定交易事件或是一组交易事件;而且这些交易事件必须发生在暂时结算事件的同时或是以前;每一个反洗钱事件对应至少一个交易事件或至少一个暂时结算事件;每一个结算事件对应一个暂时结算或交易事件和反洗钱事件,所述结算事件都发生在结算事件前;以及(2)多笔交易产生的依赖关系,其中所述多笔交易在一个区块内或是不同区块内,由于所述多笔交易具有依赖关系,所述五树的关系复杂,包括:共识事件支持所有其他事件;一笔交易事件在该笔暂时结算事件前,但是前面一笔交易必须先完成,因此具有双向依赖关系;该笔交易事件必须在该笔反洗钱事件前,但是上一笔反洗钱事件必须在该笔交易前完成,因此具有双向依赖关系;该笔交易事件必须在这笔结算事件前,但是上一笔结算必须发生在这笔交易事件前,所以有双向依赖关系;该笔暂时结算事件必须在该笔反洗钱事件前,但是上一笔反洗钱必须完成在这笔暂时结算事件前,所以有双向依赖关系。10.根据权利要求8所述的方法,其特征在于,所述进行分布式实时分析和审计包括:根据多笔交易产生的依赖关系在不同子系统实时进行分析,分为完整性分析、一致性分析和时间分析,还包括一个或是多个审计子系统在运行时查询系统的完备性,从而一直检验五树上的数据是不是一致。

技术总结
本发明提供一种基于五个Merkle树结构的共识与交易分离系统,包括:银行系统、结算系统、交易层、共识层以及五个Merkle树结构,其中五个Merkle树结构包括:共识事件Merkle树,交易事件Merkle树,暂时结算Merkle树,反洗钱数据Merkle树以及银行结算Merkle树,共识层实现共识机制,交易层实现交易机制,结算系统实现暂时结算机制和反洗钱机制,银行系统实现银行结算机制,共识机制支持交易机制、暂时结算机制、反洗钱机制以及最终结算机制;五个Merkle树独立建立和维持,但是互相引用。一种基于五个Merkle树结构的共识与交易分离方法,包括:五个Merkle树互相引用;以及进行分布式实时分析和审计。析和审计。析和审计。


技术研发人员:蔡维德
受保护的技术使用者:天民(青岛)国际沙盒研究院有限公司
技术研发日:2021.10.04
技术公布日:2022/3/8

最新回复(0)