首页> 中国专利> 用于自动去中心化多边交易处理的系统和方法

用于自动去中心化多边交易处理的系统和方法

摘要

公开了用于自动去中心化多边交易处理的系统和方法。根据一个实施例,在包括至少一个计算机处理器的信息处理装置中,一种用于自动去中心化多边交易处理的方法可以包括:(1)接收用以进行多个交易的多个交易请求;(2)确定多个交易中的第一交易的一方不满足进行第一交易的流动性要求;(3)执行净额结算算法以识别多个交易中的第二交易,该第二交易在被执行时允许第一交易执行;(4)执行第一交易和第二交易。

著录项

说明书

相关申请

本申请要求于2017年7月13日提交的美国临时专利申请序列号62/532,051的优先权,其全部内容通过引用并入本文。

技术领域

本公开总体上涉及用于自动去中心化多边交易处理的系统和方法。

背景技术

在多方之间可能存在多个从属交易而这些交易中的一些或全部不能独立发生的情况下可能存在交易僵局。例如,当某一方的流动性不足时,该方可能需要等待另一交易的清算才能使其清算其他交易。这导致交易清算的速度降低。

发明内容

公开了用于自动去中心化多边交易处理的系统和方法。根据一个实施例,在包括至少一个计算机处理器的信息处理装置中,一种用于自动去中心化多边交易处理的方法可以包括:(1)接收用以进行多个交易的多个交易请求;(2)确定多个交易中第一交易的一方不满足进行第一交易的流动性要求;(3)执行净额结算算法(netting algorithm)以识别多个交易中的第二交易,该第二交易在被执行时允许第一交易执行;(4)执行第一交易和第二交易。

在一个实施例中,该方法可以进一步包括将交易请求传播到网络中的多个节点。

在一个实施例中,交易请求可以被传播到交易的各方。

在一个实施例中,该方法可以进一步包括将交易写入分布式总账/分布式分类账(distributed ledger)。

在一个实施例中,第一交易可以包括私人交易。

在一个实施例中,该方法可以进一步包括将第一交易排队在交易队列中。净额结算算法可以在交易阈值处于交易队列中之后或在阈值交易量处于交易队列中之后执行。

在一个实施例中,第一交易和第二交易中的至少一个可以被执行为隐私交易/隐藏交易(shielded transaction)。

在一个实施例中,净额结算算法可以包括智能合约。

根据另一实施例,一种用于自动去中心化多边交易处理的系统可以包括网络和多个去中心化接入点,该网络包括多个节点,每个节点包括分布式总账和支付管理器,每个去中心化接入点与节点相关联并且包括规则编排器(rules orchestrator)和监听器。多个节点可以接收用以进行多个交易的多个交易请求,每个交易请求从相关联的去中心化接入点接收。在多个节点中的第一节点处针对第一交易的一方执行的第一支付管理器可以确定第一交易的一方不满足进行第一交易的流动性要求,并且可以将第一交易提交到第一分布式总账。与第一节点相关联的第一去中心化接入点中的第一监听器可以用净额结算智能合约注册第一交易。与第一去中心化接入点相关联的第一规则编排器可以执行净额结算智能合约,以识别多个交易中的第二交易,该第二交易在被执行时允许执行第一交易。然后可以执行第一交易和第二交易。

在一个实施例中,第一规则编排器可以为第一交易生成证明。

在一个实施例中,在与第二交易的一方相关联的第二节点处的证明生成器为第二交易生成证明。

在一个实施例中,支付管理器可以包括智能合约。

在一个实施例中,交易请求可以被传播到网络中的多个节点。

在一个实施例中,交易请求可以被传播到交易的各方。

在一个实施例中,第一交易可以包括私人交易。

在一个实施例中,净额结算算法可以在交易阈值处于交易队列中之后和/或在阈值交易量处于交易队列中之后。

在一个实施例中,第一交易和第二交易中的至少一个可以被执行为隐私交易。

附图说明

为了更全面地理解本发明、其目的和优点,现在参考以下结合附图进行的描述,其中:

图1描绘了根据一个实施例的用于自动去中心化多边交易处理的系统;并且

图2描绘了根据一个实施例的用于自动去中心化多边交易处理的方法。

具体实施方式

本文公开的实施例涉及用于自动去中心化多边交易处理的系统和方法。

本文公开的实施例可以启用如排队(Queuing)、净额结算(Netting)、僵局(Gridlock)和死锁解析算法(deadlock resolution algorithms)之类的流动性优化措施,并且可以对“私人”交易进行操作而无需集中处理。

