一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

优化交易请求的执行的制作方法

2022-03-14 02:14:57 来源:中国专利 TAG:

优化交易请求的执行
1.对相关申请的交叉引用
2.本技术要求2019年6月20日提交的美国临时专利申请第62/863872号的优先权,其内容整体通过引用方式并入本文中。
技术领域
3.所描述的实施例涉及用于优化交易请求的执行的系统和计算机实现的方法。


背景技术:

4.在一些网络系统中,例如资产交易所之类的第三方系统可能会提供未结交易的列表。每个未结交易可以表示购买或出售由第三方实体控制的资产的要约。该第三方系统可以经由一个或多个数据馈送向客户端系统提供可用的未结交易列表。客户端实体可以经由客户端系统向第三方系统发送交易请求。交易请求可以包括执行一个或多个未结交易的请求。一个或多个未结交易的执行可以将对资产的控制权从第三方实体转移到客户端实体。这可能是为了兑换由实体控制的处置资产。即,一个或多个未结交易的执行可以转移对所获取资产的控制权,以兑换处置资产。
5.多个第三方系统可以利于所获得资产和处置资产的兑换。这些第三方系统可能在地理上分布开。例如,独立的第三方系统可能位于北美、南美、欧洲和亚太地区(apac)。每个第三方系统可以利于以该第三方系统所在的地理区域的当地货币(例如,当地不兑现货币)兑换资产。没有机制可以轻松地在第三方系统之间移动资产或路由交易请求,尤其是在不同地理区域的第三方系统之间。
6.希望使用第三方系统的客户端实体需要在每个单独的第三方系统上管理和操作一个帐户。在大多数情况下,这至少部分是因为当地居民和银行账户对在相关交易所持有账户的实体施加了限制而不可行。
7.这样的结果是,第三方系统往往作为与其他第三方系统交叉投标和报价的孤立区域流动资金池而存在。不存在解决或利用由孤立的区域流动资金池造成的失衡的自动机制。
8.在本说明书中,单词“包括”或诸如“包含”或“含有”的变体将被理解为暗示包括所陈述的元件、整数或步骤,或元件、整数或步骤组,但是不排除任何其他元件、整数或步骤,或元件、整数或步骤组。
9.对本说明书中包括的文件、行为、材料、设备、物品等的任何讨论不应被视为承认任何或所有这些事项形成现有技术基础的一部分或与本公开相关的领域中的公知常识,因为它存在于所附权利要求中每一个的优先权日之前。


技术实现要素:

10.一些实施例涉及一种优化交易请求的执行的计算机实现的方法,该方法包括:获取(retrieve)多个定时测量;其中每个定时测量与多个交易路由器系统中的一个和多个第
三方系统中的一个相关联,第三方系统与相应的交易路由器系统通信;其中每个定时测量指示与该定时测量相关联的交易路由器系统和第三方系统之间的往返时间(rtt);以及其中多个第三方系统中的每一个都具有未结交易流动性;确定多个流动性损失度量,每个流动性损失度量对应于相应的定时测量,并且与与该定时测量相关联的交易路由器系统和第三方系统相关联;其中每个流动性损失度量指示与流动性损失度量相关联的第三方系统的未结交易流动性的比例,该比例不能用于与流动性损失度量相关联的交易路由器系统;确定多个有效剩余流动性值,每个有效剩余流动性值对应于相应的流动性损失度量,并且与与该流动性损失度量相关联的交易路由器系统和第三方系统相关联;其中每个有效剩余流动性值指示与有效剩余流动性值相关联的第三方系统的未结交易流动性的比例,该比例可用于与有效剩余流动性值相关联的交易路由器系统;确定每个交易路由器系统的总有效流动性值;其中通过将与该交易路由器系统相关联的有效剩余流动性值相加来确定每个交易路由器系统的总有效流动性值;确定多个订单到期度量,每个订单到期度量与多个交易路由器系统中的一个相关联,并且每个订单到期度量指示从相关交易路由器系统发送的由于第三方系统中与该交易路由器系统通信的一个的对应未结交易在相关rtt内到期而无法执行的交易请求的平均数量;确定多个贬值(slippage)度量,每个贬值度量基于订单到期度量中的一个并且与多个交易路由器系统中的一个相关联;其中每个贬值度量指示从相关交易路由器系统发送的交易请求将由于第三方系统中与该交易路由器系统通信的一个的对应未结交易在相关rtt内到期而无法执行的概率;至少部分地基于总有效流动性值和贬值度量来确定作为多个交易路由器系统中的一个的优化的交易路由器系统;以及将接收到的交易请求发送到优化的交易路由器系统,使得优化的交易路由器系统可以经由第三方系统中的一个或多个执行交易请求,从而优化交易请求的执行。
11.在一些实施例中,该方法还包括确定每个交易路由器系统的有效流动性比例;其中每个有效流动性比例指示相应交易路由器系统的总有效流动性值与总流动性之间的比率,总流动性是与该交易路由器系统通信的每个第三方系统的未结交易流动性之和;以及其中确定作为多个交易路由器系统中的一个的优化的交易路由器系统是至少部分地基于有效流动性比例和贬值度量。
12.在一些实施例中,线性流动性损失模型将每个定时测量与对应的流动性损失度量相关联。
13.在一些实施例中,确定多个有效剩余流动性值中的每一个包括计算流动性损失度量中的一个的补数。
14.在一些实施例中,确定每个有效流动性比例包括将总有效流动性值中的一个除以总流动性。
15.在一些实施例中,该方法还包括存储未结交易记录历史和/或已执行交易记录历史。
16.在一些实施例中,基于对未结交易记录历史和/或已执行交易记录历史的分析来确定多个订单到期度量。
17.在一些实施例中,确定每个订单到期度量包括:对于与相关交易路由器系统通信的每个第三方系统,确定由于相关第三方系统的对应未结交易在相关rtt内到期而无法执行的交易请求的数量;以及计算这些数量的平均值。
18.在一些实施例中,确定每个贬值度量包括:根据泊松分布对贬值度量进行建模,其中泊松分布的尺度参数(λ)是与相应交易路由器系统相关联的订单到期度量。
19.在一些实施例中,确定每个贬值度量包括:为每个交易路由器系统的多个订单深度中的每一个确定订单到期度量,使得每个订单深度与相应的订单到期度量相关联;对于每个订单深度,根据泊松分布对从相关交易路由器系统发送的交易请求将由于第三方系统中与该交易路由器系统通信的一个的对应未结交易在相关rtt内到期而无法执行的概率进行建模,其中泊松分布的尺度参数(λ)是与相应交易路由器系统相关联的订单到期度量;以及为每个订单深度确定概率模型值(e-λ
)。
20.在一些实施例中,该方法还包括根据每个概率模型值对应的订单深度来缩放每个概率模型值。
21.在一些实施例中,确定每个贬值度量包括将对应于相应交易路由器系统的概率模型值相加。
22.在一些实施例中,为三个订单深度确定订单到期度量。
23.在一些实施例中,确定优化的交易路由器系统包括确定与每个相应交易路由器系统相关联的总有效流动性值和贬值度量的乘积。
24.在一些实施例中,优化的交易路由器系统是具有最高乘积的交易路由器系统。
25.在一些实施例中,确定优化的交易路由器系统包括确定与每个相应交易路由器系统相关联的有效流动性比例和贬值度量的平均值。
26.在一些实施例中,优化的交易路由器系统是具有最高平均值的交易路由器系统。
27.在一些实施例中,该方法还包括:访问包括多个第三方系统的多个未结交易的组合列表的未结交易记录存储库;基于未结交易记录存储库,将接收到的交易请求分为一个或多个拆分的交易请求;以及将一个或多个拆分的交易请求中的每一个发送到第三方系统中的对应一个。
28.在一些实施例中,交易请求包括将第一单位计数的处置资产兑换为第二单位计数的所获取资产的请求。
29.在一些实施例中,该方法还包括:基于交易请求,确定第一单位计数;在交易处理系统交换机(exchange)处,将用户存款兑换为第一单位计数的处置资产;将第一单位计数的处置资产分为两个或更多个拆分单位计数的处置资产;以及将对两个或更多个拆分单位计数中的每一个的控制权转移到第三方系统中的相应一个,从而将那些第三方系统中的每一个的交易处理系统账户资本化。
30.在一些实施例中,第一资产是与不兑现货币挂钩的稳定不兑现加密货币。
31.一些实施例涉及一种存储指令的计算机可读存储介质,当由计算机执行时,这些指令使计算机执行上述公开的方法。
32.一些实施例涉及一种交易处理系统,其被配置成:获取多个定时测量;其中每个定时测量与多个交易路由器系统中的一个和多个第三方系统中的一个相关联,第三方系统与相应的交易路由器系统通信;其中每个定时测量指示与该定时测量相关联的交易路由器系统和第三方系统之间的往返时间(rtt);以及其中多个第三方系统中的每一个都具有未结交易流动性;确定多个流动性损失度量,每个流动性损失度量对应于相应的定时测量,并且与与该定时测量相关联的交易路由器系统和第三方系统相关联;其中每个流动性损失度量
指示与流动性损失度量相关联的第三方系统的未结交易流动性的比例,该比例不能用于与流动性损失度量相关联的交易路由器系统;确定多个有效剩余流动性值,每个有效剩余流动性值对应于相应的流动性损失度量,并且与与该流动性损失度量相关联的交易路由器系统和第三方系统相关联;其中每个有效剩余流动性值指示与有效剩余流动性值相关联的第三方系统的未结交易流动性的比例,所述比例可用于与有效剩余流动性值相关联的交易路由器系统;确定每个交易路由器系统的总有效流动性值;其中通过将与该交易路由器系统相关联的有效剩余流动性值相加来确定每个交易路由器系统的总有效流动性值;确定多个订单到期度量,每个订单到期度量与多个交易路由器系统中的一个相关联,并且每个订单到期度量指示从相关交易路由器系统发送的由于第三方系统中与该交易路由器系统通信的一个的对应未结交易在相关rtt内到期而无法执行的交易请求的平均数量;确定多个贬值度量,每个贬值度量基于订单到期度量中的一个并且与多个交易路由器系统中的一个相关联;其中每个贬值度量指示从相关交易路由器系统发送的交易请求将由于第三方系统中与该交易路由器系统通信的一个的对应未结交易在相关rtt内到期而无法执行的概率;至少部分地基于总有效流动性值和贬值度量来确定作为多个交易路由器系统中的一个的优化的交易路由器系统;以及将接收到的交易请求发送到优化的交易路由器系统,使得优化的交易路由器系统可以经由第三方系统中的一个或多个执行交易请求,从而优化交易请求的执行。
33.在一些实施例中,交易处理系统还被配置成:确定每个交易路由器系统的有效流动性比例;其中每个有效流动性比例指示相应交易路由器系统的总有效流动性值与总流动性之间的比率,总流动性是与该交易路由器系统通信的每个第三方系统的未结交易流动性之和;以及其中确定作为多个交易路由器系统中的一个的优化的交易路由器系统是至少部分地基于有效流动性比例和贬值度量。
34.在一些实施例中,由交易处理系统的交易路由优化器执行获取多个定时测量、确定多个流动性损失度量、确定多个有效剩余流动性值、确定每个交易路由器系统的总有效流动性值、确定多个订单到期度量、确定多个贬值度量和/或确定优化的交易路由器系统中的一个或多个。
35.在一些实施例中,由交易处理系统的交易路由优化器执行确定每个交易路由器系统的有效流动性比例。
36.在一些实施例中,线性流动性损失模型将每个定时测量与对应的流动性损失度量相关联。
37.在一些实施例中,确定多个有效剩余流动性值中的每一个包括计算流动性损失度量中的一个的补数。
38.在一些实施例中,确定每个有效流动性比例包括将总有效流动性值中的一个除以总流动性。
39.在一些实施例中,交易处理系统被配置成存储未结交易记录历史和/或已执行交易记录历史,其中基于对未结交易记录历史和/或已执行交易记录历史的分析来确定多个订单到期度量。
40.在一些实施例中,确定每个订单到期度量包括:对于与相关交易路由器系统通信的每个第三方系统,确定由于相关第三方系统的对应未结交易在相关rtt内到期而无法执
行的交易请求的数量;以及计算这些数量的平均值。
41.在一些实施例中,确定每个贬值度量包括:根据泊松分布对贬值度量进行建模,其中泊松分布的尺度参数(λ)是与相应交易路由器系统相关联的订单到期度量。
42.在一些实施例中,确定每个贬值度量包括:为每个交易路由器系统的多个订单深度中的每一个确定订单到期度量,使得每个订单深度与相应的订单到期度量相关联;对于每个订单深度,根据泊松分布对从相关交易路由器系统发送的交易请求将由于第三方系统中与该交易路由器系统通信的一个的对应未结交易在相关rtt内到期而无法执行的概率进行建模,其中泊松分布的尺度参数(λ)是与相应交易路由器系统相关联的订单到期度量;以及为每个订单深度确定概率模型值(e-λ
)。
43.在一些实施例中,交易处理系统被配置成根据每个概率模型值对应的订单深度来缩放每个概率模型值。
44.在一些实施例中,确定每个贬值度量包括将对应于相应交易路由器系统的概率模型值相加。
45.在一些实施例中,交易处理系统被配置成为三个订单深度确定订单到期度量。
46.在一些实施例中,确定优化的交易路由器系统包括确定与每个相应交易路由器系统相关联的总有效流动性值和贬值度量的乘积。
47.在一些实施例中,优化的交易路由器系统是具有最高乘积的交易路由器系统。
48.在一些实施例中,确定优化的交易路由器系统包括确定与每个相应交易路由器系统相关联的有效流动性比例和贬值度量的平均值。
49.在一些实施例中,优化的交易路由器系统是具有最高平均值的交易路由器系统。
50.在一些实施例中,交易处理系统还被配置成:访问包括多个第三方系统的多个未结交易的组合列表的未结交易记录存储库;基于未结交易记录存储库,将接收到的交易请求分为一个或多个拆分的交易请求;以及将一个或多个拆分交易请求中的每一个发送到第三方系统中的对应一个。
51.在一些实施例中,交易请求包括将第一单位计数的处置资产兑换为第二单位计数的所获取资产的请求。
52.在一些实施例中,交易处理系统还被配置成:基于交易请求,确定第一单位计数;在交易处理系统交换机处,将用户存款兑换为第一单位计数的处置资产;以及将第一单位计数的处置资产分为两个或更多个拆分单位计数的处置资产;以及将对两个或更多个拆分单位计数中的每一个的控制权转移到第三方系统中的相应一个,从而将那些第三方系统中的每一个的交易处理系统账户资本化。
53.在一些实施例中,第一资产是与不兑现货币挂钩的稳定不兑现加密货币。
附图说明
54.现在将参考附图通过示例的方式描述本公开的实施例,其中:
55.图1是根据一些实施例的系统的方框图;
56.图2是根据一些实施例的调整交易分布以优化交易请求的执行的方法的过程流程图;
57.图3是根据一些实施例的系统的方框图;
58.图4是根据一些实施例的用于优化交易请求的执行的方法的过程流程图;
59.图5是示出位于不同地理区域的交易路由器系统与位于不同地理区域的第三方系统之间的示例往返时间测量的表格;
60.图6是示出图5的交易路由器系统-第三方系统对的示例流动性损失度量的表格;
61.图7是示出图5和图6的交易路由器系统(trs)的示例总有效流动性值和有效流动性比例的表格;
62.图8是示出图5至图7的交易路由器系统的示例订单深度、权重因子、订单到期度量、概率模型值和贬值度量的表格;
63.图9是示出图5至图8的交易路由器系统的示例总有效流动性值、有效流动性比例、贬值度量和优化度量的表格;
64.图10是根据一些实施例的在每个第三方系统处对交易处理系统的账户余额进行资本重组的方法的过程流程图;
65.图11是多个区域性流动资金池的区域性第三方系统的方框图;
66.图12是示出可以在一些实施例中使用的记录在区块链上的交易链的方框图;
67.图13是示出可以在一些实施例中使用的区块链中的多个区块的连接的方框图;
68.图14是示出一些实施例的示例计算设备的方框图;
69.图15是示出一些实施例的优化交易路由器系统、交易路由优化器、系统数据接口、多个第三方系统和交易请求之间的关系的方框图;
具体实施方式
70.附图和以下描述仅通过说明的方式涉及优选实施例。本领域技术人员可以将本文公开的结构和方法的替代实施例识别为在不脱离所公开的原理的情况下可以采用的可行替代。
71.现在将详细参考几个实施例,在附图中示出其示例。应注意,只要可行,类似或相似的附图标记可以在附图中使用并且可以指示类似或相似的功能。附图仅出于说明的目的描绘所公开的系统(或方法)的实施例。本领域技术人员将从以下描述中容易地认识到,在不脱离本文描述的原理的情况下,可以采用本文所示的结构和方法的替代实施例。
72.利于资产兑换的金融市场可以分布于全球。例如,利于资产兑换的第三方系统(例如资产交易所)可位于许多不同的地理区域。诸如纽约和伦敦等地区是拥有许多利于资产兑换的第三方系统的金融中心。这些第三方系统可以由共同的实体运营,或者可以由不同的实体运营。位于许多不同地理区域的第三方系统(即加密货币交易所)也利于资产(例如加密货币)交易。每个第三方系统可以利于以该第三方系统所在的地理区域的当地货币(例如,当地不兑现货币)兑换资产。没有机制可以轻松地在第三方系统之间移动资产或路由交易请求,尤其是在不同地理区域的系统之间。这可能导致资产价格在地理上分布开的第三方系统之间不同。
73.图11示出了资产的多个交易所10的示例。如图11中所示,资产在不同地理区域的第三方系统上的估值不同。特别是,图11示出了许多第三方系统,这些系统利于兑换一个单位的资产(例如公司股票、加密货币)。可以在北美第三方系统(nyc)上以100美元的价格购买一个单位的资产。这可能是纽约市的资产交易所(例如证券交易所、加密货币交易所等)。
一个单位的相同或等价资产(例如同一公司的另一股票、另一单位的同一加密货币)也可以在北美地区的许多其他第三方系统上进行兑换。例如,在图11中,北美地区还包括加拿大第三方系统(cad)和旧金山第三方系统(san fran),它们都利于资产的交易。该资产可以在加拿大第三方系统中以加元(cad)进行交易。该单位的资产在不同的交易所以不同的价格提供,即使在北美地区内也是如此。这是资产交易所的典型特征,因为资本和资产在交易所之间的流动并非畅通无阻。即,即使在一个地理区域内,也没有机制可以轻松地在第三方系统之间转移资金和资产。
74.图11还示出了位于其他地理区域的第三方系统的示例。这些第三方系统位于不同的地理区域,包括南美洲(sa)、欧洲(ep)和亚太地区(apac)。每个地区都包括第三方系统,以利于当地不兑现货币的资产兑换。有位于南美洲,巴西(brz)、阿根廷(arg)和秘鲁(peru)的第三方系统,它们分别利于以巴西雷亚尔(rea)、阿根廷比索(pes)和秘鲁索尔(sol)进行交易。在亚太地区,有位于中国香港(hk)、韩国(sk)、东京(tk)和澳大利亚(aus)的第三方系统,它们分别利于以港元(hkd)、韩元(skw)、日元(yen)和澳元(aud)进行交易。在欧洲(ep),有位于英国(uk)、德国(ger)、法国(fra)、西班牙(sp)、意大利(it)和波兰(pol)的第三方系统,它们利于以英镑(gbp)和欧元(eur)进行交易。
75.这些交易所的标准化最佳美元投标和报价显示交叉市场(导致负价差)。如果资本和资产的流动不受阻碍,套利者可能会利用这一点,跨第三方系统的价格可能会相等。
76.因此,阻碍第三方系统之间的资产和资本流动是优化与在这些第三方系统上兑换资产相关的交易请求的障碍。本公开的一些实施例针对相应地优化交易请求的执行。
77.系统概述
78.图1示出了根据本公开的实施例的用于优化交易请求的执行的示例系统100。系统100包括交易处理系统110,如下文更详细描述。
79.第三方系统130a-n
80.系统100包括多个第三方系统130a-n。将理解,系统100可以包括任何数量的第三方系统130a-n,使得n是第三方系统130a-n的总数。
81.第三方系统130a-n各自包括一个或多个计算系统。第三方系统130a-n各自包括一个或多个数据馈送134a-n。第三方系统130a-n可以使这些数据馈送134a-n公开可用,或对许多其他方可用。例如,第三方系统130a-n可以使这些数据馈送134a-n对交易处理系统110可用。在一些实施例中,第三方系统130a-n可以向交易处理系统110提供数据馈送134a-n。例如,第三方系统130a-n可以将数据馈送134a-n传输到交易处理系统110。在一些实施例中,一个或多个数据馈送134a-n可以是市场网关的形式。
82.数据馈送134a-n可以包括关于一个或多个特定数据源的连续更新的信息。即,每个数据馈送134a-n可以包括与其相应的第三方系统130a-n相关的连续更新的信息。数据源可以包含关于在相应数据馈送134a-n中描述的一些元素的信息。因此,数据馈送134a-n可以包括关于交易(例如,在金融市场进行的订单、在零售组织的采购订单、物流更新、运输信息)的持续更新的信息、新闻(例如,突发新闻)、预测(例如,天气报告)、当前状态(例如,设备状态、公共交通、卫星位置)等。可以使用各种数据格式来提供每个数据馈送134,诸如csv(逗号分隔值)、xml(可扩展标记语言)等。每个数据馈送134a-n可以使用定制格式提供,诸如具有扩展字符集或使用二进制字符,并且其中的数据可以在传输之前被加密。特定第三
方系统130a-n的数据馈送134a-n可以不同于另一第三方系统130a-n的数据馈送134a-n。即,与一个第三方系统130a-n相关的持续更新的信息可能与另一第三方系统130a-n的信息不同。
83.一个或多个数据馈送134a-n可以在一个或多个更新中可用。每个更新都可以随着数据的生成而发生,或者可以定期生成。例如,在交易的情况下,数据馈送134中的更新包括描述新的未结交易、对现有未结交易的修改、已执行的交易等的数据条目。每个更新都可以具有关于数据馈送134本身的信息(例如,指示数据馈送134呈现的数据类型的标识符或符号),以及关于被描述的元素的信息。
84.第三方系统130a-n中的一个的未结交易可以包括各种参数。例如,未结交易可以包括目标、价值金额、报告的单位计数、时间戳和交易流向。目标可以是特定资产的标识符,诸如与未结交易相关的股票、债券或加密货币。价值金额指示该未结交易的目标的价值金额(即目标可以兑换的价格)。报告的单位计数指示该价值金额的目标单位数。时间戳指示交易处理系统110接收到未结交易的时间。交易流向指示未结交易的流向,无论是汇入还是汇出。这可以分别对应于买入或卖出。
85.因此,在未结交易的情况下,对应的数据馈送134a-n条目可以包括关于交易类型、目标、单位计数、价值金额、交易时间戳等的信息。通过接收数据馈送更新,接收方计算设备可能能够确定在数据馈送134a-n中描述的元素的当前状态。例如,在数据馈送134a-n包括关于未结交易的信息的情况下,数据馈送134a-n允许系统确定由数据馈送134a-n描述的未结交易的完整状态,即,允许系统确定市场/交易所包括这些未结交易的当前状态。
86.一个或多个第三方系统130a-n可以可选地包括第三方系统接口132a-n。每个第三方接口132a-n可以允许相应第三方系统132a-n外部的计算系统访问在第三方系统130a-n处生成和/或存储的数据,诸如数据馈送134a-n。每个第三方系统接口132a-n可以向外部系统呈现标准化的数据访问方法,诸如经由使用应用程序接口(api)或其他过程。在一些实施例中,第三方系统接口132a-n可以为外部系统(例如交易处理系统110或其部件)提供标准化的api和消息传递格式。这些标准化数据访问方法还可以允许诸如交易处理系统110之类的外部系统向第三方系统130a-n进行认证。标准化的数据访问方法可以遵守rest(具象状态传输)约束条件。
87.在一些实施例中,每个第三方系统130a-n可以包括多个第三方系统接口132a-n,如果正在使用的第三方系统接口132a-n出现故障或变得不可用,则创建一些用于冗余。
88.第三方系统130a-n中的一个或多个可以包括订单执行接口136a-n。在一些实施例中,第三方接口132a-n中的一个或多个可以包括相应的订单执行接口136a-n。每个订单执行接口136a-n可以允许相应第三方系统130a-n外部的计算系统向该第三方系统130a-n发送交易请求。即,每个订单执行接口136a-n可以允许相应的第三方系统130a-n接收交易请求。每个订单执行接口136a-n可以是订单执行网关的形式。在一些实施例中,订单执行接口136a-n可以为外部系统(例如交易处理系统110或其部件)提供标准化的api和消息传递格式。可以经由网络150接收交易请求。在一些实施例中,每个第三方系统130a-n可以包括多个订单执行接口136a-n,如果正在使用的订单执行接口136a-n出现故障或变得不可用,则创建一些用于冗余。
89.每个第三方系统130a-n包括未结交易流动性。每个第三方系统130a-n包括在相应
第三方系统130a-n上可用的每个目标的未结交易流动性。第三方系统130a-n的未结交易流动性是第三方系统130a-n的目标中的一个的价值金额之和。例如,在目标是比特币(btc)的情况下,每个第三方系统130a-n包括对应于在该第三方系统130a-n上的未结交易中可用的比特币的价值的未结交易流动性。这可能以目标本身(例如1000btc)或另一要素(例如美元)计价。
90.在一些示例中,第三方系统130a-n中的一个或多个是货币和/或加密货币交易所。
91.网络150
92.系统100的元件可以经由网络150进行通信。网络150可以是例如互联网、局域网等。一些元件可以通过一个网络进行通信,而其他元件可以使用单独的网络进行通信。这些单独网络中的每一个都可以类似于网络150。在一个实施例中,网络150使用标准通信技术和/或协议。因此,网络150可以包括使用诸如以太网、702.11、直接微波点对点连接、微波接入的全球互操作性(wimax)、3g、数字用户线(dsl)、异步传输模式(atm)、infiniband、pci express高级交换等技术的链接。类似地,网络150上使用的网络协议可以包括多协议标签交换(mpls)、传输控制协议/互联网协议(tcp/ip)、用户数据报协议(udp)、超文本传输协议(http)、简单邮件传输协议(smtp)、文件传输协议(ftp)等。通过网络150交换的数据可以使用包括超文本标记语言(html)、可扩展标记语言(xml)等技术和/或格式来表示。此外,所有或一些链接都可以使用常规加密技术进行加密,诸如安全套接字层(ssl)、传输层安全(tls)、虚拟私有网络(vpn)、互联网协议安全(ipsec)等。在另一个实施例中,用以代替或除上述技术之外,系统100中的元件可以使用定制和/或专用数据通信技术。例如,网络150可以使用避免元件之间的tcp/ip握手惩罚的精益tcp/ip协议以减少通信延迟。
93.客户端设备140
94.系统100还包括客户端设备140。客户端设备140可以由用户操作并且被用户用作前端设备,用户可以利用该前端设备访问由交易处理系统110生成的数据,并且向交易处理系统110提交请求。例如,客户端设备140可能够向用户呈现未结交易的列表,并且允许用户提交执行交易的请求。合适的客户端设备140的示例包括个人计算机(pc)、台式计算机、膝上型计算机、平板计算机、智能电话、诸如智能手表的可穿戴电子设备或其他合适的电子设备。
95.客户端设备140可以包括客户端设备界面142。客户端设备界面142可以由交易处理系统110(例如,交易路由器系统112a-m)或由客户端设备140执行的计算机可读指令提供。用户可能能够经由客户端设备界面142访问数据或在交易处理系统110处可用。此外,用户还能够经由客户端设备界面142提交交易请求。客户端设备界面142可以采用不同的形式。在一个实施例中,客户端设备界面142是软件应用程序的部件,其可以由交易处理系统110或交易处理系统110的运营商提供。例如,软件应用程序可以提供可以在客户端设备140处提供的前端用户接口。软件应用程序可以是可以在客户端设备140处获取(例如,下载)和安装或执行的计算机可执行代码包。在另一个实施例中,客户端设备界面142可以是直接经由交易处理系统110或其他服务器提供的接口。例如,客户端设备界面142可以是一个或多个网页。客户端设备界面142可以包括显示各种信息和图形元素的图形用户界面(gui)。在另一个实施例中,客户端设备界面142可以不包括图形元素但可以经由诸如应用程序接口(api)之类的其他合适的方式与交易处理系统110通信。
96.交易处理系统110
97.如先前所述,系统100包括交易处理系统110。交易处理系统110被配置成利于提供给交易处理系统110的交易请求的执行。交易请求可以包括各种参数。例如,交易请求可以包括目标、价值金额、报告的单位计数、时间戳和/或交易流向。目标可以是特定资产的标识符,诸如与交易请求相关的股票、债券或加密货币。价值金额指示该交易请求的目标的价值金额。报告的单位计数指示该价值金额的目标单位数。时间戳指示交易处理系统110接收到交易请求的时间。交易流向指示交易的流向,无论是汇入还是汇出。这可以分别对应于买入或卖出。
98.未结交易记录存储库118
99.交易处理系统110包括至少一个未结交易记录存储库118。交易处理系统110被配置成从第三方系统130a-n的每个数据馈送134a-n获取可用信息。交易处理系统110处理从第三方系统130a-n的数据馈送134a-n获取的信息,并且将该信息本地存储在未结交易记录存储库118的一个或多个汇总记录119a-k中。在一些实施例中,每个汇总记录119a-k存储来自单个目标的所有数据馈送134a-n的所有信息。该目标是与该汇总记录119a-k中的一些或所有数据相关的指示符,并且可以在从数据馈送134a-n接收的更新中指示。例如,目标可以是特定资产的标识符,诸如股票、债券或加密货币。
100.未结交易记录存储库118包括来自交易处理系统110从中获取信息的所有第三方系统130a-n的多个数据馈送134a-n的信息。交易处理系统100还处理对第三方系统130a-n的数据馈送134a-n的更新并且在本地存储这些更新。即,交易处理系统100根据对数据馈送134a-n的更新来更新未结交易记录存储库118。因此,未结交易记录存储库118包括最新的汇总记录119a-k。
101.特别地,未结交易记录存储库118基于从数据馈送134a-n获取的数据条目来保持本地版本的数据馈送134a-n。这些数据条目可以指示已创建的新未结交易、对现有未结交易的修改或已在相关第三方系统130a-n上执行的未结交易。这种未结交易是可以根据用户或其他实体的请求执行的交易。在从数据馈送134a-n获取更新时,交易处理系统110更新存储在未结交易记录存储库118中的未结交易列表。即,交易处理系统110根据更新的数据条目来更新相关的汇总记录119a-k。
102.未结交易记录存储库118中指示未结交易的每个条目(即每个汇总记录119a-k的每个条目)还可以包括价值金额、报告的单位计数、时间戳和交易流向。价值金额指示该未结交易数据条目的目标的价值金额。报告的单位计数指示该价值金额的目标单位数。时间戳指示第三方系统130a-n接收到未结交易的时间,该第三方系统提供数据馈送134a-n,从该数据馈送获取未结交易的信息。交易流向指示交易的流向,无论是汇入还是汇出。这可以分别对应于买入或卖出。因此,目标“b”的未结交易记录存储库118中的一个条目可以指示价值金额“1000”,报告的单位计数为“5”,交易流向为汇入。这可以对应于可用于执行以1000的价值金额获取5个单位的目标b的未结交易。在这种情况下,第三方系统130a-n中的一个的用户可以经由交易请求请求执行该未结交易。在执行时,用户可以将目标指示的5个单位的项目传送给将该特定未结交易分派给第三方系统130a-n中的一个的用户。作为兑换,用户会针对该交易接收价值5000的金额。如果交易流向为汇出,则执行未结交易将导致用户接收到5个单位的目标“b”,每个单位的价值金额为1000。用户必须将价值5000的金额
转移给提交未结交易的外部用户。在一些实施例中,第三方系统130a-n的用户是交易处理系统110。
103.未结交易记录存储库118中的未结交易条目还可以基于一个或多个参数进行排名。在一个实施例中,根据未结交易中指示的价值金额对未结交易进行排名。对于具有汇出交易流向的未结交易,可以将价值金额最低的未结交易排在第一位。对于具有汇入交易流向的未结交易,可以将价值金额最高的未结交易排在第一位。如果两个未结交易的价值金额相同,还可以进一步根据时间戳进行排名,时间戳最久的未结交易排名最高。
104.在一些情况下,交易处理系统110可以从数据馈送134a-n获取指示对未结交易记录存储库118的现有未结交易的修改的数据条目。替代地,相关的第三方系统130a-n可以将该数据提供给交易处理系统110。在这种情况下,交易处理系统110可以根据数据馈送条目中的指令修改现有的未结交易。该修改可以包括对存储在未结交易记录存储库118中的未结交易中的任何值的修改,诸如价值金额、报告的单位计数等。从数据馈送134a-n接收的数据条目还可以指示交易被执行(即,被填充)。在这种情况下,交易处理系统110可以从汇总记录119a-k(未结交易记录存储库118)中移除未结交易条目。
105.因此,未结交易记录存储库118存储一个或多个汇总记录119a-k,其中每个汇总记录119a-k存储关于特定目标的未结交易,并且其中每个汇总记录119a-k存储从多个第三方系统130a-n的数据馈送134a-n获取的未结交易。未结交易记录存储库118可以存储在可以由交易处理系统110的其他部件访问的共享存储空间中。
106.未结交易记录历史存储库
107.在一些实施例中,交易处理系统110包括未结交易记录历史存储库(未示出)。未结交易记录历史存储库存储历史版本的未结交易记录存储库118。未结交易记录历史存储库可以为未结交易记录存储库118的每次改变存储新副本的未结交易记录存储库118,即新的历史未结交易记录。替代地,未结交易记录历史存储库可以根据调度(例如,每秒一次)周期性地存储未结交易记录存储库118的新的历史未结交易记录。在一个实施例中,每小时创建至少一个历史未结交易记录。历史未结交易记录可以存储为不同副本,即,每个新副本仅存储对先前副本的更改。未结交易记录历史存储库可以存储在基于磁盘的数据库中。每个历史未结交易记录可以具有唯一的标识符、时间戳和其他元数据,诸如副本的交易目标、副本与先前副本相比的更改次数等。
108.已执行交易历史存储库
109.在一些实施例中,交易处理系统110包括已执行交易记录历史存储库(未示出)。已执行交易记录历史存储库存储已执行交易记录,这些已执行交易记录是已被用户(诸如客户端设备140的用户)请求执行并且随后被执行的交易。这些已执行交易是在未结交易记录存储库118中列出的已请求执行的未结交易。交易可以由用户直接请求,或者经由路由系统,诸如交易路由器系统112a-m中的一个来请求,所述路由器系统将交易请求从用户路由到相应的第三方系统130a-n以执行一个或多个未结交易。一旦执行,根据上述未结交易中指示的参数(例如,价值金额、报告的单位数、交易流向、目标),发生在未结交易中指示的交易。交易可以涉及两个实体,其中一个可以是连接到交易处理系统110的客户端设备140的用户。
110.每个已执行交易记录包括关于通过存储未结交易的副本或对未结交易的引用(例
如,对存储在未结交易记录历史存储库中的未结交易的引用)而被执行的未结交易的信息。此外,已执行交易记录历史存储库为每个已执行交易记录存储已执行单位计数。已执行单位计数是交易中执行的实际单位计数,并且可能与未结交易中指示的报告单位计数不同。每个已执行交易记录还存储请求的单位计数,它对应于在执行未结交易时请求的单位数。未结交易的请求单位计数可以小于或等于该未结交易的报告单位计数,并且指示用户或其他实体希望从未结交易中可用的单位计数进行交易的所需单位数(如由报告的单位计数指示)。
111.调整后的交易记录存储库
112.在一些实施例中,交易处理系统100包括调整后的交易记录存储库。可以基于已执行交易记录历史存储库和未结交易记录历史存储库来生成调整后的交易记录存储库。在一些实施例中,调整后的交易记录存储库由交易处理系统110生成,如国际专利申请第pct/ib2020/051578号和美国专利申请第16/508,192号中所述,这两者的内容整体以引用方式并入本文中。例如,如国际专利申请第pct/ib2020/051578号或美国专利申请第16/508,192号中所述,可以由交易分析器生成调整后的交易记录存储库。
113.交易路由器系统112a-m
114.交易处理系统110包括一个或多个交易路由器系统112a-m。例如,交易处理系统110可以包括第一交易路由器系统112a和第二交易路由器系统112b。然而,将理解,系统100可以包括任何数量的交易路由器系统112a-m,使得m是交易路由器系统112a-m的总数。
115.每个交易路由器系统112a-m通过网络150与多个第三方系统130a-n通信。在一些实施例中,每个交易路由器系统112a-m与每个第三方系统130a-n通信。在一些实施例中,每个交易路由器系统112a-m与第三方系统130a-n的子集通信。例如,特定地理区域的交易路由器系统112a-m可以仅与同样位于该地理区域中的第三方系统130a-n进行通信。
116.出于本公开的目的,位于特定地理区域旨在包括至少物理上位于相应区域中,或看起来物理上位于相应区域中。这种解释可能与本公开的每个特征相关。例如,如果与第三方系统130a-n相关联的计算硬件物理地位于该地理区域中,则可以认为第三方系统130a-n中的一个位于该地理区域中。此外,如果第三方系统130a-n中的一个在(例如通过网络150)与其通信时对于其他人来说看起来位于该地理区域中,则可以认为该第三方系统130a-n中的一个位于该地理区域中。例如,如果相应第三方系统130a-n的ip地址指示该第三方系统130a-n位于相应地理区域中,则认为该第三方系统130a-n位于相应地理区域中,即使与该第三方系统130a-n相关联的计算硬件在物理上并不位于该地理区域中亦如此。
117.每个交易路由器系统112a-m可以位于相应的地理区域中。地理区域可以被定义为使得只有单个交易路由器系统112a-m位于特定地理区域中。例如,地理区域可以被定义为通常对应于北美洲、南美洲、欧洲/非洲和亚太地区。欧洲/非洲可以将欧洲和非洲合并为一个地理区域。可以存在四个交易路由器系统112a-d,其中一个交易路由器系统112a-d位于四个地理区域的每一个中。每个地理区域可以包括如先前公开的一个或多个第三方系统130a-n。每个交易路由器系统112a-d可以仅与位于交易路由器系统112a-d的地理区域中的第三方系统130a-n通信。
118.交易处理系统110的每个交易路由器系统112a-m被配置成将交易请求路由到第三方系统130a-n中的一个或多个以执行一个或多个未结交易。特别地,每个交易路由器系统
112a-m被配置成将执行在未结交易记录存储库118或调整后的交易记录存储库(如果存在)中列出的未结交易的请求路由到第三方系统130a-n,使得被选择执行的未结交易在各种第三方系统130a-n中是最佳地选择和分布的。
119.在一些实施例中,交易路由器系统112a-m中的一个或多个包括未结交易记录存储库118、汇总记录119a-k、未结交易记录历史存储库、已执行交易记录历史存储库和/或调整后的交易记录存储库(或它们的副本)。在一些实施例中,交易路由器系统112a-m中的每一个包括未结交易记录存储库118、汇总记录119a-k、未结交易记录历史存储库、已执行交易记录历史存储库和/或调整后的交易记录存储库(或它们的副本)。
120.技术问题
121.存在与将交易请求路由到第三方系统130a-n中的一个或多个以执行一个或多个未结交易相关联的许多技术问题。交易处理系统110、与第三方系统130a-n中的每一个之间的通信不是瞬时的。即,存在与交易处理系统110的一个或多个部件与第三方系统130a-n中的一个之间通过网络150的通信相关联的延迟。该延迟是信号在相关交易路由器系统112a-m与第三方系统130a-n之间的往返时间(rtt)。即,延迟是系统100的一个部件向系统100的另一个部件发送信号并且从其被发送到的部件接收对该信号的确认所花费的时间长度的度量。例如,交易路由器系统112a-m中的每一个将与通过网络150与之通信的第三方系统130a-n中的每一个具有相应的延迟。该延迟指示从交易路由器系统112a-m发送到第三方系统130a-n的信号被第三方系统130a-n接收所花费的时间,以及从第三方系统130a-n发送到交易路由器系统112a-m的确认被交易路由器系统112a-m接收所花费的时间(即相关交易路由器系统112a-m与第三方系统130a-n之间的信号的rtt)。主要市场中心之间的互联网通信的延迟可能很明显。例如,中国香港与纽约之间的互联网通信的延迟可能超过300毫秒。
122.与将交易请求路由到第三方系统130a-n中的一个或多个以执行一个或多个未结交易相关联的另一个技术问题与未结交易的有效期限有关。第三方系统130a-n的大部分未结交易具有相对较短的有效期限。例如,很大一部分未结交易的有效期限可能不到5秒。交易路由器系统112a-m与第三方系统130a-n之间的延迟会导致交易路由器系统112a-m基于陈旧信息路由交易请求。即,交易路由器系统112a-m路由交易请求所基于的一个或多个未结交易可以在与交易路由器系统112a-m与相关第三方系统130a-n之间的延迟相当的时间段内被取消。这可能导致交易请求执行失败,或以低于预期的价格执行交易请求。以低于预期的价格执行交易请求可称为贬值。这也可能导致与希望执行在相关第三方系统130a-n处可用的未结交易的其他实体的竞争条件。
123.调整交易分布以优化交易请求执行的方法
124.本公开的每个交易路由器系统112a-m可以参考未结交易记录存储库118,并且尝试基于未结交易记录存储库118将交易请求路由到第三方系统130a-n中的一个或多个。图2是示出根据实施例的调整交易分布以优化交易请求的执行的示例方法200的流程图。在一个实施例中,所示操作由交易处理系统110执行。特别地,所示方法200由交易路由器系统112a-m中的至少一个执行。方法200可以由下面更详细描述的优化交易路由器系统来执行。
125.在202处,交易路由器系统112a-m接收交易请求以执行包括请求计数的交易。交易请求可以由交易处理系统110接收,并且提供给交易路由器系统112a-m。这可以是来自客户端设备140的请求并且可以是汇总请求。请求的计数可以包括如先前所述的价值金额。请求
的计数可以包括如先前所述的汇入或汇出方向。在一些实施例中,交易路由器系统112a-m中的一个或多个(例如,从客户端设备140)直接接收交易请求。该交易路由器系统112a-m可以(例如,经由网络150)与一个或多个其他交易路由器系统112a-m共享交易请求。交易请求使交易路由器系统112a-m启动执行如上所述的与各种第三方系统130a-n的一个或多个未结交易。
126.在204处,交易路由器系统112a-m访问包括如先前所述从第三方系统130a-n接收的多个未结交易的组合列表在内的未结交易记录存储库118。在一些实施例中,交易路由器系统112a-m存储未结交易记录存储库118的本地副本并且访问该未结交易记录存储库118。在其他实施例中,交易处理系统110的另一部件存储由交易路由器系统112a-m访问的未结交易记录存储库118。在一些实施例中,交易路由器系统112a-m访问未结交易记录存储库118的调整后的交易列表。每个未结交易包括每个未结交易的请求单位计数。交易计数可以包括如先前所述的价值金额和/或汇入或汇出方向。
127.在206处,交易路由器系统112a-m基于未结交易记录存储库118将接收到的交易请求分为一个或多个拆分的交易请求。一个或多个拆分的交易是由交易路由器系统112a-m路由到相关第三方系统130a-n的交易。每个拆分交易的每个请求单位计数将具有第三方系统130a-n处的未结交易的请求单位计数,其小于或等于该未结交易的调整后的单位计数。
128.在208处,交易路由器系统112a-m将一个或多个拆分交易请求中的每一个发送到对应的第三方系统130a-n以供执行。在执行之后,每个第三方系统130a-n以执行结果进行响应。交易路由器系统112a-m可以将每个拆分交易请求作为独立交易请求发送到相关第三方系统130a-n,目标是第三方系统130a-n经由其数据馈送134a-n报告的各个未结交易。替代地,在至少一个实施例中,交易请求可以作为单个汇总请求传输到第三方系统130a-n,而目标不是第三方系统130a-n经由其数据馈送134a-n报告的单个未结交易。在这种情况下,单个汇总请求可以具有各种参数,包括汇总请求单位计数(即,汇总请求中请求执行的总单位计数),以及价值金额(和交易流向)。然后第三方系统可以通过执行与请求匹配的未结交易来执行该请求,直到所有已执行交易的已执行单位计数与请求中的请求单位计数相匹配为止。
129.在210处,交易路由器系统112a-m从参与交易请求的执行的第三方系统130a-n中的每一个接收指示拆分交易的执行的已执行计数的执行报告。执行计数可以包括对所执行的未结交易的价值金额和/或汇入或汇出方向的计数。
130.订单路由模块116
131.交易处理系统100还包括订单路由模块116。如下文更详细描述,订单路由模块116被配置成确定优化的交易路由系统112a-m。在一些实施例中,订单路由模块116被配置成确定优化的交易路由系统112a-m,如参考计算机实现的方法400所描述。在一些实施例中,每个交易路由系统112a-m可以包括相应的订单路由模块116。在这些实施例中,每个交易路由器系统112a-m的订单路由模块116可以执行如下所述的方法400。在一些实施例中,当执行方法400时,每个订单路由模块116达到相同的结果,因此,每个都知道被授权将交易请求发送到第三方系统130a-n的优化的交易路由系统112a-m。
132.交易处理系统交换器122
133.交易处理系统100还包括交易处理系统交换机122。如先前所述,希望跨多个第三
方系统进行交易的客户端实体通常需要在每个单独的第三方系统上管理和操作账户。这至少部分是因为当地居民和银行账户对在相关交易所持有账户的实体施加了限制而不可行。
134.因为系统100包括交易处理系统交换机122,所以交易处理系统100的用户不需要在每个单独的第三方系统上管理和操作账户以获得由那些系统提供的流动性的优势。相反,包括交易处理系统交换机122的交易处理系统100的运营商可以在每个第三方系统130a-n处维护账户。交易处理系统100的运营商还可以在每个第三方系统130a-n中维持余额。交易处理系统100的运营商可以例如在每个第三方系统130a-n处具有一个或多个账户。交易处理系统100的运营商可以在这些账户的每一个中维持一个或多个资产的余额。所维持的余额可以提供资金以允许交易处理系统100执行本文描述的交易请求。维持的余额可以是当地不兑现货币,或者是与当地不兑现货币价值挂钩的工具。
135.在一些实施例中,第三方系统130a-n中的一个或多个允许以加密货币进行存款。特别地,在一些实施例中,第三方系统130a-n中的一个或多个允许以一种或多种稳定不兑现加密货币进行存款。稳定不兑现加密货币是一种旨在将稳定不兑现加密货币相对于不兑现货币的价格波动最小化的加密货币。稳定不兑现加密货币可以被认为是价值的数字表示,并且可以使用如本文所述的区块链技术以允许在实体之间转移对稳定不兑现加密货币的货币单位的控制权。一个单位的稳定不兑现加密货币的价值可能与政府发行的不兑现货币的价值挂钩。例如,一个单位的稳定不兑现加密货币可能与一美元的价值挂钩。这种稳定不兑现加密货币可以允许在实体之间转移对稳定不兑现加密货币的单位的控制权,因此,可以允许转移等量美元的价值转移。在一些实施例中,稳定不兑现加密货币的单位可赎回标的资产。因此,在之前稳定不兑现加密货币与美元价值挂钩的情况下,每个单位可以兑换1美元。稳定不兑现加密货币可以与多种货币中的一种挂钩,例如,美元(usdd稳定不兑现货币)、英镑(gpbd稳定不兑现货币)或韩元(krwd稳定不兑现货币)。由于区块链技术的性质,如下文更详细地描述,这些稳定不兑现加密货币可以从世界任何地方的区块链地址几乎即时地发送到世界其他任何地方的另一区块链地址。在一些实施例中,一种或多种稳定不兑现货币可以被称为稳定币。
136.交易处理系统交换机122可以是利于稳定不兑现加密货币交换的稳定不兑现交换机,如下文进一步详细描述。特别地,交易处理系统交换机122可以利于不兑现货币与与相应不兑现货币挂钩的稳定不兑现加密货币的交换。稳定不兑现加密货币可以在交易处理系统交换机122处赎回不兑现货币。
137.交易处理系统交换机122包括稳定不兑现加密货币订单存储库124。稳定不兑现加密货币订单存储库124包括利于不兑现货币兑换相应稳定不兑现加密货币和稳定不兑现加密货币兑换相应不兑现货币的多个未结交易。因此,交易处理系统100的用户可以将他们的当地不兑现货币兑换为一种或多种稳定不兑现加密货币,这些稳定不兑现加密货币与交易处理系统交换机122处的一种或多种当地不兑现货币挂钩并且赎回一种或多种当地不兑现货币。
138.在一些实施例中,交易处理系统110的用户可以将资金(例如不兑现货币、加密货币等)存入交易处理系统110的账户,并且交易处理系统110可以使用该存款来提供必要的资金来执行本文公开的交易请求。
139.交易处理系统交换机122被配置成与第三方系统130a-n中的每一个进行通信。特
别地,交易处理系统交换机122被配置成将一个或多个资产从交易处理系统交换机122的控制权转移到第三方系统130a-n中的每一个的控制权。在一些实施例中,交易处理系统交换机122被配置成将一个或多个资产从交易处理系统110的用户账户(可以是交易处理系统交换机122上的账户)转移到第三方系统130a-n上的一个或多个交易处理系统账户。当在相应的第三方系统130a-n上执行交易请求时,可以提取交易处理系统账户。
140.虽然被描述为交易处理系统110的部件,但是将理解,在一些实施例中,交易处理系统交换机122可以独立于交易处理系统110。即,交易处理系统交换机110的运营商可能与交易处理系统交换机122的运营商不同。在这种情况下,交易处理系统110可以经由网络150与交易处理系统交换机122通信以执行本文描述的功能。
141.因此,系统100还可以可选地包括一个或多个区块链(未示出),其可以被网络150上的元件访问以在一个或多个区块链上记录已执行交易。例如,数据馈送130a-n可以包括关于具有记录在各种区块链上的交易分类帐的各种加密货币之间的汇率的数据。客户端设备140通过访问交易处理系统110来请求执行未结交易,可能能够看到关于所有数据馈送134a-n的信息,因此看到这些加密货币的汇率。客户端设备140通过访问交易处理系统110以请求执行未结交易,可能能够经由交易处理系统交换机122查看关于与它们当地不兑现货币转换为一种或多种稳定不兑现加密货币相关联的所有未结订单的信息。随后,用户可能能够使用客户端设备140来请求执行这些未结交易以兑换这些各种加密货币。在完成交易时,第三方系统130a-n、交易处理系统110或一些其他实体可以将交易提交到对应的区块链以通过将它们记录到相应的区块链分类帐来实现交易的完成。区块链可以是公共区块链。公共区块链网络可以包括多个节点,这些节点协作验证交易并且生成新区块(可以记录有关加密货币的交易信息)。在区块链的一些实现方式中,新区块的生成也可以称为挖矿过程。区块链可以支持智能合约,智能合约是当满足一个或多个条件时可执行的一组代码指令。当被触发时,该组代码指令可以由诸如区块链的虚拟机之类的计算机执行。本文中,计算机可以是传统意义上的单个操作单元(例如,单个个人计算机),或者可以是协作执行代码指令的一组分布式计算设备(例如,虚拟机或分布式计算系统)。这种公共区块链平台的示例包括比特币、以太坊、eos、neo、cardano、stellar等。在一些实施例中,可以采用私有区块链。例如,一种或多种稳定不兑现货币可以通过私有区块链进行交易。下面参考图12和图13描述了有关区块链属性的其他详细信息。
142.交易处理系统110包括兑换价值优化器164。如下文更详细地描述,兑换价值优化器164被配置成执行计算机实现的方法1000。特别地,兑换价值优化器164被配置成利于使用交易处理系统交换机122执行交易请求所涉及的第三方系统130a-n上的交易处理系统账户的资本化或资本重组。
143.交易处理系统的进一步示例
144.图3示出了参考图1描述的系统100和交易处理系统110的示例实施例。交易处理系统110包括计算设备160。虽然参考图3的交易处理系统110进行了描述,但是将理解,图1的交易处理系统110可以包括计算设备160。计算设备160包括设备处理器161和设备存储器163。
145.设备处理器161被配置成执行存储在设备存储器163中的指令以使计算设备160根据所描述的方法运行。在一些实施例中,指令是指令程序代码的形式。设备处理器161可以
m公开的一个或多个特征。
154.每个交易路由器系统112a-m包括处理器165和存储器167。处理器165被配置成执行存储在存储器167中的指令以使交易路由器系统112a-m根据所描述的方法运行。在一些实施例中,指令是指令程序代码的形式。处理器165可以包括一个或多个微处理器、中央处理单元(cpu)、专用指令集处理器(asip)、专用集成电路(asic)或能够读取和执行指令代码的其他处理器。
155.存储器167可以包括一种或多种易失性或非易失性存储器类型。例如,存储器167可以包括随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)或闪存中的一种或多种。存储器167被配置成存储处理器165可访问的程序代码。程序代码包括可执行程序代码模块。换言之,存储器167被配置成存储被配置成可由处理器165执行的可执行代码模块。如下文更详细地描述,可执行代码模块在被处理器165执行时使交易路由器系统112a-m执行某些功能。
156.每个交易路由器系统112a-m包括路由器订单执行接口166。路由器订单执行接口166是存储在存储器167中的可执行代码模块。然而,将理解,在其他实施例中,路由器订单执行接口166可以是独立的计算设备。每个交易路由器系统112a-m经由其路由器指令执行接口166与第三方接口132a-n通信。即,交易路由器系统112a-m经由其路由器订单执行接口166向第三方系统130a-n中的一个或多个发送交易请求。在一些实施例中,路由器订单执行接口166可以是规范化订单执行api的形式。第三方系统130a-n中的一个或多个可以要求入站交易请求具有特定数据结构。不同的第三方系统130a-n可能需要具有与其他第三方系统130a-n不同的数据结构的交易请求。路由器订单执行接口166可能能够与每个第三方系统130a-n通信以根据相应第三方系统130a-n的所需数据结构提供一个或多个交易请求。在这样的实施例中,路由器订单执行接口166可以在发送交易请求之前将交易请求从相关交易路由器系统112a-m生成的规范化格式转换为相应第三方系统130a-n所需的数据结构。虽然参考图3进行了描述,但是将理解,图1的交易处理系统110还可以包括路由器订单执行接口166。
157.所示交易路由器系统112a-m包括未结交易记录存储库118的副本。未结交易记录存储库118如先前所述。在一些实施例中,交易路由器系统112a-m如先前所述生成未结交易记录存储库118。在这样的实施例中,交易路由器系统112a-m从数据馈送134a-n接收数据并且使用该数据来生成如先前所述的未结交易记录存储库118。这可以由每个交易路由器系统112a-m独立地执行。在一些实施例中,交易处理系统110的另一部件可以生成未结交易记录存储库118。这个另一个部件可以向交易路由器系统112a-m提供未结交易记录存储库118。替代地,另一个部件可以将未结交易记录存储库118存储在交易处理系统110的共享存储器中,并且交易路由器系统112a-m可以基于共享存储器的未结交易记录存储库118访问和/或存储未结交易记录存储库118。
158.在一些实施例中,交易路由器系统112a-m中的一个或多个可以包括系统数据接口162、交易路由优化器166和/或兑换价值优化器164(或其副本)。
159.所示的交易处理系统110包括交易处理系统交换机122,如先前所述。交易处理系统交换机122包括稳定不兑现加密货币订单存储库124,也如先前所述。交易处理系统交换机122与第三方系统130a-n中的每一个通信,并且被配置成将诸如稳定不兑现加密货币的
资产从交易处理系统110(或交易处理系统交换机122)的用户账户转移到第三方系统130a-n的交易处理系统账户。
160.优化交易请求执行的方法
161.交易处理系统110从与交易处理系统110通信的每个第三方系统130a-n接收信息(例如,未结交易)。取决于交易处理系统110或其接收信息的部件之间的物理距离和网络拓扑,由于交易处理系统110与相应的第三方系统130a-n之间的rtt,该信息可能是几百毫秒前的。发送交易请求以执行未结交易中的一个还需要rtt/2秒。在交易请求到达相关第三方系统130a-n时,未结交易可能不再处于活动状态。在这种情况下,交易处理系统110必须取消交易请求,并且基于更新的未结订单信息发送另一个交易请求。这种低效率可能会增加贬值。这种低效率还可能增加交易处理系统110的一个或多个部件(例如交易路由器系统112a-m和/或计算设备160(在相关的情况下))的数据传输需求、带宽需求和/或能量需求。交易处理系统110采用动态选择多个交易路由器系统112a-m中的一个来向第三方系统130a-n发送交易请求的计算机实现的方法400。选择合适的交易路由器系统112a-m是为了减少发送到第三方系统130a-n的由于第三方系统130a-n中与该交易路由器系统112a-m通信的一个的对应未结交易在相关rtt内到期而无法执行的交易请求的数量。这可以提供减少的贬值。方法400还可以提供交易处理系统110的一个或多个部件(例如交易路由器系统112a-m和/或计算设备160(在相关的情况下))的降低的数据传输需求、带宽需求和/或能量需求。
162.现在参考图4,示出了根据一些实施例的优化交易请求的执行的计算机实现的方法400的过程流程图。该方法由交易处理系统110的一个或多个计算机系统执行。在一些实施例中,交易路由优化器116执行方法400。在一些实施例中,参考图1描述的交易处理系统110执行方法400。在一些实施例中,参考图3描述的交易处理系统110执行方法400。
163.在402处,交易处理系统110确定多个定时测量。每个定时测量与交易路由器系统112a-m中的一个和第三方系统130a-n中与该交易路由器系统112a-m通信的一个第三方系统相关联。即,每个定时测量与交易路由器系统112a-m-第三方系统130a-n对相关联。
164.每个定时测量指示与该定时测量相关联的交易路由器系统112a-m与第三方系统130a-n之间的往返时间(rtt)(或替代地另一延迟度量)。换言之,每个定时测量指示交易路由器系统112a-m-第三方系统130a-n对的交易路由器系统112a-m与第三方系统130a-n之间的rtt。
165.因为每个交易路由器系统112a-m可以与多个第三方系统130a-n通信,所以交易处理系统110确定多个定时测量。可以为每个连接确定定时测量。
166.每个交易路由器系统112a-m确定与该交易路由器系统112a-m通信的每个第三方系统130a-n的定时测量。交易路由器系统112a-m中的一个或多个可以通过搜索第三方系统130a-n中与交易路由器系统112a-m通信的的每一个来确定相应的定时测量。由每个交易路由器系统112a-m确定的定时测量与该交易路由器系统112a-m和第三方系统130a-n相关联,相对于其确定定时测量。因此,定时测量可以被存储为向量,其中一个元素对应于定时测量,第一标签对应于相关联的交易路由器系统112a-m,而第二标签对应于相关联的第三方系统130a-n。由每个交易路由器系统112a-m确定的定时测量可以本地存储在该交易路由器系统112a-m上,或者可以存储在对交易处理系统110的其他部件可用的共享存储器中。定时
测量可以以定时测量矩阵的形式进行存储,该定时测量矩阵使每个定时测量与相关联的交易路由器系统112a-m和第三方系统130a-n相关。每个交易路由器系统112a-m可以将其定时测量本地存储在例如存储器167中。替代地,每个交易路由器系统112a-m可以将其定时测量传递到交易处理系统110的另一个部件。例如,每个交易路由器系统112a-m可以将其定时测量传递到计算机160,该计算机可以将定时测量存储在设备存储器163中。
167.如先前所述,在一些实施例中,交易路由器系统112a-m中的一个或多个与位于多个不同地理区域的第三方系统130a-n通信。在一些实施例中,这些交易路由器系统112a-m为特定区域的与该交易路由器系统112a-m通信的第三方系统130a-n中的每一个确定区域平均rtt。例如,位于第一区域(例如北美洲)中的交易路由器系统112a-m可以为位于第二区域(例如南美洲)中的每个第三方系统130a-n确定rtt。然后,位于第一区域中的交易路由器系统112a-m可以确定为位于第二区域中的第三方系统130a-n确定的rtt的平均值。交易路由器系统112a-m可以将该值存储为第二区域的区域平均rtt。这可以针对多个区域中的每一个执行,包括交易路由器系统112a-m所在的区域。
168.图5示出了表示位于不同地理区域中的交易路由器系统112a-m与位于不同地理区域中的第三方系统130a-n之间的示例往返时间的表。例如,如图5中所示,均位于北美洲的交易路由器系统112a-m和第三方系统130a-n之间的rtt可能非常小,或接近0毫秒。当考虑与位于其他地理区域的交易路由器系统112a-m进行通信的第三方系统130a-n时,相同交易路由器系统112a-m之间的rtt可能明显更大。在图5中,当考虑位于北美洲的交易路由器系统112a-m时,这对于分别位于南美洲、欧洲/非洲和亚太地区的第三方系统130a-n来说被示为大约100毫秒、150毫秒和300毫秒。
169.在404处,交易处理系统110获取多个定时测量。特别地,交易路由优化器116获取多个定时测量。交易路由优化器116可以获取每个定时测量并且将定时测量本地存储在例如存储器167中。替代地,每个交易路由器系统112a-m可以将其定时测量传递到交易处理系统110的另一部件。例如,每个交易路由器系统112a-m可以将其定时测量传递到计算机160,该计算机可以将定时测量存储在设备存储器163中。因此交易处理系统110的处理器可以稍后接收存储的定时测量以用于进一步处理。例如,交易路由优化器116可以从存储器167中获取定时测量,并且交易处理系统110的相关处理器可以接收定时测量。
170.在406处,交易处理系统110确定多个流动性损失度量。特别地,交易路由优化器116确定多个流动性损失度量。每个流动性损失度量对应于多个定时测量中的一个。特别地,每个流动性损失度量都是基于对应的定时测量确定的。因此,每个流动性损失度量与交易路由器系统112a-m和第三方系统130a-n相关联,相应的定时测量与其相关联。例如,在定时测量与特定交易路由器系统112a-m-第三方系统130a-n对相关联的情况下,对应的流动性损失度量也与该交易路由器系统112a-m-第三方系统130a-n对相关联。
171.如先前所述,每个第三方系统130a-n具有未结交易流动性。未结交易流动性对应于第三方系统130a-n的目标中的一个的价值金额之和。因为未结交易可以被取消,所以第三方系统130a-n的一些未结交易流动性对于一些交易路由器系统112a-m是不可用的。这是因为,在相关交易路由器系统112a-m和第三方系统130a-n之间的rtt中,一些比例的未结交易将被取消。因此,该比例的未结交易不能用于相关交易路由器系统112a-m,由于该交易路由器系统112a-m与第三方系统130a-n之间的rtt,该相关交易路由器系统无法发送交易请
求以在这些未结交易取消之前执行它们。
172.每个流动性损失度量指示与该流动性损失度量(因此,也与该流动性损失度量相关联的定时测量)相关联的第三方系统130a-n的未结交易流动性的比例,该比例的未结交易不能用于与该流动性损失度量(因此,也与该流动性损失度量相关联的定时测量)相关联的交易路由器系统112a-m。
173.交易路由优化器116使用流动性损失模型来确定每个流动性损失度量,该流动性损失模型将每个定时测量与对应的流动性损失度量相关联。流动性损失模型是线性模型。在一些实施例中,根据流动性损失模型,当交易路由器系统112a-m与第三方系统130a-n之间的rtt为0毫秒时,存在0%的流动性损失。该条件定义了流动性损失模型的最大流动性条件。流动性损失模型包括最大rtt,其指示交易路由器系统112a-m与第三方系统130a-n之间的最大rtt。当交易路由器系统112a-m和第三方系统130a-n在地理上显著分布开时,实际上实现了该最大rtt。例如,在一些实施例中,最大rtt是400毫秒。例如,世界上拥有可靠互联网连接的两个大型金融中心之间的最大可能rtt约为400毫秒。流动性损失模型包括最大流动性损失参数。最大流动性损失参数定义了在最大可能rtt时损失的未结交易流动性的比例。在一些实施例中,最大流动性损失参数具有25%的值。即,根据流动性损失模型,当交易路由器系统112a-m与第三方系统130a-n之间的rtt为400毫秒时,该第三方系统130a-n的未结交易流动性的25%不能用于交易路由器系统112a-m。该rtt定义了流动性损失模型的最小流动性条件。流动性损失模型定义了最大流动性条件与最小流动性条件之间的线性关系。
174.换言之,以下模型可以将流动性损失度量与rtt相关联:
175.llm=k
×
rtt
176.其中rtt是相关往返时间,llm是与该rtt对应的流动性损失度量,并且k是模型参数。使用先前描述的最大流动性条件和最小流动性条件,模型可以表示为:
177.llm=0.0000625
×
rtt
178.图6示出了表示当与位于不同地理区域的第三方系统130a-n一起考虑时位于不同地理区域的交易路由器系统112a-m的示例流动性损失度量的表。这些可以是与图5相关的交易路由器系统112a-m和第三方系统130a-n。已经通过将上述流动性损失模型应用于图5的表的rtt值来确定图6的表的值。
179.每个流动性损失度量与交易路由器系统112a-m和第三方系统130a-n相关联,它们与用于确定流动性损失度量的定时测量相关联。因此,流动性损失度量可以被附加到使定时测量、交易路由器系统112a-m和第三方系统130a-n相关联的相关向量。流动性损失度量可以本地存储在交易处理系统110上,并且可以存储在交易处理系统110的其他部件可用的共享存储器中。例如,流动性损失度量可以存储在计算设备160的设备存储器163中。流动性损失度量可以以将每个定时测量与相关联的流动性损失度量、交易路由器系统112a-m和第三方系统130a-n相关的数据矩阵的形式被汇总和存储。数据矩阵可以包括先前描述的每个向量(包括对应于相关定时测量和流动性损失度量的元素,以及对应于相关交易路由器系统112a-m和第三方系统130a-n的标签)来作为数据矩阵的一行。
180.在408处,交易处理系统110确定多个有效剩余流动性值。特别地,交易路由优化器116确定多个有效剩余流动性值。每个有效剩余流动性值对应于多个流动性损失度量中的
一个。特别地,基于多个流动性损失度量中的一个确定每个有效剩余流动性值。
181.因此,可以说每个有效剩余流动性值对应于多个定时测量中的一个。特别地,可以说每个有效剩余流动性值对应于与有效剩余流动性值所对应的流动性损失度量相对应的时间度量。因此每个有效剩余流动性值与交易路由器系统112a-m和第三方系统130a-n相关联,它们与对应的流动性损失度量和定时测量相关联。
182.例如,在用于确定有效剩余流动性值中的一个的流动性损失度量与特定交易路由器系统112a-m-第三方系统130a-n对相关联的情况下,有效剩余流动性值也与该交易路由器系统112a-m-第三方系统130a-n对相关联。有效剩余流动性值指示可用于该对的交易路由器系统112a-m的该对的第三方系统130a-n的未结交易流动性的比例。
183.因此,每个有效剩余流动性值指示与有效剩余流动性值相关联的第三方系统130a-n的未结交易流动性的比例,其可用于与有效剩余流动性值相关联的交易路由器系统112a-m。
184.换言之,在402处为交易路由器系统112a-m-第三方系统130a-n对确定rtt。在406处,交易路由优化器116基于确定的rtt确定该对的流动性损失度量。因此,流动性损失度量与该对相关联。在408处,交易路由优化器116基于所确定的流动性损失度量来确定该对的有效剩余流动性值。因此,有效剩余流动性值与该对相关。交易路由优化器116为每个交易路由器系统112a-m-第三方系统130a-n对并行地执行该过程。
185.交易路由优化器116通过确定对应的流动性损失度量的补数来确定每个有效的剩余流动性值。即:
186.erlv=(1-llm)
187.其中erlv是相关的有效剩余流动性值,并且llm是表示为小数的流动性损失度量。
188.每个有效剩余流动性值与交易路由器系统112a-m和第三方系统130a-n相关联,它们与用于确定有效剩余流动性值的流动性损失度量相关联。因此,有效剩余流动性值可以被附加到使定时测量、流动性损失度量、交易路由器系统112a-m和第三方系统130a-n相关联的相关向量。有效剩余流动性值可以本地存储在交易处理系统110上,和/或可以存储在交易处理系统110的其他部件可用的共享存储器中。例如,有效剩余流动性值可以存储在计算设备160的设备存储器163中。有效剩余流动性值可以以将每个有效剩余流动性值与相关联的定时测量、流动性损失度量、交易路由器系统112a-m和第三方系统130a-n相关的数据矩阵的形式被汇总和存储。数据矩阵可以包括先前描述的每个向量(包括对应于相关定时测量、流动性损失度量和有效剩余流动性值的元素,以及对应于相关交易路由器系统112a-m和第三方系统130a-n的标签)来作为数据矩阵的一行。
189.在410处,交易处理系统110确定每个交易路由器系统112a-m的总有效流动性值。特别地,交易路由优化器116确定每个交易路由系统112a-m的总有效流动性值。如先前所述,每个有效剩余流动性值与交易路由器系统112a-m-第三方系统130a-n对相关联。因此,每个有效剩余流动性值与该对的交易路由器系统112a-m相关联。交易路由优化器116通过将与相关交易路由器系统112a-m相关联的有效剩余流动性值相加来确定每个交易路由器系统112a-m的总有效流动性值。交易路由优化器116为交易处理系统110的每个交易路由器系统112a-m执行该操作。
190.每个总有效流动性值与交易路由器系统112a-m中的一个相关联。总有效流动性值
可以本地存储在交易处理系统110上,并且可以存储在对交易处理系统110的其他部件可用的共享存储器中。例如,总有效流动性值可以存储在计算设备160的设备存储器163中。总有效流动性值可以以将每个总有效流动性值与相关联的交易路由器系统112a-m相关的数据矩阵的形式被汇总和存储。
191.在412处,交易处理系统110确定每个交易路由器系统112a-m的有效流动性比例。特别地,交易路由优化器116确定每个交易路由系统112a-m的有效流动性比例。每个有效流动性比例指示相应交易路由器系统112a-m的总有效流动性值与总流动性之间的比率。总流动性是与相应交易路由器系统112a-m通信的每个第三方系统130a-n的未结交易流动性之和。
192.即,每个有效流动性比例由以下确定:
[0193][0194]
其中elp是交易路由器系统112a-m中的一个的有效流动性比例,telv是与该交易路由器系统112a-m相关联的总有效流动性值,并且tl是该交易路由器系统112a-m的总流动性(即与交易路由器系统112a-m通信的每个第三方系统130a-n的未结交易流动性之和。
[0195]
每个有效流动性比例与交易路由器系统112a-m中的一个相关联。有效流动性比例可以本地存储在交易处理系统110上,和/或可以存储在交易处理系统110的其他部件可用的共享存储器中。例如,有效流动性比例可以存储在计算设备160的设备存储器163中。有效流动性比例可以以将每个有效流动性比例与相关联的交易路由器系统112a-m相关的数据矩阵的形式被汇总和存储。
[0196]
图7示出了表示位于不同地理区域(北美洲、南美洲、欧洲/非洲和亚太地区)的交易路由器系统112a-m(trs)的示例总流动性值(“流动性(mm usd)”)、总有效流动性值和有效流动性比例的表。如先前所述确定总有效流动性值中的每一个。如先前所述确定有效流动性比例中的每一个。
[0197]
在414处,交易处理系统110确定多个订单到期度量。特别地,交易路由优化器116确定多个订单到期度量。每个订单到期度量与多个交易路由器系统112a-m中的一个相关联。每个订单到期度量指示从相关联交易路由器系统112a-m发送的由于第三方系统130a-n中与该交易路由器系统112a-m通信的一个的对应未结交易在相关rtt内到期而无法执行的交易请求的平均数量。
[0198]
在一些实施例中,交易路由优化器116确定从相关联交易路由器系统112a-m发送的由于第三方系统130a-n中与该交易路由器系统112a-m通信的一个的对应未结交易在相关rtt内到期而无法执行的交易请求的数量。这可以使用已执行交易记录历史存储库来完成。即,交易路由优化器116可以将发送到每个第三方系统130a-n的交易请求与实际执行的交易请求进行比较,以确定由于相关rtt中的对应未结交易关闭而无法执行的那些交易请求。在一些实施例中,交易路由优化器116还使用未结交易记录历史存储库来确定数量。
[0199]
交易路由优化器116基于从相应的交易路由器系统112a-m发送的所确定的无法执行的交易请求的数量,确定从相应的交易路由器系统112a-m发送的由于对应的未结交易在相关rtt内到期而无法执行的交易请求的平均数量。在一些实施例中,交易路由优化器116通过将由于与相关交易路由器系统112a-m通信的每个第三方系统130a-n的rtt而失败的交
易请求的数量相加,并且将和除以第三方系统130a-n的数量来确定平均值。该平均值是相关交易路由器系统112a-m的订单到期度量。
[0200]
特定第三方系统130a-n上的未结交易可以基于未结交易的参数进行排序和执行。例如,可以基于每个未结交易的价值金额对未结交易进行排序。按顺序执行未结交易。例如,在未结交易表示出售资产的报价(因此,另一实体有机会从出售资产的实体购买资产)的情况下,价值金额较低的未结交易将在价值金额较高的未结交易之前执行。因此,每个第三方系统130a-n的未结交易定义了该第三方系统130a-n的订单簿。订单簿的每个未结交易都具有相关联的订单深度。未结交易的订单深度是未结交易在订单簿中的位置。订单簿的第一未结交易订单深度为1,并且订单簿的第n订单的订单深度为n。订单簿顶部的未结交易(即更接近订单簿的第一个未结交易)比深入订单簿的未结交易更频繁地交叉(执行)。这是因为基于订单簿中未结交易的深度优先执行未结交易。即,要执行订单深度为n的未结交易,必须先执行订单深度为1和n-1之间的每个未结交易。
[0201]
因此,在一些实施例中,订单到期度量的确定可以考虑以下事实:在订单簿顶部的未结交易比在订单簿深处的那些交易有可能被执行。
[0202]
在一些实施例中,在414处,交易处理系统110确定多个订单到期度量,每个订单到期度量指示从相关联交易路由器系统112a-m发送的由于第三方系统130a-n中与该交易路由器系统112a-m通信的一个的特定订单深度的对应未结交易在相关rtt内到期而无法执行的交易请求的平均数量。即,一个交易路由器系统112a-m具有多个相关联的订单到期度量,其中每个订单到期度量指示交易请求无法执行多个订单深度中的一个的未结订单的概率。
[0203]
例如,交易路由优化器116可以基于已执行交易记录历史存储库来确定从交易路由器系统112a-m中的一个发送到第三方系统130a-n中的一个的由于对应的未结交易在相关rtt内到期而无法执行的一定数量的交易请求,并且未结交易的订单深度为1。交易路由优化器116还可以确定从交易路由器系统112a-m中的一个发送到第三方系统130a-n中的一个的由于对应的未结交易在相关rtt内到期而无法执行的一定数量的交易请求,并且未结交易的订单深度为2。交易路由优化器116可以确定未结交易与订单深度n的等价数量。交易路由优化器116可以为与该交易路由器系统112a-m通信的每个第三方系统130a-n确定等价数量。然后,交易路由优化器116可以确定每个订单深度的平均数。例如,交易路由优化器116可以确定从交易路由器系统112a-m中的一个发送到第三方系统130a-n中的一个的由于对应的未结交易在相关时间rtt内到期而无法执行的交易请求的平均数量,并且未结交易的订单深度为1。该平均值可以是与第一深度订单的交易路由器系统112a-m相关联的订单到期度量。交易路由优化器116可以类似地为n深度的订单确定与该交易路由系统112a-m相关联的订单到期度量。交易路由优化器116可以类似地为相应订单簿n深度中的每一个确定与所有其他交易路由系统112a-m相关联的订单到期度量。
[0204]
图8示出了位于不同地理区域的多个交易路由器系统112a-m的3个订单深度的示例订单到期度量。例如,对于位于北美洲的交易路由器系统112a-m,从交易路由器系统112a-m中的一个发送到第三方系统130a-n中的一个的由于对应的未结交易在相关rtt内到期而无法执行的交易请求的平均数量是1.1,未结交易的订单深度为1。即,对于北美洲交易路由器系统112a-m的订单深度1,在该条件下平均1.1个交易请求失败。对于位于北美洲的交易路由器系统112a-m,从交易路由器系统112a-m中的一个发送到第三方系统130a-n中的
一个的由于对应的未结交易在相关rtt内到期而无法执行的交易请求的平均数量是1.7,未结交易的订单深度为2。
[0205]
每个订单到期度量与相关交易路由器系统112a-m相关联。订单到期度量可以本地存储在交易处理系统110上,和/或可以存储在对交易处理系统110的其他部件可用的共享存储器中。例如,订单到期度量可以存储在计算设备160的设备存储器163中。订单到期度量可以以将每个订单到期度量与相关联的交易路由器系统112a-m相关的数据矩阵的形式被汇总和存储。
[0206]
在416处,交易处理系统110确定多个贬值度量。特别地,交易路由优化器116确定多个贬值度量。基于订单到期度量中的一个确定每个贬值度量。每个贬值度量与多个交易路由器系统112a-m中的一个相关联。特别地,每个贬值度量与对应的订单到期度量所关联的交易路由器系统112a-m相关联。
[0207]
每个贬值度量指示:从相关交易路由器系统112a-m发送的交易请求将由于第三方系统130a-n中与该交易路由器系统112a-m通信的一个的对应未结交易在相关rtt(即交易路由器系统112a-m和第三方系统130a-n之间的rtt)内到期而无法执行的概率。特别地,每个贬值度量指示:从相关交易路由器系统112a-m发送的交易请求没有将由于第三方系统130a-n中与该交易路由器系统112a-m通信的一个的对应未结交易在相关rtt内到期而无法执行的概率。这可能等效于对没有贬值的概率的估计。
[0208]
交易路由优化器116使用将每个订单到期度量与对应的贬值度量相关的贬值模型来确定每个贬值度量。
[0209]
如先前所述,在一些实施例中,交易路由优化器116为每个交易路由系统112a-m确定单个订单到期度量。在这些情况下,订单到期度量指示:从相关联交易路由器系统112a-m发送的由于第三方系统130a-n中与该交易路由器系统112a-m通信的一个的对应未结交易在相关rtt内到期而无法执行的交易请求的平均数量。在这些情况下,贬值建模模型根据泊松分布对每个贬值度量进行建模
[0210][0211]
其中p(x)是从相关交易路由器系统112a-m发送到相关第三方系统130a-n的x个交易请求由于对应的未结交易在相关rtt内到期而无法执行的概率。λ(比例因子)是相关的订单到期度量。相关交易路由器系统112a-m的贬值度量对应于p(0)。即,贬值度量指示没有贬值的概率(即没有交易请求将无法执行的概率)。
[0212]
换言之,贬值模型可以表示为:
[0213]
sm=e-λ
[0214]
其中sm是贬值度量,并且λ是对应的订单到期度量。
[0215]
如先前所述,在一些实施例中,交易路由优化器116确定与每个交易路由器系统112a-m相关联的多个订单到期度量,其中每个订单到期度量指示从该交易路由器系统112a-m发送到第三方系统130a-n中的一个的由于对应的未结交易在相关rtt内到期而无法执行的交易请求的数量,并且未结交易具有订单深度1-n中的一个。n例如可以是3。在这些实施例中,为了确定交易路由器系统112a-m中的一个的贬值度量,交易路由优化器116可以
确定多个概率模型值,基于订单到期度量中的一个确定每个概率模型值。
[0216]
可以根据下式基于订单到期度量确定概率模型值:
[0217][0218]
其中pmvi是与相关交易路由器系统112a-m的第i订单深度对应的订单到期度量的概率模型值,wi是与相关交易路由器系统112a-m的第i订单深度对应的订单到期度量的权重因子,并且λi是相关交易路由器系统112a-m的第i订单深度的订单到期度量。应用权重因子是因为订单深度1的未结交易比订单深度2-n的未结交易更有可能被交易请求执行。因此,权重因子可以定义为:
[0219]
w1>w2...>wn[0220]
第二订单深度的权重因子可以是第一订单深度的权重因子的一半,其中第一订单深度比第二订单深度高1订单深度。例如,如图8中所示,订单深度1的权重因子为0.57,而订单深度2的权重因子为0.29,其约是订单深度1的权重因子的一半。换言之:
[0221][0222]
权重因子之和可以加到1。例如:
[0223][0224]
交易路由优化器116为与每个交易路由系统112a-m相关联的每个订单到期度量确定概率模型值。
[0225]
图8示出了为多个交易路由器系统112a-m确定的多个示例概率模型值。如图8中所示,每个订单深度具有相关联的订单到期度量,因此具有相关联的概率模型值。
[0226]
在一些实施例中,仅为前3个订单深度(即订单深度1-3)确定订单到期度量和概率模型值。这可以提高确定贬值度量的效率,因为通常不会执行超出这些订单深度的订单。
[0227]
交易路由优化器116通过将与相应交易路由器系统112a-m相关联的概率模型值相加来确定每个交易路由器系统112a-m的贬值度量。
[0228]
图8示出了为多个交易路由器系统112a-m确定的多个示例贬值度量。如图8中所示,每个交易路由器系统112a-m都与对应的贬值度量相关联。图8的贬值度量是相关交易路由器系统112a-m的概率模型值之和。
[0229]
每个贬值度量与交易路由器系统112a-m中的一个相关联。贬值量度可以本地存储在交易处理系统110上,和/或可以存储在交易处理系统110的其他部件可用的共享存储器中。例如,贬值量度可以存储在计算设备160的设备存储器163中。贬值度量可以以将每个贬值度量与相关联的交易路由器系统112a-m相关联的数据矩阵的形式被汇总和存储。
[0230]
在418处,交易处理系统110确定优化的交易路由器系统。特别地,交易路由优化器116确定优化的交易路由器系统。优化的交易路由器系统是多个交易路由器系统112a-m中的一个。
[0231]
在一些实施例中,交易路由优化器116至少部分地基于总有效流动性值来确定优化的交易路由系统。确定优化的交易路由器系统可以包括确定具有最大相关联的总有效流
动性值的交易路由器系统112a-m。交易路由优化器116可以选择具有最大相关联的总有效流动性值的交易路由系统112a-m作为优化的交易路由系统。例如,参考图7,位于欧洲/非洲的交易路由器系统112a-m具有最大相关联的有效流动性值,因此将被确定为优化的交易路由器系统。
[0232]
在一些实施例中,交易路由优化器116至少部分地基于所确定的有效流动性比例来确定优化的交易路由系统。确定优化的交易路由器系统可以包括确定具有最大相关联的有效流动性比例的交易路由器系统112a-m。交易路由优化器116可以选择具有最大相关联的有效流动性比例的交易路由系统112a-m作为优化的交易路由系统。参考图7,例如,位于欧洲/非洲的交易路由器系统112a-m具有最大相关联的有效流动性比例,因此将被确定为优化的交易路由器系统。
[0233]
虽然可以如先前所述使用总有效流动性值和有效流动性比例来确定优化的交易路由器系统,但考虑其他因素可能是有利的。例如,在许多情况下,最有可能在交易路由器系统112a-m中的一个与第三方系统130a-n中的一个之间的rtt内到期的未结交易通常是那些具有短有效期限来开始的交易。此类未结交易往往由量化交易员通过可编程接口(api、fix等)提供。交易者通过手动订单输入界面(例如网站)提供的未结交易往往具有较长的有效期限,并且受较长rtt的影响较小。即,这些手动输入的订单不太可能在相应的rtt中到期。
[0234]
在一些实施例中,交易处理系统110因此考虑了由于其可变的有效期限而错过未结交易的变化概率。这是因为第三方系统130a-n可能具有相对较长的rtt,然而,如果在第三方系统130a-n上提供未结订单的实体倾向于手动输入订单,则较大的rtt可能不会对该第三方系统130a-n所经历的交易请求贬值产生重大影响。
[0235]
在一些实施例中,交易路由优化器116至少部分地基于贬值度量来确定优化的交易路由系统。确定优化的交易路由器系统可以包括确定具有最大相关联的贬值度量的交易路由器系统112a-m。交易路由优化器116可以选择具有最大相关联的贬值度量的交易路由系统112a-m作为优化的交易路由系统。
[0236]
如先前所述,订单到期度量和贬值度量考虑了在相应第三方系统130a-n的rtt内到期的未结交易的平均数量。因此,交易处理系统110可以在确定其优化的交易路由器系统时使用订单到期度量和贬值度量,并且可以通过这样做来改进交易请求的执行。
[0237]
在一些实施例中,交易路由优化器116至少部分地基于总有效流动性值和贬值度量来确定优化的交易路由系统。如先前所述,每个交易路由器系统112a-m都与相应的总有效流动性值和贬值度量相关联。交易路由优化器116通过确定每个交易路由器系统112a-m的优化度量来确定优化的交易路由器系统。交易路由器系统112a-m中的一个的优化度量是总有效流动性值和与该交易路由器系统112a-m相关联的贬值度量的乘积。换言之:
[0238]
ρi=telvi×
smi[0239]
其中ρi是第i交易路由器系统112a-m的优化度量,tevi是第i交易路由器系统112a-m的总有效流动性值,并且smi是第i交易路由器系统112a-m的贬值度量。交易路由优化器116选择具有最大相关联的优化度量的交易路由器系统112a-m作为优化的交易路由器系统(即对于i∈[a,m],max(ρi))。
[0240]
在一些实施例中,交易路由优化器116至少部分地基于有效流动性比例和贬值度
量来确定优化的交易路由系统。如先前所述,每个交易路由器系统112a-m都与相应的有效流动性比例和贬值度量相关联。交易路由优化器116通过确定每个交易路由器系统112a-m的优化度量来确定优化的交易路由器系统。交易路由器系统112a-m中的一个的优化度量是与该交易路由器系统112a-m相关联的有效流动性比例和贬值度量的平均值。换言之:
[0241][0242]
其中ρi是第i交易路由器系统112a-m的优化度量,elpi是第i交易路由器系统112a-m的有效流动性比例,并且smi是第i交易路由器系统112a-m的贬值度量。交易路由优化器116选择具有最大相关联的优化度量的交易路由器系统112a-m作为优化的交易路由器系统(即对于i∈[a,m],max(ρi))。
[0243]
图9示出了为图5至8中详述的交易路由器系统112a-m中的每一个确定的优化度量。如果如先前所述基于总有效流动性值或有效流动性比例中任一者从图9的示例交易路由器系统112a-m中选择优化的交易路由器系统,则将位于欧洲或非洲的交易路由器系统112a-m确定为优化的交易路由器系统。如果基于贬值度量确定优化的交易路由器系统,则将位于北美洲的交易路由器系统112a-m确定为优化的交易路由器系统。如果基于总有效流动性和贬值度量,或有效流动性比例和贬值度量确定优化的交易路由系统,则将位于亚太地区的交易路由系统112a-m确定为优化的交易路由系统。
[0244]
在420处,交易处理系统110将接收到的交易请求发送到优化的交易路由器系统。特别地,交易路由优化器116将接收到的交易请求发送到优化的交易路由系统。优化的交易路由器系统被配置成将交易请求或其一部分发送到第三方系统130a-n中的一个或多个以执行一个或多个未结交易。在一些实施例中,优化的交易路由器系统被配置成根据先前描述的方法200执行交易请求。在一些实施例中,优化的交易路由器系统被配置成经由一个或多个中间计算设备发送交易请求。交易请求可以由交易处理系统110或其部件接收,例如优化的交易路由器系统或其他交易路由器系统中的一个。
[0245]
交易处理系统110被配置成在一段时间内经由优化的交易路由器系统发送接收到的交易请求。例如,时间段可以是10分钟、1小时或1天。在该时间段到期之后,交易处理系统110被配置成重新执行方法400以确定更新的优化交易路由器系统。交易处理系统110被配置成在该时间段内将接收到的交易请求发送到更新的优化交易路由器系统。在交易处理系统110的有效期限内重复该过程。
[0246]
交易处理系统的另外示例
[0247]
图15示出了示出根据一些实施例的示例系统100的多个部件的通信的方框图。图15中所示的系统100可以是参考图1或图3公开的系统。图15中所示的系统100可以是系统100的替代实施例。如图所示,数据馈送134a-n的信息经由系统数据接口162提供给交易路由优化器116。即,系统数据接口162获取第三方系统130a-n的数据馈送134a-n的信息,并且将数据转换成对交易优化路由器116有用的规范化格式。如先前所述,交易优化路由器116确定优化的交易路由器系统1504。交易请求被提供给交易优化路由器116,其将交易请求1502引导至优化的交易路由器系统1504。还示出了交易路由器系统119a和119b。这些是可以与第三方系统130a-n通信的相应交易路由器系统,然而,基于当前rtt和流动性条件,确定不是优化的交易路由器系统1504。因此,这些交易路由器系统119a、119b可以被认为是不
活动的交易路由器系统。将理解,虽然仅交易路由器系统119a、119b被示为非活动交易路由器系统,但交易路由器系统119a-n中的每一个将是非活动交易路由器系统,除了被确定为优化的交易路由器系统的系统之外。
[0248]
在一些实施例中,交易路由优化器116被配置成分析已执行交易记录历史存储库以确定确定优化的交易路由器系统的最佳方法。即,交易路由优化器116可以确定哪个度量提供最小化贬值程度的最佳预测指标。换言之,交易路由优化器116可以分析已执行交易记录历史存储库以确定总有效流动性值、有效流动性比例、贬值度量、基于总有效流动性值和贬值度量的优化度量或者基于有效流动性比例和贬值度量的优化度量中的哪一个提供了最小化贬值程度的最佳预测指标。
[0249]
可以针对特定时间段来确定最佳预测指标,并且可以基于该预测指标来确定优化的交易路由器系统。一段时间之后,交易路由优化器116可以重新分析已执行交易记录历史存储库,以根据新执行的交易记录历史存储库数据重新确定最佳预测指标。
[0250]
交易处理系统账户余额的资本化
[0251]
如先前所述,由用户例如经由客户端设备140提供给交易处理系统110的交易请求经由优化的交易路由器系统112a-m被发送到第三方系统130a-n中的一个或多个以供执行。交易请求的执行通常涉及将一个资产的控制权从第一实体(即交易处理系统110的运营商)转移到第二实体,以换取将另一资产的控制权从第二实体转移到第一实体。
[0252]
还如先前所述,交易处理系统110的运营商可以在每个第三方系统130a-n上维持一个或多个资产的余额。这些余额可以保存在第三方交易系统110的运营商在每个第三方系统130a-n上持有的账户中。当代表提交交易请求的用户在第三方交易所130a-n上执行交易请求或其中的一部分时,可以提取这些账户的余额。因此,在第三方系统130a-n中的一个上执行交易请求或其中的一部分时,可以从该第三方系统130a-n上的交易处理系统110的账户中提取第一资产的余额,并且可以将第二资产的余额存入交易处理系统110的账户。因此,需要提供一种低摩擦的方式来提取第二资产,并且将第二资产提供给交易处理系统110的用户。还需要在执行交易请求之前将用于执行交易请求的第三方系统130a-n上的第一资产的余额资本化,或者在执行交易请求之后将第一资产的余额资本化。
[0253]
如本文所述,单个交易请求可以在多个第三方系统130a-n上执行以优化在交易请求中接收的值,这一事实使这些需求更加复杂。由于用于执行交易请求的第三方系统130a-n中的一个或多个可能在不同的管辖范围内,因此可以执行交易请求的部分以兑换不同的资产。例如,在交易请求与购买加密货币相关联的情况下,可以将加密货币购买分配到第三方系统130a-n,这些第三方系统以它们的当地不兑现货币中的每一种提供加密货币兑换市场。因此,交易请求可以部分地在北美洲第三方系统130a-n上执行以兑换美元,并且在澳大利亚第三方系统上执行以兑换澳元。因此,需要对可能不相关(即由不同实体运营)并且可能在地理上分布开的多个不同第三方系统130a-n上的多个不同资产的余额进行资本重组。
[0254]
如先前所述,交易处理系统110可以包括交易处理系统交换机122,其可以利于一种或多种不兑现货币与一种或多种对应稳定不兑现的加密货币的兑换。此外,交易处理系统交换机122与每个第三方系统130a-n通信,并且能够利于一种或多种资产(例如稳定不兑现的加密货币)从交易处理系统交换机122转移到相关第三方系统130a-n的交易处理系统账户。使用传统银行系统转移普通不兑现货币可能需要数天时间,并且与非常高的转移成
本相关联。
[0255]
现在参考图10,示出了在每个第三方系统110处对交易处理系统110的账户余额进行资本重组的计算机实现的方法1000的过程流程图。该方法由交易处理系统110的一个或多个计算机系统执行。在一些实施例中,兑换价值优化器164执行方法1000。交易请求的执行将已处置资产的控制权从交易处理系统110转移到下单相关未结交易的实体,并且将对所获取资产的控制权从实体转移到交易处理系统110。方法1000在交易请求的执行中使用的每个第三方系统110处提供交易处理系统110的账户余额的资本化或资本重组。该方法还规定将所获取资产及时交付给交易处理系统110的用户。
[0256]
在1002处,交易处理系统110确定与交易请求相关联的每个所获取资产和每个处置资产的单位计数。特别地,兑换价值优化器164确定单位计数。由于交易请求可以跨多个第三方系统130a-n执行,因此多个不同的处置资产(例如usd稳定不兑现货币、gbp稳定不兑现加密货币)可以与交易处理系统110的用户提供的一个交易请求相关联。此外,在交易请求中涉及的每个第三方系统130a-n上,所获取资产的单位计数可能不同。
[0257]
在1004处,交易处理系统110在交易处理系统交换机122处将用户交易处理系统兑换存款兑换为各单位计数的每个处置资产。具体地,兑换价值优化器164在交易处理系统交换机122处将用户交易处理系统兑换存款兑换为各单位计数的每个处置资产。一个或多个处置资产可以是稳定不兑现货币。对一种或多种稳定不兑现货币的控制权可以经由公共区块链或私有区块链进行转移。用户交易处理系统兑换存款是由提供交易请求的用户提供的存款。用户交易处理系统兑换存款是在基础资产中进行的存款。例如,基础资产可以是用户使用的当地不兑现货币。用户将用户交易处理系统兑换存款存入交易处理系统兑换122上与用户相关联的账户中。在执行兑换时,兑换价值优化器164基于稳定不兑现加密货币订单存储库124计算不同稳定不兑现加密货币之间转换的预期成本。然后,兑换价值优化器164执行兑换。如果运营商更愿意在执行交易请求之前将其在相关第三方系统130a-n上的账户资本化,则可以在执行交易请求之前执行步骤1004。替代地,如果运营商愿意,则可以在执行交易请求之后执行步骤1004,以对账户进行资本重组。
[0258]
在1006处,交易处理系统110将每个单位价值的每个处置资产的控制权转移到每个相关第三方系统130a-n处的交易处理系统账户。特别地,兑换价值优化器164将每个处置资产的控制权转移到每个相关第三方系统130a-n处的交易处理系统账户。这些转移的执行使参与执行交易请求的交易处理系统账户资本化或资本重组。出于本公开的目的,术语“资本化”可以被认为包括在执行交易请求之前提供资产和在执行交易请求之后提供资产(即对账户进行资本重组)。
[0259]
在1008处,交易处理系统110将相关单位计数的所获取资产的控制权从每个相关第三方系统130a-n处的每个第三方系统交易处理系统账户转移到与交易处理系统交换机122上的用户相关联的账户。特别地,兑换价值优化器164可以执行该控制权转移。因此,用户可以获得所获取资产的总单位计数。用户可以提取所获取资产,或者在他们认为合适的后续交易中使用它。
[0260]
稳定不兑现的加密货币有利地允许从交易处理系统交换机122到每个第三方系统130a-n的近乎瞬时的价值转移。因此,用户交易处理系统兑换存款可以极快地兑换成相关的稳定不兑现加密货币,这些加密货币几乎可以立即转移到每个相关第三方系统130a-n的
相关交易处理系统账户,以对这些账户进行资本重组,以利于执行另外的交易请求。例如,这可以与交易请求的执行几乎同时实现。这可以减少交易处理系统110的操作员在第三方系统130a-n上账户资金不足的时间。
[0261]
因此,本公开提供利于使用全局流动资金池的系统100和交易处理系统110。交易处理系统110能够智能地在第三方系统130a-n之间路由交易请求。此外,交易处理系统110实际上能够经由交易处理系统交换机122在区域流动资金池之间转移资产的控制权。通过使该全局流动资金池对交易处理系统110的用户可用,而不管通过他们用来提供存款的货币,用户可以利用全局相关资产的最佳价格。基于给定时间点或给定时间段内的全局流动资金和延迟条件优化用户交易请求的执行。
[0262]
在一些实施例中,代理币可以用于转移价值、处置资产和/或获取的资产(例如,从交易处理系统110到第三方系统130a-n中的一个或多个)。在一些实施例中,暗影币可以用于转移价值(例如,从交易处理系统110到第三方系统130a-n中的一个或多个)。在一些实施例中,桥接网络可以用于转移价值(例如,从交易处理系统110到第三方系统130a-n中的一个或多个)。这可能涉及一个或多个参与者在共同的安全托管账户中承诺不兑现货币或加密货币。可以发行替代币来表示托管资产。替代币可以在私有区块链上流通。因此,替代币的控制权转移的结算可能几乎是瞬时的。在一些实施例中,资产(例如处置资产)可以存储在多重签名钱包中。可以指定集中信任方在参与者(例如交易处理系统110和第三方系统130a-n中的一个或多个)之间进行转移。
[0263]
区块链架构的示例
[0264]
图12是示出根据实施例的在区块链上广播和记录的交易链的方框图。如上所述,执行的未结交易可能涉及不同的加密货币。加密货币是一种具有存储在去中心化区块链或分布式账本中的账本的货币。区块链在存储在区块链中的一个或多个区块链单元中记录使用加密货币发生的交易,但不需要中央机构来验证交易是否合法。更确切而言,区块链是经由多个节点或计算系统的协作生成的。
[0265]
分布式区块链网络可以包括多个节点。每个节点都是参与区块链网络的用户或服务器。在完全公共的区块链中,任何参与者都可能成为区块链的节点。这些节点可以共同作为用作区块链的虚拟机的分布式计算系统。在一些实施例中,虚拟机或分布式计算系统可以简称为计算机。公共区块链的任何用户都可以广播交易以供区块链节点记录。每个用户的数字钱包都与加密私钥相关联,该加密私钥用于签署交易并且证明区块链单元的所有权。
[0266]
区块链单元的所有权可以通过交易链进行追踪。在图12中,交易链可以包括第一交易1210、第二交易1220和第三交易1230等。链中的每个交易可以具有相当相似的结构。虽然在图12中每个交易都与先前交易相关联,但交易不需要记录在区块链上的连续区块上。例如,记录交易1210的区块和记录交易1220的区块可以相隔数百甚至数千个区块。先前区块的追溯由当前区块记录的先前区块的散列进行跟踪。
[0267]
参考图12中的交易中的一个,为了说明起见,交易1220可以被称为当前交易。交易1210可以是先前交易并且交易1230可以被称为后续交易。每个交易包括交易数据1222、接收方地址1224、先前交易的散列1226和当前交易的所有者的数字签名1228。交易数据1222记录当前交易1220的实质。例如,交易数据1222可以指定一定数量的区块链单元(例如,电
子币、区块链代币、bcdr等)的转移。在一些实施例中,交易数据1222可以包括智能合约的代码指令。
[0268]
接收方地址1224是与接收方的数字钱包的私钥对应的公钥版本。在一个实施例中,接收方地址1224是公钥本身。在另一个实施例中,接收方地址1224通过一个或多个功能(诸如某些确定性功能)来编码公钥版本。例如,从公钥生成接收方地址1224可以包括对公钥进行散列、添加校验和、添加一个或多个前缀或后缀、以及对结果位进行编码。接收方地址1224可以是区块链上接收方的数字钱包的唯一标识符。
[0269]
先前交易1226的散列是先前交易1210的整个交易数据的散列。同样地,先前交易1236的散列是交易1220的整个交易数据的散列。可以使用诸如安全散列算法(sha)或消息摘要算法(md)之类的散列算法来执行先前交易1210。在一些实施例中,与当前交易1220对应的所有者也可以使用所有者的公钥来生成散列。先前交易1226的散列提供先前交易1210的追溯,并且还保持先前交易1210的数据完整性。
[0270]
在生成当前交易1220时,区块链单元的当前所有者的数字钱包使用其私钥来加密交易数据1222、接收方地址1224和先前交易1226的散列的组合,以生成所有者的数字签名1228。为了生成当前交易1220,当前所有者通过将接收方地址1224包括在当前交易1220的数字签名1228中来指定接收方。区块链单元的后续所有者由接收方地址1224固定。换言之,在后续区块1230中生成数字签名1238的后续所有者由当前交易1220指定的接收方地址1224固定。为了验证当前交易1220的有效性,区块链网络中的任何节点可以追溯到先前的交易1210(通过追踪先前交易的散列1226)并且定位接收方地址1214。接收方地址1214对应于数字签名1228的公钥。因此,区块链网络中的节点可以使用公钥来验证数字签名1228。
[0271]
可以由区块链单元的所有者继续进行区块链单元的所有权转移。为了转移所有权,所有者可以广播包括所有者的数字签名和先前交易的散列的交易。具有可验证数字签名的有效交易和先前交易的正确散列将通过挖矿过程记录在区块链的新区块中。
[0272]
图13是示出根据实施例的区块链中多个区块的连接的方框图。除了第一区块——可被称为创世区块——之外,区块链的每个区块可以具有相似的结构。区块1250、1260和1270可以各自包括先前区块1252的散列、随机值1254和多个交易(例如,第一交易1256、第二交易1258等)。每个交易可以具有图12中所示的结构。
[0273]
可以通过挖矿过程生成新区块。对于公共区块链,区块链系统中的任何节点都可以参与挖矿过程。可以通过试错过程进行先前区块的散列的生成。可以使用随机值作为输入的一部分对先前区块(或先前区块的版本,例如简化版本)的整个数据进行散列。区块链可需要在先前区块的散列中采用某种格式,以便节点将新区块识别为有效。例如,在一个实施例中,先前区块的散列需要以散列中的一定数量的零开始。取决于区块链的实现方式,也可以使用先前区块的散列的其他标准。
[0274]
举例来说,在生成先前区块1262的散列时,参与挖矿过程的节点可以将先前区块1250的版本与随机值(即,随机的值)随机组合以生成散列。由于随机值,生成的散列在某种程度上是随机值。节点将生成的散列与区块链系统的标准进行比较,以检查是否满足标准(例如,生成的散列是否以散列中的特定数量的零开头)。如果生成的散列不符合标准,则节点尝试与另一不同的随机值组合以生成另一散列。该过程由区块链网络中的不同节点重复,直到其中一个节点找到满足标准的散列为止。用于生成令人满意的散列的随机值是随
机值1264。首先生成令人满意的散列1262的节点还可以选择将广播到区块链网络的哪些交易包括在区块1260中。节点可以检查交易的有效性(例如,交易是否可以追溯到先前记录的交易以及交易生成者的数字签名是否有效)。该选择还可以取决于待记录的广播交易的数量以及可以在交易中指定的费用。例如,在一些实施例中,每个交易可以与用于记录交易的费用(例如,矿工费(gas))相关联。在选择交易并且固定区块1260的数据之后,区块链网络中的节点重复试错过程,通过尝试不同的随机值来生成先前区块1272的散列。
[0275]
在一些情况下,不同的节点可以选择不同的交易以包括在后续区块中,并且可以相互竞争以找到具有满足标准的生成散列的那组交易的正确随机值。因此,可能会出现为包含不同交易的区块生成多个令人满意的散列的情况。这会在区块链中创建分叉。未来的区块可以基于该分叉的任一区块中的数据进行散列。然而,在实践中,为了避免将区块添加到多个分叉,节点可以通过选择具有更早时间戳的区块的分叉来达成共识,或者使用一些其他标准,以选择从中对另外区块进行散列的主分叉。在其他实施例中,代替计算可能在计算上昂贵的随机值,节点可以使用其他共识方法(诸如股权证明方法)来确定要遵循哪个分叉。
[0276]
可以通过挖矿过程继续生成新区块。当广播交易记录在区块中时,区块链单元(例如,电子硬币、区块链令牌、bcdr等)的交易就完成了。在一些实施例中,当交易被多重验证时,交易被视为已结算。当有多个后续区块生成并且链接到记录交易的区块时,交易被多重验证。
[0277]
在一些实施例中,交易1256、1258、1266、1268、1276、1278等中的一些可以包括一个或多个智能合约。记录的智能合约的代码指令可以记录在区块中并且通常是不可变的。当满足条件时,触发智能合约的代码指令。代码指令可以使计算机(例如,区块链的虚拟机)执行一些动作,诸如生成区块链单元并且将记录生成的交易广播到区块链网络进行记录。
[0278]
计算机器架构
[0279]
图14示出了能够从计算机可读介质读取指令并且在处理器(或控制器)中执行它们的示例计算机器的部件的方框图。在一些实施例中,交易路由器系统112a-m、第三方系统130a-n、客户端设备140、计算设备160和/或交易处理交换系统122中的任何一个可以是本文公开的示例计算机器的形式。本文描述的计算机可以包括图14中所示的单个计算机器、虚拟机、包括图14中所示的多个计算机器节点的分布式计算系统、或计算设备的任何其他合适的布置。本文描述的计算机可以由先前图中描述的任何元件用来执行描述的功能。
[0280]
举例来说,图14示出了计算机系统1400的示例形式的计算机器的图解表示,其中可以执行指令1424(例如,软件、程序代码或机器代码),这些指令可以被存储在计算机可读介质中以用于使机器执行本文讨论的任何一个或多个过程。在一些实施例中,计算机器作为独立设备操作或者可以连接(例如,联网)到其他机器。在联网部署中,机器可以在服务器-客户端网络环境中作为服务器机器或客户端机器运行,或者作为对等(或分布式)网络环境中的对等机器运行。
[0281]
图14中描述的计算机器的结构可以对应于上述图中所示的任何软件、硬件、或组合的组件。虽然图14示出了各种硬件和软件元件,但上述图中描述的组件中的每一个都可以包括附加或更少的元件。
[0282]
举例来说,计算机器可以是个人计算机(pc)、平板电脑、机顶盒(stb)、个人数字助
理(pda)、蜂窝电话、智能手机、网络设备、网络路由器、物联网(iot)设备、交换机或桥接器,或能够执行指令1424的任何机器,该指令指定该机器要采取的动作。此外,虽然仅示出了单个机器,但术语“机器”也应被视为包括单独或联合执行指令1424以执行本文讨论的任何一种或多种方法的机器的任何集合。
[0283]
示例计算机系统1400包括一个或多个处理器(通常为处理器1402)(例如,中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、一个或多个专用集成电路(asic)、一个或多个射频集成电路(rfic)或这些的任何组合)、主存储器1404和静态存储器1406,它们被配置成经由总线708相互通信。计算机系统1400还可以包括图形显示单元1410(例如,等离子显示面板(pdp)、液晶显示器(lcd)、投影仪或阴极射线管(crt))。计算机系统1400还可以包括字母数字输入设备1412(例如,键盘)、光标控制设备1414(例如,鼠标、轨迹球、操纵杆、运动传感器或其他指向仪器)、存储单元1416、信号生成设备1418(例如,扬声器)和网络接口设备1420,它们也被配置成经由总线708进行通信。
[0284]
存储单元1416包括计算机可读介质1422,在该计算机可读介质上存储有具体实施本文描述的任何一种或多种方法或功能的指令1424。指令1424在由计算机系统1400执行期间也可以完全或至少部分地驻留在主存储器1404内或处理器1402内(例如,在处理器的高速缓冲存储器内),主存储器1404和处理器1402也构成计算机可读介质。可以经由网络接口设备1420通过网络1426传输或接收指令1424。
[0285]
虽然计算机可读介质1422在示例实施例中被示为单个介质,但术语“计算机可读介质”应被视为包括能够存储指令(例如,指令1424)的单个介质或多个介质(例如,中心化式或分布式数据库,或相关联的高速缓存和服务器)。计算机可读介质可以包括能够存储由机器执行的指令(例如,指令1424)并且使机器执行本文公开的任何一种或多种方法的任何介质。计算机可读介质可以包括但不限于呈固态存储器、光学介质和磁介质形式的数据储存库。计算机可读介质不包括诸如信号或载波之类的瞬态介质。
[0286]
其他配置注意事项
[0287]
某些实施例在本文中被描述为包括逻辑或多个组件、引擎、模块或机构。引擎可以构成软件模块(例如,在计算机可读介质上具体实施的代码)或硬件模块。硬件引擎是能够执行某些操作并且可以以某种方式配置或布置的有形单元。在示例实施例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或计算机系统的一个或多个硬件引擎(例如,处理器或一组处理器)可以由软件(例如,应用程序或应用程序部分)配置成硬件引擎,用于执行本文描述的某些操作。
[0288]
在各种实施例中,可以机械地或电子地实现硬件引擎。例如,硬件引擎可以包括永久配置的专用电路或逻辑(例如,作为专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic))以执行某些操作。硬件引擎还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路(例如,包括在通用处理器或另一可编程处理器内)。将理解,以机械方式、在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中实现硬件引擎的决定可能由成本和时间注意事项所驱动。
[0289]
本文描述的示例方法的各种操作可以至少部分地由一个或多个处理器(例如,处理器1402)执行,这些处理器被临时配置(例如,通过软件)或永久配置成执行相关操作。无论是临时配置还是永久配置,此类处理器都可以构成处理器实现的引擎,其操作以执行一
个或多个操作或功能。在一些示例实施例中,本文所指的引擎可以包括处理器实现的引擎。
[0290]
某些操作的执行可以被分布在一个或多个处理器之间,不仅驻留在单个机器内,而且还跨多个机器部署。在一些示例实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施例中,一个或多个处理器或处理器实现的模块可以被分布在多个地理位置上。
[0291]
本领域技术人员将理解,在不脱离本公开的广泛一般范围的情况下,可以对上述实施例进行多种变更和/或修改。因此,本实施例在所有方面都被视为说明性的而非限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献