首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 区块链交易记录的系统和方法

交易记录的系统和方法

阅读:524发布:2020-08-17

专利汇可以提供交易记录的系统和方法专利检索,专利查询,专利分析的服务。并且提供一种与包括多个计算 节点 的分布式 区 块 链 计算系统通信的 计算机系统 。交易所存储订单簿和与不同客户相关联的多个数字钱包。计算机系统接收被添加到订单簿的新的数据交易 请求 。在数据交易请求之间识别匹配,并且生成与跟相应的数据交易请求相关联的数字钱包相关联的散列。各对手方接收另一方的散列以及关于匹配的信息,并且每方促使 区块链交易 添加到区块链计算系统的区块链。计算系统然后监控区块链来确定匹配的两侧是否都已添加到区块链。,下面是交易记录的系统和方法专利的具体信息内容。

1.一种分布式计算机系统,包括:
第一客户计算机系统;
第二客户计算机系统;以及
服务器计算机系统;
其中,所述服务器计算机系统二者被配置成与包括多个计算节点的分布式链计算机系统通信,每个计算节点存储所述分布式区块链计算机系统的区块链的副本或其一部分;
其中所述服务器计算机系统包括:
存储器,其被配置成存储:
各自与类型标识符和相应的数量值相关联的多个数据交易请求的第一和第二有序列表;以及
分别与不同的客户相关联的多个数字钱包,所述多个数字钱包中的每一个分别链接到至少一个对应的私人密码秘钥和已基于所述至少一个私人密码秘钥而生成的至少一个标识符;
收发器,其被配置成从远程计算设备接收各自包括数据交易请求的电子数据消息;以及
处理系统,其包括被耦合到所述存储器和所述收发器的至少一个硬件处理器,所述处理系统被配置成:
将所接收到的与第一数字钱包和第一客户计算系统相关联的第一数据交易请求添加到所述至少一个有序列表;
接收与第二数字钱包和第二客户计算系统相关联的第二数据交易请求
识别至少第一数据交易请求与接收到的第二数据交易请求之间的匹配;
使用散列函数基于包括在第一数字钱包中的数据生成第一散列标识符;
将第一散列标识符传输给第二客户计算系统;
使用散列函数基于包括在第二数字钱包中的数据生成第二散列标识符;以及将第二散列标识符传输给第一客户计算系统;
其中第一客户计算机系统包括至少一个硬件处理器和收发器,其被配置成:
基于第二散列标识符和第一数据交易请求来生成第一区块链交易;以及将基于第一区块链交易的第一消息传输给所述分布式区块链计算系统以用于将第一区块链交易包括到所述区块链中,
其中第二客户计算机系统包括至少一个硬件处理器,其被配置成:
基于第一散列标识符和第二数据交易请求来生成第二区块链交易;以及将基于第二区块链交易的第二消息传输给所述分布式区块链计算系统以用于将第二区块链交易包括到所述区块链中,以及
其中所述处理系统进一步被配置成监控所述区块链以检验第一区块链交易和第二区块链交易已被包括到所述区块链中。
2.根据权利要求1所述的计算机系统,其中,第一数据交易请求是从第一客户计算机系统发送的,并且第二数据交易请求是从第二客户计算机系统发送的。
3.根据权利要求1所述的计算机系统,其中,所述分布式区块链计算机系统的所述区块链是封闭式区块链。
4.根据权利要求1所述的计算机系统,其中,所生成的第一区块链交易或所生成的第二区块链交易包括所述至少一个有序列表的所述类型标识符以及针对所述类型标识符的量的数量值。
5.根据权利要求1所述的计算机系统,其中,第一和第二区块链交易是各自通过使用至少两个密码秘钥生成的。
6.根据权利要求1所述的计算机系统,其中,所述处理系统进一步被配置成:
基于所述区块链的监控,确定第一或第二区块链交易尚未被包括到所述区块链中;以及
生成撤回第一或第二区块链交易的至少一个其他区块链交易。
7.根据权利要求1所述的计算机系统,其中,所述存储器进一步被配置成存储各自与对应的类型标识符相关联的资产记录的列表;以及
所述区块链的监控包括确定表示或作为所述类型标识符的数据值是否被包括在第一和第二区块链交易中。
8.根据权利要求1所述的计算机系统,其中,所述处理系统进一步被配置成:
响应于识别到匹配,指示第一和第二交易请求待决;以及
响应于确定了第一和第二区块链交易已被所述区块链验证而移除或更新第一和第二数据交易请求的记录。
9.根据权利要求8所述的计算机系统,其中,所述处理系统进一步被配置成:
通过执行包括以下的行动来监控所述区块链:审查区块链交易以确定所审查的区块链交易是否包括对应于与所述待决数据交易请求中的一个相关联的标识符的标识符。
10.一种在包括存储器、收发器以及处理系统的计算机系统处执行的方法,所述处理系统包括被耦合到所述电子存储器和所述收发器的至少一个处理器,所述计算机系统被配置成与包括多个计算节点的分布式区块链计算机系统通信,每个计算节点存储所述分布式区块链计算机系统的所述区块链的副本或其一部分,所述方法包括:
存储各自包括类型标识符和数量值的多个数据交易请求的至少一个有序列表;以及存储分别与不同的客户实体相关联的多个数字钱包,所述多个数字钱包中的每一个分别链接到至少一个对应的私人密码秘钥和已基于所述至少一个私人密码秘钥而生成的至少一个标识符;
经由所述收发器并且从不同的远程计算设备接收各自包括数据交易请求的电子数据消息;
将所接收到的与第一数字钱包相关联的第一数据交易请求添加到所述至少一个有序列表;
接收与第二数字钱包相关联的第二数据交易请求;
识别至少所存储的第一数据交易请求与接收到的第二数据交易请求之间的匹配;
基于包括在第一数字钱包中的数据生成第一散列标识符;
基于包括在第二数字钱包中的数据生成第二散列标识符;
促使基于第一散列标识符的第一区块链交易和第二数据交易请求被生成并被提交到所述分布式区块链计算系统以用于包括到所述区块链中;
促使基于第二散列标识符的第二区块链交易和第一数据交易请求被生成并被提交到所述分布式区块链计算系统以用于包括到所述区块链中;以及
监控所述区块链以检验第一区块链交易和第二区块链交易已被包括到所述区块链中。
11.根据权利要求10所述的方法,进一步包括:
在所述分布式区块链计算机系统的至少一个节点上执行工作证明过程以密码检验第一区块链交易是有效的。
12.根据权利要求10所述的方法,其中,第一和第二区块链交易是由所述处理系统生成的并且使用所述计算机系统的所述收发器来传输到所述区块链。
13.根据权利要求10所述的方法,其中,所述分布式区块链计算机系统的所述区块链是封闭式区块链。
14.根据权利要求10所述的方法,其中,使用所述收发器将第一散列标识符和第二散列标识符传输给与第一和第二数据交易请求相关联的相应的远程计算设备,其中第一区块链交易是在与提交第二数据交易请求的客户的远程计算设备相关联的远程计算设备上生成的,并且
其中第二区块链交易是在与提交第一数据交易请求的客户的远程计算设备相关联的远程计算设备上生成的。
15.根据权利要求10所述的方法,其中,第一和第二区块链交易各自被生成以要求至少两个密码秘钥以便使用所述相应的区块链交易的输出。
16.根据权利要求15所述的方法,其中,所述至少两个密码秘钥中的一个是表示所述计算机系统的操作者的秘钥。
17.根据权利要求10所述的方法,进一步包括:
存储各自与对应的类型标识符相关联的资产记录的列表;
其中,所述区块链的监控包括确定表示或作为所述类型标识符的数据值是否被包括在已验证的区块链交易中。
18.一种具有存储于其上的计算机可读指令的非暂时性计算机可读存储介质,所述计算机可读指令供与计算机系统一起使用,所述计算机系统包括至少一个处理器、存储器和收发器,所述存储器被配置成分别作为针对第一列表的第一多个数据交易请求和针对第二列表的第二多个数据交易请求来存储数据交易请求的第一和第二列表,所述多个数据交易请求中的每一个包括大小值和类型标识符,所存储的计算机可读指令包括在由所述计算机系统执行时促使所述计算机系统进行以下各项的指令:
存储分别与不同的客户实体相关联的多个数字钱包,所述多个数字钱包中的每一个分别链接到至少一个对应的私人密码秘钥和已基于所述至少一个私人密码秘钥而生成的至少一个标识符;
经由所述收发器并且从不同的远程计算设备接收各自包括数据交易请求的电子数据消息;
将所接收到的与第一数字钱包相关联的第一数据交易请求添加到第一列表;
接收与第二数字钱包相关联的第二数据交易请求;
识别至少所存储的第一数据交易请求与接收到的第二数据交易请求之间的匹配;
基于包括在第一数字钱包中的数据生成第一散列标识符;
基于包括在第二数字钱包中的数据生成第二散列标识符;
促使基于第一散列标识符的第一区块链交易和第二数据交易请求被生成并被提交到所述分布式区块链计算系统以用于包括到所述区块链中;
促使基于第二散列标识符的第二区块链交易和第一数据交易请求被生成并被提交到所述分布式区块链计算系统以用于包括到所述区块链中;以及
监控所述区块链以检验第一区块链交易和第二区块链交易已被包括到所述区块链中。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中,使用所述收发器将第一散列标识符和第二散列标识符传输给与第一和第二数据交易请求相关联的相应的远程计算设备,
其中第一区块链交易是在与提交第二数据交易请求的客户的远程计算设备相关联的远程计算设备上生成的,
其中第二区块链交易是在与提交第一数据交易请求的客户的远程计算设备相关联的远程计算设备上生成的。
20.根据权利要求18所述的非暂时性计算机可读存储介质,其中,所存储的计算机可读指令进一步包括当由所述计算机系统执行时促使所述计算机系统进行以下各项的指令:
基于所述区块链的监控,确定第一区块链交易或第二区块链交易尚未被包括到所述区块链中;以及
生成撤回第一或第二区块链交易的至少一个其他区块链交易。

