首页 / 专利库 / 银行与财务事项 / 货币 / 法定货币 / 用于在区块链上有效转移实体的方法和系统

用于在链上有效转移实体的方法和系统

阅读:65发布:2020-05-21

专利汇可以提供用于在链上有效转移实体的方法和系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及 区 块 链 技术,例如 比特币 账本,用于控制和执行通过区块链进行的安全、有效的交换。它包括用于在 区块链交易 中嵌入元数据的代币化技术和方法。它提供了一种用于执行转移的计算机实现的方法,该方法包括:扫描分布在第一网络上的分布式散列表(DHT)中的条目,该DHT包括多个条目,每个条目包括进行交换的邀请和指向分布在第二网络上的点对点(P2P) 分布式账本 的交易的链接,每个邀请包括元数据,该元数据包括要交换的实体的指示和交换的一个或多个条件;确定来自第一用户的第一条目的第一邀请中的第一组元数据与来自第二用户的第二条目的第二邀请中的第二组元数据之间的匹配,所述确定包括:识别在第一和第二邀请中要交换的实体的指示之间的匹配;和识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配;产生第一交换交易;和通过第二网络广播包含在P2P分布式账本中的第一交换交易,其中,第一交换交易包括:要转移的第一数量的 加密 货币 的指示;从链接到第一条目的P2P分布式账本上的交易输出提供的第一输入;第一脚本,与第一用户关联的第一用户私钥,与第一第三方关联的第一第三方私钥,其中第一脚本包括:第一组元数据,与第一用户相关联的第一用户公钥,第一用户公钥与第一用户私钥为密码对,以及与第一第三方关联的第一第三方公钥对,第一第三方公钥与第一第三方私钥为密码对,以及指示将第一数量的第一实体从第一用户转移到第二用户的第一输出。,下面是用于在链上有效转移实体的方法和系统专利的具体信息内容。

1.一种用于执行转移的计算机实现的方法,该方法包括:
扫描分布在第一网络上的分布式散列表(DHT)中的条目;所述DHT包括多个条目,每个条目包括进行交换的邀请和指向分布在第二网络上的点对点(P2P)分布式账本的交易上的链接;每个邀请包括元数据,所述元数据包括要交换的实体的指示和交换的一个或多个条件;
确定来自第一用户的第一条目的第一邀请中的第一组元数据与来自第二用户的第二条目的第二邀请中的第二组元数据之间的匹配,所述确定包括:
识别在第一和第二邀请中要交换的实体的指示之间的匹配;和
识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配;
产生第一交换交易;和
通过所述第二网络广播包含在P2P分布式账本中的所述第一交换交易,
其中,所述第一兑换交易包括:
要转移的第一数量的加密货币的指示;
从链接到所述第一条目的所述P2P分布式账本上的交易输出提供的第一输入;
第一脚本,
与所述第一用户关联的第一用户私钥,
与第一第三方关联的第一第三方私钥,
其中,所述第一脚本包括:
所述第一组元数据,
与所述第一用户相关联的第一用户公钥,所述第一用户公钥与所述第一用户私钥为密码对,以及
与所述第一第三方关联的第一第三方公钥对,所述第一第三方公钥与所述第一第三方私钥为密码对,以及
第一输出,所述第一输出指示将第一数量的第一实体从所述第一用户转移到所述第二用户。
2.根据权利要求1所述的方法,还包括:
生成第二交换交易;和
通过所述第二网络,广播包含在P2P分布式账本中的所述第二交换交易,其中,所述第二交换交易包括:
要转移的第二数量的加密货币的指示;
从链接到所述第二条目的所述P2P分布式账本上的交易输出提供的第二输入,第二脚本,
与所述第二用户关联的第二用户私钥,
与第二第三方关联的第二第三方私钥,以及
第二输出,所述第二输出指示将第二数量的所述第二实体从所述第二用户转移到第一用户;
其中,所述第二脚本包括:
所述第二组元数据,
与所述第二用户相关联的第二用户公钥,所述第二用户公钥与所述第二用户私钥为密码对,以及
与所述第二第三方关联的第二第三方公钥,所述第二第三方公钥与所述第二第三方私钥为密码对,
第二输出,所述第二输出指示将第二实体从所述第二用户转移到所述第一用户。
3.一种用于执行转移的计算机实现的方法,该方法包括:
扫描分布在第一网络上的分布式散列表(DHT)中的条目,所述DHT包括多个条目,每个条目包括执行交换的邀请和指向分布在第二网络上的点对点(P2P)分布式账本的交易的链接;每个邀请包括元数据,所述元数据包括要交换的实体的指示和交换的一个或多个条件;
确定来自第一用户的第一条目的第一邀请中的第一组元数据与来自第二用户的第二条目的第二邀请中的第二组元数据之间的匹配,所述确定包括:
识别在第一和第二邀请中要交换的实体的指示之间的匹配;和
识别所述第一邀请的一个或多个条件与所述第二邀请的一个或多个条件之间的匹配;
产生第一交换交易;和
通过所述第二网络,广播包含在P2P分布式账本中的所述第一交换交易,其中,所述第一交换交易包括:
要转移的第一数量的加密货币的指示;
从链接到所述第一条目的所述P2P分布式账本上的交易输出提供的第一输入;
第一脚本,
与所述第一用户关联的第一用户私钥,
与第一第三方关联的第一第三方私钥,
要转移的第二数量的加密货币的指示;
从链接到所述第二条目的所述P2P分布式账本上的交易输出提供的第二输入,第二脚本,
与所述第二用户关联的第二用户私钥,
与第二第三方关联的第二第三方私钥,
其中,所述第一脚本包括:
所述第一组元数据,
与所述第一用户相关联的第一用户公钥,所述第一用户公钥与所述第一用户私钥为密码对,以及
与所述第一第三方关联的第一第三方公钥对,所述第一第三方公钥与所述第一第三方私钥为密码对,
第一输出,所述第一输出指示件第一数量的所述第一实体从所述第一用户转移到所述第二用户,
其中,所述第二脚本包括:
所述第二组元数据,
与所述第二用户相关联的第二用户公钥,所述第二用户公钥与所述第二用户私钥为密码对,以及
与所述第二第三方关联的第二第三方公钥,所述第二第三方公钥与所述第二第三方私钥为密码对,
第二输出,所述第二输出指示将第二数量的所述第二实体从所述第二用户转移到所述第一用户。
4.根据前述权利要求中任一项所述的方法,其中,识别在第一和第二邀请中要交换的实体的指示之间的匹配,包括:
识别所述第一邀请中的请求实体与所述第二邀请中的提供实体之间的匹配;和识别所述第一邀请中的提供实体与所述第二邀请中的请求实体之间的匹配。
5.根据权利要求4所述的方法,其中,识别所述第一邀请的一个或多个条件与所述第二邀请的一个或多个条件之间的匹配,包括:
识别指定所述第一邀请中的所述请求实体的最大值的第一条件;
识别指定所述第二邀请中的所述提供实体的最小值的第二条件。
6.根据权利要求5所述的方法,其中,识别所述第一邀请的一个或多个条件与所述第二邀请的一个或多个条件之间的匹配,还包括:
确定所述最大值大于所述最小值。
7.根据权利要求6所述的方法,其中,基于所述最大值和所述最小值中的一个或两个来确定所述第一实体的第一数量。
8.根据权利要求6或7所述的方法,其中,基于所述最大值和所述最小值中的一个或两个来确定所述第二实体的所述第二数量。
9.根据权利要求7或8所述的方法,其中,所述确定基于所述最大值和所述最小值的平均值。
10.根据权利要求7或8所述的方法,其中,基于所述最大值而非所述最小值确定所述第一数量,并且基于所述最小值而非所述最大值确定所述第二数量。
11.根据权利要求5所述的方法,其中,识别所述第一邀请的一个或多个条件与所述第二邀请的一个或多个条件之间的匹配,还包括:
确定所述最大值小于但在所述最小值的第一阈值内;和
向所述第二用户通知所述第一邀请;
接收来自所述第二用户的接受所述第一条件的确认;和
识别所述匹配。
12.根据权利要求5所述的方法,其中,识别所述第一邀请的一个或多个条件与所述第二邀请的一个或多个条件之间的匹配,还包括:
确定所述最小值大于但在所述最大值的第二阈值内;和
向所述第一用户通知所述第二邀请;
接收来自所述第一用户的接受所述第二条件的确认;和
识别所述匹配。
13.根据前述权利要求中任一项所述的方法,其中所述方法由匹配服务提供商执行。
14.根据前述权利要求中任一项所述的方法,其中,所述第一第三方是托管服务提供商,和/或所述第二第三方是托管服务提供商。
15.根据前述权利要求中任一项所述的方法,其中,所述第一交换交易、所述第二交换交易、所述第一邀请交易和所述第二邀请交易中的一个或多个是P2SH(pay-to-script-hash)交易。
16.根据前述权利要求中任一项所述的方法,其中所述实体中的一个或多个是以下之一:
a)比特币
b)合约;
c)货物;
d)服务。
18.根据权利要求16所述的方法,其中,所述合约适用于以下一个或多个:
a)法定货币
b)所有权契约;
c)票;
d)货物;
e)服务。
19.根据前述权利要求中任一项所述的方法,其中所述第一组条件和/或所述第二组条件包括以下中的一个或多个:
a)限制与所述交换相关的一个或多个价格的一个或多个范围;
b)交换率;
c)完成所述第一邀请的截止日期;
d)对将要发生的交换的地理区域的限制。
20.根据前述权利要求中任一项所述的方法,其中,在赎回脚本中提供所述第一和/或第二组元数据。
25.根据前述权利要求中任一项所述的方法,其中,所述第一和/或第二组元数据在所述脚本中在链协议中指定为加密密钥位置的位置处提供。
26.一个处理器或一组处理器,可操作用于执行如权利要求1至19中任一项所述的方法。