参照图1,根据一个实施例,公开了一种用于自动去中心化多边交易处理的示例性系统。系统100可以包括多个去中心化应用程序或软件程序,或接入点(“去中心化app”)110、120、130等。尽管示出了三个去中心化app,但是应当认识到,可以根据需要和/或期望包括更多或更少的数量的去中心化app。

在一个实施例中,每个去中心化app 110、120、130可以与买方、卖方、投资方、金融机构等相关联。

在一个实施例中,每个去中心化app 110、120、130可以包括规则编排器112、122、132、监听器114、124、134以及证明生成器116、126、136。

在一个实施例中,规则编排器112、122、132可以编排完成交易所需的一系列步骤。监听器114、124、134可以监听来自其相关联的分布式总账154、164和174的事件,并且可以调用相关联的规则编排器112、122、132以基于事件执行后续步骤。证明生成器116、126、136可以为完成交易所需的余额更新生成证明。

每个节点150、160和170可以分别包括证明验证152、162和172。每个证明验证152、162和172可以验证由相应的证明生成器116、126、136生成的证明。

每个节点150、160和170还可以分别包括分布式总账154、164和174。分布式总账154、164和174可以在其上存储加密的交易和被隐藏的余额。

每个节点150、160和170还可以包括支付管理器156、166、176。在一个实施例中,每个支付管理器156、166、176可以包括智能合约。

每个节点150、160和170还可以包括净额结算模块158、168、178。在一个实施例中,每个净额结算模块158、168、178可以包括智能合约。

参照图2,根据一个实施例,公开了一种用于自动去中心化多边交易处理的方法。

在步骤205中,一方可以使用交易应用程序、计算机程序等将交易提交到节点。在一个实施例中,一方可以与分布式总账交易网络中的节点相关联。

在一个实施例中,交易可以是支付交易、证券清算、其组合或任何其他合适的交易。

在步骤210中,节点可以存储加密的私人交易,并且在步骤215中,可以将交易传送到分布式总账网络。在一个实施例中,交易可以被传播到各节点和/或交易的各方。在另一个实施例中,交易可以被传播到网络中的所有节点和/或各方。

在一个实施例中,在节点处执行的支付管理器智能合约可以执行这些功能。

在一个实施例中,可以将交易或其一部分(如果是私人的)写入每个节点的分布式总账。

在步骤220中,提交节点可以检查用以进行交易的流动性。在一个实施例中,支付管理器智能合约可以执行流动性检查。如果流动性检查未通过(例如,提交节点没有足够的资金来进行交易),则在步骤225中,提交节点(例如,提交节点的支付管理器智能合约)可以通过交易应用程序中的监听器将交易排队。在一个实施例中,可以将排队的交易写入分布式总账。

在一个实施例中,可以向网络中的所有监听器通知分布式总账上的事件,以便启动僵局解析。

在一个实施例中,支付管理器智能合约可以被实现为一个或多个智能合约。

在步骤230中,交易应用程序可以用净额结算智能合约注册排队的交易,净额结算智能合约可以从网络中的一些或所有节点接收排队的交易。在一个实施例中,一旦满足注册的排队的交易的阈值,在步骤235中,净额结算合约就可以触发僵局解析。

在一个实施例中,阈值可以基于注册的交易的数量、提交注册的交易的节点的数量、注册的交易的货币量等。在一个实施例中,阈值可以例如被选择用于优化可以执行的注册的交易的数量。

在步骤240中,用于每个节点的交易应用程序可以执行净额结算算法。在一个实施例中,每个节点可以查看其排队的交易,并且可以确定如果它要接收其承诺接收的资金,它可以进行哪些排队的交易。然后,它可以将这些交易提交到净额结算智能合约。

在一个实施例中,节点可以顺序地执行净额结算算法。在另一个实施例中,节点可以同时或基本同时执行净额结算算法。

在步骤245中,一旦净额结算完成,每个节点的交易应用程序可以生成要清算的支付的证明,并且然后在步骤250中可以将被隐私的交易提交到零知识证明层(zeroknowledge proof layer),然后该零知识证明层可以在步骤255中验证并执行(一个或多个)交易。

在一个实施例中,可能需要两个证明(例如,一个来自发起者,并且一个来自接收者),以便每一方都可以更新其相应的账户余额。