说明书全文

交易记录的系统和方法

[0001] 相关申请的交叉引用本申请主张提交于2015年3月31日的美国专利申请号62/140,802的权益,其整个内容通过引用并入到本文中。

技术领域

[0002] 本文中的技术涉及分布式交易计算机系统。更特别地,本文中的技术涉及与区块链对接的计算机系统和过程。

背景技术

[0003] 区块链技术(有时简称为区块链)是已被用在数字货币实现中的相对新的技术。在2008年Satoshi Nakamoto所著的名为“Bitcoin: A Peer-to-Peer Electronic Cash System”的文章中描述了区块链,藉此将其整个内容通过引用并入。区块链是存储交易列表的数据结构,并且可以被看作记录(一个或多个)源标识符与(一个或多个)目的地标识符之间的交易的分布式电子账簿(ledger)。所述交易被塞进区块中并且每个区块(除第一区块之外)反向引用该链中的在前区块或链接到该链中的在前区块。计算机节点维持区块链并密码验证每个新区块以及因而的包含在对应区块中的交易。该验证过程包括求解还易于检验并且有时称为“工作证明(proof-of-work)”的计算上困难的问题。
[0004] 因为每个区块引用或包括在前区块的密码散列值,所以维持整个区块链的完整性(例如,信任先前记录的交易未被修改过)。因此,一旦区块引用在前区块,其就变得难以修改或篡改包含于其中的数据(例如,交易)。这是因为即使是对数据的微小修改也将影响整个区块的散列值。每个添加的区块都增加篡改较早区块的内容的难度。因此,虽然可能所有人都能查看区块链的内容,但是它们实际上变得不可变。
[0005] 用于区块链交易的标识符是通过诸如例如公共密钥加密之类的加密来创建的。例如,用户可以基于私人秘钥创建目的地标识符。私人秘钥与目的地标识符之间的关系可以稍后用于提供该用户与来自该创建的交易的输出相关联的“证明”。换言之,用户现在可以创建另一交易来“花费”在前交易的内容。另外,由于仅该用户知晓目的地标识符与对应的私人秘钥之间的关系,因此该用户具有一定程度的匿名性,因为他们可以创建许多不同的目的地标识符(其仅通过该私人秘钥进行链接)。因此,用户与包括在区块链中的多个交易的总体关联可以对其他用户隐藏。虽然交易的细节可能在分布式账簿上是公共可用的,但是那些交易的底层(underlying)参与者可以被隐藏,因为标识符被链接到仅对应参与者知晓的私人秘钥。
[0006] 虽然区块链技术具有提供新益处的潜,但是其也对某些类型的实现造成了问题。例如,分散化且匿名的交易账簿对于期望或要求交易的透明度和/或可审计性的某些类型的环境来说可能是有问题的。因此,本领域中需要解决这些和其他问题。发明内容
[0007] 在某些示例实施例中,一种计算机系统与区块链计算机系统(例如,存储分布式账簿的一个或多个节点)通信。所述计算机系统包括数据存储(例如,存储器)、与远程计算设备通信的收发器以及包括硬件处理器的处理系统。所述数据存储按照类型标识符存储数据交易请求的一个或多个(通常两个)有序列表。从远程计算设备(经由所述收发器)接收所述数据交易请求。所述数据存储还存储各自与不同的客户账户相关联的数字钱包。每个数字钱包包括或链接到对应的私人秘钥和已使用所述私人秘钥生成的标识符。一般来说,所述标识符可以用作用于发送和/或接收交易的区块链地址。
[0008] 当在所述计算机系统处从远程计算设备接收到新的数据交易请求时,将所述请求添加到对应于所述请求的类型标识符的有序列表。所述处理系统被配置成执行匹配引擎以识别数据交易请求之间的匹配。换言之,所述处理系统识别存储在所述有序列表的一个中的数据交易请求与另一数据交易请求(例如,新接收到的数据交易请求)之间的匹配。一旦识别到了匹配,就生成基于与所匹配的数据交易请求相关联的数字钱包的数据(例如,所述私人秘钥)的新的标识符。将所述新标识符发送给相应的客户,所述相应的客户然后使用那些标识符来生成区块链交易。识别了所述匹配的所述计算机系统然后监控所述区块链以确定这两个区块链交易是何时已被并入/包括到所述区块链中的。
[0009] 可以组合本文中描述的特征以形成附加实施例,并且某些实施例的子元素可以形成另外的实施例。提供该概要以介绍概念的选择,其将在下文在详细描述中进一步进行描述。该概要既不意图识别所要求保护的主题的关键特征或基本特征,也不意图被用于限制所要求保护的主题的范围;相反,该概要意图提供对本文献中描述的主题的概览。因此,将领会到,上述特征仅为示例,并且本文中描述的主题的其他特征、方面和优点将从以下的详细描述、附图权利要求中变得显而易见。

附图说明

[0010] 将通过参考示例非限制性例证性实施例结合附图来更好且更完整地理解这些和其他特征和优点,在附图中:图1图示出根据某些示例实施例的与区块链对接的计算机实现的交易所系统的非限制性示例功能框图
图2A-2D是根据某些示例实施例的可以使用示例的基于区块链的交易所技术来实现的示例过程的一系列流程图
图3A-3I是示出可以作为基于区块链的交易所系统的一部分而执行的过程的一系列例证性示图;
图4图示出根据某些示例实施例的用来执行针对区块链的交易的过程;以及
图5是根据某些示例实施例的示例计算机系统。

具体实施方式