说明书全文

用于在链上有效转移实体的方法和系统

技术领域

[0001] 本发明涉及分布式点对点(peer-to-peer)账本,尤其涉及区块链技术。本发明还部分地涉及代币化(tokenisation)和安全技术,以及用于通过区块链转移实体和/或实体所有权的安全机制。本发明可以包括通过区块链在不同方之间执行安全交易的方法。

背景技术

[0002] 区块链是点对点(peer-to-peer)的电子账本,其被实现为由区块组成的基于计算机的去中心化的分布式系统,而区块由交易组成。每个交易是对区块链系统中参与者之间的数字资产的控制转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块包含前一区块的散列(hash),如此,这些区块被链接在一起,以创建一个永久的、不可更改的所有交易的记录,这些交易自区块链诞生之始写入区块链。交易包含嵌入在其输入和输出中的称为脚本的小程序,其指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
[0003] 为了将交易写入区块链,交易必须是“已验证的”。网络节点(矿工,miners)进行工作,以确保每个交易都有效,无效交易被拒绝进入网络。安装在节点上的软件客户端通过执行其定和解锁脚本,对未花费的交易(UTXO,unspent transaction)执行此验证工作。如果锁定和解锁脚本的执行评估为TRUE,则交易有效并且将交易写入区块链。因此,为了将交易写入区块链,交易必须i)由接收交易的第一节点验证——如果交易被验证,则该节点将其中继到网络中的其他节点;ii)加入到由矿工建造的新区块;iii)被挖掘,即加入到过去交易的公共账本中。
[0004] 虽然区块链技术以其在加密货币(cryptocurrency)上的应用而闻名,但数字企业家已经开始探索使用比特币所基于的加密安全系统和能够存储在区块链上的数据,从而实现新系统。如果区块链能用于自动化任务和过程,不限于加密货币领域,那将是非常有利的。这样的解决方案在使区块链的应用多样化的同时,能够利用好区块链的益处(例如,永久性的防篡改的事件记录,分布式处理等)。
[0005] 目前研究的一个领域是使用区块链实施“智能合约”。这些是旨在自动执行机器可读合约或协议条款的计算机程序。与用自然语言编写的传统合约不同,智能合约是机器可执行程序,其包括能够处理输入以产生结果的规则,能够根据这些结果再执行动作。
[0006] 与区块链相关的另一个领域是使用“代币”(或“彩色币(coloured coin)”)来通过区块链表示和转移现实世界的实体。潜在敏感的或秘密的项目可以由代币表示,代币没有可辨别的含义或价值。因此,代币用作允许从区块链查询(referenced)现实世界的条款(item)的标识符。代币化技术可用于许多不同类型的环境,在此类环境中安全性、匿名性和跨平台一致性是重要的。一种这样的应用领域是金融应用,但是本发明不限于用于金融交易。
[0007] 在本文中,我们使用术语“区块链”来包括所有形式的基于计算机的分布式电子账本。这些包括但不限于基于共识的区块链和交易链技术、许可的和未许可的账本、共享账本及其变体。最广为人知的区块链技术的应用是比特币账本,尽管已经提出并开发了其他区块链实施方案。虽然本文中出于方便和说明的目的引用了比特币,但应注意,本发明不限于采用比特币区块链的应用,并且替代的区块链实现和协议也落入本发明的范围内。

发明内容