在一个实施例中,每个节点可以仅具有其参与的特定交易的细节的知识。节点可以具有其他信息,诸如用于写入分布式总账的交易的标识符。

在步骤260中,零知识证明层可以确认(一个或多个)交易已被执行,并且在步骤265中,交易应用程序可以将其节点的交易状态更新为“已确认”。

说明性示例如下。银行A、B和C中的每一个的余额为0,但是银行A的质押余额(pledged balance)为10,银行B的质押余额为5,银行C的质押余额为15。银行A正在向银行B提交2的交易,但未通过流动性测试。

因此,使用僵局解析方法进行交易。银行A的质押余额减少2,并且银行B的质押余额增加2。

在下文中,将描述本发明的系统和方法的实施方式的一般方面。

本发明的系统或本发明的系统的部分可以是“处理机”的形式,例如,诸如通用计算机。如本文使用的,术语“处理机”将被理解为包括使用至少一个存储器的至少一个处理器。至少一个存储器存储指令集。指令可以永久或临时存储在处理机的一个或多个存储器中。处理器执行存储在一个或多个存储器中的指令,以便处理数据。指令集可以包括实行一个或多个特定任务(诸如上面描述的那些任务)的各种指令。用于实行特定任务的这样的指令集可以被表征为程序、软件程序或者简单表征为软件。

在一个实施例中,处理机可以是专门处理器。

如上面提到的,处理机执行存储在一个或多个存储器中的指令以处理数据。数据的该处理可以例如响应于处理机的一个或多个用户的命令、响应于先前处理、响应于由另一个处理机的请求和/或任何其它输入。

如上面提到的,用于实施本发明的处理机可以是通用计算机。然而,上面描述的处理机也可以利用多种多样的其它技术中的任一种,多种多样的其它技术包括专用计算机、计算机系统(包括例如,微型计算机、小型计算机或大型机)、编程微处理器、微控制器、外围集成电路元件、CSIC(客户专用集成电路)或ASIC(专用集成电路)或其它集成电路、逻辑电路、数字信号处理器、可编程逻辑设备(诸如FPGA、PLD、PLA或PAL)、或能够实施本发明的过程的步骤的任何其它设备或设备的布置。

用于实施本发明的处理机可以利用合适的操作系统。因此,本发明的实施例可以包括运行以下系统的处理机:iOS操作系统、OSX操作系统、安卓(Android)操作系统、Microsoft Windows

应当了解,为了实践如上所述的本发明的方法,处理机的处理器和/或存储器不必在物理上位于相同地理位置。也就是说,由处理机使用的处理器和存储器中的每个可以位于地理上不同的位置,并且被连接以便以任何合适的方式通信。此外,应当了解,处理器和/或存储器中的每个可以由不同物理件装备组成。因此,处理器不必是在一个位置中的一个单件装备,并且存储器不必是在另一个位置中的另一个单件装备。也就是说,可预期处理器可以是在两个不同物理位置的两件装备。两件不同装备可以以任何合适方式连接。此外,存储器可以包括在两个或更多个物理位置的存储器的两个或更多个部分。

为了另外阐明,如上所述,由各种部件和各种存储器实行处理。然而,应当了解,根据本发明的另外的实施例,可以由单个部件实行如上所述由两个不同部件实行的处理。另外,可以由两个不同部件实行如上所述由一个不同部件实行的处理。以类似的方式,根据本发明的另外的实施例,可以由单个存储器部分实行如上所述由两个不同存储器部分实行的存储器存储。另外,可以由两个存储器部分实行如上所述由一个不同存储器部分实行的存储器存储。

另外,各种技术可以用于提供各种处理器和/或存储器之间的通信,以及允许本发明的处理器和/或存储器与另一个其它实体通信;即,例如,以便获得另外的指令或访问和使用远程存储器存储。例如,用于提供此类通信的此类技术可以包括网络(互联网、内联网、外联网、LAN、以太网)、经由蜂窝塔或卫星的无线通信或提供通信的任何客户端服务器系统。例如,此类通信技术可以使用任何合适协议,诸如TCP/IP、UDP或OSI。

如上所述,可以在本发明的处理中使用指令集。指令集可以是程序或软件的形式。例如,软件可以是系统软件或应用软件的形式。例如,软件也可以是单独程序的集合、较大程序内的程序模块或程序模块的一部分的形式。使用的软件也可以包括面向对象编程形式的模块化编程。软件告诉处理机如何处理正在处理的数据。

