检测实时全额结算系统中死锁的方法、设备、装置和介质.pdf
《检测实时全额结算系统中死锁的方法、设备、装置和介质.pdf》由会员分享,可在线阅读,更多相关《检测实时全额结算系统中死锁的方法、设备、装置和介质.pdf(21页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010331294.1 (22)申请日 2020.04.21 (30)优先权数据 10201907064T 2019.07.31 SG (71)申请人 阿里巴巴集团控股有限公司 地址 英属开曼群岛大开曼资本大厦一座四 层847号邮箱 (72)发明人 方晖袁园曹圣皎 (74)专利代理机构 北京博思佳知识产权代理有 限公司 11415 代理人 韩果 (51)Int.Cl. G06F 9/52(2006.01) G06F 21/62(2013.01) G06F 21/64(201。
2、3.01) G06Q 40/02(2012.01) G06Q 40/04(2012.01) (54)发明名称 检测实时全额结算系统中死锁的方法、 设 备、 装置和介质 (57)摘要 本文公开了用于检测实时全额结算系统中 死锁的方法、 系统和装置, 包括存储在计算机可 读存储介质上的计算机程序。 方法之一包括: 指 示所述实时全额结算系统的多个用户独立计算 其各自的流动性信息, 并执行用于确定所述实时 全额结算系统中的应收总额以及所述实时全额 结算系统中的应付总额的联合计算; 从所述多个 用户接收所述联合计算的计算结果, 并基于所接 收到的计算结果计算所述应收总额和所述应付 总额; 基于所述应收。
3、总额和所述应付总额验证所 述多个用户的所述流动性信息的正确性; 以及在 所述多个用户的所述流动性信息的正确性被验 证后, 确定所述实时全额结算系统中是否存在死 锁。 权利要求书2页 说明书13页 附图5页 CN 111580982 A 2020.08.25 CN 111580982 A 1.一种计算机实现的用于检测实时全额结算系统中死锁的方法, 所述方法包括: 指示所述实时全额结算系统的多个用户独立计算其各自的流动性信息, 并执行用于确 定所述实时全额结算系统中的应收总额以及所述实时全额结算系统中的应付总额的联合 计算; 从所述多个用户接收所述联合计算的计算结果, 并基于所接收到的计算结果计算。
4、所述 应收总额和所述应付总额; 基于所述应收总额和所述应付总额验证所述多个用户的所述流动性信息的正确性; 以 及 在所述多个用户的所述流动性信息的所述正确性被验证后, 确定所述实时全额结算系 统中是否存在死锁。 2.如权利要求1所述的方法, 其中, 确定所述实时全额结算系统中是否存在死锁包括: 指示所述多个用户联合确定最低转账后流动性, 其中, 所述最低转账后流动性是在所 述多个用户中的每个用户不向彼此公开其流动性信息的情况下, 基于所述多个用户中的每 个用户的流动性信息联合确定的; 接收所述联合确定的最低转账后流动性; 以及 基于所述最低转账后流动性确定是否存在死锁。 3.如权利要求1所述的。
5、方法, 其中, 指示所述多个用户独立计算其各自的流动性信息包 括: 指示所述多个用户中的每个用户i独立计算其流动性信息, 所述流动性信息包括当前 流动性Ci、 应收金额Ti、 应付金额Fi以及转账后流动性Pi。 4.如权利要求3所述的方法, 其中, 指示所述多个用户执行联合计算包括: 指示所述多个用户iA, B, ., N执行用于确定应收总额ST的联合计算, 其中, 所述应 收总额ST是在不从所述多个用户接收其各自的流动性信息的情况下计算的。 5.如权利要求3所述的方法, 其中, 指示所述多个用户执行联合计算包括: 指示所述多个用户iA, B, ., N执行用于确定应付总额SF的联合计算, 其。
6、中, 所述应 付总额SF是在不从所述多个用户接收其各自的流动性信息的情况下计算的。 6.如权利要求4或5中任一项所述的方法, 其中, 验证所述多个用户的所述流动性信息 的正确性包括: 比较所述应收总额ST与所述应付总额SF。 7.如权利要求6所述的方法, 还包括: 如果所述应收总额ST与所述应付总额SF不匹配, 则报告错误。 8.如前述任一项权利要求所述的方法, 其中, 所述实时全额结算系统是利用区块链系 统实现的。 9.如权利要求8所述的方法, 还包括: 执行记录在所述区块链系统的区块链上的智能合约来验证所述多个用户的所述流动 性信息的正确性。 10.如权利要求9所述的方法, 还包括: 通过。
7、所述智能合约合并所述多个用户提交的所述联合计算的计算结果, 以确定所述应 收总额和所述应付总额。 权利要求书 1/2 页 2 CN 111580982 A 2 11.一种用于检测实时全额结算系统中死锁的设备, 包括: 一个或多个处理器; 以及 一个或多个计算机可读存储器, 所述计算机可读存储器耦接到所述一个或多个处理器 并且其上存储有指令, 所述指令能够由所述一个或多个处理器执行以执行权利要求1至10 中任一项所述的方法。 12.一种用于检测实时全额结算系统中死锁的装置, 所述装置包括用于执行权利要求1 至10中任一项所述的方法的多个模块。 13.一种存储有指令的非暂态计算机可读介质, 当所述。
8、指令由设备的处理器执行时, 所 述指令促使所述设备执行权利要求1至10中任一项所述的方法。 权利要求书 2/2 页 3 CN 111580982 A 3 检测实时全额结算系统中死锁的方法、 设备、 装置和介质 0001 相关申请的交叉引用 0002 本申请涉及与本申请同时提交、 题为 “检测实时全额结算系统中死锁的方法和设 备” 、 申请号为10201907041R的新加坡申请。 这里通过引用的方式结合上述申请的全部内 容。 0003 本申请涉及与本申请同时提交、 题为 “检测实时全额结算系统中死锁的方法和设 备” 、 申请号为10201907055Y的新加坡申请。 这里通过引用的方式结合上述。
9、申请的全部内 容。 0004 本申请涉及与本申请同时提交、 题为 “检测实时全额结算系统中死锁的方法和设 备” 、 申请号为10201907039X的新加坡申请。 这里通过引用的方式结合上述申请的全部内 容。 技术领域 0005 本文一般涉及计算机技术, 更具体地, 涉及用于实时全额结算系统中的死锁检测 的方法和设备。 背景技术 0006 实时全额结算(Real-Time Gross Settlement, RTGS)系统是其中资金(例如, 金钱 或证券)实时并基于总值从一方(例如, 银行)转账到另一方(例如, 另一家银行)的资金转账 系统。 当资金转账发生结算时, 该转账通常是最终的且不可撤。
10、销。 例如, 当付款交易没有受 任何等待期限制时, 该结算是实时的。 例如, 当付款交易基于一对一结算而不与其他交易捆 绑或轧差(netting)结算时, 该结算以总值为基础。 RTGS系统可以由一个国家的中央银行运 营。 0007 在一些情况下, 参与RTGS系统的一方或多方(例如银行)可能没有足够的流动性来 结算其付款交易。 例如, 假设银行A被设置为从银行B接收并将转账到银行C, 并且进 一步假设银行A在进行结算之前具有的流动性。 在这种情况下, 除非银行A获得额外的流 动性供应, 否则银行A无法结算交易。 在这种情况下, 银行A被认为在RTGS系统中造成了死 锁。 0008 当前, 运。
11、营RTGS系统的中央银行可以检测到可能的死锁。 中央银行可以检测到死 锁, 因为它有权从参与RTGS系统, 例如银行, 的各方获得流动性和交易信息。 然而, 随着去中 心化计算成为一种趋势, 诸如区块链的技术正变得越来越普遍。 基于诸如区块链之类的去 中心化计算技术实现的现有RTGS系统缺乏检测死锁的能力。 0009 区块链系统, 也称为分布式账本系统(DLS)或共识系统, 可以使参与的各方安全且 不可篡改地存储数据。 在不参考任何特定用例的情况下, 区块链系统可以包括任何DLS并且 可以用于公有区块链网络、 私有区块链网络和联盟区块链网络。 公有区块链网络向所有实 体开放使用系统, 并开放参。
12、与共识处理。 私有区块链网络为特定实体提供, 该特定实体集中 控制读写权限。 联盟区块链网络针对选择的实体组群提供, 该实体组群控制共识处理, 并且 说明书 1/13 页 4 CN 111580982 A 4 联盟区块链网络包括访问控制层。 0010 使用点对点(peer-to-peer, P2P)网络实现区块链系统, 其中节点例如在不需要固 定的中央服务器的情况下与彼此直接通信。 P2P网络中的每个节点可以发起与P2P网络中的 另一节点的通信。 区块链系统维护一个或多个区块链。 区块链是用于存储诸如交易的数据 的数据结构, 其可以防止恶意方篡改和操纵数据。 0011 与参与方愿意或被要求向中。
13、央银行公开其流动性和交易信息的中央银行运营的 RTGS系统不同, 区块链系统中的参与方可能不愿意向区块链系统中的其他参与方公开这样 的信息。 缺乏公开使得基于例如区块链之类的去中心化计算技术实现的RTGS系统难以检测 死锁。 因此, 需要保护隐私的死锁检测方法, 以能够在不要求任何参与方公开其流动性和交 易信息的情况下检测死锁。 还需要这样的方法来验证它们的计算正确性。 发明内容 0012 在一方面, 一种计算机实现的用于检测实时全额结算系统中死锁的方法包括: 指 示所述实时全额结算系统的多个用户独立计算其各自的流动性信息, 并执行用于确定所述 实时全额结算系统中的应收总额以及所述实时全额结算。
14、系统中的应付总额的联合计算; 从 所述多个用户接收所述联合计算的计算结果, 并基于所接收到的计算结果计算所述应收总 额和所述应付总额; 基于所述应收总额和所述应付总额验证所述多个用户的所述流动性信 息的正确性; 以及在所述多个用户的所述流动性信息的正确性被验证后, 确定所述实时全 额结算系统中是否存在死锁。 0013 在另一方面, 一种用于检测实时全额结算系统中死锁的设备包括: 一个或多个处 理器; 以及耦接到所述一个或多个处理器并且其上存储有指令的一个或多个计算机可读存 储器, 所述指令可由所述一个或多个处理器执行以: 指示所述实时全额结算系统的多个用 户独立计算其各自的流动性信息, 并执行。
15、用于确定所述实时全额结算系统中的应收总额以 及所述实时全额结算系统中的应付总额的联合计算; 从所述多个用户接收所述联合计算的 计算结果, 并基于所接收到的计算结果计算所述应收总额和所述应付总额; 基于所述应收 总额和所述应付总额验证所述多个用户的所述流动性信息的正确性; 以及在所述多个用户 的所述流动性信息的正确性被验证后, 确定所述实时全额结算系统中是否存在死锁。 0014 在再一方面, 一种其中存储有指令的非暂态计算机可读介质, 当所述指令时由设 备的处理器执行, 所述指令促使所述设备执行用于检测实时全额结算系统中死锁的方法。 所述方法包括: 指示所述实时全额结算系统的多个用户独立计算其各。
16、自的流动性信息, 并 执行用于确定所述实时全额结算系统中的应收总额以及所述实时全额结算系统中的应付 总额的联合计算; 从所述多个用户接收所述联合计算的计算结果, 并基于所接收到的计算 结果计算所述应收总额和所述应付总额; 基于所述应收总额和所述应付总额验证所述多个 用户的所述流动性信息的正确性; 以及在所述多个用户的所述流动性信息的正确性被验证 后, 确定所述实时全额结算系统中是否存在死锁。 附图说明 0015 包含在本文中并构成本文一部分的附图示出了实施例。 在下列指定附图的说明 中, 除非另有所示, 不同附图中的相同数字表示相同或类似的元素。 说明书 2/13 页 5 CN 1115809。
17、82 A 5 0016 图1是根据实施例的区块链系统的示意图。 0017 图2是根据实施例的用于实现区块链系统中节点的计算设备的示意图。 0018 图3是根据实施例的保护隐私的死锁检测方法的流程图。 0019 图4是根据实施例的用于检测实时全额结算死锁的方法的流程图。 0020 图5是根据实施例的用于检测实时全额结算死锁的装置的框图。 具体实施方式 0021 本文的实施例提供了用于在实时全额结算(RTGS)系统中提供保护隐私的死锁检 测的方法和设备, 所述方法和设备支持RTGS系统的用户对流动性信息进行本地计算。 所述 方法和设备还支持多方计算, 其中RTGS系统的多个用户可以联合确定最低流动。
18、性金额, 而 无需任何用户公开其自身的流动性信息。 所述方法和设备进一步支持多方计算, 其中RTGS 系统的多个用户可以执行联合计算以确定RTGS系统中的应收总额, 以及执行联合计算以确 定RTGS系统中的应付总额, 并将计算结果提供给区块链系统以确定应收总额和应付总额。 以这种方式, 区块链系统可以利用该应收总额和应付总额来验证用户的流动性信息的正确 性, 从而验证所确定的最低流动性金额的正确性, 并利用所确定的最低流动性金额来检测 RTGS系统中的死锁。 0022 本文中公开的实施例具有一个或多个技术效果。 在一些实施例中, 所述方法和设 备支持RTGS系统的用户对流动性信息进行本地计算。。
19、 这允许每个用户在本地执行计算, 而 无需公开用户不希望共享的任何隐私信息。 在一些实施例中, 所述方法和设备还支持最低 流动性金额的多方计算, 可以进行该多方计算而无需任何用户向任何其他用户公开其自身 的流动性信息。 这允许用户在保留其隐私的同时进行联合计算。 此外, 在一些实施例中, 所 述方法和设备支持多方求和, 可以执行该多方求和以计算RTGS系统中的应收总额和应付总 额, 并将该求和结果提供给区块链系统以用于验证。 这为区块链系统提供了验证计算正确 性的能力, 而无需知道用户的实际流动性信息。 如果RTGS系统中的应收总额和RTGS系统中 的应付总额不匹配, 所述方法和设备可以检测到。
20、这种不匹配并使所确定的最低流动性金额 无效, 从而提高死锁检测的准确性。 0023 区块链是用于存储诸如交易的数据的数据结构, 以此方式可以防止恶意方篡改和 操纵数据。 以这种方式存储的交易可以是不可变的并且随后被验证的。 区块链包括一个或 多个区块。 每个区块通过包括紧邻其之前的前一区块的加密哈希值(cryptographic hash) 链接到该前一区块。 每个区块还可以包括时间戳、 自身的加密哈希值以及一个或多个交易。 通常已经由区块链系统的节点验证的交易可以经哈希处理并编码成例如默克尔(Merkle) 树的数据结构。 在Merkle树中, 叶节点处的数据是经哈希处理的, 并且在该树的每。
21、个分支中 的所有哈希值可以在该分支的根处连接。 此过程沿着树持续一直到整个树的根, 在整个树 的根处存储了代表树中所有数据的哈希值。 声称是存储在树中的交易的哈希值可以通过确 定其是否与树的结构一致而被快速验证。 0024 区块链系统包括管理、 更新和维护一个或多个区块链的计算节点的网络。 所述网 络可以是公有区块链网络、 私有区块链网络或联盟区块链网络。 例如, 许多实体, 诸如数百、 数千或甚至数百万实体可以在公有区块链网络中操作, 并且每个实体操作公有区块链网络 中的至少一个节点。 因此, 公有区块链网络可被认为是关于参与的实体的公有网络。 有时, 说明书 3/13 页 6 CN 111。
22、580982 A 6 大多数实体(节点)必须对每个区块签名才能使该区块有效并被添加到区块链网络的区块 链中。 示例性公有区块链网络包括利用被称为区块链的分布式账本的特定点对点(peer- to-peer)支付网络。 0025 通常, 公有区块链网络可以支持公开交易。 公开交易为公有区块链网络内的所有 节点共享, 并存储在全局区块链中。 全局区块链是跨所有节点复制的区块链, 并且所有节点 相对于全局区块链处于完全共识状态。 为了达成共识(例如, 同意向区块链添加区块), 在公 有区块链网络中实施共识协议。 共识协议的示例包括工作量证明(POW)(例如, 在一些加密 货币网络中实现)、 权益证明(。
23、POS)和权威证明(POA)。 0026 通常, 可以为特定实体提供私有区块链网络, 该特定实体集中控制读写权限。 实体 控制哪些节点能够参与到区块链网络中。 因此, 私有区块链网络通常被称为权限网络, 其限 制允许谁参与网络, 以及它们的参与级别(例如, 仅在某些交易中)。 可以使用各种类型的访 问控制机制(例如, 现有参与者投票添加新实体, 管理机构可以控制准入)。 0027 通常, 联盟区块链网络在参与的实体之间是私有的。 在联盟区块链网络中, 共识处 理由一组被授权的节点控制, 一个或多个节点由相应实体(例如, 金融机构、 保险公司)操 作。 例如, 由十(10)个实体(例如, 金融机。
24、构、 保险公司)组成的联盟可以操作联盟区块链网 络, 每个实体可以操作联盟区块链网络中的至少一个节点。 因此, 联盟区块链网络可以被认 为是与参与实体相关的私有网络。 在一些示例中, 每个实体(节点)必须对每个区块签名, 以 使区块有效并被添加到区块链中。 在一些示例中, 至少实体(节点)的子集(例如, 至少7个实 体)必须对每个区块签名, 以使区块有效并被添加到区块链中。 0028 图1示出了根据实施例的区块链系统100的示意图。 参考图1, 区块链系统100可以 包括被配置为在区块链120上操作的多个节点, 例如, 节点102-110。 节点102-110可以形成 网络112, 例如点对点。
25、(P2P)网络。 节点102-110中的每一个可以是被配置为存储区块链120 的副本的计算设备, 例如计算机或计算机系统, 或者可以是在计算设备上运行的软件, 诸如 进程或应用程序。 节点102-110中的每一个可以具有唯一标识符。 0029 区块链120可以包括数据区块形式的记录逐渐增加的列表, 例如图1中的区块B1- B5。 区块B1-B5中的每一个可以包括时间戳、 前一块的加密哈希值, 以及当前区块的数据, 该 数据可以是诸如货币交易的交易。 例如, 如图1所示, 区块B5可以包括时间戳、 区块B4的加密 哈希值和区块B5的交易数据。 此外, 例如, 可以对前一个区块执行哈希操作以生成前。
26、一个区 块的加密哈希值。 哈希操作可以通过诸如SHA-256的哈希算法将各种长度的输入转换为固 定长度的加密输出。 0030 节点102-110可以被配置为对区块链120执行操作。 例如, 当节点(例如, 节点102) 想要将新数据存储到区块链120上时, 该节点可以生成要被添加到区块链120的新区块, 并 将该新区块广播到网络112中的例如节点104-110的其他节点。 基于新区块的合法性, 例如, 其签名和交易的有效性, 其他节点可以确定接受该新区块, 使得节点102和其他节点可以将 该新区块添加到它们各自的区块链120的副本中。 随着该过程重复, 可以将越来越多的数据 区块添加到区块链1。
27、20。 0031 图2示出了根据实施例的用于实现区块链系统中节点, 例如节点102(图1)的计算 设备200的示意图。 参考图2, 计算设备200可以包括通信接口202、 处理器204和存储器206。 0032 通信接口202可以便于计算设备200与用于实现网络中其他节点, 例如, 节点104- 说明书 4/13 页 7 CN 111580982 A 7 110(图1), 的设备之间的通信。 在一些实施例中, 通信接口202被配置为支持一个或多个通 信标准, 例如互联网标准或协议、 综合业务数字网(ISDN)标准, 等等。 在一些实施例中, 通信 接口202可以包括以下中的一个或多个: 局域网。
28、(LAN)卡、 电缆调制解调器、 卫星调制解调 器、 数据总线、 电缆、 无线通信信道、 基于无线电的通信信道、 蜂窝通信信道、 基于互联网协 议(IP)的通信设备、 或用于有线和/或无线通信的其他通信设备。 在一些实施例中, 通信接 口202可以基于公有云基础设施、 私有云基础设施、 混合公有/私有云基础设施。 0033 处理器204可以包括一个或多个专用处理单元、 专用集成电路(ASIC)、 现场可编程 门阵列(FPGA)或各种其他类型的处理器或处理单元。 处理器204与存储器206耦合, 并且被 配置为执行存储在存储器206中的指令。 0034 存储器206可以存储可由处理器执行的指令和。
29、数据, 例如区块链120(图1)的副本。 存储器206可以包括任何类型的易失性或非易失性存储器设备或其组合, 例如静态随机存 取存储器(SRAM)、 电可擦除可编程只读存储器(EEPROM)、 可擦除可编程只读存储器 (EPROM)、 可编程只读存储器(PROM)、 只读存储器(ROM)、 磁存储器、 闪存或磁盘或光盘。 当存 储器206中的指令由处理器204执行时, 计算设备200可以对区块链120执行操作。 0035 再次参考图1, 在一些实施例中, 区块链系统100可以被实现为支持各种类型的参 与方或用户, 包括例如银行、 金融机构、 信用合作社等。 各方可以利用区块链系统100来检索 。
30、或记录包括例如支付转账信息的信息。 通常, 记录在区块链系统100上的诸如支付转账的记 录由相关方加密。 0036 在一些实施例中, 区块链系统100可以被实现为支持实时全额结算(RTGS)。 例如, 区块链系统100可以实施一种策略, 使得所有转账一旦被处理, 都是最终的且不可撤销的。 区块链系统100还可以实施一种策略, 使得提交给区块链系统100的支付交易均不受等待期 的影响。 区块链系统100可以进一步实施一种策略, 使得支付交易基于一对一结算而不与任 何其他交易捆绑或轧差结算。 0037 图3示出根据实施例的用于检测在例如区块链系统100(图1)的区块链系统上实现 的RTGS系统中的。
31、死锁的保护隐私的死锁检测方法300的流程图。 保护隐私的死锁检测方法 300可以检测死锁而无需任何参与方公开其流动性和交易信息。 0038 在步骤302, 可以指示参与RTGS系统的每个参与方, 例如, 参与方A至N, 独立地计算 其流动性信息。 在一些实施例中, 各方可以使用其本地计算资源独立地计算其流动性信息。 在一些实施例中, 每一方iA, B, ., N可以计算其当前流动性Ci、 要转入该方(应收)的 金额Ti、 从该方转出(应付)的金额Fi以及转账后流动性Pi, 其中PiCi+Ti-Fi。 0039 在步骤304, A方至N方的多方可以被指示执行联合计算以确定, 例如进一步计算, R。
32、TGS系统中的应收总额。 A方至N方还可以被指示执行联合计算以确定, 例如进一步计算, RTGS系统中的应付总额。 应收总额可以被计算为STiA, B, ., NTi。 应付总额可以被计算 为SFiA, B, ., NFi。 0040 在一些实施例中, A方至N方的各方可以被指示使用多方求和处理来计算应收总额 ST。 A方至N方的各方还可以被指示使用多方求和处理来计算应付总额SF。 在一些实施例中, 所利用的多方求和处理可以允许各方计算ST和SF, 而无需要求各方对彼此公开其流动性信 息。 在一些实施例中, A方至N方可以联合执行在 第24届分布式计算系统国际会议论文集 (2004)600-6。
33、07中的Yiping Shen等人的 “关于分布式计算系统的机密审核” 中公开的多方 说明书 5/13 页 8 CN 111580982 A 8 求和处理, 或在 “ 信息社会 , 10(1), 第59-72页, 1998年” 中L.Jean Camp等人的 “在保护隐 私的同时提供审核” 中公开的多方求和处理, 两者均通过引用整体并入本文。 A方至N方还可 以实施其他类型的多方求和处理以执行步骤304。 0041 在一些实施例中, A方至N方可以与区块链系统100一起操作, 以执行多方求和处 理。 例如, 区块链系统可以指示每一方iA, B, ., N计算步骤304处的应收总额ST的份 额,。
34、 并在步骤306将计算结果提交给区块链系统100。 区块链系统100还可以指示每一方i计 算步骤304处的应付总额SF的份额, 并在步骤306将计算结果提交给区块链系统100。 在步骤 308, 区块链系统100可以将各方提交的结果合并以确定Sr和SF, 而无需接收各方的实际流动 性信息。 0042 在一个实施例中, A方至N方可以与区块链系统一起操作, 以执行多方求和处理, 并 且在步骤304, 每一方i可以被指示使用多项式掩码其流动性信息。 为了说明目的, 假设有三 方, A方、 B方和C方, 他们的应收金额分别为TA、 TB和TC, 并且他们的应付金额分别为FA、 FB和 FC。 为了计。
35、算应收总额ST, 可以指示每一方i选择两个随机整数a和b, 以用于二阶多项式ax2+ bx+c, 其中多项式中的常数c被设置为表示该方的应收金额Ti。 然后A方可以通过使用多项 式在x1、 x2和x3处计算掩码的值来掩码其应收金额TA。 B方和C方可以利用其自己选 择的随机整数a和b来执行类似的操作, 以分别掩码其自己的应收金额TB和TC。 0043 可以执行类似的处理以计算应付总额SF。 每一方i可以被指示选择两个随机整数a 和b, 以用于二阶多项式ax2+bx+c, 其中多项式中的常数c被设置为表示该方的应付金额Fi。 然后A方可以通过使用多项式在x1、 x2和x3处计算掩码的值来掩码其应。
36、付金额FA。 B 方和C方可以利用其自己选择的随机整数a和b来执行类似的操作, 以分别掩码其自己的应 付金额FB和FC。 0044 在一些实施例中, 应收总额ST的计算和应付总额SF的计算可以作为分开的多方计 算处理来执行。 因此, 一方可以选择一组随机整数a和b以用于应收总额ST的计算中所使用 的多项式, 以及另一组随机整数a 和b 以用于应付总额SF的计算中所使用的多项式。 0045 继续以应收总额ST的计算作为示例, 在各方已经掩码了其应收金额Ti之后, 各方可 以被指示保留其掩码的值之一并且与其他方共享其剩余的掩码的值, 以促进ST的计算。 以 上示例中的A方可以保留使用多项式ax2+。
37、bx+TA在x1处计算的掩码的值, 与B方共享使用多 项式ax2+bx+TA在x2处计算的掩码的值, 并且与C方共享使用多项式ax2+bx+TA在x3处计 算的另一掩码的值。 B方和C方也可以针对他们的掩码的值执行类似操作。 0046 然后, 每一方i可以基于其自身保留的掩码的值和从其他方接收到的掩码的值来 计算其在应收总额ST中的份额。 继续以上示例, A方可以基于其保留的掩码的值(例如, A方 使用A方自身的多项式在x1处计算的)、 从B方接收到的掩码的值(例如, B方使用B方的多 项式在x1处计算的)以及从C方接收到的掩码的值(例如, C方使用C方的多项式在x1处 计算的)来计算总和。 。
38、B方可以基于其保留的掩码的值(例如, B方使用B方自身的多项式在x 2处计算的)、 从A方接收到的掩码的值(例如, A方使用A方的多项式在x2处计算的)以及 从C方接收到的掩码的值(例如, C方使用C方的多项式在x2处计算的)来计算总和。 C方可 以基于其保留的掩码的值(例如, C方使用C方自身的多项式在x3处计算的)、 从A方接收到 的掩码的值(例如, A方使用A方的多项式在x3处计算的)以及从B方接收到的掩码的值(例 如, B方使用B方的多项式在x3处计算的)来计算总和。 说明书 6/13 页 9 CN 111580982 A 9 0047 类似地, 继续以应付总额SF的计算作为示例, 在。
39、各方已经掩码了其应付金额Fi之 后, 各方可以被指示保留其掩码的值之一并且与其他方共享其剩余的掩码的值, 以促进SF 的计算。 以上示例中的A方可以保留使用多项式a x2+b x+FA在x1处计算的掩码的值, 与B 方共享使用多项式a x2+b x+FA在x2处计算的掩码的值, 并且与C方共享使用多项式a x2+ b x+FA在x3处计算的另一掩码的值。 B方和C方也可以针对他们的掩码的值执行类似操 作。 0048 然后, 每一方i可以基于其自身保留的掩码的值和从其他方接收到的掩码的值来 计算其在应付总额SF中的份额。 继续以上示例, A方可以基于其保留的掩码的值(例如, A方 使用A方自身的。
40、多项式在x1处计算的)、 从B方接收到的掩码的值(例如, B方使用B方的多 项式在x1处计算的)以及从C方接收到的掩码的值(例如, C方使用C方的多项式在x1处 计算的)来计算总和。 B方可以基于其保留的掩码的值(例如, B方使用B方自身的多项式在x 2处计算的)、 从A方接收到的掩码的值(例如, A方使用A方的多项式在x2处计算的)以及 从C方接收到的掩码的值(例如, C方使用C方的多项式在x2处计算的)来计算总和。 C方可 以基于其保留的掩码的值(例如, C方使用C方自身的多项式在x3处计算的)、 从A方接收到 的掩码的值(例如, A方使用A方的多项式在x3处计算的)以及从B方接收到的掩码。
41、的值(例 如, B方使用B方的多项式在x3处计算的)来计算总和。 0049 在步骤306, A方至N方的各方可以将他们的计算结果提交给区块链系统100以用于 记录。 在步骤308, 区块链系统100可以实施一个或多个智能合约, 并利用该智能合约将各方 提交的结果合并以计算应收总额ST和应付总额SF。 0050 智能合约是以计算机代码形式实施的计算机协议, 其被纳入到区块链120(图1) 中, 以促进、 验证或施行合约的协商或执行。 例如, 区块链系统100的用户可以使用诸如C+、 Java、 Solidity、 Python等编程语言将商定的条款编程为智能合约, 并且当满足该条款时, 可以由区。
42、块链系统100自动执行该智能合约, 例如执行任务。 又例如, 智能合约可以包括多 个子例程或函数, 每个子例程或函数可以是执行专用任务的一系列程序指令。 智能合约可 以是在完全或部分没有人工交互的情况下执行的操作代码。 0051 在一些实施例中, 区块链系统100可以实施智能合约, 该智能合约被编程为基于A 方至N方提交的结果计算ST的值。 例如, 该智能合约可以将A方至N方提交的结果合并, 并求 解方程式以确定总和, 该总和表示在这些多项式中使用的所有常数的组合值。 应当注意因 为每一方在其多项式中使用常数c来表示该方的应收金额Ti, 所述表示在这些多项式中使 用的所有常数的组合值的总和将因。
43、此表示RTGS系统中所有方的应收金额的总和, 该总和可 以表示为STiA, B, ., NTi。 0052 类似地, 区块链系统100可以实施智能合约, 该智能合约被编程为基于A方至N方提 交的结果计算SF的值。 例如, 该智能合约可以将A方至N方提交的结果合并, 并求解方程式以 确定总和, 该总和表示在这些多项式中使用的所有常数的组合值。 应当注意因为每一方在 其多项式中使用常数c 来表示该方的应付金额Fi, 所述表示在这些多项式中使用的所有常 数的组合值的总和将因此表示RTGS系统中所有方的应付金额的总和, 该总和可以表示为SF iA, B, ., NFi。 0053 应当理解, 虽然以上。
44、描述的示例讨论使用二阶多项式来促进掩码由三个参与方提 供的值, 这样的示例仅为说明目的所描述, 并不旨在作为限制。 应当理解, 额外的参与方可 说明书 7/13 页 10 CN 111580982 A 10 以参与到上述的多方求和处理中。 还应当理解, 各方可以实施其他类型的多方计算处理以 促进ST和SF的计算。 0054 在一些实施例中, 在步骤308, 区块链系统100可以利用所计算的ST和SF的值来验证 各方的流动性信息的计算正确性。 在一些实施例中, 区块链系统100可以要求ST匹配(例如, 等于)SF。 如果区块链系统100, 例如通过执行智能合约, 确定STSF, 区块链系统100。
45、可以识 别这种不匹配, 并将其报告为错误。 0055 如果区块链系统100, 例如通过执行智能合约, 确定STSF, 区块链系统100可以认 为到目前为止所执行的计算是正确的。 然后, 在步骤310, 区块链系统100可以指示A方至N方 的各方联合进行多方计算以确定最低流动性金额PminminiA, B, ., NPi。 在一些实施例 中, A方至N方可以联合执行多方计算而无需公开他们的流动性信息, 该流动性信息包括他 们的转账后流动性Pi。 以这种方式, A方至N方可以联合确定Pmin并保护他们的隐私。 在一些 实施例中, A方至N方可以联合执行多方计算协议, 该协议公开在 密码学杂志 (2。
46、010)23: 373-401中的Gagan Aggarwal等人的 “中位数(以及指定排名的其他元素)的安全计算” , 其 通过引用整体并入本文。 例如, A方至N方可以联合执行如下定义的多方计算协议: 0056 1: 为每一方提供由RTGS设置的初始值 和 , 该初始值 足够小以表示可能的最低 转账后流动性并且该初始值 足够大以表示可能的最高转账后流动性。 0057 2: 重复直到 “完成” : 0058 3: 设置m ( + )/2。 0059 4: 指示每一方iA, B, ., N对Pi与m进行比较; 如果Pi严格小于m, 设置li1和 gi0; 否则, 如果Pi严格大于m, 设置li。
47、0和gi1。 0060 5: 计算iA, B, ., Nli和iA, B, ., Ngi。 0061 6: 如果iA, B, ., Nli0和iA, B, ., NgiN-1, 将m报告为min(PA, PB, ., PN), 然后进行 “完成” 。 0062 7: 如果iA, B, ., Nli1, 设置 m-1(意思是min(PA, PB, ., PN)小于m, 所以m应 该减少)。 0063 8: 如果iA, B, ., NgiN, 设置 m+1(意思是min(PA, PB, ., PN)大于m, 所以m应 该增加)。 0064 9: 完成 0065 注意到上述多方计算协议可以允许A方至。
48、N方计算最低流动性金额Pmin, 而不透露 PA, PB, ., PN。 然而, 应理解, 上述多方计算协议仅作为示例提供, 并不意味着限制。 可以预 期, A方至N方可以实施其他类型的多方计算技术来进行步骤310。 0066 还可以想到 , 在一些实施例中 , A方至N方可以 利用多方求和处理来计算 iA, B, ., Nli和iA, B, ., Ngi。 这样, A方至N方可以计算iA, B, ., Nli和iA, B, ., N gi, 而无需各方彼此公开自己的l和g, 从而进一步保护了A方至N方的隐私。 例如, 在一些实 施例中, A方至N方可以通过掩码其l和g值来联合执行与上述类似的。
49、多方求和处理。 出于说 明目的, 假设有三方, 即A方、 B方和C方, 并且他们的l和g值分别是lA、 lB, 、 lC和gA、 gB、 gC。 可以 指示每一方i选择两个随机整数a和b, 以用于二阶多项式ax2+bx+c, 其中多项式中的常数c 表示该方的l值或该方的g值, 这取决于各方被指示计算iA, B, ., Nli还是iA, B, ., Ngi。 假设各方被指示计算iA, B, ., Nli, A方可以选择例如a25和b83, 这意味着A方将其多 说明书 8/13 页 11 CN 111580982 A 11 项式定义为25x2+83x+lA。 A方可以通过使用在x1、 x2和x3处。
50、的多项式计算被掩码的值 来掩码其l值。 B方和C方可以选择他们的随机整数a和b进行类似的操作, 以掩码自己的l值。 0067 还可以进一步指示每一方i保留其掩码的值之一, 并与其他方共享他的其余掩码 的值, 以计算iA, B, ., Nli。 继续上面的三方示例, A方可以保留使用多项式25x2+83x+lA在 x1计算的掩码的值, 与B方共享使用多项式25x2+83x+lA在x2计算的掩码的值, 并与C方 共享使用多项式25x2+83x+lA在x3计算的另一个掩码的值。 B方和C方可对他们掩码的值进 行类似的操作。 0068 然后, 每一方i可以基于其保留给自己的掩码的值和从其他方接收到的掩。
- 内容关键字: 检测 实时 全额 结算 系统 死锁 方法 设备 装置 介质
馈纸式文档扫描仪.pdf
植物补光灯控制电路和植物补光灯.pdf
冷却装置.pdf
储能模组、储能装置及用电设备.pdf
交直流高压电容器放电电路.pdf
带有中位锁止和提升回位功能的液压多路阀.pdf
输液杆外设供电线缆的收纳结构.pdf
车用尿素溶液生产的投料装置.pdf
复合外墙保温板和方便拼接的复合外墙.pdf
高硬度石材表面抛光装置.pdf
文胸模杯打孔装置.pdf
电磁干粉除铁器用布料装置.pdf
立体式离心筛.pdf
车底.pdf
用于树状空间节点试验的反力架装置.pdf
建筑节能外墙保温装饰板结构.pdf
便于温度调整的微生物离心设备.pdf
应用于钻柱内孔的泥浆过滤设备.pdf
铝合金门窗尺寸检测装置.pdf
肥料快速发酵装置.pdf
侧斜防撞型充电桩.pdf
柑橘栽种装置.pdf
用于高压传感器连接器的激光焊接工装.pdf
大豆种植根瘤菌剂接种装置.pdf
铝塑废料中铝箔分离设备以及方法.pdf
视频转码调度方法、装置、可读存储介质、电子设备.pdf
有机液体存储罐脱氢反应器.pdf
地坪研磨机齿轮箱多驱系统.pdf
溜槽防堵及检测装置.pdf
用于换热器铜管扩口机构.pdf
衣柜板材自动上下料装置及其方法.pdf
乳清蛋白的制备方法和乳清蛋白饮料.pdf
图形图象数据压缩方法.pdf
内燃机喷水冷却节能法.pdf
超小型交流稳压器.pdf
金属塑料复合水管的制造方法及其装置.pdf
英汉翻译系统的词法分析算法.pdf
由环境中的热量驱动的推进装置.pdf
中文汉字输入装置.pdf
扼流圈.pdf
双惯性飞轮.pdf
图像显示装置.pdf
汉字形态数码.pdf
爆燃式发动机化油器.pdf
板间连接用转接头及使用该转接头的连接器组件.pdf
电源转换器的时间产生器及时间信号产生方法.pdf
桌面分机与移动智能终端捆绑同振的方法和装置.pdf
小区切换命令的发送方法及装置.pdf
一种文件中植入广告的方法、装置、系统及终端.pdf
用于确定家庭网络质量的方法和服务器.pdf
电路板制作方法.pdf