[0008] 本发明在所附权利要求中定义。
[0009] 本发明提供用于通过区块链进行资产的安全控制和/或转移或交换的解决方案。在本文中,术语“实体(entity)”可以与“资产(asset)”互换使用。附加地或替代地,本发明可实现对资产所有权的控制和/或转移。这可以是数字或虚拟资产,例如智能合约,或现实世界/实物资产。资产可以是权利,例如许可或使用权或与某类财产有关的某种权利。本发明可使用代币化技术来促进这种控制或转移。本发明可引入加密密钥的使用,使得能够以安全的方式执行转移/交换,同时不需要对底层区块链协议进行任何改变。本发明可使用在与区块链交易(Tx)相关联的脚本中嵌入元数据的技术。
[0010] 本发明尤其提供:通过使用散列技术来增强用于电子转移的存储器使用的优化,增强安全性和数据完整性,通过消除对可信第三方的需要来提高安全性,以及增强数据匿名性。本发明还可以提供改进的通信机制,以使得不相似的或不同的各方能够通过本发明提供的新方法和/或架构识别彼此和/或交换数据。这一优点列表不是限制性的或详尽的。本发明可能需要各种不同且独立的,基于计算机的资源的交互和相互通信,例如一个或多个用户设备和包括用于执行区块链相关软件和协议的计算节点的分布式计算机系统(区块链)。本发明可提供一种执行实体交换的计算机实现的方法。该交换可以在第一用户和第二用户之间进行。它可以是通过计算机网络进行的交换。该网络可以是区块链实现的网络。术语“用户(user)”可以指人类用户或基于计算机的资源。本发明可以提供一种交换控制方法,用于控制两个或更多个实体的交换。本发明可以为数字实体的交换提供代币化方法。可以将本发明描述为区块链实现的方法。
[0011] 本发明可提供用于执行转移或交换的计算机实现的方法。该方法可以包括以下步骤:扫描分布在第一网络上的分布式散列表(distributed hash table,简称“DHT”)中的条目,该DHT包括多个条目,每个条目包括执行交换的邀请和指向分布在第二网络上的点对点(P2P)分布式账本的交易上的链接,每个邀请包括元数据,该元数据包括要交换的实体的指示和交换的一个或多个条件;确定来自第一用户的第一条目的第一邀请中的第一组元数据与来自第二用户的第二条目的第二邀请中的第二组元数据之间的匹配,所述确定包括:识别在第一和第二邀请中要交换的实体的指示之间的匹配;和识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配;产生第一交换交易;和通过第二网络广播包含在P2P分布式账本中的第一交换交易,其中,第一交换交易包括:要转移的第一数量的加密货币的指示;从链接到第一条目的P2P分布式账本上的交易输出提供的第一输入;第一脚本,与第一用户关联的第一用户私钥,与第一第三方关联的第一第三方私钥,其中第一脚本包括:第一组元数据,与第一用户相关联的第一用户公钥,第一用户公钥与第一用户私钥为密码对,以及与第一第三方关联的第一第三方公钥对,第一第三方公钥与第一第三方私钥为密码对,以及指示将第一数量的第一实体从第一用户转移到第二用户的第一输出。
[0012] 附加地或替代地,本发明可以包括用于执行转移或交换的方法,其中脚本的散列可以在区块链交易(Tx)内提供或与区块链交易(Tx)相关联。该脚本可以是赎回脚本(redeem script)。该交易(Tx)可以是根据比特币协议的支付到脚本散列(pay-to-script-hash,简称“P2SH”)交易,或者是另一区块链协议中的另一功能等同的交易类型。脚本的散列可以用作散列表或其他存储资源的查找键(look-up key)。该存储资源可以是邀请的公共域存储库。该存储资源可以包括查找键(即散列)和来自元数据的所有字段,它们组合地定义邀请。查找键可以是记录的剩余部分的散列,即,级联的元数据值的散列。在优选实施例中,元数据可以包括指向与代币相关联的合约的位置指针(pointer)或其他引用(reference)。合约可以存储在单独的存储资源中。邀请(由存储资源中的元数据定义)可以通过散列链接到区块链交易。
[0013] 优选地,该方法还包括生成第二交换交易;以及通过第二网络广播包含在P2P分布式账本中的第二交换交易,其中,第二交换交易包括:要转移的第二数量的加密货币的指示;从链接到第二条目的P2P分布式账本上的交易的输出提供的第二输入,第二脚本,与第二用户关联的第二用户私钥,与第二第三方关联的第二第三方私钥,以及指示将第二数量的第二实体从第二用户转移到第一用户的第二输出;其中第二脚本包括:第二组元数据,与第二用户相关联的第二用户公钥,第二用户公钥与第二用户私钥为密码对,以及与第二第三方关联的第二第三方公钥,第二第三方公钥与第二第三方私钥为密码对,指示将第二实体从第二用户转移到第一用户的第二输出。
[0014] 本发明可提供一种用于执行转移的计算机实现的方法,该方法包括:扫描分布在第一网络上的分布式散列表(DHT)中的条目,该DHT包括多个条目,每个条目包括执行交换的邀请和指向分布在第二网络上的点对点(P2P)分布式账本的交易的链接,每个邀请包括元数据,该元数据包括要交换的实体的指示和交换的一个或多个条件;确定来自第一用户的第一条目的第一邀请中的第一组元数据与来自第二用户的第二条目的第二邀请中的第二组元数据之间的匹配,所述确定包括:识别在第一和第二邀请中要交换的实体的指示之间的匹配;和识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配;产生第一交换交易;和通过第二网络广播包含在P2P分布式账本中的第一交换交易,其中,第一交换交易包括:要转移的第一数量的加密货币的指示;从链接到第一条目的P2P分布式账本上的交易输出提供的第一输入;第一脚本,与第一用户关联的第一用户私钥,与第一第三方关联的第一第三方私钥,要转移的第二数量的加密货币的指示;从链接到第二条目的P2P分布式账本上的交易输出提供的第二输入,第二脚本,与第二用户关联的第二用户私钥,与第二第三方关联的第二第三方私钥,其中第一脚本包括:第一组元数据,与第一用户相关联的第一用户公钥,第一用户公钥与第一用户私钥为密码对,以及与第一第三方关联的第一第三方公钥对,第一第三方公钥与第一第三方私钥为密码对,指示将第一数量的第一实体从第一用户转移到第二用户的第一输出,其中第二脚本包括:第二组元数据,与第二用户相关联的第二用户公钥,第二用户公钥与第二用户私钥为密码对,以及与第二第三方关联的第二第三方公钥,第二第三方公钥与第二第三方私钥为密码对,指示将第二数量的第二实体从第二用户转移到第一用户的第二输出。
[0015] 在第一和第二方面任一个中,识别在第一和第二邀请中要交换的实体的指示之间的匹配可以包括:识别第一邀请中的请求实体与第二邀请中的提供实体之间的匹配;和识别第一邀请中的提供实体与第二邀请中的请求实体之间的匹配。
[0016] 有利地,识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配包括:识别指定第一邀请中的所述请求实体的最大值的第一条件;识别指定第二邀请中的所述提供实体的最小值的第二条件。
[0017] 优选地,识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配还包括:确定所述最大值大于所述最小值。
[0018] 有利地,基于所述最大值和所述最小值中的一个或两个来确定第一实体的第一数量。同样地,可以基于所述最大值和所述最小值中的一个或两个来确定第二实体的第二数量。所述确定可以基于所述最大值和所述最小值的平均值。
[0019] 可以基于所述最大值而非所述最小值确定第一数量,并且基于所述最小值而非所述最大值确定第二数量。
[0020] 在一些实施例中,识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配还包括:确定所述最大值小于但在所述最小值的第一阈值内;和向第二用户通知第一邀请;接收来自第二用户的接受第一条件的确认;和识别所述匹配。
[0021] 优选地,识别第一邀请的一个或多个条件与第二邀请的一个或多个条件之间的匹配还包括:确定所述最小值大于但在所述最大值的第二阈值内;和向第一用户通知第二邀请;接收来自第一用户的接受第二条件的确认;和识别所述匹配。任何上述过程可由匹配服务提供商执行。
[0022] 所述第一第三方可以是托管服务提供商,和/或所述第二第三方是托管服务提供商。
[0023] 在一些实施例中,所述第一交换交易、所述第二交换交易、所述第一邀请交易和所述第二邀请交易中的一个或多个是P2SH(pay-to-script-hash)交易。
[0024] 在一些实施方案中,一个或多个实体是以下之一:a)比特币;b)合约;c)货物;d)服务。合约可以是以下一项或多项:a)法定货币;b)所有权契约;c)票;d)货物;e)服务。
[0025] 第一组条件和/或第二组条件可以包括以下中的一个或多个:a)限制与所述交换相关的一个或多个价格的一个或多个范围;b)交换率;c)完成第一邀请的截止日期;d)对将要发生的交换的地理区域的限制。
[0026] 本发明可以提供一个处理器或一组处理器可操作用以执行上述方法。
[0027] 本发明的实施例可以包括用于在(区块链)交易中嵌入元数据的技术,其包括以下步骤:生成区块链交易(Tx),该区块链交易具有与资产(B1)相关的输出(TxO)和包括以下内容的赎回脚本的散列:
包括代币的元数据,该代币是代币化实体的表征或引用;

至少一个(最好是两个或多个)公共加密密钥。
数字资产(B1)可以是一定数量的加密货币,例如比特币。可以在交易输出TxO的锁定脚本内提供赎回脚本。元数据可以在赎回脚本中在区块链协议中指定为加密密钥位置的位置处提供。这提供了以下优点:可以传输元数据而无需对底层区块链协议进行任何更改。运行协议的节点将不知道替代加密密钥的元数据的使用。
该方法还可以包括将交易Tx提交给区块链的步骤。实际上,加密货币(B1)因此可以与代币相关联地锁定在区块链上。加密货币(B1)的数量只能在提供解锁脚本时花费(兑换),该解锁脚本满足用于输出TxO的锁定脚本的要求。特别是,必须提供赎回脚本,当其被散列时(hashed),该脚本与TxO的锁定脚本中提供的散列相匹配。由于用于输出TxO的锁定脚本包含赎回脚本的散列,该脚本的散列又包括代币(在元数据中),因此加密货币(B1)与代币相关联。在正确的解锁(赎回)脚本出现时,加密货币(B1)的所有权可被转移到兑换方或用户,即它被花费掉了。
[0028] 本发明可以提供一种计算机实现的系统,其用于实现上述任何方法。以上提及的关于一个方面或实施例的任何特征可以与任何其他实施例或方面相关地使用。关于本发明的方法提及的任何特征可以同样适用于相应的嵌入系统,反之亦然。
[0029] 在整个说明书中,词语“包括(comprise)”或其变体,诸如“含有(comprises)”或“包含(comprising)”,将被理解为表示包括所述元素、整体或步骤,或元素、整体或步骤的组,但是不排除任何其他元素、整体或步骤,或任何其他元素、整体或步骤的组。附图说明
[0030] 现将参考附图仅通过非限制性示例描述本发明的实施例,其中:
[0031] 图1是根据本发明实施例的系统的示意图;
[0032] 图2是由图1系统的用户执行的过程的流程图
[0033] 图3是示出由交换服务提供商执行的过程的流程图;
[0034] 图4是示出由交换服务提供商生成的邀请的元数据格式的表格;
[0035] 图5是示出由交换服务提供商生成的邀请的元数据格式的表格;
[0036] 图6是示出匹配来自图1系统的两个或更多个用户的邀请的过程的流程图;
[0037] 图7是用于图1系统的多方之间多个交易的交易表;
[0038] 图8是说明图1系统的各方之间交易的交易图;
[0039] 图9是用于图1系统的多方之间多个交易的交易表;
[0040] 图10是用于图1系统的多方之间多个交易的交易表;
[0041] 图11A是用于图1系统的两方之间交易的交易表;
[0042] 图11B是用于图1系统的两方之间交易的交易表;和
[0043] 图11C是用于图1系统的两方之间交易的交易表。

具体实施方式