另外,应当了解,在本发明的实施方式和操作中使用的指令或指令集可以是合适的形式,使得处理机可以读取指令。例如,形成程序的指令可以是合适的编程语言的形式,合适的编程语言被转换成机器语言或对象代码,以允许一个或多个处理器读取指令。也就是说,特定编程语言的编写的编程代码行或源代码行使用编译器、汇编器或解译器转换成机器语言。机器语言是特定于特定类型的处理机(即,例如,特定于特定类型的计算机)的二进制编码机器指令。计算机理解机器语言。

可以根据本发明的各种实施例使用任何合适的编程语言。说明性地,例如,使用的编程语言可以包括汇编语言、Ada、APL、Basic、C、C++、COBOL、dBase、Forth、Fortran、Java、Modula-2、Pascal、Prolog、REXX、Visual Basic和/或JavaScript。另外,不必结合本发明的系统和方法的操作利用单个类型的指令或单个编程语言。相反,根据需要和/或期望,可以利用任何数量的不同编程语言。

再者,在本发明的实践中使用的指令和/或数据可以根据期望利用任何压缩或加密技术或算法。加密模块可以用于对数据进行加密。另外,例如,文件或其它数据可以使用合适的解密模块来解密。

如上所述,本发明可以说明性地以包括例如计算机或计算机系统的处理机的形式体现,计算机或计算机系统包括至少一个存储器。应当了解,根据期望,使得计算机操作系统能够实行上面描述的操作的指令集(即,例如,软件)可以包含在多种多样的媒体或介质中的任一种上。另外,由指令集处理的数据也可以包含在多种多样的介质中的任一种上。也就是说,例如,用于保存本发明中使用的指令集和/或数据的特定介质(即,处理机中的存储器)可以采取多种物理形式或传输中的任一种。说明性地,介质可以是纸、纸透明胶片、光碟、DVD、集成电路、硬盘、软盘、光盘、磁带、RAM、ROM、PROM、EPROM、电线、电缆、光纤、通信信道、卫星传输、存储卡、SIM卡或其它远程传输、以及可以由本发明的处理器读取的任何其它介质或数据源的形式。

另外,根据期望,在实施本发明的处理机中使用的一个或多个存储器可以是多种多样的形式中的任一种,以允许存储器保存指令、数据或其它信息。因此,存储器可以是用以保存数据的数据库的形式。数据库可以使用任何期望的文件布置,例如,诸如平面文件布置或关系数据库布置。

在本发明的系统和方法中,多种“用户接口”可以用于允许用户与用于实施本发明的一个或多个处理机接口连接。如本文使用的,用户接口包括由允许用户与处理机交互的处理机使用的任何硬件、软件或硬件和软件的组合。例如,用户接口可以是对话屏幕的形式。用户接口也可以包括以下中的任一个:鼠标、触摸屏、键盘、小键盘、语音读取器、语音辨识器、对话屏幕、菜单框、列表、复选框、拨动开关、按钮或允许用户在处理指令集和/或向处理机提供信息时接收关于处理机的操作的信息的任何其它设备。因此,用户接口是提供用户和处理机之间的通信的任何设备。例如,由用户通过用户接口提供到处理机的信息可以是命令、数据的选择或某个其它输入的形式。

如上面讨论的,由实行指令集的处理机利用用户接口,使得处理机处理用户的数据。用户接口通常由处理机使用,以用于与用户交互,以运送信息或从用户接收信息。然而,应当了解,根据本发明的系统和方法的一些实施例,人类用户实际不必与由本发明的处理机使用的用户接口交互。相反,也可预期本发明的用户接口可以与另一个处理机而不是人类用户交互,即,运送和接收信息。因此,其它处理机可以被表征为用户。另外,可预期在本发明的系统和方法中利用的用户接口可以与另一个处理机或多个处理机部分地交互,同时也与人类用户部分地交互。

本领域技术人员将容易理解,本发明易于广泛利用和应用。除了本文描述的那些之外的本发明的许多实施例和改编,以及许多变型、修改和等同布置将从本发明及其前述描述显而易见,或由本发明及其前述描述合理建议,而不脱离本发明的实质或范围。

因此,虽然在这里已经关于本发明的示例性实施例详细描述本发明,但是应当理解,本公开仅为本发明的说明和示例,并且被用来提供本公开的实现性公开内容。因此,前述公开内容不旨在解释或限制本发明或以其它方式排除任何其它此类实施例、改编、变型、修改或等同布置。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号