1、(19)国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 202111394416.2(22)申请日 2021.11.23(71)申请人 中国人民银行数字货币研究所地址 100071 北京市丰台区丰台北路18号金唐中心A座20层 申请人 中国银行股份有限公司(72)发明人 狄刚穆长春吕远赵新宇郭伟崔沛东王晓旭曾宪奇张骁(74)专利代理机构 中原信达知识产权代理有限责任公司 11219专利代理师 张一军王安娜(51)Int.Cl.G06Q 20/06(2012.01)G06Q 20/38(2012.01)G06Q 40/04(2012.01)(54)发明名
2、称一种基于数字货币的交易校验方法和装置(57)摘要本发明公开了一种基于数字货币的交易校验方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:接收交易请求方上传的交易链信息;对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则根据所述树形结构校验所述交易链信息;若否,则根据所述交易链信息更新所述树形结构,并根据更新后的树形结构校验所述交易链信息。该实施方式能够解决无法对数字货币进行多重支付校验的技术问题。权利要求书3页 说明书12页 附图5页CN 116151813 A2023.05.23CN 116151813 A1.一种基于数字货币的交易校验方法,其特征在
3、于,包括:接收交易请求方上传的交易链信息;对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则根据所述树形结构校验所述交易链信息;若否,则根据所述交易链信息更新所述树形结构,并根据更新后的树形结构校验所述交易链信息。2.根据权利要求1所述的方法,其特征在于,将数字货币发生的第一条交易链作为所述树形结构的根节点,最后一条交易链作为所述树形结构的叶子节点,中间交易链作为所述树形结构的中间节点,每个交易节点的节点余额为每笔交易发生后所述交易节点对应的收款方余额。3.根据权利要求2所述的方法,其特征在于,对于每个交易节点,所述交易节点的付款方与所述交易节点的父节点的收款方相
4、同,所述交易节点的收款方与所述交易节点的子节点的付款方相同。4.根据权利要求3所述的方法,其特征在于,根据所述树形结构校验所述交易链信息,包括:在所述树形结构中定位出所述交易链信息对应的交易节点的父节点;判断所述父节点的节点余额是否大于等于所述交易链信息的交易金额;若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;若否,则对所述交易链信息进行多重支付责任分析。5.根据权利要求3所述的方法,其特征在于,根据所述交易链信息更新所述树形结构,包括:根据所述交易链信息生成交易节点;根据所述交易节点的付款方在所述树形结构中定位出所述交易节点的父节点;将所述交易节点作为所述父节点的子节点插入到
5、所述树形结构中,以更新所述树形结构。6.根据权利要求5所述的方法,其特征在于,根据更新后的树形结构校验所述交易链信息,包括:判断所述交易节点的父节点的节点余额是否大于等于所述交易链信息的交易金额;若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;若否,则对所述交易链信息进行多重支付责任分析。7.根据权利要求4或6所述的方法,其特征在于,对所述交易链信息进行多重支付责任分析,包括:判断所述交易链信息的付款方与所述交易链信息的交易请求方是否相同;若是,则将所述交易链信息的交易请求方加入黑名单;若否,则将所述交易链信息的付款方加入黑名单,并对所述交易链信息的收款方补足差额。8.根据权利要
6、求7所述的方法,其特征在于,将所述交易链信息的交易请求方加入黑名单或者将所述交易链信息的付款方加入黑名单之后,还包括:向所述交易请求方或者所述付款方返回补差金额的消息,并将所述交易请求方或者所权利要求书1/3 页2CN 116151813 A2述付款方的状态置为已多重支付状态。9.一种基于数字货币的交易校验装置,其特征在于,包括:接收模块,用于接收交易请求方上传的交易链信息;校验模块,用于对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则根据所述树形结构校验所述交易链信息;若否,则根据所述交易链信息更新所述树形结构,并根据更新后的树形结构校验所述交易链信息。10.
7、根据权利要求9所述的装置,其特征在于,将数字货币发生的第一条交易链作为所述树形结构的根节点,最后一条交易链作为所述树形结构的叶子节点,中间交易链作为所述树形结构的中间节点,每个交易节点的节点余额为每笔交易发生后所述交易节点对应的收款方余额。11.根据权利要求10所述的装置,其特征在于,对于每个交易节点,所述交易节点的付款方与所述交易节点的父节点的收款方相同,所述交易节点的收款方与所述交易节点的子节点的付款方相同。12.根据权利要求11所述的装置,其特征在于,所述校验模块还用于:在所述树形结构中定位出所述交易链信息对应的交易节点的父节点;判断所述父节点的节点余额是否大于等于所述交易链信息的交易金
8、额;若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;若否,则对所述交易链信息进行多重支付责任分析。13.根据权利要求11所述的装置,其特征在于,所述校验模块还用于:根据所述交易链信息生成交易节点;根据所述交易节点的付款方在所述树形结构中定位出所述交易节点的父节点;将所述交易节点作为所述父节点的子节点插入到所述树形结构中,以更新所述树形结构。14.根据权利要求13所述的装置,其特征在于,所述校验模块还用于:判断所述交易节点的父节点的节点余额是否大于等于所述交易链信息的交易金额;若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;若否,则对所述交易链信息进行多重支付责任分析
9、。15.根据权利要求12或14所述的装置,其特征在于,所述校验模块还用于:判断所述交易链信息的付款方与所述交易链信息的交易请求方是否相同;若是,则将所述交易链信息的交易请求方加入黑名单;若否,则将所述交易链信息的付款方加入黑名单,并对所述交易链信息的收款方补足差额。16.根据权利要求15所述的装置,其特征在于,所述校验模块还用于:将所述交易链信息的交易请求方加入黑名单或者将所述交易链信息的付款方加入黑名单之后,向所述交易请求方或者所述付款方返回补差金额的消息,并将所述交易请求方或者所述付款方的状态置为已多重支付状态。17.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个
10、或多个程序,权利要求书2/3 页3CN 116151813 A3当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现如权利要求18中任一所述的方法。18.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求18中任一所述的方法。权利要求书3/3 页4CN 116151813 A4一种基于数字货币的交易校验方法和装置技术领域0001本发明涉及计算机技术领域,尤其涉及一种基于数字货币的交易校验方法和装置。背景技术0002数字货币作为支付凭证,具有离线支付的特性,该特性使其数据的组成方式、加密方式等内容很可能在离线支付时在数据相互传输的过程
11、中被黑客破译。黑客将该支付凭证篡改伪造,制造出“假币”进行再次或多次支付,使该数字货币发生多重支付的问题,从而给数字货币的实际运营机构、凭证的实际所有者或者交易对手方造成经济损失,霍乱整个数字货币支付市场的稳定性。发明内容0003有鉴于此,本发明实施例提供一种基于数字货币的交易校验方法和装置,以解决无法对数字货币进行多重支付校验的技术问题。0004为实现上述目的,根据本发明实施例的一个方面,提供了一种基于数字货币的交易校验方法,包括:0005接收交易请求方上传的交易链信息;0006对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;0007若是,则根据所述树形结构校验所述交
12、易链信息;0008若否,则根据所述交易链信息更新所述树形结构,并根据更新后的树形结构校验所述交易链信息。0009可选地,将数字货币发生的第一条交易链作为所述树形结构的根节点,最后一条交易链作为所述树形结构的叶子节点,中间交易链作为所述树形结构的中间节点,每个交易节点的节点余额为每笔交易发生后所述交易节点对应的收款方余额。0010可选地,对于每个交易节点,所述交易节点的付款方与所述交易节点的父节点的收款方相同,所述交易节点的收款方与所述交易节点的子节点的付款方相同。0011可选地,根据所述树形结构校验所述交易链信息,包括:0012在所述树形结构中定位出所述交易链信息对应的交易节点的父节点;001
13、3判断所述父节点的节点余额是否大于等于所述交易链信息的交易金额;0014若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;0015若否,则对所述交易链信息进行多重支付责任分析。0016可选地,根据所述交易链信息更新所述树形结构,包括:0017根据所述交易链信息生成交易节点;0018根据所述交易节点的付款方在所述树形结构中定位出所述交易节点的父节点;0019将所述交易节点作为所述父节点的子节点插入到所述树形结构中,以更新所述树说明书1/12 页5CN 116151813 A5形结构。0020可选地,根据更新后的树形结构校验所述交易链信息,包括:0021判断所述交易节点的父节点的节点余
14、额是否大于等于所述交易链信息的交易金额;0022若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;0023若否,则对所述交易链信息进行多重支付责任分析。0024可选地,对所述交易链信息进行多重支付责任分析,包括:0025判断所述交易链信息的付款方与所述交易链信息的交易请求方是否相同;0026若是,则将所述交易链信息的交易请求方加入黑名单;0027若否,则将所述交易链信息的付款方加入黑名单,并对所述交易链信息的收款方补足差额。0028可选地,将所述交易链信息的交易请求方加入黑名单或者将所述交易链信息的付款方加入黑名单之后,还包括:0029向所述交易请求方或者所述付款方返回补差金额的消
15、息,并将所述交易请求方或者所述付款方的状态置为已多重支付状态。0030另外,根据本发明实施例的另一个方面,提供了一种基于数字货币的交易校验装置,包括:0031接收模块,用于接收交易请求方上传的交易链信息;0032校验模块,用于对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则根据所述树形结构校验所述交易链信息;若否,则根据所述交易链信息更新所述树形结构,并根据更新后的树形结构校验所述交易链信息。0033可选地,将数字货币发生的第一条交易链作为所述树形结构的根节点,最后一条交易链作为所述树形结构的叶子节点,中间交易链作为所述树形结构的中间节点,每个交易节点的节点余额
16、为每笔交易发生后所述交易节点对应的收款方余额。0034可选地,对于每个交易节点,所述交易节点的付款方与所述交易节点的父节点的收款方相同,所述交易节点的收款方与所述交易节点的子节点的付款方相同。0035可选地,所述校验模块还用于:0036在所述树形结构中定位出所述交易链信息对应的交易节点的父节点;0037判断所述父节点的节点余额是否大于等于所述交易链信息的交易金额;0038若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;0039若否,则对所述交易链信息进行多重支付责任分析。0040可选地,所述校验模块还用于:0041根据所述交易链信息生成交易节点;0042根据所述交易节点的付款方在
17、所述树形结构中定位出所述交易节点的父节点;0043将所述交易节点作为所述父节点的子节点插入到所述树形结构中,以更新所述树形结构。0044可选地,所述校验模块还用于:0045判断所述交易节点的父节点的节点余额是否大于等于所述交易链信息的交易金额;说明书2/12 页6CN 116151813 A60046若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;0047若否,则对所述交易链信息进行多重支付责任分析。0048可选地,所述校验模块还用于:0049判断所述交易链信息的付款方与所述交易链信息的交易请求方是否相同;0050若是,则将所述交易链信息的交易请求方加入黑名单;0051若否,则将
18、所述交易链信息的付款方加入黑名单,并对所述交易链信息的收款方补足差额。0052可选地,所述校验模块还用于:0053将所述交易链信息的交易请求方加入黑名单或者将所述交易链信息的付款方加入黑名单之后,向所述交易请求方或者所述付款方返回补差金额的消息,并将所述交易请求方或者所述付款方的状态置为已多重支付状态。0054根据本发明实施例的另一个方面,还提供了一种电子设备,包括:0055一个或多个处理器;0056存储装置,用于存储一个或多个程序,0057当所述一个或多个程序被所述一个或多个处理器执行时,所述一个或多个处理器实现上述任一实施例所述的方法。0058根据本发明实施例的另一个方面,还提供了一种计算
19、机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。0059上述发明中的一个实施例具有如下优点或有益效果:因为采用若树形结构中存在交易链信息对应的交易节点,则根据树形结构校验交易链信息,若树形结构中不存在交易链信息对应的交易节点,则更新树形结构并根据更新后的树形结构校验交易链信息的技术手段,所以克服了现有技术中无法对数字货币进行多重支付校验的技术问题。本发明实施例利用树形结构对数字货币交易链信息进行校验,及时发现可能存在的多重支付问题,以尽早发现违法交易方,减少数字货币在流通过程中因多重支付问题造成的各方利益损失。0060上述的非惯用的可选方式所具有的进一步效
20、果将在下文中结合具体实施方式加以说明。附图说明0061附图用于更好地理解本发明,不构成对本发明的不当限定。其中:0062图1是根据本发明实施例的基于数字货币的交易校验方法的主要流程的示意图;0063图2是根据本发明一个实施例的树形结构的结构示意图;0064图3是根据本发明另一个实施例的树形结构的结构示意图;0065图4是根据本发明一个可参考实施例的基于数字货币的交易校验方法的主要流程的示意图;0066图5是根据本发明另一个可参考实施例的基于数字货币的交易校验方法的主要流程的示意图;0067图6是根据本发明实施例的基于数字货币的交易校验装置的主要模块的示意图;0068图7是本发明实施例可以应用于
21、其中的示例性系统架构图;0069图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意说明书3/12 页7CN 116151813 A7图。具体实施方式0070以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。0071图1是根据本发明实施例的基于数字货币的交易校验方法的主要流程的示意图。作为本发明的一个实施例,如图1所示,所述基于数字货币的交易
22、校验方法可以包括:0072步骤101,接收交易请求方上传的交易链信息。0073交易请求方向发币机构上传数字货币的交易链信息,发币机构接收交易请求方上传的数字货币的交易链信息,发币机构根据交易请求和数字货币对应的交易凭证拆解出具体的交易链信息,如每条交易链的付款方、收款方、交易时间、交易金额等。0074在本发明的实施例中,数字货币在离线流程过程中会记录下每笔交易的交易信息(比如付款方、收款方、交易时间、交易金额等),以待在线时进行补录,而且这些交易信息根据交易发生的先后顺序依次记录。因此,本发明实施例能够根据记录交易发生的先后顺序以及交易内容的交易链信息去回溯每次交易对数字货币产生的改变,找出具
23、体发生“多重支付”问题的某笔交易和造成“多重支付”的交易请求方。0075步骤102,对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则执行步骤103;若否,则执行步骤104。0076树形结构是一种可以递归表示的多层次非线性嵌套数据结构。该结构通过叶子节点、中间节点和根节点之间的对应关系来表示“一对多”的数据关系。每个树形结构有且仅有一个根节点,根节点没有前驱节点,可以对应多个后续的中间节点或叶子节点;中间节点也可以对应多个后续的中间节点或叶子节点;叶子节点不对应后续节点。0077可选地,将数字货币发生的第一条交易链作为所述树形结构的根节点,最后一条交易链作为所述树
24、形结构的叶子节点,中间交易链作为所述树形结构的中间节点,因此可以根据数字货币记录的每笔交易链生成树形结构。0078例如,交易链信息如下表所示:00790080在上述四条交易链信息中,发币机构钱包A为第一笔交易链,钱包C钱包D为最后一笔交易链,钱包A钱包B和钱包B钱包C为中间交易链,因此可以构建如图2所示的树形结构,在该树形结构中,发币机构钱包A作为根节点,钱包C钱包D作为叶子节点,钱包A钱包B和钱包B钱包C作为中间节点。0081同理,如果发币机构继续接收到了其他交易链信息,比如钱包B钱包E,钱包A钱包F,钱包F钱包G,可以构建如图3所示的树形结构,不再赘述。说明书4/12 页8CN 11615
25、1813 A80082而且,在本发明的实施例中,每个交易节点的节点余额为每笔交易发生后所述交易节点对应的收款方余额。如图3所示,AB节点的节点余额为收款方钱包B的余额,由于钱包B向钱包C支付了25,又向钱包E支付了20,因此钱包B的余额60252015。其他节点的节点余额计算方法类似,不再赘述。0083可选地,如图3所示,对于每个交易节点,所述交易节点的付款方与所述交易节点的父节点的收款方相同,所述交易节点的收款方与所述交易节点的子节点的付款方相同。0084当对数字货币进行检查时,需要对交易链信息进行归集,使交易之间的发生先后顺序有迹可循,产生上下文关系。作为一种可以递归表示的多层次非线性嵌套
26、数据结构,树形结构非常适合记录交易之间的先后关系和不同交易对货币金额造成的变化。将该数字货币发生的第一笔交易作为树形结构的根节点,最后一笔交易作为树形结构的叶子节点,中间交易作为树形结构的中间节点,将节点取值为每笔交易发生后的余额,如图23所示,由此进行对数字货币的多重支付检查。0085步骤103,根据所述树形结构校验所述交易链信息。0086如果树形结构中已经存在所述交易链信息对应的交易节点,则不再需要更新树形结构,而是直接根据树形结构校验所述交易链信息是否存在多重支付。具体地,首先确定两条交易链之间的父子关系,并对每条交易链的交易内容进行检查,检查每条交易链是否发生了多重支付问题,而且记录每
27、一条交易链的检查结果,对于检查通过的交易节点进行节点余额更新,对于检查未通过的交易节点进行记录黑名单和记录补偿金额。0087多重支付是指同一笔资金被重复消费多次。如面值100元的数字货币被用来购买一件80元的衣服,又被用来充值50元的手机话费,两项消费之和大于100元的部分(即30元)即是该数字货币被“多重支付”的金额,因此称这种同一个数字货币被消费的金额大于其本身面值的问题为“多重支付”问题。0088可选地,步骤103可以包括:在所述树形结构中定位出所述交易链信息对应的交易节点的父节点;判断所述父节点的节点余额是否大于等于所述交易链信息的交易金额;若是,则根据所述交易链信息的交易金额更新所述
28、父节点的节点余额;若否,则对所述交易链信息进行多重支付责任分析。比如根据交易链信息钱包F向钱包G支付15元定位出FG节点的父节点AF节点;然后判断父节点AF节点的节点余额40(由于钱包A向钱包F支付了40)是否大于等于交易链信息的交易金额15,如果是,则根据交易链信息的交易金额更新父节点AF节点的节点余额,使其由401525,因此父节点AF节点的节点余额更新为25。又比如根据交易链信息钱包C向钱包F支付20元定位出CF节点的父节点BC节点;然后判断父节点BC节点的节点余额15(由于钱包B向钱包C支付了25,钱包C又继续向钱包D支付了10)是否大于等于交易链信息的交易金额20,如果否,则说明发生
29、了多重支付,需要对所述交易链信息进行多重支付责任分析。0089可选地,对所述交易链信息进行多重支付责任分析,包括:判断所述交易链信息的付款方与所述交易链信息的交易请求方是否相同;若是,则将所述交易链信息的交易请求方加入黑名单;若否,则将所述交易链信息的付款方加入黑名单,并对所述交易链信息的收款方补足差额。如果确定发生了多重支付,则需要进一步对发生多重支付的交易节点进行责任分析。当检查到发生了多重支付的交易节点后,对该节点进行进一步分析,若该节点的付款方与进行交易请求方相同,则多重支付责任方属于上传交易凭证的交易请求方,需将说明书5/12 页9CN 116151813 A9其记入黑名单,拒绝其本
30、次交易及其之后的任何交易;若该节点的付款方与进行交易请求方不同,则多重支付责任方属于该节点的付款方,将其记入黑名单,允许本次交易进行并由发币机构补足此次交易差额。本发明实施例能够明确多重支付问题的责任方,根据责任方的不同采取不同的后续应对措施。0090本发明实施例通过将交易链信息记录为树形结果并进行检查,可以准确地确定发生多重支付问题的交易双方及交易金额。由此,可以将造成多重支付问题的交易请求方记入黑名单,后续通过法律手段令其补足多重支付的交易金额,同时对受害的交易请求方暂时使用发币机构资金垫资进行补偿,使受害方对多重支付问题无感,保证受害方的权益和用户体验,从而灵活合理的记录责任归属。009
31、1可选地,将所述交易链信息的交易请求方加入黑名单或者将所述交易链信息的付款方加入黑名单之后,还包括:向所述交易请求方或者所述付款方返回补差金额的消息,并将所述交易请求方或者所述付款方的状态置为已多重支付状态。在本发明的实施例中,将所述交易链信息的交易请求方加入黑名单或者将所述交易链信息的付款方加入黑名单之后,向所述交易请求方或者所述付款方返回补差金额的消息,通知交易请求方或者付款方补足多重支付的交易金额,并将所述交易请求方或者所述付款方的状态置为已多重支付状态。0092步骤104,根据所述交易链信息更新所述树形结构,并根据更新后的树形结构校验所述交易链信息。0093如果树形结构中不存在所述交易
32、链信息对应的交易节点,则需要先更新树形结构,然后再根据更新后的树形结构校验所述交易链信息是否存在多重支付。0094可选地,根据所述交易链信息更新所述树形结构,包括:根据所述交易链信息生成交易节点;根据所述交易节点的付款方在所述树形结构中定位出所述交易节点的父节点;将所述交易节点作为所述父节点的子节点插入到所述树形结构中,以更新所述树形结构。由于交易节点的付款方与该交易节点的父节点的收款方相同,交易节点的收款方与该交易节点的子节点的付款方相同,因此可以通过父子关系定位出交易节点的父节点,然后将该交易节点插入到树形结构中,从而更新树形结构。0095可选地,根据更新后的树形结构校验所述交易链信息,包
33、括:判断所述交易节点的父节点的节点余额是否大于等于所述交易链信息的交易金额;若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;若否,则对所述交易链信息进行多重支付责任分析。具体地,首先确定两条交易链之间的父子关系,并对每条交易链的交易内容进行检查,检查每条交易链是否发生了多重支付问题,而且记录每一条交易链的检查结果,对于检查通过的交易节点进行节点余额更新,对于检查未通过的交易节点进行记录黑名单和记录补偿金额。该过程与步骤103类似不再赘述。0096本发明实施例将交易链信息按照交易先后顺序建立树形结构,自下向上依次检查每条交易链,即从最后一条交易链检查到第一条交易链,判断是否发生了多
34、重支付。0097以数字货币作为支付凭证进行流通,给金融市场带来了便利,但与此同时,多重支付问题等数字货币的安全支付问题也不断涌现,给市场中的各方经济实体的资金安全造成了威胁。本发明采用树形结构去检查数字货币的多重支付问题,方法简单高效,能够有效遏制多重支付问题的发生蔓延势头,在多重支付问题发生后能够尽快检查出可疑的交易,从说明书6/12 页10CN 116151813 A10而保护数字货币市场中各方经济实体的利益,保证整个数字货币支付市场的稳定性。0098根据上面所述的各种实施例,可以看出本发明实施例通过若树形结构中存在交易链信息对应的交易节点,则根据树形结构校验交易链信息,若树形结构中不存在
35、交易链信息对应的交易节点,则更新树形结构并根据更新后的树形结构校验交易链信息的技术手段,解决了现有技术中无法对数字货币进行多重支付校验的技术问题。本发明实施例利用树形结构对数字货币交易链信息进行校验,及时发现可能存在的多重支付问题,以尽早发现违法交易方,减少数字货币在流通过程中因多重支付问题造成的各方利益损失。0099图4是根据本发明一个可参考实施例的基于数字货币的交易校验方法的主要流程的示意图。作为本发明的又一个实施例,如图4所示,所述基于数字货币的交易校验方法可以包括:0100步骤401,初始化返回信息,发币机构补差金额设为零。0101首先,发币机构初始化返回信息,并将补差金额设置为零。0
36、102步骤402,接收交易请求方上传的交易链信息。0103当交易请求方上传交易链信息时,发币机构接收交易请求方上传的交易链信息。当发币机构对数字货币进行检查时,需要对交易链信息进行归集,使交易之间的发生先后顺序有迹可循,产生上下文关系。0104步骤403,对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则执行步骤404;若否,则执行步骤410。0105树形结构是一种可以递归表示的多层次非线性嵌套数据结构。该结构通过叶子节点、中间节点和根节点之间的对应关系来表示“一对多”的数据关系。每个树形结构有且仅有一个根节点,根节点没有前驱节点,可以对应多个后续的中间节点或叶子
37、节点;中间节点也可以对应多个后续的中间节点或叶子节点;叶子节点不对应后续节点。0106在本发明的实施例中,将数字货币发生的第一条交易链作为所述树形结构的根节点,最后一条交易链作为所述树形结构的叶子节点,中间交易链作为所述树形结构的中间节点,因此可以根据数字货币记录的每笔交易链生成树形结构。在本发明的实施例中,每个交易节点的节点余额为每笔交易发生后所述交易节点对应的收款方余额;而且,对于每个交易节点,所述交易节点的付款方与所述交易节点的父节点的收款方相同,所述交易节点的收款方与所述交易节点的子节点的付款方相同。0107作为一种可以递归表示的多层次非线性嵌套数据结构,树形结构非常适合记录交易之间的
38、先后关系和不同交易对货币金额造成的变化。将该数字货币发生的第一笔交易作为树形结构的根节点,最后一笔交易作为树形结构的叶子节点,中间交易作为树形结构的中间节点,将节点取值为每笔交易发生后的余额,由此进行对数字货币的多重支付检查。0108本发明实施例将交易链信息按照交易先后顺序建立树形结构,自下向上依次检查每条交易链,即从最后一条交易链检查到第一条交易链,判断是否发生了多重支付。0109步骤404,在所述树形结构中定位出所述交易链信息对应的交易节点的父节点。0110如果树形结构中已经存在所述交易链信息对应的交易节点,则不再需要更新树形结构,而是在树形结构中定位出所述交易链信息对应的交易节点的父节点
39、,以便于在后续步骤中校验所述交易链信息是否存在多重支付。0111步骤405,判断所述交易节点的父节点的节点余额是否大于等于所述交易链信息说明书7/12 页11CN 116151813 A11的交易金额;若是,则执行步骤406;若否,则执行步骤407。0112由于每个交易节点的节点余额为每笔交易发生后所述交易节点对应的收款方余额,因此可以通过判断交易节点的父节点的节点余额是否大于等于交易链信息的交易金额来判断是否发生了多重支付。0113步骤406,根据所述交易链信息的交易金额更新所述父节点的节点余额。0114如果所述交易节点的父节点的节点余额大于等于所述交易链信息的交易金额,说明没有发生多重支付
40、问题,则根据所述交易链信息的交易金额更新所述父节点的节点余额。0115步骤407,判断所述交易链信息的付款方与所述交易链信息的交易请求方是否相同;若是,则执行步骤408;若否,则执行步骤409。0116如果所述交易节点的父节点的节点余额小于所述交易链信息的交易金额,说明发生了多重支付问题,则需要进一步对发生多重支付的交易节点进行责任分析。0117步骤408,将所述交易链信息的交易请求方加入黑名单。0118当检查到发生了多重支付的交易节点后,对该节点进行进一步分析,若该节点的付款方与进行交易请求方相同,则多重支付责任方属于上传交易凭证的交易请求方,需将其记入黑名单,拒绝其本次交易及其之后的任何交
41、易,后续通过法律手段令其补足多重支付的交易金额。可选地,步骤408之后,还包括:向所述交易请求方返回补差金额的消息,并将所述交易请求方的状态置为已多重支付状态。0119步骤409,将所述交易链信息的付款方加入黑名单,并对所述交易链信息的收款方补足差额。0120若该节点的付款方与进行交易请求方不同,则多重支付责任方属于该节点的付款方,将其记入黑名单,允许本次交易进行并由发币机构补足此次交易差额。本发明实施例对受害的交易请求方暂时使用发币机构资金垫资进行补偿,使受害方对多重支付问题无感,保证受害方的权益和用户体验,从而灵活合理的记录责任归属。可选地,步骤409之后,还可以包括:向所述付款方返回补差
42、金额的消息,并将所述付款方的状态置为已多重支付状态。0121步骤410,根据所述交易链信息更新所述树形结构。0122如果树形结构中不存在所述交易链信息对应的交易节点,则需要先更新树形结构,然后再根据更新后的树形结构校验所述交易链信息是否存在多重支付。0123具体地,根据所述交易链信息生成交易节点;根据所述交易节点的付款方在所述树形结构中定位出所述交易节点的父节点;将所述交易节点作为所述父节点的子节点插入到所述树形结构中,以更新所述树形结构。由于交易节点的付款方与该交易节点的父节点的收款方相同,交易节点的收款方与该交易节点的子节点的付款方相同,因此可以通过父子关系定位出交易节点的父节点,然后将该
43、交易节点插入到树形结构中,从而更新树形结构。0124另外,在本发明一个可参考实施例中基于数字货币的交易校验方法的具体实施内容,在上面所述基于数字货币的交易校验方法中已经详细说明了,故在此重复内容不再说明。0125图5是根据本发明另一个可参考实施例的基于数字货币的交易校验方法的主要流程的示意图。作为本发明的另一个实施例,如图5所示,所述基于数字货币的交易校验方法说明书8/12 页12CN 116151813 A12可以包括:0126步骤501,接收交易请求方上传的交易链信息。0127步骤502,对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则执行步骤503;若否,
44、则执行步骤507。0128步骤503,在所述树形结构中定位出所述交易链信息对应的交易节点的父节点。0129步骤504,判断所述交易节点的父节点的节点余额是否大于等于所述交易链信息的交易金额;若是,则执行步骤505;若否,则执行步骤506。0130步骤505,根据所述交易链信息的交易金额更新所述父节点的节点余额。0131步骤506,对所述交易链信息进行多重支付责任分析。0132步骤507,根据所述交易链信息生成交易节点。0133步骤508,根据所述交易节点的付款方在所述树形结构中定位出所述交易节点的父节点。0134步骤509,将所述交易节点作为所述父节点的子节点插入到所述树形结构中,以更新所述树
45、形结构。0135另外,在本发明另一个可参考实施例中基于数字货币的交易校验方法的具体实施内容,在上面所述基于数字货币的交易校验方法中已经详细说明了,故在此重复内容不再说明。0136图6是根据本发明实施例的基于数字货币的交易校验装置的主要模块的示意图,如图6所示,所述基于数字货币的交易校验装置600包括接收模块601和校验模块602;其中,接收模块601用于接收交易请求方上传的交易链信息;校验模块602用于对于每条交易链信息,判断树形结构中是否存在所述交易链信息对应的交易节点;若是,则根据所述树形结构校验所述交易链信息;若否,则根据所述交易链信息更新所述树形结构,并根据更新后的树形结构校验所述交易
46、链信息。0137可选地,将数字货币发生的第一条交易链作为所述树形结构的根节点,最后一条交易链作为所述树形结构的叶子节点,中间交易链作为所述树形结构的中间节点,每个交易节点的节点余额为每笔交易发生后所述交易节点对应的收款方余额。0138可选地,对于每个交易节点,所述交易节点的付款方与所述交易节点的父节点的收款方相同,所述交易节点的收款方与所述交易节点的子节点的付款方相同。0139可选地,所述校验模块602还用于:0140在所述树形结构中定位出所述交易链信息对应的交易节点的父节点;0141判断所述父节点的节点余额是否大于等于所述交易链信息的交易金额;0142若是,则根据所述交易链信息的交易金额更新
47、所述父节点的节点余额;0143若否,则对所述交易链信息进行多重支付责任分析。0144可选地,所述校验模块602还用于:0145根据所述交易链信息生成交易节点;0146根据所述交易节点的付款方在所述树形结构中定位出所述交易节点的父节点;0147将所述交易节点作为所述父节点的子节点插入到所述树形结构中,以更新所述树形结构。0148可选地,所述校验模块602还用于:说明书9/12 页13CN 116151813 A130149判断所述交易节点的父节点的节点余额是否大于等于所述交易链信息的交易金额;0150若是,则根据所述交易链信息的交易金额更新所述父节点的节点余额;0151若否,则对所述交易链信息进
48、行多重支付责任分析。0152可选地,所述校验模块602还用于:0153判断所述交易链信息的付款方与所述交易链信息的交易请求方是否相同;0154若是,则将所述交易链信息的交易请求方加入黑名单;0155若否,则将所述交易链信息的付款方加入黑名单,并对所述交易链信息的收款方补足差额。0156可选地,所述校验模块602还用于:0157将所述交易链信息的交易请求方加入黑名单或者将所述交易链信息的付款方加入黑名单之后,向所述交易请求方或者所述付款方返回补差金额的消息,并将所述交易请求方或者所述付款方的状态置为已多重支付状态。0158需要说明的是,在本发明所述基于数字货币的交易校验装置的具体实施内容,在上面
49、所述基于数字货币的交易校验方法中已经详细说明了,故在此重复内容不再说明。0159图7示出了可以应用本发明实施例的基于数字货币的交易校验方法或基于数字货币的交易校验装置的示例性系统架构700。0160如图7所示,系统架构700可以包括终端设备701、702、703,网络704和服务器705。网络704用以在终端设备701、702、703和服务器705之间提供通信链路的介质。网络704可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。0161用户可以使用终端设备701、702、703通过网络704与服务器705交互,以接收或发送消息等。终端设备701、702、703上可以安装有各种通讯
50、客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。0162终端设备701、702、703可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。0163服务器705可以是提供各种服务的服务器,例如对用户利用终端设备701、702、703所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的物品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。0164需要说明的是,本发明实施例所提供的基于数字货币的交易校验方法一般由服务器705执行,相应
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1