[0044] 需要一种更快速和更便宜的方式来执行和保持日常交易的永久记录,包括金融和非金融交易。值得注意的是,本发明不限于与金融应用一起使用或具有其优点。相反,本发明主要涉及利用P2P分布式账本,例如比特币区块链,以使各方能够提供、请求和交换任何类型的有价值的实体的方法和装置。本文描述的方法使得输入邀请(或订单)的条目能够执行实体的交换以及在接受邀请时实际交换的实施(enactment)。因此,实施例提供了要维持的交换过程的所有步骤的永久记录。此外,可以使用类似于加密货币交易中使用的加密锁定技术来保护过程中的每个阶段(提供、接受和交换)。本文描述的方法还可用于交换任何类型的实体。此类实体的示例包括但不限于比特币、法定货币、合约、商品和服务。“加密货币(cryptocurrency)”是指加密的、可电子传输的数字资产,例如但不限于比特币。涉及使用区块链技术的交换,例如Coinffeine(http://www.coinffeine.com/),在本领域中是已知的。然而,这种现有技术的配置(arrangement)仍然依赖于传统模型,并且还依赖于第三方来源、托管和其他多货币非行账户/处理器以便操作。这些已知的配置通过其商业模型而非通过技术创新和密码技术(根据本发明)实现其去中心化。
本发明结合了代币化技术的使用。可以使用系统通过代币来交换合约。总之,代币是代表合约的可交换实体。合约可以采用几种形式之一。例如,合约可赋予持有人权利或表示财产所有权。可以通过合约规定代币的价值,并通过“挂钩率(pegging rate)”将其与基础比特币金额相关联。代币可通过使用诸如比特币协议之类的加密货币协议的新型交易来交换。交易中的比特币价值作为代表数字形式的权利合约的代币。合约本身可以存储在区块链中,或者可以保存在公共可访问的区块外(off-block)的位置,或者可由合约的各方私下保持,这取决于特定实施例。如果合约未存储在区块链中,则区块链交易(Tx)可以存储指向合约的唯一指针(pointer)、标识符或其他引用。
[0045] 代币可以是可分割的。可分割的代币是其中交易输出上的值可以细分为较小的量,这些较小的量可以在多个新代币中分配。可分割的代币的示例包括用于法定货币的代币或用于赛中的份额的代币。可分割的合约可以定义为指定非零挂钩率(one-zero pegging rate)的合约。换句话说,代币值与基础比特币值相关联。或者,代币可以是不可分割的。不可分割的代币是根据固定值指定持有者权利的合约,例如,赎回房屋或1000澳元(AU$)的合约。因此,不可分割的代币与基础比特币的价值无关。由于不可分割,它们只能作为一个整体进行转移。
[0046] 代币可以由代币发行者数字签名以使其有效。例如,发行者可以是诸如所有权契约登记处之类的权威机构。发行者可以向用户发出代币以换取支付。然后,该代币可以赋予用户行使与代币相关联的合约的权利,无论合约是否代表兑换法定货币或待履行的服务或财产的转让(即所有权转让)的权利。
[0047] 上述代币的示例包括以下内容:·法定货币代币,与合约发行者的交易输出的比特币值挂钩。例如,“此代币(比特币交易)的消费者有权以每1000聪(satoshis)1份(10,美分(cents))的兑换率将此代币的任何部分兑换为加元(CAD)”。
·一个赛马由财团(syndicate)的几个成员所拥有。
·以所有权为契约的任何项目,例如房屋或其他财产,均可以这种方式处理。
·代表音乐会门票的电子合约。这本质上是不可分割的。
·不记名债券(不可分割)。
·附在商品/服务上的唯一标识符(例如条形码或电子标签RFID)。如果使用,该标识符仍然优选地由授权实体的签名验证;如果没有签名,它将属于不太安全的“商品/服务”类别(如下所述)。
·签订服务权的合约。需要注意的是,这与实际服务本身不同,而只是为其执行服务的权利。这项权利可以交易。例如,Michael's Mowing的一张优惠券可以兑换为在悉尼大都会区内进行长达3小时的割草服务。此优惠券(合约)的持有人可以将其兑换为实际服务。
[0048] 代币必须指定每一份的值,例如,1份=10分币CAD,1份=1卢比,或1份=项目或财产(赛马、房屋等)的所有权的1%。
[0049] 虽然下面描述的实施例可以具体涉及在比特币区块链(或简称区块链)上记录交易,但是应当理解,本发明可以使用任何P2P分布式账本来实现。由于区块链高平的标准化和大量相关的公共文档,下面使用区块链来简述本发明的各方面。
[0050] 如本领域所公知的,区块链是交易账本或数据库,其分布在参与基于比特币协议的系统的网络节点上。货币区块链的完整副本(copy)包含以货币执行的每笔交易。因此,提供了不断增长的交易数据记录列表。由于输入到块链上的每个交易都以加密方式强制执行,因此强化了区块链,以防止篡改和修改,即使是数据存储节点的运算符也无法修改。
[0051] 代替地或附加地,除了用于存储表示从一方到另一方支付比特币(或其他加密货币)的交易记录的设计功能,区块链以新颖的方式使用以实现各方之间实体或资产的转移。交换将数字实体的控制权和/或所有权从一方转移到另一方。为了实现这一点,本发明提供了一种用于保持和记录邀请(或订单)以执行一个或多个实体的交换的机制。因此,本发明提供了一种通过区块链进行的新颖的、有利的通信解决方案。
[0052] 如上所述,任何类型的实体或资产都是可交换的。这些可以是有形的“现实世界”的实体,或虚拟的数字实体。可交换的实体的示例包括比特币,代币(代表任何类型的可转让合约)以及任何类型的商品和服务。代币可以代表授予持有人兑换法定货币(虚拟纸币),表示财产所有权(例如,所有权契约)或授予对事件(门票)的访问权的特定权利的合约,仅举几例。商品和服务可以包括新的或二手产品、劳动(例如,按小时收费)、完成工作(例如,修剪草坪),仅举几例。
[0053] 图1是根据一个实施例的P2P交换系统100的网络图。系统100包括网络102和网络的多方。各方包括交换服务提供商104、第一用户106、第二用户108、托管服务提供商110和发行者112。如下将更详细描述的,交换服务提供商104、托管服务提供商110和发行者112的功能的组合可以由单方承担。换句话说,单方可以同时执行每个功能。另外,并且如下将更详细解释的,交换服务提供商104和托管服务提供商110是可选的,因为本发明可以完全在P2P交换系统上执行而不使用服务提供商104,110。
[0054] 交换服务提供商104向多个用户提供交换服务,多个用户包括第一用户106和第二用户108。发行者112对于网络102是可选的,如虚线所示。如下将更详细讨论的,仅在涉及代币交换时才需要发行者112。
[0055] 在一些实施例中,网络102是互联网。因此,其他方(未示出)可以是网络102的一方。网络102的所有各方都能够与网络102的所有其他方通信。在网络102上托管的是P2P分布式散列表(peer-to-peer distributed hash table,简称“P2P DHT”)和点对点分布式账本(peer-to-peer distributed ledger,简称“P2P DL”)。应当理解,系统100中示出的一些或所有各方与未示出的各方一起可以充当P2P DHT和P2P DL两者或任一者的主节点。
[0056] 邀请的结构可以构造包括各种参数或代码的邀请。可以出于各种目的而使用它们,例如,如下更详细描述的匹配邀请。在一个或多个实施例中,可以使用以下结构:
[0057] 交换服务提供商104的一个目的是为用户106,108提供用于在P2P DHT和P2P DL上发出邀请(或订单)的网关(gateway)。虽然网络102的用户106,108本身可以在P2P DHT和P2P DL上发出邀请,但是交换服务提供商104提供简化的界面,以提高生成邀请的效率并减少与在分布式账本上直接处理交易相关联的危险,例如比特币账本(例如,丢失交易等),正如本领域技术人员将理解的一样。除了使得能够在P2P DHT和P2P DL上发布用户邀请之外,交换服务提供商可以执行以下一项或多项附加服务。·匹配邀请——如上所述,邀请可以包括:a)用户希望交换的实体的细节,以及b)附加到交换的,一个或多个用户施加的选项/条件。当各自的实体细节是镜像的(mirrored)
且两个邀请的一个或多个条件兼容时,两个邀请是匹配的。换句话说,当第一邀请中包括的一个或多个参数或特征也包括在第二邀请中时,可发生匹配,反之亦然。邀请的某些方面之间可以存在配对或共性。这些参数可能被预先指定为对于匹配必不可少,
以便进行交换。
镜像的实体细节的示例是,第一用户(Alice)提供比特币交换苹果,而第二用户(Bob)提供苹果交换比特币。因此,服务提供商可以提供匹配服务,匹配兼容的邀请以便供应交换。匹配可以涉及扫描P2P DHT以获得具有匹配实体和/或条件的一个或多个邀请。在一些实施例中,服务提供商104可以响应于来自用户的请求来扫描P2P DHT。例如,用户可以向服务提供商104提供所期望的邀请的一个或多个标准。基于所提供的标准,服务提供商104然后可以搜索已经放置在P2P DHT上的、与这些标准匹配的邀请。在其他实施例中,服务提供商104可以实现非特定配对算法,该算法在P2P DHT中搜索与特定用户请求无关的匹配或接近匹配的邀请。应当理解,匹配服务可以由其他第三方提供商提供。可能存在一个或多个第三方提供商,其主要目的是提供以上匹配服务以及提供如下所述的匹配警报。在一些实施例中,匹配由匹配服务提供商(MSP,matching service provider)提供。
根据一个或多个实施例,并参考上述“邀请结构”部分的表中所述,可以采用以下所述来自A和B之间的匹配邀请的匹配算法,例如:
A的Offer-type-code必须与B的Request-type-code相匹配
A的Request-type-code必须与B的Offer-type-code匹配
A的Rate-Min≤B的Rate-max(以等价单位表示时)
A的Rate-Max≥B的Rate-min(以等价单位表示时)
Request-item-ID必须与Offer-item-ID匹配
A的Request-QTY-min≤B的Offer-QTY-max
A的Request-QTY-max≥B的Offer-QTY-min
A的条件(如果有的话)必须与B的邀请兼容
B的条件(如果有的话)必须与A的邀请兼容
本发明可以用于包含强制执行该算法或其变型的,机器可执行的规则。
·匹配警报——如果检测到匹配或接近匹配,则交换服务提供商104可以以已知方式警告用户,例如通过电子邮件或通过电话或平板电脑应用。因此,本发明可以提供新颖的通信或警报机制。
·基于匹配生成新邀请——当用户提供他希望发出的邀请或订单的细节时,服务提供商104可以扫描P2P DHT以获得满足用户订单条件的一个或多个邀请。如果随后在P2P DHT上找到匹配的邀请,则服务提供商104可以生成邀请,该邀请镜像(mirrors)已经在P2P DHT上的所识别的邀请,以便促成成功匹配。应注意的是,为了在P2P DL上完成最终交易,交易的所有各方必须具有已经在P2P DL上发布的邀请。但是,并非所有邀请都需要在P2P DHT上发布。在本示例中,例如,服务提供商不需要在P2P DHT上发布邀请,因为不需要对邀请进行宣告(已经找到了期望的匹配)。然而,应当理解的是,所生成的邀请仍然可以放置在P2P DHT上,例如,在初始匹配失败的情况下。
·执行交易——在成功匹配一对邀请之后,服务提供商104可以充当代理以实现最终交易。例如,在确定两个邀请匹配时,服务提供商104可以在P2P分布式账本上记录实际交易,即涉及实体交换的交易。该过程可以在没有各方明确授权的情况下或在提示一方或多方授权交易之后自动进行。在一些实施例中,邀请中的元数据可以指示在交换完成之前是否必须通知一方。
·电子钱包服务——除了上述之外,服务提供商104还可以提供传统的电子钱包服务,例如持有加密货币密钥等。
[0058] 在图1的系统100中示出了单个服务提供商104。然而,应当理解的是,一个或多个附加的交换服务提供商可以是网络102的一方。在存在多于一个的交换服务提供商的情况下,用户可以根据自身要求选择交换服务提供商,所述要求可以包括例如服务提供商的费用结构、位置、兼容性等。因此,应当理解的是,在某些情况下,具有匹配邀请的两个用户可能使用不同的交换服务提供商。在这种情况下,用户各自的交换服务提供商可以彼此通信以便于交换。
[0059] 除了交换服务提供商104之外,托管服务提供商110(或简称为托管)可以是网络104的一方。托管服务提供商110使得能够保持用户的邀请(即,提供的金额被保留)直到交易结算,或在某些条件下取消订单并退回邀请中提供的任何内容。托管服务提供商110充当由交易双方信任的中立第三方,以提供交易中的托管服务。因此,该系统能够向参与最终交易的用户保证提出报价的用户可以履行报价金额(以比特币或代币计)。
[0060] 与交换服务提供商一样,不止一个托管可以是网络104的一方。P2P交换系统100的用户如果使用托管提供商的话,还可以选择使用哪个托管提供商。在一些实施例中,托管110的服务可以合并到交换服务提供商104的服务中,反之亦然。在这种情况下,可以不需要单独的托管。
[0061] 除了上述之外,系统100还可以包括发行者112。当交易涉及代币的交换时,可以涉及发行者112。在这种情况下,该过程涉及发行者签发代币。涉及代币转移的每个交易优选地涉及发行者112。在本文描述的实施例中,发行者的签名在邀请交易中是必需的,其中代币被提供并保存在托管中。在其中向交易对手支付代币的交换交易中,也会需要发行者的签名。
[0062] 本发明的实施例的一个重要方面是在比特币或其他加密货币交易中,能够嵌入邀请的元数据,以在比特币交易(或其他加密货币交易)中进行交换的能力,以及嵌入关于实际交换的元数据的能力。本文描述的实施例使用多签名P2SH(pay to script hash)类型的交易来实现如下所述的这种元数据嵌入。(i)一般在P2SH中的赎回脚本
[0063] 作为背景,在比特币协议的标准P2SH方法中,赎回脚本可以采取以下形式:
其中
NumSigs是满足赎回脚本解锁交易所需的有效签名的数量“m”
PubK1,PubK2...PubK15是与解锁交易的签名对应的公钥(最多15个公钥)
NumKeys是公钥的数量“n”(必须为15或更小)
[0064] 为了履行上述赎回脚本,至少需要与公钥对应的数量为“m”的签名。在一些示例中,公钥的顺序是重要的,并且用于签名的“n”个签名中的数量为“m”的签名必须按顺序完成。例如,假设“m”是2并且公钥的数量“n”是15。假设两个签名可供使用,例如Sig1(对应于PubK1)和Sig 15(对应于PubK15),赎回脚本必须首先由Sig1签名,然后由Sig15签名。(ii)在P2SH中嵌入元数据
[0065] 发明人已经认识到,元数据可以嵌入在可用于赎回脚本中的公钥的15个位置中的一个或多个中的P2SH中。
[0066] 例如,P2SH可以采用以下形式:其中
NumSigs是满足赎回脚本解锁交易所需的有效签名的数量“m”,
Metadata1和Metadata2中每个都包含代替公钥的元数据,
PubKl和PubK2是实际的公钥,且
NumKeys是元数据和公钥所占位置的总数(必须为15或更少)。
[0067] 通过在赎回脚本中放置对应于邀请条件的元数据、与代币相关联的合约的细节和/或与交换相关联的其他信息,这种信息的散列将被包括在P2P分布式账本中。这种嵌入方法可以概括为:生成区块链交易(Tx),其具有与加密货币的一部分相关的输出(TxO)和赎回脚本的散列,该赎回脚本包括:
包括代币的元数据,该代币是代币化实体的表示或引用;