[0011] 在以下描述中,出于解释和非限制性目的阐述了诸如特定节点、功能实体、技术、协议等的具体细节以便提供对所描述的技术的理解。对本领域技术人员来说将显而易见的是,可以脱离下文中描述的具体细节来实践其他的实施例。在其他实例中,省略公知的方法、设备、技术等的详细描述以免用不必要的细节模糊本描述。
[0012] 在该具体实施方式中使用节段仅是为了使读者确定关于每个节段的大致主题;如下文将看到的,许多特征的描述跨越多个节段,并且不应将标题错误地当作影响在任何节段中所包括的描述的含义。
[0013] 概览在某些示例实施例中,一种计算机系统(即,交易所计算机系统)存储接收到的电子数据消息(其包括数据交易请求(例如,订单(order)))的两个已归类列表。当在两个(或更多个)订单之间识别到匹配时,该交易所生成新的区块链标识符来促进将要生成的区块链交易。由与已匹配的订单相关联的相应客户使用这些标识符来生成区块链交易并将该区块链交易提交给区块链以用于在其上进行检验。同时,该交易所监控区块链以确定区块链何时已检验两个交易(例如,被并入/包括到区块链的一个或多个已检验区块中)。
[0014] 图1图示出经由网络耦合到客户系统的交易所计算机系统的非限制性示例功能框图,所述客户系统被配置成创建订单并将订单投入交易所。该交易所与区块链交互。图2A-2D是由交易所计算机系统、客户设备、贸易各方和区块链执行的示例过程。图3A-3I示出客户设备、交易所和区块链如何执行本文中描述的示例过程的另一图解。图4是示出结合图
2A-3I讨论的示例过程的另一示图。图5示出在一些实施例中用于实现图1到图4中所示的特征的示例硬件架构。
[0015] 图1通过介绍的方式,图1示出了经由网络110(例如,互联网)与区块链116和一个或多个用户计算设备120A和120B对接的交易所计算机系统100的框图。
[0016] 交易所计算机系统100(其也可以被称为交易所计算系统、计算系统或计算机系统)包括耦合到电子数据存储(例如,易失性或非易失性存储器)的硬件处理器102(例如,一个或多个CPU),所述电子数据存储包括数字钱包104和订单簿106。数字钱包104和/或订单簿106可以是用于将相关联的数据存储在共同或专用电子数据存储(例如,RAM或硬驱)上的数据结构或其他逻辑结构。在某些示例实施例中,可以使用诸如硬件安全模块(HSM)之类的专用硬件设备来存储与数字钱包104或订单簿106相关联的信息。在某些示例实施例中,可以将钱包存储器存储在外部提供的并与交易所计算机系统100通信的专用存储硬件上。
[0017] 数字钱包104存储用于用户设备1和用户设备2的用户(以及使用由交易所计算机系统100提供的功能的其他客户或用户)的区块链钱包信息。数字钱包是软件和硬件、或者专设计的硬件,其存储允许个人进行使用例如区块链的电子商务交易的信息。数字钱包可以包括或存储持有私人秘钥(例如,该钱包的持有者所知晓的私人秘钥)和已基于该私人秘钥生成的一系列标识符(在本文中有时称为钱包标识符或钱包ID)的数据结构。使用这些标识符来允许其他用户向该标识符“发送”记录在区块链上的交易。然后可以使用与存储在钱包中的信息相关联的软件(例如,数字钱包应用)来查询区块链以确定什么未花费交易(例如,那些交易输出未被用作用于另一交易的输入)与钱包中的标识符相关联。这样的软件然后呈现该钱包的持有者所“拥有”的东西的整体视图(例如,经由图形用户接口)。例如,各自与一公司的1股相关联的100个不同的区块链交易可以各自与已使用相同私人秘钥生成的不同标识符相关联。虽然每个交易可能(从外部第三方的视来看)显现为与不同的标识符相关联,但是该私人秘钥(以及对应的数字钱包)的持有者可以能够使用数字钱包来识别这100个分离的交易中的每一个和他们钱包中的财产(belong)。可以对数字钱包编程以提供与从给定的数字钱包的一个或多个私人秘钥生成的标识符相关联的全部交易的整体视图。相应地,在该示例中,可以向用户呈现他们持有该公司的100股的视图(与100个分离的1股交易相对)。因此,数字钱包104中包括和/或使用的标识符可以从数字钱包的用户的视角来提供区块链透明度。
[0018] 在某些示例实施例中,数字钱包和其内含物(例如,私人秘钥和所生成的标识符)存储在用户控制的设备120A和120B上。在这样的示例中,用户设备120A可以将标识符和/或私人秘钥传输到交易所计算机系统100以便由其使用。因此,数字钱包的各种元件可以被提供在用户的设备(例如,由该用户拥有的设备)、交易所计算机系统100或另一第三方系统(例如,存储数字钱包和其中的信息的基于的系统)上。
[0019] 存储在数字钱包104中的钱包标识符(和/或钱包的私人秘钥)允许交易所计算机系统100代表钱包的“拥有者”与区块链116交互。在某些示例实施例中,在交易所计算机系统100上运行的实体也可以存储包括私人秘钥和钱包标识符的数字钱包,这允许顾客向交易所发送支付(例如,交易费用)。
[0020] 在某些示例实施例中,区块链116上的交易可以包括所谓的“彩色币”。彩色币被添加在传统区块链交易的顶部并用于识别附加的数字数据,其可以进而与可贸易资产(例如,其数字表示)相关联。彩色币与关于可贸易资产的附加信息之间的映射可以存储在交易所计算机系统100的数据库118中。可贸易资产可以包括证券或其他类型的可贸易货物或金融产品。在某些实例中,可贸易资产还可以包括电子(比特币)和实际货币(例如,美元)。
[0021] 订单簿106存储已从订单提交客户端(诸如控制远程计算设备(诸如用户设备1或2)的客户端)接收到的电子数据消息。在某些示例实施例中,订单簿106存储电子数据消息列表。在某些实现中,每个类型标识符(例如,每个股票代号或另一资产标识符)存储和维持两个分离排序的列表。这两个列表可以对应于针对股票代号的订单簿的买入和卖出或者买入报价和卖出报价“侧”。可以根据以下中的一个或多个来对消息进行归类:价格、大小、订单提交实体、时间、订单簿中的时间等等。在某些示例中,订单簿被划分成两侧(x侧和y侧,其可以是买入侧和卖出侧)。作为示例,在一些实施例中,订单簿106针对给定的类型标识符(例如,“AAPL”)存储针对该类型标识符的买入订单的有序列表和针对该类型标识符的卖出订单的有序列表,其中这两个有序列表是根据诸如价格、大小和/或时间等的因素来排序的。交易所计算机系统100经由网络接口108从订单提交客户端(例如,用户设备1或用户设备2)接收包括新数据交易请求(在本文中的本示例和其他示例中也称为订单)的电子数据消息。在接收到该消息时,硬件处理器102可以尝试将该新接收到的电子数据消息中包括的订单与存储在订单簿106中的现有订单相匹配。替换地或另外(例如,没有找到匹配),将接收到的电子数据消息和/或其订单存储到订单簿106以用于与包括订单的未来进入的电子数据消息进行匹配。
[0022] 一旦交易所计算机系统100识别到了潜在匹配,那么所匹配的订单就通过使用区块链116来“进行贸易”和结算(settle)。交易所计算机系统100监控区块链116来确认进行了贸易,并且可以基于该监控执行进一步处理(例如,满足监管需求、审计、记录等)。
[0023] 交易所计算机系统100可以耦合到(或包括)数据库118。数据库118可以保存账户信息、审计信息、区块链交易之间的映射、彩色币映射(例如,资产或类型标识符列表以及那些标识符所对应的资产或类型)和其他数据。在某些示例实施例中,每种资产可以具有或对应于一私人秘钥。该私人秘钥可以控制该资产在区块链上的“新”实例的新创建(就如同客户的私人秘钥控制基于该私人秘钥的新区块链地址的创建那样)。
[0024] 图2A-2D图2A示出了可以根据某些示例实施例实现的示例过程的示图。图2A包括用于贸易方A的用户设备120A(有时称为计算设备A)用于贸易方B的用户设备(有时称为计算设备B)、存储了分布式账簿或区块链(例如,区块链116)的区块链计算机系统214和交易所计算机系统
100。区块链计算机系统214可以是包括由维持单个区块链的不同实体操作的许多不同单独的计算机系统的公共区块链系统。替换地,区块链计算机系统214可以包括全部由单个实体操作的一个或多个单独计算机系统(例如,私人或封闭式区块链计算机系统)。在某些示例中,操作交易所计算机系统100的实体也可以操作并维持区块链计算机系统214(或其部分)和由那些系统维持的区块链116。
[0025] 区块链计算机系统214包括各自进行操作以“采掘”并由此验证提交到区块链116的交易的多个不同的计算机节点。一般来说,所述节点中的仅一个需要“接收”已从客户提交的交易。一旦一个节点接收到了交易,它就可以将该交易传播给区块链计算机系统214内的其他节点。
[0026] 经由工作证明采掘过程将每个交易(或交易区块)并入/包括到区块链116中。采掘过程可以涉及到求解计算上困难的问题,其也易于检验。例如,每个节点可以尝试“采掘”区块或交易的散列的解。散列(本文中也称为“散列函数”、“密码散列函数”等)包括将初始输入数据集映射到输出数据集的函数。来自散列函数的输出在本文中可以称为“散列标识符”、“散列值”、“散列数据集”或简称为“散列”。一般来说,来自给定的散列函数的输出值具有相同的固定长度。一般来说,如果对相同输入数据使用相同散列函数,则这将得出相同输出数据值。利用一些散列函数(包括在区块链技术的上下文和/或本申请的主题中使用的那些函数),在仅知晓输出值时在计算上难以确定输入值。在某些示例中,用于散列函数的输入值被增补有一些附加的随机数据。例如,用于散列函数的“blockchain”的输入值可以包括附加的随机数据,诸如三个随机字符。相应地,被散列化的数据值可以是“blockchaina5h”而非简单的“blockchain”。附加的随机数据有时称为“临时数(nonce)”。
[0027] 为了将新的区块验证到区块链中,所执行的工作证明过程(或散列操作过程)可以包括找出可以得出满足给定条件的输出散列值的输入散列值(即,该区块)。由于与区块中的区块链交易相关的数据是固定的,因此采掘器(例如,区块链上的节点)修改作为正被验证的区块的一部分而包括的临时数值,直到散列函数的输出值满足了给定条件为止。例如,目标输出值可以具有5个0作为散列的前四个数字。这是可能在计算上难以确定、却相对易于检验的问题。作为区块链的一部分的每个节点还可以将区块链116的一部分或副本保留在对于对应节点来说本地的存储(例如,在磁盘上或在RAM)中。
[0028] 计算设备A和B(分别为120A和120B)可以包括用户系统(例如,如结合图5或图1描述的诸如智能电话、平板、计算机或其他计算设备之类的用户设备)。在某些示例实施例中,计算设备A 120A和计算设备B 120B可以是由传统的经纪人或其他“中间人”操作或控制的计算机系统。在某些示例实施例中,计算设备A和B可以由人类终端用户(例如,最终将“拥有”讨论中的资产的人或实体,或者附属于最终将拥有讨论中的资产的实体的人)使用。替换地和/或另外,计算设备A和/或B可以作为交易所计算机系统100的一部分而被包括,并且可以是交易所计算机系统100的由用户、客户、顾客等操作的计算机系统的一部分。例如,计算设备A和/或B可以被托管在云中或者利用交易所计算机系统100的计算资源来进行托管。换言之,用于实现结合计算设备A 120A和计算设备B 120B描述的功能的处理资源可以位于远离用户向其提供输入的计算设备,这可以是“托管”计算选项。
[0029] 在步骤230处,贸易方A的计算设备120A向电子交易所计算系统100发送请求(例如,该请求被承载在电子数据消息中)以为对应的贸易方账户创建新的钱包。贸易方(与由该贸易方使用的设备相对)可以表示被分配有用于与电子交易所计算机系统100电子交互的账户(贸易方账户)的用户(例如,人)、组织(例如,公司)、或其他实体。在某些示例实施例中,步骤230可以是交易所计算机系统100内的内部API调用(例如,其是基于来自由用户控制的用户设备的请求而触发的)。
[0030] 响应于接收到了钱包请求,交易所计算机系统100执行过程,该过程包括创建或分配由或将要由贸易方用于如本文中描述的那样对资产进行贸易的数字钱包(钱包)232。同样如本文中讨论的,数字钱包通常不“持有”资产,而是包括用于识别哪个贸易方拥有作为区块链116的一部分的特定交易(例如,区块链交易)或与所述特定交易相关联的(一个或多个)唯一标识符和一个或多个私人秘钥。区块链交易中的唯一标识符可以用于链接、识别、表示或以其他方式指示(例如,与存储在区块链计算机系统214上的区块链116分离地存储的)哪个资产记录属于哪个数字钱包“中”。
[0031] 作为上文描述的内容的变型,在一些实施例中,作为步骤230涉及到创建新的数字钱包的替代,步骤230可以替代地涉及到向电子交易所计算系统100注册先前创建的钱包。在这样的实施例中,计算设备A可以从用户接收指示例如钱包ID(例如,比特币地址)、对应的公共密钥和/或对应的私人秘钥的用户输入;并且计算设备A在步骤230处向电子交易所计算机系统100传输该信息(即,钱包ID、公共密钥、私人秘钥或其他信息)以用于存储在数字钱包数据库104中。
[0032] 一旦在步骤232处创建了(或以其他方式注册了)数字钱包,就可以向计算设备A 120A传输钱包信息(或在注册的情况下的确认)以用于随其存储。例如,可以向计算设备A 
120A传输私人、公共和/或所生成的区块链地址。可以稍后使用该数据来生成交易并向区块链计算机系统214和区块链116提交该交易。与到/从计算设备A和B的其他传输一样,那些传输或步骤可以是到/从中间计算机系统(例如,由经纪人操作的计算机系统)或者可以是作为交易所计算机系统100的一部分的内部API传输。
[0033] 在步骤236处,计算设备A向交易所计算机系统100传输电子数据消息。电子数据消息包括用于使交易所计算机系统100基于该电子数据消息的内容来实现一个或多个任务的数据交易请求。在某些示例中,数据交易请求可以是或可以包括“买入”或“卖出”某些资产的订单。
[0034] 在某些示例实施例中,交易所将资产或类型标识符的列表存储在数据库118中,并且这些标识符中的每一个对应于可以受电子数据交易请求和/或包含于其中的订单支配的一个或多个资产类型或交易“类型”。在某些实例中,所有新接收到的订单都引用或指示所存储的资产类型中的一个,并且因此可以与如本文中讨论的彩色币相关联。在某些示例实施例中,资产标识符可以是股票代号。在其他示例实施例中,资产标识符可以是对应于股票代号的全局唯一标识符(GUID)。订单还可以包括指示贸易方(即,代表其提交该订单的贸易方账户)的信息;该信息可以是或可以包括对贸易方的特定数字钱包(例如,乔伊的钱包)和/或具体的钱包ID(例如,存储在该钱包中的密码地生成的标识符)的引用。订单还可以包括要被交易的量、用于该订单的具体处置指令(例如,限制订单、市场订单等)、贸易方希望作为回报的(一个或多个)资产的量(这可以包括另一种类型的资产,例如,10股的股票A用于10股的股票B、金钱(诸如10美元)、加密货币的量或其他可贸易项目)。
[0035] 在步骤238中,交易所计算机系统100对在接收到的电子数据消息中指示的订单执行验证过程。在一些实施例中,这包括交易所计算机系统100检查针对该订单的贸易方与该订单正提供贸易的项目相关联。例如,如果该订单指示应卖出100股的AAPL,那么交易所计算系统100将查询区块链系统214以确保与该订单相关联的贸易方拥有(或有权使用)100股AAPL。换言之,交易所计算机系统100可以自动确定该贸易方(或其钱包ID)相关联的区块链上是否有满足或超过100股AAPL的未花费交易(或多个交易)。结合步骤238,如果该验证过程失败(例如,贸易方并未拥有100股的AAPL),那么拒绝所提交的订单并在步骤240中向计算设备A 120A发送对应消息。
[0036] 在某些示例实施例中,步骤238的验证过程可以替换地或附加地包括与特定资产相关的验证。例如,验证过程可以确定该资产是否是在交易所计算机系统100上进行贸易的资产。验证过程可以确定与该订单或贸易请求相关联的数量或价格是否是有效值。在某些示例中,所述验证(例如,最小/最大价格或数量)可以是基于该订单寻求进行贸易的资产的特定类型。
[0037] 在步骤242中,如果该订单有效,并且作为订单预订过程的一部分,交易所计算机系统100将新提交的订单保存到订单簿106。交易所计算机系统100然后可以产生与订单簿中待决的订单相关联的数据(参见图3D)。交易所计算机系统100还可以存储与所提交的订单相关联的钱包信息以用于稍后由交易所计算机系统100使用。可以将钱包信息存储为数字钱包104的一部分或者存储在数据库118中(例如,其存储钱包信息与数据交易请求之间的直达链接(express link))。
[0038] 在步骤243中,交易所计算机系统100基于订单簿生成市场数据(例如,每次有对订单簿的改变的时候)并向计算设备A 120A和/或其他第三方计算机系统传输所述市场数据。将领会到,市场数据馈送可以是连续的过程,其在每当有对订单簿的改变(例如,对现有订单的修改、新订单的添加、两个或更多个订单的匹配等等)时被触发。相应地,可以生成作为市场数据馈送的一部分的新消息并贯穿接收、匹配或以其他方式修改存在于订单簿104中的订单的过程中传输所述新消息。
[0039] 转向图2B,在步骤244中,可以针对订单簿中的订单运行匹配过程。匹配过程识别在订单簿中的两个或更多个订单之间是否存在匹配。例如,具有10的大小的新接收到的订单“A”可以匹配至各自具有5的大小的两个反方(contra-side)订单。在某些示例中,所识别的贸易的三方中的每一个可以构建并向区块链提交区块链交易以用于在其上验证。在某些示例中,匹配过程可以在每次接收到新订单时(在将该订单添加到订单簿之前或之后)运行。例如,匹配引擎可以由硬件处理器102执行。
[0040] 在步骤246中,一旦新接收到的订单(或订单簿中的目前订单)被识别成匹配存储在订单簿中的另一订单(例如,基于由交易所计算机系统100针对正在贸易的(一个或多个)资产实现的订单处置和匹配规则),则交易所计算机系统100向每个贸易方(例如,与对应于所述贸易各方的用户相关联的计算机设备)通知(在步骤248和249中)识别到了匹配并且将/将要进行贸易。该信息然后可以促使(例如,通过使用安装在对应设备上的应用软件)客户计算机系统(或另一计算机系统)基于接收到的信息生成并向区块链提交区块链交易。通知包括要记录的贸易或交易的细节(例如,其中一个交易表示从A到B的交易、另一个交易表示从B到A的交易,并且贸易是交易的集合或组,诸如,B向A发送数量X的资产,并且A向B发送数字货币或另一资产)。在某些示例中,贸易信息包括资产标识符和数量。资产标识符和数量可以被包括在所生成的区块链交易中。在某些示例实施例中,贸易信息可以与唯一标识符(GUID)相关联,所述唯一标识符用于识别A与B之间已识别了的贸易(例如,贸易标识符)。交易所计算机系统100可以使用该信息来随后将已检验的区块链交易关联(例如作为步骤
262的一部分)至由交易所存储的该交易待决或等候验证的记录。
[0041] 然后,交易所计算机系统100对与贸易方A相关联的钱包(或对一些数据,诸如包含在与贸易方A相关联的钱包内包含的私人秘钥)应用密码散列以生成钱包A散列化信息。在步骤251中,交易所计算机系统100向计算设备B 120B传输钱包A散列化信息。类似地,交易所系统100对与贸易方B相关联的钱包(或对与贸易方B相关联的钱包内包含的一些数据)应用密码散列以生成钱包B散列化信息。在步骤250中,交易所计算机系统100向计算设备A 120A传输钱包B散列化信息。在某些示例中,交易所计算机系统100所使用的散列可以是基于关于贸易其自身的用来检验各方与彼此交换同意的资产的信息。例如,散列可以是来自钱包A的数据和来自贸易A的数据的函数。
[0042] 在某些示例实施例中,电子交易所计算机系统100向计算设备A 120B和计算设备B 120B中的每一个传输附加信息,所述附加信息可以包括例如关于由贸易各方同意的贸易的待决贸易信息。被传输给计算设备A 120B和计算设备B 120B的信息然后可以使得对应的计算设备基于接收到的信息生成并提交区块链交易。
[0043] 在替换实施例中,交易所计算机系统100通过内部过程传送散列化钱包信息,使得当交易被提交给区块链系统214时,其是从交易所计算机系统100而不是例如计算设备A 120A提交的。在这样的实例中,由计算设备A 120A和计算设备B 120B执行的功能元素可以由交易所计算机系统100或由操作交易所计算机系统100的实体操作的另一计算机系统来处理或执行。例如,一旦用户已从他们对应的设备(或通过经纪人的计算机系统)提交了订单,交易所100就可以执行与区块链116中的贸易和记录的完成相关的后续步骤。
[0044] 一旦包括匹配过程的步骤244未能找到针对由贸易方210提交的订单的有效匹配,那么交易所计算机系统100就可以在步骤252处将该订单添加到订单簿106,并在步骤254处向计算设备A 120A发送在交易所计算机系统100的订单簿106中预订了该订单的应答数据消息,过程在这里结束并且交易所计算机系统100可以返回等候另一订单被提交(例如,返回到步骤236或238)。
[0045] 在某些示例中,交易所计算机系统100还可以要求交易费用。该费用可以作为贸易方A或贸易方B与表示交易所计算机系统100的账户之间的附加区块链交易来生成。在某些示例中,该交易可以被完成并录入在区块链116中。例如,计算设备A 120A可以从交易所计算机系统100接收信息(例如,交易所的数字钱包的公共密钥)以生成区块链交易,该区块链交易会将例如比特币或一些其他资产从贸易方A的数字钱包“转移”到交易所的数字钱包。该生成的区块链交易然后可以从计算设备A 120A进行提交。交易费用可以基于正在进行贸易的资产的类型而变化。在某些示例中,交易所计算系统可以支持订单修改和取消。
[0046] 返回图2B,一旦计算设备120A和120B在步骤248、249、250和251中接收到贸易和/或钱包信息,这两个设备就开始将同意的资产转移给彼此的过程。
[0047] 在图2C中且在步骤256中,计算设备A 120A使用先前接收到的贸易和/或钱包信息(例如,其包括贸易方B的数字钱包的信息的信息)来生成区块链交易并在步骤257处将所生成的区块链交易传输给区块链计算机系统214。类似地,计算设备B 120B(对手方)在步骤258处生成区块链交易并在步骤259处将该交易传输给区块链计算机系统214。例如,生成指定将资产(例如,100股的AAPL)从一个贸易方(例如,A)转移到与对手方(例如,B)相关联的散列化钱包信息的交易消息。(例如,由计算设备B 120B生成的)对手交易可以指定转移一些其他资产(例如,USD、比特币、其他资产类型等)。交易和对手交易构成了交易所计算机系统100在步骤246中识别出的贸易。
[0048] 在某些示例中,密码散列化的钱包信息允许贸易各方通过使用区块链来匿名地向彼此发送资产。维持匿名是因为发送贸易方将由于第三方确定散列化钱包信息与之相关联的底层钱包(例如,贸易方)在数学上不可行而不能够确定接收贸易方。相反,仅交易所计算系统和贸易方(以及由这些实体中的任一者通知的各第三方)将会知晓谁与该散列化钱包信息相关联。另外,散列化钱包信息可以针对每个新的潜在匹配而生成。因此,钱包可以与许多不同的区块链交易和/或散列相关联以构成给定的贸易方所“拥有”的整体。例如,与贸易方A相关联的钱包可以具有针对识别到的匹配中的每一个生成的不同的区块链地址。仅贸易方A(和交易所系统以及由交易所系统或贸易方A所通知的任意方)可以具有关于什么交易或资产与贸易方A的数字钱包相关联的完整视图。
[0049] 在某些示例实施例中,交易所计算机系统100可以制定并向区块链计算机系统214提交交易以用于包括到所维持的区块链116中。换言之,交易所计算机系统100可以代表贸易各方进行行动以完成贸易并将贸易写入到作为区块链116的分布式账簿。在某些示例实施例中,贸易方(例如,用户、经纪人等)向计算设备(例如,计算设备A 120A)提供输入,并且使用安装在该设备上的软件应用来生成对应的电子数据消息。然后将所生成的电子数据消息传输给例如交易所计算机系统100。类似地,“接收”电子数据消息的贸易方实际上在由贸易方使用的对应计算设备上接收这样的消息。
[0050] 在步骤260中,由计算设备A 120A和计算设备B 120B提交的交易被构成区块链计算机系统214的单独节点所“采掘”,以验证所提交的交易并最终写入到区块链116(例如,公共或私人账簿)。一般来说,一旦区块链交易被提交用于验证,其就被区块链计算机系统214内的计算机节点中的一个或多个(例如,可以各自对应于图5中所示的架构的单独的计算机)所接收。一旦被节点接收,该节点就会将该区块链交易传播到区块链计算机系统内的其他节点。然后每个节点都对该交易(或称为“块”的一组交易)执行采掘过程。采掘过程是用于求解计算上困难、也易于检验的问题的过程。在一些实施例中,这包括求解密码散列算法或函数。问题的解一般称为工作证明并且被包括有交易或交易块作为交易已被“求解”或检验了的记录。相应地,一旦生成了针对所提交的交易的新的块并将其检验到区块链中,其就是该区块链的一部分。
[0051] 在步骤262中,交易所计算机系统100针对待决(例如,被交易所计算机系统100标记为待决)且已被提交至贸易各方用于在区块链上完成的贸易来监控(例如,连续地监控)区块链计算机系统214的区块链。例如,当完成了区块链的新的区块(并且因此该新的区块被公布给区块链系统的所有节点)时,交易所计算机系统100确定较早提供的、现在可以是该区块链的新区块的一部分的散列化钱包信息是否存在于其中。在某些示例实施例中,交易所计算机系统在本地存储器中维持区块链的本地副本以用于该过程。例如,交易所计算机系统100包括用于“采掘”区块链交易的处理资源(例如,CPU、GPU)。相应地,交易所计算机系统中的一个或多个节点可以被包括在交易所计算机系统100中。
[0052] 在步骤264中,交易所计算机系统100确定两个贸易方是否已经交换了正确的资产。换言之,交易所计算机系统100确定存在于区块链116中的交易是否示出了对应于先前匹配的订单的交易。
[0053] 连同检验区块链数据(例如,如果已经进行了交换)一起,交易所计算机系统100还更新交易日志、适当的账簿,并在步骤265中创建新的审计日志条目。然后可以使用该信息来产生可以存储在数据库118中的合并审计跟踪(Consolidated Audit Trail, CAT)信息。
[0054] 在图2D中且在步骤266中,如果交易所计算机系统100确定了任一贸易方未能在同意的时间框架中转移同意的资产,那么交易所计算机系统100可以在步骤270中向区块链发布撤回任何部分交易或失败交易的数据指令,其然后将资产返回至它们原始的拥有者。在某些示例实施例中,该撤回过程可以被构建到所提交的交易中(例如,作为所生成的区块链交易的一部分的脚本)或者可以是将资产转移回原始拥有者的另一交易。
[0055] 在某些示例实施例中,电子交易所计算机系统100向每一方指示“破损的”贸易,并从订单簿中移除待决贸易(例如,两个订单可以被如常放置回到订单簿中)。在某些示例中,用于完成订单的时间框架将由电子交易所计算机系统100基于资产类型来确定,或者可以在从贸易方接收到的订单处置指令中提供。例如,如果交易所计算机系统100尚未检验到完整的贸易(例如,从A到B的一个交易以及从B到A的另一交易),那么其可以自动生成撤回该贸易的任何部分的新区块链交易。例如,如果从A到B的交易被包括在区块链中,但是从B到A的交易不存在,那么交易所计算机系统可以生成对手区块链交易,其作为A到B的交易的结果而返回“被转移”的资产。
[0056] 在步骤272中,如果已交换了正确的资产,那么电子交易所计算机系统100从订单簿106中移除与该完成的贸易相关联的待决贸易,将该贸易标记为完成的,产生指示该贸易的市场数据(例如,步骤243)和/或向给定的(一个或多个)资产的保管者报告清算和结算。在某些示例实施例中,交易所计算机系统100可以等候在包括所述交易的区块之后后续生成的一定数目的区块。例如,交易所可以等候直到具有讨论中的交易的区块在区块链中至少为五级深。这些后续块进行行动以进一步检验交易已完成并且不能被篡改(由于每个块的检验取决于在前区块的工作证明)。
[0057] 作为区块链过程的一部分,采掘者的计算机系统可以将其钱包更新有与已针对区块链进行采掘的交易相关联的采掘费用。在某些示例中,区块链系统可以是(例如,由交易所的操作者)私人操作的,并且该费用可以是由交易所计算机系统100收取的交易费用(如上所述)。
[0058] 在步骤274和276中,每个贸易方监控区块链并更新各个钱包提供给区块链以指示现在由对应的贸易方所持有的资产的视图。
[0059] 图3A-3I图3A-3I是根据某些示例实施例的示出可以作为基于区块链的交易所计算机系统的一部分而执行的过程的一系列例证性示图。
[0060] 在图3A中,交易所计算机系统100包括存储待决订单的订单簿104和被存储在易失性或非易失性存储(例如,RAM或磁盘上)中的数字钱包存储104。用于客户1的数字钱包306包括钱包标识符310。如本文中描述的,数字钱包(例如,306和308)是可以由(例如,用户设备120A)、经纪人计算机系统、交易所计算机系统100或允许客户或贸易方与钱包的内容(例如,钱包标识符310或私人秘钥)交互的某其他计算机系统安装在客户计算机系统上的软件程序。类似地,用于客户2的数字钱包308包括钱包标识符312。钱包306和308包含与该钱包相关联的资产。如本文中解释的,钱包实际上不包含讨论中的资产(例如,像实体钱包会包含10美元钞票那样),而是持有用于示出针对作为区块链的一部分的交易的所有权证明的秘钥。讨论中的资产可以与区块链内的由交易所计算系统100所跟踪和管理的特定交易相关联。
[0061] 在以下示例中,数字钱包306和308被存储在客户计算机系统(例如,用户设备120A或120B,其也可以对应于结合图5描述的计算机)上。相应地,当钱包发送或接收数据消息(或客户1或客户2“发送”或“接收”)时,发送和接收功能可以由正存储数字钱包数据并执行数字钱包应用程序的用户计算机系统的对应的收发器来执行。然而,如本文中解释的,并且在替换实施例中,也可以在交易所计算机系统100上存储和执行数字钱包。
[0062] 在图3B中,钱包306向交易所计算机系统100发送具有以100欧元卖出10股AAPL(10 AAPL @ 100 EUR)的指令的电子数据消息。交易所计算机系统100用.001 BTC的小额交易费用对客户1的客户计算机系统提交给区块链的该消息进行响应,从而将.001 BTC转移到交易所计算机系统100的数字钱包。还包括在传输给交易所计算机系统100的电子数据消息中的是钱包标识符310。如本文中解释的钱包标识符310可以包括私人秘钥或其他标识符或数据。例如,可以基于客户1的数字钱包的(例如,作为椭圆曲线加密算法的结果而生成的)私人秘钥生成或生成了钱包标识符310。
[0063] 在某些示例中,在客户计算机系统(例如,智能电话)上提供数字钱包的视图,并且在交易所计算系统100上存储(例如,包含公共/私人秘钥、标识符等的)数字钱包。因此,从贸易方的计算设备传输的电子数据消息可以简单地提供用来卖出一定量的股的股票A的订单,并且交易所计算系统100(或另一计算系统)可以确定需要生成并制定以便根据本文中描述的技术来成功地放置该订单的具体的区块链相关元素。
[0064] 在图3C中,将发送自客户1的电子数据消息(或其内容)存储到交易所计算机系统100。特别地,用来以100欧元卖出10股AAPL的订单被添加到了订单簿,并且钱包标识符310被添加到了交易所100的钱包管理。
[0065] 在某些示例中,交易所100的钱包存储可以通过集成有企业硬件安全模块(HSM)的硬件进行支持。
[0066] 在图3D中,订单簿104中的关于订单或电子消息的数据(例如,市场数据)可以由交易所计算系统100产生并经由市场数据中枢314递送到远程计算客户端。在某些示例实施例中,可以使用诸如来自纳斯达克的TotalView-ITCH之类的实时馈送。这样的市场数据中枢可以促进摆脱通过更广阔的市场的连接性,并且为数据提供正由客户所查看的单个版本。在某些示例中,其还可以是用于智能合同的数据源。
[0067] 在图3E中,客户2传输具有用来以100欧元买入10股AAPL(buy 10 AAPL @ 100 EUR)的订单(例如,数据处理指令)的电子数据消息。该电子数据消息还包括客户2的数字钱包308的钱包标识符312。像在前订单一样,交易所计算机系统100用随后针对区块链进行处理的0.001 BTC的交易费用进行响应(因此向交易所计算机系统100的数字钱包转移0.001的费用)。
[0068] 在图3F中,将用于客户2的数字钱包的钱包标识符添加到交易所计算机系统100的钱包存储104,并且将从客户2提交的电子数据消息中包括的买入订单添加到订单簿(或者替换地,交易所100的匹配引擎尝试将新接收到的订单与驻存在订单簿中的任何现有订单进行匹配)。交易所计算机系统100的匹配引擎然后识别贸易机会316。响应于识别贸易机会,交易所计算机系统100对与相应订单相关联的客户ID进行散列化(例如,与相应客户相关联的钱包信息中的全部或某一部分的散列)以创建密码散列。然后将这些密码散列传输到相应的对手方以用于所识别的贸易。因此,与客户2相关联的客户计算机系统接收客户1标识符的散列化版本,并且与客户1相关联的客户计算机系统接收客户2标识符的散列化版本。在某些示例实施例中,响应于识别到的贸易机会,从订单簿中移除这两个订单并将其放置到待决交易列表中(或者将其在订单簿中标记为待决)。
[0069] 有利地,客户ID的密码散列允许每个客户在区块链上以匿名方式完成交易,并且还可以防止相应的各对手方形成用于未来贸易的直接的双边交换。
[0070] 在某些示例实施例中,从每个客户向交易所计算机系统100(例如,以电子数据消息的形式)发送经同意的交易费用。也可以将交易费用提交到区块链(例如,以比特币或另一彩色币的形式),以使得将该费用从每一方的数字钱包移动到交易所计算机系统100的数字钱包(或另一数字钱包)。该区块链交易可以在最初从客户接收到订单时、在贸易时或二者时发生。在某些示例实施例中,也可以应用针对清算和结算服务的交易费用。换言之,单个“交易”(例如,如在图3A-3I中所示)可以涉及到或包括被提交到区块链以用于包括在其上的多个分离的区块链交易的生成。
[0071] 在某些示例实施例中,交易所计算机系统100可以实现多签名特征,这将允许交易所计算机系统100在任意方未能递送的情况下“中断贸易”。特别地,所生成的区块链交易可以要求两个不同的秘钥来显示针对交易的输出的“所有权”。例如,从A到B的交易可以在B能够“花费”或进一步交易与该交易相关联的资产之前要求B的秘钥和另一第三方(例如,交易所、与底层资产相关联的公司或监管机构)的秘钥。在某些示例实施例中,所生成的区块链交易可以要求来自全部数目的可能秘钥之中的阈值数目的秘钥来解区块链交易(例如,以花费该交易的输出)。例如,可以使用4个不同的秘钥来解锁交易,并且交易可以由这4个要求的秘钥中的两个或更多个来进行解锁。
[0072] 在某些示例实施例中,交易所计算机系统100可以创建和/或维持第三方支付(escrow)数字钱包。在这样的实施例中,客户1可以使用客户2的钱包标识符(或其散列化版本)以及与交易所计算机系统100相关联的钱包ID来创建多签名地址(例如,其引用该第三方支付钱包)。相反,客户2可以使用客户1的钱包ID(或其散列化版本)以及交易所的钱包ID来创建对手交易。当这两个订单都(例如,通过适当制定的区块链交易)被提交并转移到第三方支付钱包时,可以使用另一区块链交易来将资产从该第三方支付钱包“移动”到对手方的钱包。一旦任意方失败,那么交易所计算机系统100就可以通过创建适当的区块链交易来将资产从第三方支付钱包返回到原始方。
[0073] 在图3G中,在从交易所计算机系统100接收到散列化的客户ID之后,客户1和客户2的客户计算设备与区块链116对接。在某些示例实施例中,区块链可以是私人管理的区块链(例如,其由正运行交易所计算系统100的实体管理),或者可以是公共区块链(例如,如针对比特币运行的区块链)。
[0074] 在任何情况下,客户1和客户2的客户计算设备向区块链计算机系统214的一个或多个节点发送交易以用于处理(例如,以被添加到区块链116)。在某些示例中,交易可以与比特币账户相关(例如,在具有从客户到交易所的费用的情况下)。在某些示例中,使用称为“彩色币”的东西来表示交易所计算系统100列出的资产。交易所计算机系统100可以存储散列化钱包秘钥(例如,客户ID)到在区块链上执行的对应交易的映射。
[0075] 如上文指示的,可以代表来自客户1和客户2的计算设备将交易从交易所计算机系统100提交到区块链116。换言之,客户端可以仅用于最初的订单提交。
[0076] 被提交到区块链计算机系统214的交易由如上文描述的采掘者(例如,执行密码过程以检验交易的计算系统)进行“采掘”,并且该采掘的结果是链接到所述区块链中的新的块。一旦包括所提交的交易的新区块具有“工作证明”,那么确定其然后被验证并被视为区块链的一部分。
[0077] 转向图3H,交易所计算机系统100识别已被包括在区块链中的贸易。这可以通过识别作为区块链的一部分且与先前生成的散列化客户ID相关联的交易来实现。在某些示例中,可以使用通知代理(例如,在交易所计算机系统100上运行的软件或另一件计算硬件)来检测并报告何时在区块链116上且与某些交易相关联地识别到了这样的散列化标识符。一旦一交易被通知为在区块链116中,交易所计算机系统100就可以触发一个或多个过程。如结合图2A-2D讨论的,可以将结算的报告和/或交易的记录转送到监管机构或保管者。交易所计算机系统100可以随着交易现在被记录到区块链而从订单簿(或其他存储器)中移除待决订单。同样,交易所计算机系统100可以将关于(一个或多个)交易的数据散布到市场数据中枢314。也可以使用该数据来驱动现有的支持办公系统(例如,C&S、FINRA等)。
[0078] 在某些示例实施例中,对市场数据中枢的访问可以采取(例如,加密货币的)市场小额支付结构。例如,可以每次查询向顾客收取费用。在其他示例中,可以在建立通知流时向请求(例如,针对特定证券的)市场数据的通知的顾客收取费用。费用可以是每次通知或者另一交易模式。
[0079] 将领会到,识别交易在区块链116中可以包括等候直到一定数目的区块已被添加到了区块链116。这样的过程将确保交易是不可撤回的,因为修改区块链116内至少几层深的区块中包括的交易将会是不可能的(或至少技术上不可行的),因为每个区块的工作密码证明取决于在前区块的工作的密码证明。在某些示例实施例中,贸易可以在一定数目的区块已被添加到了区块链之后被视为结束或已结算。例如,可以将6个区块添加到区块链,其中每个新区块增加来自各在前区块的交易的有效性。
[0080] 这样的结算和清算过程在某些实例中可能花费约1小时。将领会到,这比传统电子交换中的贸易结算(例如,2到3天)更快。在某些示例实施例中,结算和清算过程取决于区块链的实现而可以小于1小时。例如,由私人分布式网络维持的区块链由于降低的安全性顾虑(例如,可以有相对较低的双倍花费险)而可以能够更快地处理交易。另外,针对区块链的实现类型(例如,与工作证明相关联的散列化过程)可以变化,并且因此可以调节用于检验交易的对应时间。
[0081] 当正在采掘与资产转移相关联的交易时,交易所计算机系统100所收取的费用也可以被采掘并且并入到区块链的区块中(例如,导致支付从例如客户1的钱包移动到与交易所计算机系统100相关联的钱包)。
[0082] 在图3I中,当在区块链上承认了(一个或多个)交易之后,更新钱包的对应内容。此处,从客户1的钱包中“移除”10股的AAPL并添加100欧元。此处,将10股AAPL添加到客户2的钱包并移除100欧元。换言之,与数字钱包存储对接的软件可以用已结算的贸易信息来更新钱包视图。
[0083] 在某些示例实施例中,可以由于消除了裸卖空而避免对RegSho实践的需要。换言之,客户将不能够进行贸易,除非他们可以显示他们“拥有”特定的证券。
[0084] 在某些示例实施例中,彩色币可以表示权益,并且可以在交易所上进行借入或借出。图3H示出了这样的示例,其中列出“以7美元贷出2股AAPL三天(Lend 2 AAPL @ 7 USD for 3d)”的订单。这样的订单可以匹配至对应的“借入”订单,并且可以以类似于本文中描述的贸易的方式来执行。2股AAPL将通过使用区块链以7美元的价格在交换中在客户之间移动。另外,针对该“贸易”的区块链交易将会具有编码在交易其本身中的2股AAPL将在三天内归还原始所有者的信息(例如,被并入到用于解锁针对给定的区块链交易的输出的脚本中的条件)。这样的系统可以消除卖空,因为借入证券的一方将实际上需要在使用之前在其钱包中有该证券。在某些示例实施例中,与费用相关的交易可以被生成并提交到区块链以完成这样的暂时转移。在某些实施例中,该行为可以通过使用智能合同来实现。
[0085] 可以使用该技术来负担头寸(position)的经费并促进创建/履行功能。一般来说,创建/履行功能可以涉及到资产的发行人。照此,交易所计算系统可以通过查询或质询区块链来检验贸易方和发行人具有针对该会话所要求的资产。贸易方和发行人的钱包然后可以以与针对其他资产的交换所描述的相同的方式在交易中被涉及到。
[0086] 图4图4图示出根据某些示例实施例的用来执行针对区块链的交易的过程。在步骤402中,客户计算机系统1 401(例如,正由爱丽丝使用的计算机)发布数据处理指令,其包括以127美元卖出1股APPL的卖出订单。该订单是针对与具有与交易所计算机系统(交易所)100的数字钱包设置的爱丽丝相关联的贸易账户。交易所100接收该订单并响应于该接收而产生订单数据。订单数据402a可以指示AAPL中的卖出利益。可以使用市场数据馈送将该信息传输出去给各第三方。
[0087] 在步骤404中,客户计算机系统2 403发布数据处理指令,其包括以127美元买入1股APPL的买入订单。该订单是来自与也具有关于交易所计算机系统100的数字钱包设置的鲍勃相关联的贸易账户。交易所100接收该订单并作为响应产生订单数据。然后将订单数据404a散布给外部客户(或内部系统)。
[0088] 在步骤405中,针对订单簿中的订单识别匹配(或者针对新接收到的订单匹配订单簿)。匹配过程可以由在交易所100上运行的匹配引擎来执行以在步骤405中识别匹配。
[0089] 在步骤406a和406b中,交易所100针对每个贸易方(爱丽丝和鲍勃)生成唯一的散列化钱包ID,并将另一贸易方的散列化钱包ID与待决的贸易信息一起发送给所指示的客户计算机系统(例如,爱丽丝的系统接收鲍勃的信息,并且鲍勃的系统接收爱丽丝的信息)。
[0090] 在步骤408中,客户计算机系统401生成新的区块链交易并使用接口(例如,安装在客户计算机系统401上的软件应用)来生成交易并将其发送给区块链计算机系统214。该生成的区块链交易还包括1000 聪(Satoshi)(例如,加密货币)的交易费用(例如,采掘费用)。交易包括对封装了1股AAPL的彩色币(例如,彩色币包括针对AAPL以及数量1的标识符)的引用。在某些示例实施例中,将交易“发送”到散列化钱包ID(或鲍勃的数字钱包或其内容的散列化ID)。
[0091] 在步骤410中,客户计算机系统2 403(如同客户1一样)生成新的区块链交易并使用到区块链计算机系统214的接口来发送包括1000聪的交易费用的所生成的交易。该交易是给爱丽丝的数字钱包的,并且包括封装了作为所识别的贸易的一部分的127美元的彩色币。在某些示例实施例中,将交易“发送”到爱丽丝的散列化钱包ID。
[0092] 在步骤412中,区块链计算机系统214的节点采掘到这两个交易并然后将其添加到区块链116。作为采掘的结果,交易所100收集2000聪的交易费用(例如,因为采掘是由作为维持该区块链的交易所100的一部分的计算节点执行的)。
[0093] 在步骤414中,交易所100产生指示服从于贸易的资产已经进行了贸易(1股APPL和127美元)的市场数据。交易所100还可以更新爱丽丝和鲍勃的钱包内容以反映两个元素的新所有权。
[0094] 图5图5是根据某些示例实施例的示例性计算机系统500(例如,如在图1-4中描述的交易所计算机系统、如在图1或图3A-3I中所示的用户计算设备或远程计算设备、作为用于处理和维持区块链的分布式计算机系统的一部分的计算节点、构成如本文中描述的交易所计算机系统的多个计算机系统之外的一个计算机系统等等)的框图。计算机系统500包括具有CPU 
1、CPU 2、CPU 3、CPU 4的处理系统502,与RAM 506通信的系统总线504以及存储508。存储
508可以是磁性的、基于闪存的(例如,用于移动客户设备)、固态、或其他存储技术。系统总线504与用户输入适配器510(例如,PS/2、USB接口等)通信,所述用户输入适配器510允许用户经由用户输入设备512(例如,键盘鼠标、触摸面板等)将命令输入到计算机系统500。可以经由显示接口514(例如,视频卡等)在显示器516(例如,LCD)上将处理结果显示给用户。
[0095] 计算机系统500还可以包括网络接口518(例如,收发器)以促进经由网络524的与外部系统522、数据库520和其他系统的有线(例如,以太网-802.3x)和/或无线通信(WiFi/802.11x协议、蜂窝技术等)。收发器可以包括用于发射器和接收器的电路。发射器和接收器可以共享共同外壳,并且可以共享外壳中的电路中的一些或全部来执行发射和接收。在一些实施例中,收发器的发射器和接收器可以不共享任何共同电路和/或可以是在相同或分离的外壳中。
[0096] 外部系统522可以包括其他处理系统、提供第三方服务的系统、诸如用于区块链的采掘者的计算节点等。外部系统522可以是客户设备或服务器系统。
[0097] 外部系统522还可以包括网络附加存储(NAS)以保存大量数据。外部系统以及内部存储和存储器可以形成用于存储和维持信息(例如,订单簿信息、路由策略等)的存储系统。这样的系统可以与用户和/或处理电子订单数据消息的其他计算机系统通信。数据库520可以包括用于存储信息(例如,用于金融工具的订单簿信息)的关系数据库、面向对象数据库或其他类型的数据库。
[0098] 在各种实施例中,可以以许多不同的方式来布置计算机系统。仅作为一个示例,计算系统可以被布置成使得处理器包括:多(单)核处理器;第一网络接口设备(其实现例如WiFi、蓝牙、NFC等);实现一个或多个蜂窝通信技术(例如,3G、4G LTE、CDMA等)的第二网络接口设备;存储器或存储设备(例如,RAM、闪速存储器或硬盘)。处理器、第一网络接口设备、第二网络接口设备和存储器设备可以集成为相同SoC(例如,一个集成电路芯片或“片上系统”)的一部分。作为另一示例,计算系统可以被布置成使得:处理器包括两个、三个、四个、五个或更多个多核处理器;网络接口设备包括实现以太网的第一网络接口设备和实现WiFi和/或蓝牙的第二网络接口设备;并且存储器设备包括RAM和闪速存储器或硬盘。
[0099] 换言之,可以在计算机系统上实现本文中(针对客户设备、服务器、交易所和/或控制器系统)描述的过程、技术等。这样的实现然后可以将处理系统配置或编程成实现根据某些示例实施例的各方面。将领会到,可以使用其他架构类型。例如,可以使用单个CPU而非多个CPU。替换地,处理系统可以包括多个CPU“核”。另外,结合图5所示的各种元件可以被包括到一个紧密结合的物理结构(例如,诸如平板设备)中。图1-4中所示的组件和功能可以在图5中所示的示例计算机系统上实现或连同该示例计算机系统实现(例如,以从而创造专用机器)。
[0100] 如本文中描述的,当软件模块或软件过程执行任何行动时,所述行动实际上是由底层的硬件元件根据包括所述软件模块的指令来执行的。在各种实施例中,使用图5的计算系统500的示例来实现引擎计算机系统100、(一个或多个)用户设备120A和120B、区块链116、数字钱包104、订单簿106、区块链计算机系统214、交易所100、钱包306和308、客户计算机系统401和403等等中的每一个或其任何组合,其中的每一个出于清楚而将在本段的其余部分中单独称为“组件”。在这样的实施例中,以下适用于每个组件:(a)图5中所示的计算系统500的元件(即,一个或多个处理器502、一个或多个存储器设备506或508、一个或多个网络接口设备518、一个或多个显示接口514以及一个或多个用户输入适配器510)或者前述内容的子集或适当组合被配置成、被适配成和/或被编程成实现本文中被描述为由组件和/或由本文中被描述为被包括在该组件内的任何软件模块所执行的行动、活动或特征中的每一个或其任何组合;(b)替换地或附加地,在本文中描述为一个或多个软件模块存在于组件内的意义上,在一些实施例中,这样的软件模块(以及在本文中被描述为由所述软件模块处置和/或使用的任何数据)被存储在存储器设备506和/或508中(例如,在各种实施例中,在诸如RAM之类的易失性存储器设备中、在指令寄存器中和/或在诸如闪速存储器或硬盘之类的非易失性存储器设备中),并且本文中被描述为由所述软件模块执行的所有行动是由处理器502(酌情)连同计算系统500中或连接到其的其他元件(即,网络接口设备518、显示接口
514、用户输入适配器510和/或显示设备516))来执行的;(c)替换地或附加地,在本文中描述为组件处理和/或以其他方式处置数据的意义上,在一些实施例中,这样的数据存储在存储器设备中(例如,在一些实施例中,在诸如RAM之类的易失性存储器设备中和/或在诸如闪速存储器或硬盘之类的非易失性存储器设备中)和/或由处理器502(酌情)连同计算系统
500中或连接到其的其他元件(例如,网络接口设备518、显示接口508、用户输入适配器510和/或显示设备516))来执行/处置的;(d)替换地或附加地,在一些实施例中,存储器设备存储指令,所述指令当由处理器502执行时促使处理器502(酌情)连同计算系统500中或连接到其的其他元件实行本文中被描述为由组件和/或由本文中被描述为包括在该组件内的任何软件模块执行的行动中的每一个或其任何组合。
[0101] 所描述的主题的技术优势在某些示例实施例中,本文中的主题提供了检验区块链或(例如,包括多个不同的计算节点的)分布式计算机系统环境中的分布式数据库(例如,分布式账簿)的电子交易方面的改进。由区块链计算机系统的节点执行的工作证明过程允许交易被密码检验并变得基本上不可变。
[0102] 在某些示例实施例中,共同的计算机系统监控区块链交易如何且何时被检验和/或并入在区块链中。监控过程以及交易是如何生成的允许共同计算机系统确定两个分离的交易何时已被检验,以便从而形成已记录的交易交换(例如,一个交易从A到B并且另一个从B到A)。如果各方中的一个未能提交交易或者所提交的交易失败,那么共同的计算机系统可以生成撤回两个交易中的另一个的新区块链交易。
[0103] 在某些示例实施例中,共同的计算机系统以匿名方式(例如,关于相应各方的信息被散列化)向各对手方提供数字钱包信息。
[0104] 区块链的分散化性质对于某些应用(比如数字加密货币)也可以是有利的,因为没有一个系统或实体是“正确”内容的有效持有者。这消除或降低了对行、政府和其他各第三方的依靠,并且可以由于将这些“中间人”从交易过程中去除而导致更低的交易成本。
[0105] 然而,区块链技术也对某些类型的实现提出了问题。例如,区块链实现的分散化和匿名性质可能在用在对经受监管需求(诸如例如,由美国证券交易委员会和/或其他行政辖区中的类似代理机构所施加的那些)的公共证券进行贸易的电子交易所环境中提出问题。这样的需求涉及对知晓谁拥有关于所贸易的证券或资产的什么的透明度和责任制。本文中描述的某些示例实施例解决了此类顾虑,同时保留了使用区块链技术的一般的匿名和分散化优势。例如,此处描述的实施例监控区块链以确定何时已正确地提交了贸易中的交易。另外,维持允许交易所确定什么区块链标识符(例如,地址)映射到数字钱包的单独的私人秘钥的集中式钱包信息数据库。在某些示例中,还维持资产标识符的数据库以使得交易所计算系统可以确定哪些区块链交易与哪个资产或证券相关联。
[0106] 本文中描述的某些示例实施例可以提供的另一改进涉及可以验证交易以便结算交易的速度。例如,可以对普通用户隐藏的电子交易所系统的一方面涉及与彼此对接以便促进电子贸易的不同的实体和系统。顾客通常不直接与计算机化的交易所交互,而是与经纪人交互,经纪人然后代表该顾客与交易所交互。一旦匹配到订单并发生贸易,其他系统(可能受与交易所和/或经纪人分离的实体的控制)就可以执行结算和清算或保管功能。
[0107] 在这样的传统环境中,要求提交订单的顾客“信任”各实体将按要求执行他们的行动。例如,顾客将需要信任实体(保管和/或结算功能)将正确地记录在完成电子贸易之后该顾客现在“拥有”100股的“公司A”。另外,在这样的交换中,虽然可以相对快速地(例如,几秒或几分钟)识别和处理贸易匹配,但是针对该贸易的结算可能花费2到3天(或更多)。
[0108] 本文中描述的某些示例实施例通过集成区块链技术而解决了在电子交易所环境中的验证长度。本文中描述的技术可以能够在几分钟或几小时内(例如,取决于针对该区块链如何实现工作证明方面)记录和验证贸易。另外,如本文中所示,区块链和交易所继续与现有记录系统(例如,保管系统)对接。在某些实例中,改进了检验两个对手方交易已被记录的过程,并且也可以提高结算贸易(例如,客户A->客户B以及客户B->客户A)的速度。
[0109] 所选术语每当在本文献中描述了在“一些实施例”、“各种实施例”、“某些实施例”、“某些示例实施例”、“一些示例实施例”、“示例性实施例”中存在给定项目或者每当使用任何其他类似语言时,都应理解到,所述给定项目存在于至少一个实施例中,但是不一定存在于全部实施例中。与前文一致,每当在本文献中描述了一行动“可”、“可以”或“可能”被执行,一特征、元素或组件“可”、“可以”或“可能”被包括在给定上下文中或适用于给定上下文,给定项目“可”、“可以”或“可能”拥有给定属性,或者每当使用涉及到术语“可”、“可以”或“可能”的任何类似短语,都应理解到,所述给定行动、特征、元素、组件或属性等存在于至少一个实施例中,但是不一定存在于全部实施例中。除非另外明确陈述,否则本文献中使用的术语和短语以及其变型应被解释为开放式的而非限制性的。作为前文的示例:“和/或”包括相关联地列出的项目中的一个或多个的任何以及全部组合(例如,a和/或b意指a、b或a和b);单数形式“一”、“一个”、“该”应被解读为意指“至少一个”、“一个或多个”等;术语“示例”用于提供待讨论的主题的示例,而非其穷举或限制性列表;术语“包括”和“包含”(以及其其他变位和其他变型)指明相关联地列出的项目的存在,但并不排除一个或多个其他项目的存在或添加;
以及如果一项目被描述为“可选的”,那么这样的描述不应理解为指示其他项目也不是可选的。
[0110] 如本文中使用的,术语“非暂时性计算机可读存储介质”包括寄存器、高速缓冲存储器、ROM、半导体存储器器件(诸如D-RAM、S-RAM或其他RAM)、诸如闪速存储器、硬盘之类的磁性介质、磁光学介质、诸如CD-ROM、DVD或蓝光盘之类的光学介质或者用于非暂时性电子数据存储的其他类型的设备。术语“非暂时性计算机可读存储介质”不包括暂时性的传播电磁信号
[0111] 所描述的主题的附加应用虽然可能以特定的有序顺序描述或要求保护包括但不限于参考图2A-4的过程步骤、算法等,但是这样的过程可以被配置成以不同的顺序来工作。换言之,可能在本文献中明确描述或要求保护的步骤的任何序列或顺序都不一定指示要求以该顺序执行步骤;相反,本文中描述的过程的步骤可以以任何可能的顺序来执行。另外,一些步骤可以同时(或并行地)执行而不管是否被描述或暗示为非同时地发生(例如,因为一个步骤在另一步骤之后被描述)。此外,通过在附图中的过程的描绘的过程的图解并不暗示所图解的过程排除了对其进行的其他变型和修改的可能性,并不暗示所图解的过程或其步骤中的任何是必需的,并且并不暗示所图解的过程是优选的。
[0112] 虽然详细地示出和描述了各种实施例,但是权利要求不被限于任何特定的实施例或示例。上述描述中的任何内容都不应被解读为暗示任何特定的元件、步骤、范围或功能是必需的。本领域普通技术人员所已知的对上述优选实施例中的元素的全部结构和功能等价物都通过引用明确地并入本文并且意图被涵盖。此外,设备或方法不一定处理了本发明寻求解决的每一个问题,因为其应被本发明所涵盖。本说明书中没有任何一个实施例、特征、组件或步骤意图被奉献于公众。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