至少一个(最好是两个或多个)公共密码密钥。
[0068] 代币化实体可以是与交换有关的合约和/或其他实体。在由加密密钥的协议指定的位置处提供元数据。
[0069] 因此,在本发明的实施例中,使用多签名P2SH比特币交易提供了若干优点。首先,它们使得邀请交易能够携带元数据有效载荷。其次,它们促进了在交换交易中使用托管服务。第三,在交换中转移代币的情况下,它们允许交换交易携带与被交换的一个或多个代币相关联的元数据。此外,底层区块链协议对于通过交易传输元数据这一事实是不可知的。因此,不需要改变区块链协议来传达该信息。
[0070] 元数据可以包括邀请交易中的要约或请求的描述或关键描述。元数据还可以包括与邀请相关联的条件。例如,可以在邀请上附加截止日期,该截止日期可以指定必须履行订单的时间和/或日期。如果通过邀请交易提供截止日期条件,则可以生成取消交易,该取消交易花费相同的比特币金额并且包含表示要发生的交换的截止日期的锁定时间。在锁定时间之前,可以防止取消交易分布在P2P DL上。如果在截止日期之前没有进行交换,则取消交易被添加到P2P DL并有效地偿还付款人和/或服务提供商。如果在截止期限到期之前进行交换,则交换交易可以花费该金额,在时间锁定的取消交易之前创建命中P2P DL的双重花费,从而阻止取消交易。在一些实施例中,元数据可以不包括截止日期,而取消交易可以单独负责取消原始邀请交易。或者,期限元数据条件可能不会自动导致取消交易的消费。换句话说,截止日期可能是一个软期限,仍然由付款人控制。因此,该截止日期可以由一方简单地允许其失效并且仍然接受延迟匹配的邀请来延长。同样,如果仍未花费,服务提供商仍可能尝试匹配已过期的订单。
[0071] 不是在发送邀请交易的同时锁定取消交易,用户可以等到截止日期之后并且如果他愿意的话,可以手动输入取消交易。
[0072] 条件还可以包括一个或多个位置条件,其可以指定,例如,如果交易广播的位置在指定坐标的X米内,则仅在P2P DL上广播交易。这确保了交易只能在指定的位置进行,例如Bob的咖啡店。
[0073] 可以存在一种设施,其使用户能够创建他们自己的新条件并通过为它们分配先前未使用的条件代码将它们添加到条件列表中。该设施可以抵制滥用。例如,每个服务提供商可以简单地公开他们自己的条件表以及相关的条件代码,并且系统100的其他方可以选择采用相同的编码并且还可以添加他们自己的新代码。然后,如果由于例如重复使用条件代码而引起争议,则可以由服务提供商或系统100的其他用户解决争议。
[0074] 现在将通过第一用户106(这里称为Alice)和第二用户(这里称为Bob)之间的示例交易来描述本发明实施的一些示例。在此示例中,交易是用于比特币与代币化加元的交换。
[0075] 发布邀请
[0076] 在第一示例中,Alice想使用比特币购买一些代币化加元(CAD)。为了宣传她的兴趣,Alice通过例如网页(web)界面或通过在平板电脑或手机上运行的应用程序(app)来联系她的交换服务提供商104。如图2所示,在步骤202,Alice登录到服务提供商104的web界面。然后在步骤204和206,Alice向服务提供商发送她的邀请的细节,包括要交换的实体(用比特币交换代币化加元)和交换条件以及由服务提供商提供的任何所选选项。Alice可以将该信息输入到由服务提供商104托管的界面中,例如使用正常语言,然后服务提供商104可以将该正常语言翻译成有效的邀请,或者,Alice可以通过预先选择的选项来简单地输入信息,例如,通过下拉选择菜单。
[0077] 在步骤208,Alice从服务提供商104接收由服务提供商104基于她的选择生成的赎回脚本,该赎回脚本包括关于Alice希望交换的实体的信息以及与邀请相关联的任何条件。因为Alice已经签名以使用特定服务提供商104,所以服务提供商104可能已经具有Alice的公钥。或者,Alice可以在初始选择期间或响应于来自服务提供商104的请求将她的公钥提供给服务提供商104。
[0078] 在步骤210,Alice使用她的私钥签发赎回脚本,该私钥是她的公钥的密码对,并且在步骤212,将已签名的赎回脚本发送回服务提供商104以进行分发。可以使用app来支持该过程,app本身可以由服务提供商104提供。
[0079] 图3中所示的流程图300示出了由服务提供商104执行的相应过程。在步骤302,服务提供商204从Alice接收邀请细节,并在步骤304使用Alice的公钥、实体详情和邀请条件生成赎回脚本。赎回脚本可以采用适合P2SH比特币交易的格式;邀请细节可以存储在元数据字段中,代替通常在multisig解锁脚本中使用的32字节公钥。图4示出了根据一个实施例的Alice的邀请的元数据的格式。在邀请中,Alice请求代币化加元并以不低于400加元/比特币的兑换率提供比特币。如下面将更详细地解释的,图4还示出了可以添加到邀请中的期限条件。如果交易尚未根据邀请最终确定,截止条件可能导致邀请在截止日期前被撤销。
[0080] 然后将赎回脚本发送给Alice以进行签名。在从Alice接收到已签名的赎回脚本时,在步骤308,服务提供商104生成签名的赎回脚本的散列。在一些实施例中,服务提供商可以保留Alice的私钥的副本(当被授权这样做时)。在这种情况下,赎回脚本可能不会物理地发送给Alice。相反,可以要求Alice确认她是否希望继续,并且在收到Alice的授权后,服务提供商104则可以代表Alice签发赎回脚本。附加地或替代地,Alice的私钥可以不由服务提供商104存储,而是在需要时且在Alice授权时重新创建。
[0081] 服务提供商104以两种方式使用散列。首先,在步骤310,服务提供商104在公共可用的P2P DHT上列出邀请细节以及散列。如上所述,该表采用了流(torrent)技术,因此它是分布式的而非集中式的,从而可以保持公开访问且不会掺假。然后,其他服务提供商104能够访问该邀请并将其列在他们自己的站点上(实际上,服务提供商104可以简单地使用该散列表作为唯一的存储库,并且甚至不需要维护其自己的本地邀请数据库)。
[0082] 在步骤312,使用散列的第二种方式是创建比特币交易的锁定脚本。该交易将一定数量的Alice的比特币花费在需要2个签名解锁的P2SH脚本上:Alice的签名和她指定的托管服务提供商110(如上所述,其可能是或可能不是与服务提供商104相同的实体)的签名。此交易的目的是双重的。首先,邀请记录在P2P DL上。任何用户或其服务提供商都可以通过确保P2P DL上存在匹配的交易(通过匹配的散列值)来验证P2P DHT上的邀请是否合法。其次,交易“锁定”Alice在其邀请中做出的承诺;Alice交换代币化加元所提供的比特币金额是订单交易所花费的金额。因此,可以验证订单由足够的资金支持。
[0083] 配对匹配邀请
[0084] 在第二示例中,Bob想要出售他的一些代币化加元获得比特币,并且已经使用相同或不同的服务提供商独立地列出他自己的邀请给Alice使用的服务提供商104。Bob的订单也被列在散列表上并嵌入P2P DL交易中,如参考图2和图3所描述的。Bob的邀请的元数据如图5所示。
[0085] 参考图6,描述了匹配Alice和Bob的订单的过程400。在该示例中,服务提供商100被描述为执行该过程。然而,应当理解的是,任何交换服务提供商或实际上任何其他合适的第三方都可以执行过程400。
[0086] 交换服务提供商104可以运行匹配算法,该匹配算法可操作以识别Alice和Bob的邀请之间的完全或部分匹配。在步骤402,交换服务提供商104扫描P2P DHT以匹配实体细节。在扫描期间,服务提供商104检查Alice和Bob的邀请之间的实体细节的匹配。如果在步骤404未找到匹配,则该过程返回到步骤402,且交换服务提供商104继续扫描P2P DHT以匹配实体细节。如果在步骤404找到匹配,则过程400继续到步骤406,其中检查Alice和Bobs的邀请中的每一个的一个或多个条件之间的匹配。如果在步骤406没有找到匹配,则该过程返回到步骤402。如果发现一个或多个条件之间的匹配,则该过程继续到步骤408,其中交换服务提供商104尝试创建并完成Alice和Bob之间的交易。
[0087] 在步骤406,确认正匹配可能不需要两个邀请中的所有条件的直接匹配。实际上,过程400可以仅需要一些条件的匹配。附加地或替代地,一个或多个条件不需要完全匹配。例如,如果比较的条件是在每个条件中建议的交换率,既然交换率在彼此的预定阈值范围内,则过程400可以确认正匹配。例如,如果Alice建议4×10-5代币化加元/聪的最小交换率条件,并且Bob的等效最大建议交换率为3.9×10-5代币化加元/聪,则该过程仍可确认或表明条件匹配,即使Bob提供的交换率并不完全符合Alice的原始要求。在这种情况下,一旦存在匹配,可以给予Alice选择接受。应当理解,如果Bob的等效最大建议交换率是4.1×10-5代币化加元/聪,那么条件将被满足。在另一个示例中,条件可以是要约和请求中提出的商品和服务的相应值。如果两个值在彼此的预定阈值范围内,则过程400可以再次确认正匹配。
在每种情况下,预定阈值范围可以是例如离散值,或者要约值或请求值的百分比。在一些实施例中,可能存在可以被设置为允许或禁止接近匹配的条件,即,在Alice和Bob的相应要约之间不存在直接匹配的情况。同样地,可以存在条件被设置为允许或禁止并不严格落入报价范围内的还价。
[0088] 如前所述,Bob和Alice的邀请中的每一个或两者的交易元数据可以进一步包括一个或多个位置条件,其可以指定例如如果交易广播的位置范围在指定坐标的X米范围内,仅在P2P DL上广播交易。这确保了交易只能在指定的位置进行,例如Bob的咖啡店。
[0089] 一旦找到匹配,并且在完成交易之前,可以执行一个或多个中间步骤。这些可能包括向各方发出已发现匹配的警报,然后向每一方或双方请求确认他们希望继续进行,等等。例如,如上所述,一个或多个用户几乎满足条件但未完全满足条件,仍然可以记录匹配,但是直到所有各方都对邀请的条件满意为止才能最终确定匹配。该过程可能导致还价,以协商最终协议的条款,这可能导致根据上述过程产生进一步的邀请。
[0090] 可以通过创建花费每个邀请交易的输出的一个或多个比特币交易来执行最终交换。发明人已经发现了几种完成交易的新方法,这些方法可以取决于环境,包括但不限于:交易中涉及的用户、交换的实体以及交易中涉及的服务提供商和发行者。下面描述这些方法的一些例子。
[0091] 继上面参考图2至图6描述的示例之后,图7中示出了用于Alice-Bob和Bob-Alice的单独交易的交易表500,并且图8示出了交易流程的示意图600。与图4和5中所示的元数据值一样,交易表500中提供的值仅作为示例。在这个例子中,Alice的邀请交易中的比特币花在了Bob身上,Bob在他的邀请交易中用加元-代币化的比特币花在了Alice身上。
[0092] 首先参考Alice-Bob交易,该交易的输入602是从邀请交易的输出提供的,该邀请交易被放置在具有Alice的邀请的P2P DL上。与第一交易一样,输入脚本由Alice和托管服务提供商110共同签发(假设Alice很乐意继续进行交易)。该脚本解锁了所用的比特币,然后可以将其输出到a)Bob,作为他的支付以换取代币化的加元(604),b)交换服务提供商104,作为对交换的支付(606),以及c)Alice,作为找零,如果应有的话(608)。
[0093] 现在参考Bob-Alice交易,该交易具有两个输入。交易的第一输入610是从邀请交易的输出提供的,该输出是在Bob的邀请下放置在P2P DL上的。由于此交易的输入是代币化的,因此输入脚本需要由Bob及其代币发布者共同签名。在这种情况下,代币发行者还可以作为托管,从而扣留资金,直到Bob(以及可选地Alice)对交易满意为止。签名的脚本解锁了花费的代币,然后可以将其输出到a)Alice,作为支付以换取比特币(612),并且b)返回到Bob,作为以原始代币的值减去发送给Alice的值的找零代币(614)。第二输入616来自Bob的先前比特币交易。该输入被解锁并输出到a)服务提供商104,作为交换的支付,b)比特币矿工,作为交换交易的费用,以及c)Bob,作为从原始比特币输入值减去服务提供商104的费用和矿工的费用的找零比特币。
[0094] 每个交易的服务提供商104的费用可以是交易价值的一部分。可选地或替换地,费用可以是两个邀请中列出的相应交换率条件之间的交换率差价的一部分。例如,在提供的交换率重叠的情况下,服务提供商104可以以各自所要求的交换率满足交换的双方,并且将差异保留为费用。可选地或替换地,服务提供商104可以采用固定费用(以聪、代币化的货币或其他形式计)。在一些实施例中,服务提供商可能不通过实际交易提取费用。相反,用户可能会在交易之外被收取费用。例如,可以向用户收取会员费或针对一个或多个交易(基于每个交易或账户等)的每次交易出具账单进行收费。
[0095] 一旦交易完成,Bob和Alice各自的服务提供商可以从P2P DHT移除他们的邀请条目或者输入使原始条目无效的另一条目。例如,服务提供商可以简单地将条目留在P2P DHT上,因为条目对应于支出交易,这意味着邀请不再有效。或者,服务提供商可以使用字段来标记该交易,该字段表明该交易是已花费的。这可以是DHT上的单独字段,其对应于特定条目但不改变与邀请相关联的实际元数据(这确保了脚本散列仍然匹配交易上的散列)。或者,服务提供商可以从P2P DHT删除该条目。然而,P2P DHT的益处是对使用系统100的交易的永久审计控制。因此,优选地,防止删除P2P DHT上的条目或者归档删除的条目,以便保持条目的记录。在一个示例中,删除的条目被存档。
[0096] 在上面的示例交易中,没有交换谜题(puzzle)。换句话说,两个交易(Alice-Bob和Bob-Alice)是完全独立和离散的。然而,在某些情况下,优选的,两个交易中每一个可能是有效的或无效的。图9显示了另一个交易示例,其中在Alice的交易(Alice-Bob)中交换了谜题。如此,两个交易被锁定在一起,这样,不进行一方的花费,另一方则无法花费。这可以防止交易从一方到另一方,而不需要相反的交易同时进行。这种意义的“谜题”可以包括仅由另一方知道的秘钥(secrete)的散列。例如,“秘钥(secrete)”可能是一个数字,是谜题的“解决方案”。散列作为赎回脚本的一部分进行集成,以便解锁赎回脚本,必须呈现签名和谜题的解决方案。
[0097] 在以上两个示例中,执行两个比特币交易以完成交换。但是,在可能的情况下,最好将上述两个交易合并为一个比特币交易。这样做会自动将交易的两个部分锁定在一起,从而减少Alice和Bob为交易支付的总费用。
[0098] 图10示出了用于Alice和Bob之间的单个交易的交易表700。交换的交易流程与前两个示例的交易流程相同,即如图6所示。然而,交换被合并为单个多输入多输出(multi-input-multi-output,简称“MIMO”)交易。因此,不需要像发生两个单独交易的情况那样交换谜题以确保共同依赖。应注意的是,在图8中,向交换服务提供商104支付两笔单独的费用。但是,如果交换服务提供商104对于Bob和Alice都是相同的,则这两笔费用可以合并成单个交易,由Bob支付,或由Alice支付,或由Bob和Alice支付。
[0099] 涉及两方以上的交易
[0100] 上述交易涉及两个实体之间的交换。然而,应当理解的是,在一些示例中,交换中可以涉及两个以上的实体。例如,考虑以下场景。Alice希望用比特币交换苹果,但只接受最少1000个苹果。Bob想要用苹果交换比特币,但只能提供500个苹果。Carol想用苹果交换比特币,但只能提供600个苹果。在这种情况下,Bob或Carol不能单独满足Alice的邀请条件。然而,Bob和Carol一起拥有1100个苹果,因此可以满足Alice的邀请条件。
[0101] 在另一个示例中,Alice希望将代币化的加元交换为代币化的英镑,Bob希望将代币化的英镑交换为代币化的澳元,并且Carol希望将代币化的澳元交换为代币化的加元。三方中的任何两方之间不存在直接匹配,但结合起来,每个邀请都可以得到满足:Alice的代币化加元可以转到Carol,Bob的代币化英镑可以转到Alice,而Carol的代币化澳元可以转到Bob。图11A到11C示出了Alice、Bob和Carol之间的交易的示例性交易表。
[0102] 首先参考图11A,示出了从Alice到Carol的支付的交易表。Alice拥有1500美元的代币化加元,需要从Bob获得代币化的500英镑。该交易从Alice向Carol支付了代币化的1000加元,并且Alice向自己支付了剩余的代币化加元500(1500-1000)。使用常规比特币,Alice可能会向服务提供商支付费用(可能是图11A中所示的固定费用或取决于转移价值的费用),并向自己支付减去1000聪矿工费用后的找零。
[0103] 现在参考图11B,示出了用于从Bob向Alice支付代币化英镑的交易表。Bob已经代币化了750英镑并需要从Carol得到代币化澳元。该交易从Bob向Alice支付了代币化的500英镑,且Bob向自己支付了剩余的代币化的250英镑(750-500)。使用常规比特币,Bob可能会向服务提供商支付费用(可以是如图11B中所示的固定费用或取决于转移价值的费用),并向自己支付减去1000聪矿工费用后的找零。
[0104] 现在参考图11C,示出了用于从Bob向Carol支付代币化澳元的交易表。Carol已经代币化了1500澳元,需要从Alice得到代币化加元。该交易从Carol向Bob支付了代币化的1000澳元,且Carol向自己支付了剩余的代币化的500澳元(1500-1000)。使用常规比特币,Carol可能会向服务提供商支付费用(可以是如图11C中所示的固定费用或取决于转移价值的费用),并向自己支付减去1000聪矿工费用后的找零。应当理解的是,在交换由两个或更多个单独的交易组成的情况下(例如1:Alice转移到Bob;以及2:Bob转移到Alice),交易可以被链接以确保每一方都获得其权利或者他们均不能获得。这可以通过满足以下条件(使用A和B两方的示例,但可以容易地扩展到三方或更多方)来实现:存在从A转移到B的、可由B花费的交易输出,只有也存在从B转移到A的、可由A同时消费的交易输出时,反之亦然。值得注意的是,A方和B方指的是每个交易所需的签名集,而不仅仅是Alice和Bob(例如,其可能包括代币发行者,托管等)。
[0105] 从用户接收选择
[0106] 在上面参考图6描述的示例兑换的变形中,并非是服务提供商解析P2P DHT以匹配订单,用户自己可以扫描或浏览P2P DHT以查看当前的邀请。可以由第三方,诸如交换服务提供商104,促进浏览。第三方可以提供用户可以浏览、扫描和搜索其可能感兴趣的邀请的界面。
[0107] 然后,用户可以跳过在P2P DHT上输入他们自己的预期邀请的过程,而是选择创建与他们感兴趣的订单匹配或几乎匹配的邀请。
[0108] 例如,继续但与前一示例相反,Bob可以经由浏览或搜索界面在P2P DHT上找到Alice的邀请。在这种情况下,Bob可以输入自己的邀请来匹配Alice的邀请。Bob可以通过以下几种方式之一完成此操作。在一个示例中,界面上可能存在设施,其显示Alice的订单以“接受”她的订单。如果Bob是与Alice用于邀请的相同的交换服务提供商104的客户端,则他们可能已经访问Bob的电子钱包(公钥等),且因此可以基于这样的信息创建匹配订单。因此,交换服务提供商110可以生成用于匹配邀请的赎回脚本,将其发送给Bob以进行签名,接收签名的赎回脚本并将订单输入到P2P DL以准备交易。如果Bob不是Alice的交换服务提供商104的客户端,则可以提供设施以允许Bob输入所需的信息和授权,然后可以使服务提供商创建Bob的匹配订单。然后可以进行与上面参考图7和8描述的过程相同的过程。
[0109] 以上示例描述了用于代币化加元的比特币的交换。然而,应当理解的是,系统100适用于任何类型的交换,包括例如用于任何类型的代币的比特币(即,代表任何合约,而不仅仅用于货币合约),用于任何其他类型的代币的任何类型的代币、商品/服务的比特币、商品/服务的代币、或商品/服务的商品/服务。另外且理论上地,可以修改上述过程以将比特币交换为比特币,尽管这种交换没有实际意义。
[0110] 交换商品/服务
[0111] 当交换中涉及商品/服务时,需要将上述交易过程做轻微变化。
[0112] 在这种情况下,(商品和/或服务的)交易包括交易所涉及的商品或服务的描述。与由合约或所有权契约表示的代币不同,该描述不构成合约。
[0113] 描述可以唯一地或可以不唯一地标识该项目。例如,在交易中涉及实物项目的情况下,描述可以明确地指代与该实物项目相关联的唯一标识符。附加地或替代地,描述元数据可以包括以下中的一个或多个:a)要约或请求的期望项目的一般描述,例如“洗碗机,<3yo”;b)对拍卖网站上的特定商品的引用,例如“在拍卖网站上出售的二手产品”;c)任何数量的商品类型,例如,宣传可以作为单打或任何数量购买的15件待售T恤;d)对现金的引用,通过任何指定的货币;e)每个工作完成的劳动和支付描述,或每次重复或按小时支付的常规割草(重复工作);或f)一个或多个关键字,例如“洗碗机”。
[0114] 关于服务,服务可以与代币一样由合约支持。因此,服务可以被分割成份额,且不可分割服务可以被认为是一次性工作,即可分割但包括单个份额(1份)。如果服务是不可分割的,则可以将其视为用于邀请和交换目的的代币。如果一个项目由一个代币支持,它将被视为一个代币,用于邀请和交换的目的,并以与其他代币相同的方式进行交换,例如法定货币的代币。
[0115] 现在将描述涉及与唯一标识符相关联的实体项目的交易的示例。类似于先前的示例,在本示例中,Alice已经使用她的交换提供商在P2P DL和P2P DHT上发出邀请。该邀请包括她将购买具有唯一标识符XYZ123的实体项目的描述,该实体项目可能与Rafael的杰作Deposition of Christ相关,不超过2500比特币。同样,Bob可能已经发出匹配的邀请,他将以不低于2400比特币的价格出售项目XYZ123。Alice可能已经浏览了P2P DL并且发现了具有项目号XYZ123的项目并且基于该信息发出了匹配的订单,或者,Alice可能已经发出了通用邀请,然后由第三方(例如,交换服务提供商)进行匹配。随后做出了新的邀请,包括目录项目编号和描述,以匹配Bob的订单。
[0116] 对于涉及唯一ID的交易,应当理解的是,这样的ID不仅必须对于特定的交换服务提供商是唯一的,而且对于整个P2P DL也必须是唯一的。因此,如果唯一标识符对设备不是完全唯一的(例如设备序列号),则交换服务提供商可以为设备生成唯一标识符。为了确保每个标识符对于整个P2P DL是唯一的,每个交换服务提供商可以例如具有它们自己的唯一代码,该代码以交换服务提供商用于唯一地标识在P2P DL上广告的产品的数字为前缀。
[0117] 一旦在Alice和Bob之间达成协议,则交易根据上面参考图7至图10描述的示例交易过程进行。
[0118] 现在将描述涉及实体项目的交易的另一示例。然而,在该示例中,该项目没有与其相关联的唯一标识符。
[0119] 在邀请包括出售多个类似项目的报价的情况下,可能需要元数据来描述可以用任何一个交易购买的项目的最大和最小数量。例如,Alice可以发出邀请,表明她将出售最多15件Dead Lizard 2015巡回演唱会T恤,每件兑换0.025比特币,每次交易至少5件。在这种情况下,元数据值可以包括最小交换率(0.025比特币/项);最大数量(Offer-QTY-max(15))和最小数量(Offer-QTY-min(5))。下表总结了与邀请相关联的元数据。
[0120] 然后,交换服务提供商将计算支付交易的实际比特币值。因为该交易仅表示执行和交换的邀请,交易的实际价值可能很小,例如,像微额一样小(546聪)。或者,如下所述,该值可以是服务提供商保证邀请所需的标称量(nominal amount)(例如,因此激励Alice不会退出)。
[0121] 在另一个例子中,可以交换硬通货(现金)形式的商品。例如,Alice可以发出邀请,出售比特币获得加元(硬通货而非代币),最多购买为150比特币。邀请还可以包括交换必须仅在她的商店地址内进行的位置条件:布伦特福德奇米大街372号(371Whimsy Avenue,Brentford)。在发出匹配的邀请后,为了完成交易,Bob可以将现金带到Alice的商店进行交接以换取比特币交易中的支付。然后,一旦Bob和Alice在她的商店中见面进行实体转移,就可以进行比特币到Bob的实际数字交易以及将现金转移到Alice的数字记录。
[0122] 在交易涉及商品/服务交换为其他商品/服务的情况下,应理解,P2P DL上的交易仅作为记录存在,而不是用于在各方之间交换任何价值(除了服务提供商等的任何费用外)。用户可以使用该系统,并选择支付标称服务费用,以将交易输入到P2P DL,以便永久记录该交换。
[0123] 注意,原始邀请交易仅充当邀请而不是作为价值转移或作为事件的记录。如果发生货物换货物的交换,使得交换仅涉及实体项目,则不需要在P2P DL上记录最终交换,因为P2P DL不需要在最终交换中完成任何交易。尽管如此,如果实体项目交换的各方希望在P2P DL上记录该交换,则他们可以各自将他们的邀请交易彼此花费,但这需要向矿工付费。如果各方不希望在P2P DL上记录最终交换,则他们可以各自将他们的邀请交易花费给他们自己,或者甚至将他们未花费地留在P2P DL上。
[0124] 在交换涉及比特币交换商品或代币交换商品的情况下,在P2P DL上花费至少一个交易来转移比特币或代币的价值。在这种情况下,提供货物的邀请交易可能会被花费或可能不会被花费,因为交易(货物)的价值不是通过花费该邀请交易来转移的。然而,再次,各方可以决定花费该交易,以便提供转移的永久记录(例如,销售收据)。
[0125] 在某些情况下,花费在上述交易上的金额可能不代表提供的金额,特别是当Alice的报价不是比特币或代币而是商品/服务时。相反,服务提供商可能要求Alice提供代表货物价值的金额的“存款”,或者如果Alice能够以另一种方式“保证”该邀请,或者服务提供商可能代表Alice(她可能没有)提供比特币,则可能只需要一笔名义金额,并通过向客户收取费用的任何方式支付这笔资金。
[0126] 在上述实施例中,用户的邀请在P2P DHT上发布。然而,在一些实施例中,用户的邀请(例如,脚本和脚本散列)可以在网站上发布,直接发送给另一个用户。
[0127] 在一些实施例中,用户的邀请可以由服务提供商在本地存储。例如,服务提供商可以主持私人拍卖,其中仅某些用户可以访问用户的邀请细节。
[0128] 本领域技术人员将理解,在不脱离本发明的广泛的一般范围的情况下,可以对上述实施例进行多种变化和/或修改。因此,本发明的实施例在所有方面都被认为是说明性的而非限制性的。
[0129] 本发明包括在此发明的或在本申请的说明书中单独或共同指出的步骤、特征、整体、组合物和/或化合物,以及两个或更多个所述步骤或特征的任何和所有组合。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