首页 / 专利库 / 银行与财务事项 / 区块链处理实体 / 具有令牌化的基于区块链的交换

具有令牌化的基于链的交换

阅读:544发布:2020-07-15

专利汇可以提供具有令牌化的基于链的交换专利检索,专利查询,专利分析的服务。并且本 发明 提供一种用于经由 区 块 链 交换实体的安全的方法。本发明涉及令牌化技术,以及用于将元数据嵌入在 区块链交易 的兑换脚本中的技术。部分 实施例 提供了执行实体交换的计算机实施的方法,所述方法包括:在通信网络上从第一用户接收第一邀请以执行所述交换,所述第一邀请包括与所述邀请相关联的第一元数据集合,其中所述第一元数据集合包括将交换的实体的指示以及用于所述交换的第一条件集合;产生第一脚本,所述第一脚本包括:所述第一元数据集合,与所述第一用户相关联的第一用户公共密钥(P1A),其中所述第一用户公共密钥(P1A)与第一用户私用密钥(V1A)是密码对,以及与第一第三方相关联的第一第三方公共密钥(P1T),其中所述第一第三方公共密钥(P1T)与第一第三方私用密钥(V1T)是密码对;对所述第一脚本进行散列以产生第一脚本散列;在跨越第一网络分布的分布式散列表(DHT)上公布所述第一脚本和所述第一脚本散列;以及在第二网络上广播用于包括于对等(P2P)分布式分类账上的第一邀请交易,所述第一邀请交易包括将转移的密码 货币 的第一数量的指示以及所述第一脚本散列。,下面是具有令牌化的基于链的交换专利的具体信息内容。

1.一种在第一用户与第二用户之间执行实体交换的计算机实施的方法,所述方法包括:
产生第一邀请交易(Tx),所述第一邀请交易包括与以下各项相关联的输出(UTXO):
i)加密的能够以电子方式转移的数字资产;以及
ii)脚本的散列,包括
第一元数据集合,包括:
将交换的实体的指示;以及
用于所述交换的第一条件集合;
以及
与所述第一用户相关联的公共加密密钥(P1A)。
2.根据权利要求1所述的方法,进一步包括步骤:
从第一用户接收第一邀请以执行所述交换,所述第一邀请包括与所述邀请相关联的所述第一元数据集合,其中所述第一元数据集合包括将交换的实体的指示以及用于所述交换的第一条件集合;
产生第一脚本,所述第一脚本包括:
所述第一元数据集合,
与所述第一用户相关联的第一用户公共密钥(P1A),其中所述第一用户公共密钥(P1A)与第一用户私用密钥(V1A)是密码对,以及
与第一第三方相关联的第一第三方公共密钥(P1T),其中所述第一第三方公共密钥(P1T)与第一第三方私用密钥(V1T)是密码对;
对所述第一脚本进行散列以产生第一脚本散列;
在第一网络上发送所述第一脚本和所述第一脚本散列;以及
在第二网络上发送第一邀请交易以将所述第一邀请交易包括在对等(P2P)分布式分类账上,所述第一邀请交易包括第一数量的指示以及所述第一脚本散列,所述第一数量为将转移的加密的可电子方式转移的数字资产。
3.根据权利要求2或1所述的方法,其中在所述第一网络上的所述发送包括在跨越第一网络分布的分布式散列表(DHT)上公布所述第一脚本和所述第一脚本散列。
4.根据前述权利要求中任一项所述的方法,进一步包括:
在通信网络上接收来自第二用户的第二邀请以执行所述交换,所述第二邀请包括与所述邀请相关联的第二元数据集合,其中所述第二元数据集合包括将交换的实体的所述指示以及用于所述交换的第二条件集合,所述第二条件集合中的一个或多个匹配于所述第一条件集合中的一个或多个;
产生第二脚本,所述第二脚本包括:
所述第二元数据集合,
与所述第二用户相关联的第二用户公共密钥(P2A),其中所述第二用户公共密钥(P2A)与第二用户私用密钥(V2A)是密码对,以及
与第二第三方相关联的第二第三方公共密钥(P2T),其中所述第二第三方公共密钥(P2T)与第二第三方私用密钥(V2T)是密码对;
对所述第二脚本进行散列以产生第二脚本散列;
在所述第二网络上广播第二邀请交易以将所述第二邀请交易包括于所述P2P分布式分类账上,所述第二邀请交易包括第二数量的指示以及所述第二脚本散列,所述第二数量为将转移的加密的可电子方式转移的数字资产。
5.根据权利要求4所述的方法,进一步包括在第三网络上发送所述第二脚本和所述第二脚本散列。
6.根据权利要求5所述的方法,其中所述第一网络和所述第三网络是同一网络,且其中在所述第三网络上的所述发送包括在所述DHT上公布所述第二脚本和所述第二脚本散列。
7.根据权利要求4到6中任一项所述的方法,进一步包括:
产生用于包括于所述P2P分布式分类账上的第一交换交易,所述第一交换交易包括:
所述第一脚本,
所述第一用户私用密钥(V1A),
所述第一第三方私用密钥(P1T),
由所述第一邀请交易的输出所提供的第一输入,以及
第一输出,所述第一输出指示将转移到所述第二用户的第一实体的第一数量;以及在所述第二网络上广播所述第一交换交易。
8.根据权利要求7所述的方法,进一步包括:
产生第二交换交易以将所述第二交换交易包括于所述P2P分布式分类账上,所述第二交换包括:
所述第二脚本,
所述第二用户私用密钥(V2A),
所述第二第三方私用密钥(P2T),
由所述第二邀请交易的输出所提供的第二输入,以及
第二输出,所述第二输出指示将转移到所述第一用户的第二实体的第二数量;以及在所述第二网络上广播所述第二交换交易。
9.根据权利要求4到6中任一项所述的方法,进一步包括:
产生用于包括于所述P2P分布式分类账上的第一交换交易,所述第一交换交易包括:
所述第一脚本,
所述第一用户私用密钥(V1A),
所述第一第三方私用密钥(P1T),
所述第二脚本,
所述第二用户私用密钥(V2A),
所述第二第三方私用密钥(P2T)
由所述第一邀请交易的输出所提供的第一输入,
由所述第二邀请交易的输出所提供的第二输入,
第一输出,所述第一输出指示将转移到所述第二用户的第一实体的第一数量,以及第二输出,所述第二输出指示将转移到所述第一用户的第二实体的第二数量;以及在所述第二网络上广播所述第一交换交易。
10.根据权利要求7或9所述的方法,其中产生所述第一交换交易包括:
将所述第一脚本发送到所述第一用户从而用所述第一用户私用密钥(V1A)进行签署;
从所述第一用户接收以所述第一用户私用密钥(V1A)签署的所述第一脚本;
发送已签署的所述第一脚本用于以所述第一第三方私用密钥(P1T)进行签署;以及从所述第一第三方接收以所述第一第三方私用密钥(P1T)签署的所述第一脚本。
11.根据权利要求10所述的方法,当依附于权利要求9时,其中产生所述第一交换交易包括:
将所述第一脚本发送到所述第二用户从而用所述第二用户私用密钥(V2A)进行签署;
从所述第二用户处接收以所述第二用户私用密钥(V1A)签署的所述第一脚本;
将所述第一脚本发送到所述第二第三方从而用所述第二第三方私用密钥(P2T)进行签署;以及
从所述第二第三方处接收通过所述第二第三方私用密钥(P2T)签署的所述第一脚本。
12.根据权利要求8所述的方法,其中产生所述第二交换交易包括:
将所述第二脚本发送到所述第二用户从而用所述第二用户私用密钥(V1A)进行签署;
从所述第二用户接收以所述第二用户私用密钥(V1A)签署的所述第二脚本;
将所述第二脚本发送到所述第二第三方从而用所述第二第三方私用密钥(P2T)进行签署;以及
从所述第二第三方接收以所述第二第三方私用密钥(P2T)签署的所述第二脚本。
13.根据权利要求7到12中任一项所述的方法,进一步包括:在产生或广播所述第一和/或第二交换交易之前,发送提示给所述第一和第二用户中的一个或多个以接受交换。
14.根据权利要求4到13中任一项所述的方法,其中在所述第一网络上的所述发送包括将所述第一脚本和所述第一脚本散列发送到所述第二用户。
15.根据前述权利要求中任一项所述的方法,其中所述P2P分布式分类账是比特币链。
16.根据前述权利要求中任一项所述的方法,其中所述第一第三方是托管服务提供商或令牌发行者,和/或所述第二第三方是托管服务提供商或令牌发行者。
17.根据前述权利要求中任一项所述的方法,进一步包括:
向所述第一第三方发送对所述第一第三方公共密钥的请求;以及
从所述第一第三方接收所述第一第三方公共密钥。
18.根据前述权利要求中任一项所述的方法,进一步包括:
向所述第二第三方发送对所述第二第三方公共密钥的请求;以及从所述第二第三方接收所述第二第三方公共密钥。
19.根据前述权利要求中任一项所述的方法,其中所述第一交易、所述第二交易、所述第三交易和所述第四交易中的一个或多个是支付到脚本散列(P2SH)交易。
20.根据前述权利要求中任一项所述的方法,其中所述第一兑换脚本散列和所述第二兑换脚本散列中的一个或多个经过Base58编码。
21.根据前述权利要求中任一项所述的方法,其中所述第一实体和/或所述第二实体是以下各项中的一个:
a)比特币;
b)合约;
c)商品;
d)服务。
22.根据权利要求21所述的方法,其中所述合约是用于以下各项中的一个或多个:
a)法定货币
b)所有权契约;
c)票;
d)商品;
e)服务。
23.根据前述权利要求中任一项所述的方法,其中所述第一条件集合和/或所述第二条件集合包括以下各项中的一个或多个:
a)与所述交换相关的一个或多个价格上的一个或多个范围限制;
b)交换比率;
c)用于所述第一邀请的履行的截止日期;
d)对用于所述交换发生的地理区域的限制。
24.根据前述权利要求中任一项所述的方法,其中所述第一和/或第二元数据集合是在兑换脚本中提供。
25.根据前述权利要求中任一项所述的方法,其中所述第一和/或第二元数据集合是在所述脚本中在区块链协议中被指定为用于加密密钥的位置的位置处提供。
26.一种处理器或处理器群组,能够操作以执行根据权利要求1到22中任一项所述的方法。
27.一种计算机可读媒体,上面存储有指令,所述指令当执行时能够操作以执行根据权利要求1到23中任一项所述的方法。

说明书全文

具有令牌化的基于链的交换

技术领域

[0001] 本发明涉及分布式、对等分类账,并且确切地说涉及区块链技术。本发明还部分地涉及令牌化和安全性技术,以及用于经由区块链转移实体和/或实体的所有权的安全机制。其可包括通过区块链在不同方之间执行安全交易的方法。

背景技术

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

发明内容

[0008] 本发明在所附权利要求书中界定。
[0009] 本发明可提供用于通过区块链对资产的安全控制和/或转移或交换的解决方案。本文中,术语“实体”可与“资产”互换使用。另外或替代地,本发明可实现资产的控制和/或所有权转移。这可以是数字或虚拟资产,例如智能合约或现实世界/实体资产。所述资产可以是权利,例如许可证或使用权或与某一类型的财产相关的某一种权利。本发明可使用令牌化技术以便于此控制或转移。本发明可使得能够以安全方式执行转移/交换,结合使用密码密钥,同时不需要对底层区块链协议进行任何变更。本发明可使用用于在与区块链交易(Tx)相关联的脚本中嵌入元数据的技术。
[0010] 本发明尤其提供:用于电子转移的存储器使用的增强优化、通过使用散列技术的改进的安全性及数据完整性、通过去除对可信第三方的需要的改进的安全性,以及数据的增强的匿名性。其还可提供改进的通信机制以使得不同的各方能够通过由本发明提供的新颖方法及/或架构识别彼此及/或交换数据。此优点列表不是限制性的或详尽的。
[0011] 本发明可能需要各种不同且单独的基于计算机的资源的交互和相互通信,例如一个或多个用户装置和分布式计算机系统(区块链),所述分布式计算机系统包括被布置为执行区块链相关软件及协议的计算节点。
[0012] 本发明可以提供执行实体交换的计算机实施的方法。所述交换可以在第一用户与第二用户之间做出。其可为在计算机网络上进行的交换。网络可以是区块链实施的网络。术语“用户”可指代人用户或基于计算机的资源。本发明可以提供用于控制交换或两个或更多个实体的交换控制方法。其可以提供用于数字实体交换的令牌化方法。本发明可以被描述为区块链实施的方法。所述方法可以包括以下步骤:
产生区块链交易(Tx),所述区块链交易包括与以下各项相关联的输出(UTXO):
i)例如比特币的密码货币的数量;以及
ii)脚本的散列,包括
第一元数据集合,包括:
-将交换的实体的指示;以及
-用于所述交换的第一条件集合;
以及
与所述第一用户相关联的公共加密密钥(P1A)。
所述脚本还可以包括与第三方相关联的加密密钥。
[0013] 另外地或替代地,所述方法可以包括以下步骤:在通信网络上从第一用户接收执行所述交换的第一邀请,所述第一邀请包括与所述邀请相关联的第一元数据集合,其中所述第一元数据集合包括将交换的实体的指示以及用于所述交换的第一条件集合;和/或
产生第一脚本,所述第一脚本包括:所述第一元数据集合,与所述第一用户相关联的第一用户公共密钥(P1A),其中所述第一用户公共密钥(P1A)与第一用户私用密钥(V1A)是密码对,以及与第一第三方相关联的第一第三方公共密钥(P1T),其中所述第一第三方公共密钥(P1T)与第一第三方私用密钥(V1T)是密码对;和/或
对所述第一脚本进行散列以产生第一脚本散列;在第一网络上发送所述第一脚本和所述第一脚本散列;和/或
在第二网络上发送用于包括于对等(P2P)分布式分类账上的第一邀请交易,所述第一邀请交易包括将转移的加密的能够以电子方式转移的数字资产的第一数量的指示以及所述第一脚本散列。
因此,(兑换)脚本的散列可提供在区块链交易内或与区块链交易相关联。这可以是根据比特币协议的P2SH交易或另一区块链协议中的另一功能上等效交易类型。脚本的散列可充当散列表或其它存储资源的查找密钥。此存储资源可以是邀请的公共域存储库。存储资源可包括查找密钥(即散列)及来自元数据的所有字段,所述所有字段组合起来界定邀请。
查找密钥可以是记录的其余部分的散列,即串接的元数据值的散列。在优选实施例中,元数据可包括指针或对与令牌相关联的合约的位置的其它参考。所述合约可存储在单独存储资源中。邀请(如由存储资源中的元数据界定)可通过散列链接到区块链交易。
本发明提供数个优点,现在描述其中的一些。首先,因为关于交换的信息包括在安全地嵌入于分布式分类账中的元数据中,所以可在对等的基础上安全地实行交换,从而使得受信任的第三方不必要。这又避免了需要由例如服务提供商的任何第三方持有关于交换双方的大量敏感信息,这又避免了与所述第三方的安全性受到损害相关联的险。提供此优点,同时还保持交易的匿名性。由于第一脚本是散列的,因此在不引起脚本的对应的散列值发生改变的情况下改变元数据的值将是不切实际的困难。这还使得交易的条款能够由各方验证,这是由于所述条款被锁定在公开可用的分布式分类账上,这实现交易的完整性受信任。
还提供如下优点:第一元数据可嵌入于第一脚本中的公共密钥可用的一个或多个地方,借此使不适于处理元数据的节点能够简单地将脚本发射到另一节点,而不是阻挡其进程。这又改进相关交易的计算效率。提供另一优点:控制数据可并入到元数据中,例如在表示场所票或旅行票或旅行代金券的令牌的情况下用于屏障的访问码。元数据还可含有交换细节的指向区块外存储库,借此使得较少存储器和/或处理资源用于处理相关交易。提供的又一优点是,令牌可经划分,从而实现两个或更多个交易输出,其中的每一个可涉及令牌化或非令牌化的可以电子方式转移的数字资产。
[0014] 在第一网络上的发送可以包括在跨越第一网络分布的分布式散列表(DHT)上公布第一脚本和第一脚本散列。
[0015] P2P分布式分类账可以是比特币区块链。替代地,P2P分布分类账可以是另一密码货币分类账或区块链。
[0016] 优选地,所述方法进一步包括:在通信网络上接收来自第二用户的执行所述交换的第二邀请,所述第二邀请包括与所述邀请相关联的第二元数据集合,其中所述第二元数据集合包括将交换的实体的指示以及用于所述交换的第二条件集合,所述第二条件集合中的一个或多个匹配于所述第一条件集合中的一个或多个;产生第二脚本,所述第二脚本包括:所述第二元数据集合,与所述第二用户相关联的第二用户公共密钥(P2A),其中所述第二用户公共密钥(P2A)与第二用户私用密钥(V2A)是密码对,以及与第二第三方相关联的第二第三方公共密钥(P2T),其中所述第二第三方公共密钥(P2T)与第二第三方私用密钥(V2T)是密码对;对所述第二脚本进行散列以产生第二脚本散列;在所述第二网络上广播用于包括于所述P2P分布式分类账上的第二邀请交易,所述第二邀请交易包括将转移的密码货币的第二数量的指示以及所述第二脚本散列。
[0017] 所述第二脚本和第二脚本散列可以在第三网络上发送。有利地,这包括在P2P DHT上公布所述第二脚本和第二脚本散列。在这样做时,可提供第二邀请的记录。替代地,所述第二脚本和第二脚本散列可以在网站上公布或私密地存储。所述第一和第三网络可以是同一网络。相等地,所述第一和第二网络和/或所述第二和第三网络可以是同一网络。
[0018] 在所述第一网络上的发送可以包括将所述第一脚本和第一脚本散列发送到所述第二用户。
[0019] 所述方法可进一步包括:产生用于包括于所述P2P分布式分类账上的第一交换交易,所述第一交换交易包括:所述第一脚本,所述第一用户私用密钥(V1A),所述第一第三方私用密钥(P1T),从所述第一邀请交易的输出提供的第一输入,以及指示将转移到所述第二用户的第一实体的第一数量的第一输出;以及在所述第二网络上广播所述第一交换交易。另外或替代地,所述方法可进一步包括:产生用于包括于所述P2P分布式分类账上的第二交换交易,所述第二交换包括:所述第二脚本,所述第二用户私用密钥(V2A),所述第二第三方私用密钥(P2T),从所述第二邀请交易的输出提供的第二输入,以及指示将转移到所述第一用户的第二实体的第二数量的第二输出;以及在所述第二网络上广播所述第二交换交易。
[0020] 替代地,可存在用于交换的单个交易。因此,所述方法可以包括:产生用于包括于所述P2P分布式分类账上的第一交换交易,所述第一交换交易包括:所述第一脚本,所述第一用户私用密钥(V1A),所述第一第三方私用密钥(P1T),所述第二脚本,所述第二用户私用密钥(V2A),所述第二第三方私用密钥(P2T),从所述第一邀请交易的输出提供的第一输入,从所述第二邀请交易的输出提供的第二输入,指示将转移到所述第二用户的第一实体的第一数量的第一输出,以及指示将转移到所述第一用户的第二实体的第二数量的第二输出;以及在所述第二网络上广播所述第一交换交易。
[0021] 所述第一交换交易的产生可以包括:将所述第一脚本发送到所述第一用户用于以所述第一用户私用密钥(V1A)进行签署;从所述第一用户接收以所述第一用户私用密钥(V1A)签署的所述第一脚本;发送已签署的所述第一脚本用于以所述第一第三方私用密钥(P1T)进行签署;以及从所述第一第三方接收以所述第一第三方私用密钥(P1T)签署的所述第一脚本。
[0022] 替代地,所述第一交换交易的产生可以包括:将所述第一脚本发送到所述第二用户用于以所述第二用户私用密钥(V2A)进行签署;从所述第二用户接收以所述第二用户私用密钥(V1A)签署的所述第一脚本;将所述第一脚本发送到所述第二第三方用于以所述第二第三方私用密钥(P2T)进行签署;以及从所述第二第三方接收通过所述第二第三方私用密钥(P2T)签署的所述第一脚本。
[0023] 产生所述第二交换交易可以包括:将所述第二脚本发送到所述第二用户用于以所述第二用户私用密钥(V1A)进行签署;从所述第二用户接收以所述第二用户私用密钥(V1A)签署的所述第二脚本;将所述第二脚本发送到所述第二第三方用于以所述第二第三方私用密钥(P2T)进行签署;以及从所述第二第三方接收以所述第二第三方私用密钥(P2T)签署的所述第二脚本。
[0024] 所述方法可进一步包括在产生或广播所述第一和/或第二交换交易之前向所述第一和第二用户中的一个或多个发送接受交换的提示。
[0025] 所述第一第三方可以是托管服务提供商或令牌发行者。所述第二第三方可以是托管服务提供商或令牌发行者。
[0026] 所述方法可进一步包括:向所述第一第三方发送对所述第一第三方公共密钥的请求;以及从所述第一第三方接收所述第一第三方公共密钥。
[0027] 所述方法可进一步包括:向所述第二第三方发送对所述第二第三方公共密钥的请求;以及从所述第二第三方接收所述第二第三方公共密钥。
[0028] 所述第一交易、第二交易、第三交易和第四交易中的一个或多个可以利用支付到脚本散列(P2SH)交易协议。
[0029] 第一兑换脚本散列和第二兑换脚本散列中的一个或多个可以经过Base58编码或可以是SHA-256散列。
[0030] 正交换的实体可以是比特币、合约、商品或服务。在第一和/或第二实体是合约的情况下,所述合约可以用于法定货币、所有权契约、门票、商品或服务、以上全部五种的组合。
[0031] 用于交换的条件可以包括与交换相关的一个或多个价格上的一个或多个范围限制、交换比率、用于所述第一邀请的履行的截止日期,和/或对用于交换发生的地理区域的限制。
[0032] 本发明的实施例可以包括用于将元数据嵌入于(区块链)交易中的技术,包括以下步骤:产生区块链交易(Tx),所述区块链交易具有与资产(B1)相关的输出(TxO)以及兑换脚本的散列,所述兑换脚本包括:
元数据,其包括作为令牌化实体的表示或参考的令牌;
以及
至少一个(优选地两个或更多个)公共密码密钥。
数字资产(B1)可以是某一数量的密码货币,例如比特币。兑换脚本可以在交易输出TxO的锁定脚本内提供。元数据可以在兑换脚本中在区块链协议中被指定为用于加密密钥的位置的位置处提供。这提供了可转移元数据而不需要对底层区块链协议的任何更改的优点。
操作所述协议的节点对于代替加密密钥的元数据的使用将是不可知的。
所述方法可进一步包括将交易Tx提交到区块链的步骤。实际上,密码货币(B1)因此可以与令牌结合锁定于区块链上。可仅在满足用于输出TxO的锁定脚本的要求的解锁脚本的提供之后支出(兑换)所述数量的密码货币(B1)。确切地说,必须存在兑换脚本,所述兑换脚本当被散列时匹配于在TxO的锁定脚本中提供的散列。由于用于输出TxO的锁定脚本包括兑换脚本的散列,所述兑换脚本的散列又包括令牌(在元数据中),因此密码货币(B1)与令牌相关联。在正确解锁(兑换)脚本的呈现后,密码货币(B1)的所有权可以转移到兑换方或用户,即被支出。
[0033] 本发明可以提供被布置和配置成实施上文描述的任何方法的计算机实施的系统。上文关于一个方面或实施例所提及的任何特征可以关于任何其它实施例或方面来使用。关于本发明方法提到的任何特征可以同等地适用于对应的实施系统,反之亦然。
附图说明
[0034] 现在将参考附图仅通过非限制性实例描述本发明的实施例,其中:
[0035] 图1是根据本发明实施例的系统的示意图;
[0036] 图2是由图1的系统的用户执行的过程的流程图
[0037] 图3是说明由交换服务提供商执行的过程的流程图;
[0038] 图4是说明用于由交换服务提供商产生的邀请的元数据格式的表;
[0039] 图5是说明用于由交换服务提供商产生的邀请的元数据格式的表;
[0040] 图6是说明匹配来自图1的系统的两个或更多个用户的邀请的过程的流程图;
[0041] 图7是用于图1的系统的多方之间的多个交易的交易表;
[0042] 图8是说明图1的系统的各方之间的交易的交易图;
[0043] 图9是用于图1的系统的多方之间的多个交易的交易表;
[0044] 图10是用于图1的系统的多方之间的多个交易的交易表;
[0045] 图11A是用于图1的系统的两方之间的交易的交易表;
[0046] 图11B是用于图1的系统的两方之间的交易的交易表;以及
[0047] 图11C是用于图1的系统的两方之间的交易的交易表。

具体实施方式

[0048] 执行普通金融交易例如付款到另一人的行账户或外币交换的现有技术平方法会产生交易费用和时间延迟的成本。相比之下,例如比特币的电子货币的交易可以快得多的速率(即若干分钟而非若干天)且以少得多的成本(大约每交易几美分而非数十美元)加以处理。
[0049] 需要更快速且更便宜的方式来执行且保持日常交易的永久性记录,包括金融及非金融交易。应注意,本发明不限于用于金融应用或用于金融应用的优点。实际上,本发明大体上涉及利用P2P分布式分类账例如比特币区块链以使得各方能够报价、请求且交换任何类型的有价值的实体的方法和设备。本文中所描述的方法使得能够输入邀请(或订单)以执行实体的交换以及接受邀请时的实际交换的制定。因此,实施例提供对待维持的交换过程的所有步骤的永久性记录。此外,过程中的每一阶段(报价、接受和交换)可使用类似于密码货币的交易中所使用的密码锁定技术来保护。本文中所描述的方法还可用于交换任何类型的实体。此类实体的实例包括但不限于比特币、法定货币、合约、商品和服务。“密码货币”意味着经过加密的以电子方式可转移的数字资产,例如但不限于比特币。所属领域中已知涉及使用区块链技术的交易所,例如Coinffeine(http://www.coinffeine.com/)。然而,此类现有技术布置仍依赖于传统模型,且还依赖于第三方源、托管和其它多币种非银行账户/处理器以便操作。这些已知的布置通过其商业模型而非通过技术创新和密码技术实现其去中心化(根据本发明)。
[0050] 本发明结合使用令牌化技术。合约可使用系统借助于令牌来交换。总之,令牌是表示合约的可交换的实体。所述合约可呈现若干形式中的一个。举例来说,合约可赋予持有人权利或表示财产的所有权。可以通过合同规定令牌的价值,并通过“挂钩率”将其与基础BTC金额相关联。令牌可通过新颖类型的交易使用例如比特币协议的密码货币协议来交换。交易中的比特币值充当以数字形式表示权利合约的令牌。合约本身可存储在区块链上,或可保存在公共可访问的、脱离区块的位置中,或可由合同的各方私下保存,这取决于特定的实施例。在合约未存储在区块链上的情况下,区块链交易(Tx)可以存储对合约的唯一的指针、标识符或其它参考。
[0051] 令牌可以是可分割的。可分割的令牌是其中交易输出中的价值可细分成较小金额的令牌,所述较小金额可跨越多个新的令牌来分配。可分割的令牌的实例包括用于法定货币或用于赛、房地产等中的份额的令牌。可分割的合约可定义为规定非零挂钩率的合约。换句话说,令牌价值与基本比特币价值相关联。替代地,令牌可以是不可分割的。不可分割的令牌是根据固定价值规定持有人的权利的合约,例如赎回房屋或1000澳元的合约。不可分割的令牌因此与基本比特币的价值无关。
[0052] 令牌必须由令牌发行者进行数字签名才有效。举例来说,发行者可以是例如所有权登记处的权威机构。发行者可向用户发行令牌以换取付款。所述令牌接着可给予用户履行与令牌有关的合约的权利,不论合约是否表示兑换法定货币或执行服务的权利。
[0053] 根据上文的令牌的实例包括以下:●法定货币令牌,其与合约发行者的交易输出(UTXO)的BTC价值挂钩。举例来说,“这个令牌的消费者(比特币交易输出UTXO)有权以每1000satoshis 1个份额(10美分)的比率将这个令牌的任何部分兑换为加元(CAD)”。
●由辛迪加的若干成员拥有的赛马
●其中所有权依据所有权契约的任何项目,例如房屋或其它财产可以此方式处理。
●表示音乐会门票的电子合约。这本质上是不可分割的。
●不记名债券(不可分割)
●与商品/服务相关的唯一标识符(例如条形码或RFID)。如果使用的话,此标识符仍优选地通过经过授权的实体的签名来验证;在没有签名的情况下,其将属于较不安全“商品/服务”类别(下文描述)。
●用于待执行的服务的权利的合约。应注意,这与实际服务本身不同,而只是为其执行服务的权利。此权利可进行交易。举例来说,Michael's Mowing的一张代金券可在悉尼大都会区域内进行长达3小时的割草。此代金券(合约)的持有人可将其兑换为实际服务。
[0054] 令牌必须规定份额的价值,例如,1份额=10分加元,1份额=1卢比,或1份额=项目或财产(赛马、房屋等)的1%所有权。
[0055] 虽然下文所描述的实施例可具体涉及在比特币区块链(或简称区块链)上记录交易,但应了解,本发明可使用任何P2P分布式分类账来实施。由于其高水平的标准化和大量相关的公共文档,下面仅为简单起见而使用区块链来描述本发明的方面。
[0056] 如所属领域中众所周知,区块链是交易分类账,其跨越联网的参与节点而分布。货币区块链的完整副本包括一直以货币执行的每笔交易。因此,提供不断增长的交易数据记录的列表。由于输入到区块链上的每笔交易都以加密方式强制执行,因此强化了区块链以防止篡改及修改,即使对于数据存储节点的操作者也是如此。
[0057] 在本发明的实施例中,代替或除了用于存储表示比特币(或其它密码货币)从一方到另一方的付款的交易记录的设计功能之外,还以新颖的方式使用区块链以使得能够在各方之间转移实体或资产。所述交换将数字实体的控制及/或所有权从一方转移到另一方。为了实现这一点,本发明提供了一种用于保持和记录邀请(或订单)以执行一个或多个实体的交换的机制。因此,本发明提供了一种通过区块链进行的新颖且有利的通信解决方案。
[0058] 如上文所提及,任何类型的实体或资产都是可交换的。这些可以是物理的、“现实世界”的实体,或虚拟的数字实体。可交换的实体的实例包括比特币、令牌(表示任何类型的可转移合约)以及任何类型的商品和服务。令牌可表示授予持有人兑换法定货币(虚拟纸币),表示财产所有权(例如,所有权契约)或授予对事件(门票)的访问权(仅举几例)的特定权利的合约。商品和服务可包括新的或二手产品、劳动(例如,按小时收费)、完整的工作(例如,修剪草坪),仅举几个例子。
[0059] 图1是根据一个实施例的P2P交换系统100的网络图。系统100包括网络102和网络的多方。多方包括交换服务提供商104、第一用户106、第二用户108、托管服务提供商110和发行者112。如将在下文更详细地描述,交换服务提供商104、托管服务提供商110及发行者112的功能组合可由单方承担。换句话说,单方可同时执行各个功能。另外且如将在下文更详细解释,提供的交换服务104和托管服务提供商110是任选的,因为本发明可完全在P2P交换系统上执行而不使用那些服务提供商104、110。
[0060] 交换服务提供商104将交换服务提供到包括第一用户106和第二用户108的多个用户。发行者112对于网络102是任选的,如虚线所示。如将在下文更详细地论述,仅在涉及令牌的交换时需要发行者112。
[0061] 在一些实施例中,网络102是因特网。因此,其它方(未展示)可以是网络102的一方。网络102的所有各方能够与网络102的所有其它各方通信。在网络102上代管的是对等分布式散列表(P2PDHT)和对等分布式分类账(P2PDL)。应了解,系统100中所展示的各方中的一些后全部连同那些未展示的各方可充当P2PDHT及P2PDL中的两个或任一个的主节点。
[0062] 邀请的结构可加构造邀请,包括各种参数或代码。这些参数或代码可用于各种目的,例如如下文更详细地描述的匹配邀请。在一或多个实施例中,可使用以下结构:
[0063] 交换服务提供商104的一个目的是为用户106、108提供网关以在P2P DHT和P2P DL上发出邀请(或订单)。虽然网络102的用户106、108本身可在P2PDHT和P2PDL上发出邀请,但交换服务提供商104提供简化的界面以提高生成邀请的效率并减少与直接处理例如比特币分类账的分布式分类账上的交易相关联的危险(例如亏损交易等),如所属领域的技术人员应理解。除了使得能够在P2PDHT和P2PDL上发布用户邀请之外,交换服务提供商还可执行以下额外服务中的一个或多个:●匹配邀请-如上文所描述,邀请可包括:a)用户希望交换的实体的细节,及b)附加到交换的一个或多个用户应用的选项/条件。当两个邀请相应的实体细节一致并且两个邀请的一个或多个条件兼容时,两个邀请可匹配。换句话说,当第一邀请中包括的一个或多个参数或特征也包括在第二邀请中时,可能发生匹配。邀请中的参数之间存在一些共性。镜像实体细节的实例是当第一用户(Alice)为苹果报价比特币并且第二用户(Bob)为比特币报价苹果时。服务提供商因此可提供匹配服务以匹配可兼容的邀请以便适应交换。匹配可涉及扫描P2PDHT以获得具有匹配实体及/或条件的一个或多个邀请。在一些实施例中,服务提供商104可响应于用户的请求而扫描P2PDHT。举例来说,用户可向服务提供商104提供用于所要邀请的一个或多个准则。基于所提供的准则,服务提供商104接着可搜索已经在P2PDHT上发出的匹配那些准则的邀请。在其它实施例中,服务提供商104可实施非特定配对算法,所述算法在P2PDHT中搜索与特定用户请求无关的匹配或接近匹配的邀请。应了解,匹配服务可由其它第三方提供商提供。可存在一个或多个第三方提供商,其主要目的是根据上文以及如下文所描述的匹配警示提供匹配服务。在一些实施例中,匹配是由匹配服务提供商(MSP)提供。
根据一个或多个实施例且参考以上“邀请的结构”章节中所展示的表,可采用匹配A与B之间的邀请的匹配算法,例如以下:
A的报价-类型-代码必须匹配B的请求-类型-代码
A的请求-类型-代码必须匹配B的报价-类型-代码
A的比率-最小A的速率-最大>B的速率-最小(当以等效单位表达时)
请求-项目-ID必须匹配报价-项目-ID
A的请求-QTY-最小A的请求-QTY-最大>B的报价-QTY-最小
A的条件(如果存在)必须与B的邀请兼容
B的条件(如果存在)必须与A的邀请兼容
本发明可被配置成并入有实行此算法或其变型的机器可执行规则。
●匹配警示-如果检测到匹配或接近匹配,那么交换服务提供商104可以已知方式警示用户,例如通过电子邮件或通过电话或平板电脑应用程序。因此,本发明可提供新颖的通信或警示机制。
●基于匹配产生新的邀请-在用户提供他希望发出的邀请或订单的细节的情况下,服务提供商104可扫描P2P DHT以获得满足用户的订单条件的一个或多个邀请。如果接着在P2P DHT上找到匹配的邀请,那么服务提供商104可产生与已经在P2P DHT上的所识别邀请一致的邀请以便促进成功匹配。应注意,为了在P2P DL上完成最终交易,交易的所有方必须具有已经在P2P DL上公布的邀请。然而,并非所有邀请都需要在P2P DHT上公布。在本实例中,例如,服务提供商无需在P2P DHT上公布报价,这是因为不需要通告邀请(已经找所要匹配)。然而,应了解,所产生的邀请仍可在P2P DHT上发出,例如,以防初始匹配失败。
●执行交易-在已经成功地匹配一对邀请之后,服务提供商104可充当代理以实施最终交易。举例来说,在确定两个邀请匹配时,服务提供商104可在P2P分布式分类账上记录实际交易,即涉及实体交换的交易。此过程可在没有各方明确授权的情况下或在提示一方或多方授权交易之后自动进行。在一些实施例中,邀请中的元数据可指示在交换完成之前是否必须通知一方。
电子钱包服务-除了上文之外,服务提供商104还可提供常规的电子钱包服务,例如持有密码货币密钥等。
[0064] 图1的系统100中展示单个服务提供商104。然而,应了解,一个或多个额外交换服务提供商可以是网络102的一方。在存在多于一个交换服务提供商的情况下,用户可取决于其要求选择交换服务提供商,所述要求可包括例如服务提供商的费用结构、位置、兼容性等。因此,应了解,在某些情形中,具有匹配邀请的两个用户可能正在使用不同交换服务提供商。在此类情形中,用户的相应的交换服务提供商可在彼此之间进行通信以便促进交换。
[0065] 除了交换服务提供商104之外,托管服务提供商110(或简称为托管)可以是网络104的一方。托管服务提供商110使得能够保持用户的报价(即,报价的金额被保留)直到交易已结算,或在某些条件下取消订单并退回邀请中报价的任何内容。托管服务提供商110充当中立的第三方,其受交易的双方委托以提供用于交易的托管服务。因此,所述系统允许向参与最终交易的用户保证提出报价的用户可满足报价的金额(以比特币或令牌为单位)。
[0066] 如同交换服务提供商,多于一个托管可以是网络104的一方。P2P交换系统100的用户还可选择其使用的托管提供商,如果他们使用的话。在一些实施例中,托管110的服务可并入到交换服务提供商104的服务中,或反之亦然。在此状况下,可能不需要单独的托管。
[0067] 除了上述之外,系统100还可包括发行者112。在交易涉及令牌的交换的情况下,可能会涉及到发行者112。在此类情形中,所述过程涉及发行者签署令牌。涉及令牌转移的每一交易优选地涉及发行者112。在本文中所描述的实施例中,在邀请交易中需要发行者的签名,其中提供令牌且将其保存在托管中。交换交易中可能也需要发行者的签名,其中向对方支付令牌。
[0068] 本发明的实施例的重要方面是在比特币交易(或其它密码货币交易)中嵌入关于执行交换的邀请的元数据的能力以及在比特币或其它密码货币交易中嵌入关于实际交换的元数据的能力。本文中所描述的实施例使用多签名支付到脚本散列(P2SH)类型的交易来实现如下文所描述的此类元数据嵌入。(i)一般呈P2SH的兑换脚本
[0069] 作为背景,在比特币协议的标准支付到脚本散列方法中,兑换脚本可采取以下形式:
其中
NumSigs是满足兑换脚本以解锁交易所需的有效签名的数目“m”
PubKl、PubK2……PubK15是对应于解锁交易的签名的公共密钥(最多15个公共密钥)NumKeys是公共密钥的数目“n”(其必须是15个或更少)
[0070] 为了兑换以上兑换脚本,需要对应于公共密钥的至少数目“m”个签名。在一些实例中,公共密钥的次序是重要的且用于签名的“n”个签名中的数目“m”个必须按顺序完成。举例来说,假设“m”是两个且公共密钥的数目“n”是十五个。假设两个签名可供使用,例如Sigl(对应于PubKl)和Sig15(对应于PubK15),兑换脚本必须首先由Sigl签名,然后是Sigl5。(ii)在P2SH中嵌入元数据
[0071] 本发明人已意识到,元数据可嵌入在可用于兑换脚本中的公共密钥的15个位置中的一个或多个中的P2SH中。
[0072] 举例来说,P2SH可采用以下形式:
其中
NumSigs是满足兑换脚本以解锁交易所需的有效签名的数目“m”,
元数据1和元数据2-各自包括代替公共密钥的元数据,
PubKl及PubK2-是实际公共密钥,且
NumKeys-是由元数据和公共密钥占据的位置的总数目(其必须为15个或更少)。
[0073] 通过在兑换脚本中放置对应于邀请的条件、与令牌相关联的合约的细节及/或与交换相关联的其它信息的元数据,此类信息的散列将包括在P2P分布式分类账中。此嵌入方法可概括为:产生区块链交易(Tx),其具有与密码货币的一部分相关的输出(TxO)和兑换脚本的散列,所述兑换脚本包括:
元数据,其包括作为令牌化实体的表示或参考的令牌;
以及
至少一个(优选地两个或多于两个)公共密码密钥。
令牌化实体可以是合约及/或与交换相关的其它实体。元数据被提供于由用于加密密钥的协议指定的位置中。
[0074] 因此,本发明的实施例中的多签名P2SH比特币交易的使用提供若干优点。首先,其使得邀请交易能够携有元数据有效载荷。其次,其有助于在交换交易中使用托管服务。第三,在交换中转移令牌的情况下,其允许交换交易携有与被交换的一个或多个令牌相关联的元数据。并且,底层区块链协议对于通过交易传输元数据这一事实是不可知的。因此,不需要改变区块链协议来传达此信息。
[0075] 元数据可包括描述邀请交易中的报价或请求的描述或关键字。元数据还可包括与邀请相关联的条件。举例来说,截止日期可附加到邀请,所述截止日期可规定必须满足订单的时间及/或日期。在通过邀请交易提供截止日期条件的情况下,可产生取消交易,所述取消交易花费相同的BTC金额并且包括表示交易所发生的截止日期的锁定时间。可防止取消交易在锁定时间之前分布在P2PDL上。如果在截止日期之前没有进行交换,那么取消交易被添加到P2PDL并有效地偿还付款人及/或服务提供商。如果在截止日期到期之前进行交换,那么交换交易可花费所述金额,从而创建在时间锁定的取消交易之前命中P2PDL的双重花费,从而阻止取消交易。在一些实施例中,元数据可不包括截止日期,但实际上取消交易可仅负责取消原始邀请交易。替代地,截止日期元数据条件可能不会自动导致取消交易的消费。换句话说,截止日期可以是仍然由付款人控制的弹性截止日期。因此,此截止日期可由一方简单地允许其失效并且仍然接受迟到匹配的邀请来延长。同样,如果已过期的订单仍未花费,服务提供商仍可尝试匹配已过期的订单。
[0076] 代替在发出邀请交易的同时锁定取消交易,用户可等到截止日期之后并且如果他愿意可手动输入取消交易。
[0077] 条件还可包括一个或多个位置条件,所述一个或多个位置条件可规定例如如果交易广播的位置是在规定坐标的X米内,那么交易仅在P2P DHT上广播。这确保了交易只能在规定的位置进行,例如Bob的咖啡店。
[0078] 可存在使得用户能够创建其自身新的条件且通过给新的条件分配先前未使用的条件代码而将其添加到条件的列表的设施。此设施可以抵制滥用。举例来说,每一服务提供商简单地可公开其自身的条件表连同相关联的条件代码,且系统100的其它各方可选择采用同一编码且还可添加其自身新的编码。接着如果由于例如重复使用条件代码而产生争议,那么争议可由服务提供商或系统100的其它用户解决。
[0079] 本发明的实施方案的一些实例现将借助于第一用户106(在本文中被称作Alice)与第二用户(在本文中被称作Bob)之间的实例交易来描述。在此实例中,交易是用令牌化的加拿大元交换比特币。
[0080] 发布邀请
[0081] 在第一实例中,Alice想要购买一些用于比特币的令牌化的加拿大元(CAD)。为了通告她的兴趣,Alice通过例如Web界面或通过在平板电脑或蜂窝电话上运行的应用程序来联系她的交换服务提供商104。如图2中所展示,在步骤202处,Alice登录服务提供商104的Web界面。在步骤204和206处,Alice接着将她邀请的细节发送给服务提供商,包括待交换的实体(用于比特币的令牌化的CAD)及交换的条件以及由服务提供商提供的任何选定选项。Alice可例如使用可由服务提供商104转译成有效邀请的正常语言将此信息输入到由服务提供商104代管的界面中,或替代地,Alice可简单地通过预选择选项例如通过下拉选择菜单来输入信息。
[0082] 在步骤208处,Alice从服务提供商104接收兑换脚本,所述兑换脚本已经由服务提供商104基于她的选择产生且包括关于Alice希望交换的实体及与邀请相关联的任何条件的信息。因为Alice已经签约使用特定服务提供商104,所以服务提供商104可能已经具有Alice的公共密钥。替代地,Alice可在初始选择期间或响应于服务提供商104的请求而将她的公共密钥提供给服务提供商104。
[0083] Alice使用她的私用密钥在步骤210处签署兑换脚本,所述私用密钥与她的公共密钥是密码对,且在步骤212处,Alice将签署的兑换脚本发送回服务提供商104以进行分发。此过程可通过使用应用程序来支持,应用程序自身可由服务提供商104提供。
[0084] 图3中所展示的流程图300说明由服务提供商104执行的对应的过程。在步骤302处,服务提供商204从Alice接收邀请细节且使用Alice的公共密钥、实体细节及邀请的条件在步骤304处产生兑换脚本。兑换脚本可使用适于P2SH比特币交易的格式;邀请细节可存储在元数据字段中来代替通常用于多重签名解锁脚本中的32字节公共密钥。图4说明根据一个实施例的用于Alice的邀请的元数据的格式。在所述邀请中,Alice请求令牌化的CAD且以不低于400CAD/比特币的比率报价比特币作为回报。如将在下文更详细地解释,图4还展示可添加到邀请的截止日期条件。在交易尚未基于邀请最终确定的情况下,截止日期条件可能导致邀请在截止日期前被撤销。
[0085] 兑换脚本接着发送到Alice进行签名。在从Alice接收到签署过的兑换脚本时,在步骤308处,服务提供商104产生签署过的兑换脚本的散列。
[0086] 服务提供商104以两种方式使用散列。首先,在步骤310处,服务提供商104列出邀请细节连同公开可用的P2PDHT上的散列。如上文所提及,此表使用洪流技术,因此它是分布式的而不是集中式的,且因此它将保持可公开访问并且不会伪造。接着,其它服务提供商104能够访问所述邀请并将其列在他们自己的站点上(实际上,服务提供商104可简单地使用散列表作为唯一的存储库,并且甚至不需要维持其自己的本地邀请数据库)。
[0087] 使用散列的第二种方式是在步骤312处创建比特币交易的锁定脚本。此交易将一定金额的Alice的比特币花费到需要2个签名来解锁的P2SH脚本:Alice的签名及她指定的托管服务提供商110的签名(如上文所提及,其可能或可能不是与服务提供商104相同的实体)。此交易的目的是双重的。首先,邀请记录在P2P DL上。任何用户或其服务提供商都可通过确保P2PDL上存在匹配的交易(通过匹配的散列值)来验证P2PDHT上的邀请是合法的。其次,交易“锁定”Alice在她的邀请中作出的承诺;Alice交换令牌化CAD所报价的比特币金额是订单交易所花费的金额。因此,可验证订单由足够的资金支持。
[0088] 配对匹配的邀请
[0089] 在第二实例中,Bob想要出售他的一些令牌化的CAD以得到BTC,并且已经使用与Alice使用的服务提供商104相同或不同的服务提供商独立地列出他自己的邀请。Bob的订单也被列在散列表上且嵌入P2PDL交易中,如参考图2和3所描述。图5中说明Bob的邀请的元数据。
[0090] 参考图6,描述匹配Alice与Bob的订单的过程400。在此实例中,服务提供商100被描述为执行所述过程。然而,应了解,任何交换服务提供商或实际上任何其它合适的第三方可执行过程400。
[0091] 交换服务提供商104可运行匹配算法,所述匹配算法可操作以识别Alice和Bob的邀请之间的完全或部分匹配。在步骤402处,交换服务提供商104扫描P2PDHT以得到匹配实体细节。在扫描期间,服务提供商104检查Alice与Bob的邀请的实体细节之间的匹配。如果在步骤404处未找到匹配,那么所述过程返回到步骤402且交换服务提供商104继续扫描P2PDHT以得到匹配实体细节。如果在步骤404处找到匹配,那么过程400继续到步骤406,其中检查Alice和Bobs的邀请中的每一个的条件中的一个或多个之间的匹配。如果在步骤406处未找到匹配,那么所述过程返回到步骤402。如果找到一个或多个条件之间的匹配,那么所述过程移动到步骤408,其中交换服务提供商104尝试创建并完成Alice与Bob之间的交易。
[0092] 在步骤406处,可能不需要两个邀请中的所有条件的直接匹配以确认肯定的匹配。实际上,过程400可仅需要条件中的一些匹配。另外或替代地,一个或多个条件无需完全匹配。举例来说,如果比较的条件是在每个条件中建议的交换比率,那么过程400可确认肯定的匹配,条件是比率在彼此的预定阈值范围内。举例来说,如果Alice建议4×10-5令牌化CAD/satoshi的最小比率条件并且Bob的等效最大建议比率是3.9×10-5令牌化CAD/satoshi,那么所述过程仍可确认条件匹配,即使Bob报价的比率并不完全符合Alice的原始要求。在此类情形中,在匹配时,可以为Alice给出接受的选项。应了解,如果Bob的等效最小建议比率是4.1×10-5令牌化CAD/satoshi,那么条件将被满足。在另一实例中,条件可以是报价和请求中建议的商品和服务的相应价值。如果两个值在彼此的预定阈值范围内,那么过程400可再次确认肯定的匹配。在每一状况下,预定阈值范围可以是例如离散值或者报价值或请求值的百分比。
[0093] 如前所述,Bob和Alice的邀请中的每一个或两个的交易元数据可进一步包括一个或多个位置条件,所述一个或多个位置条件可规定例如如果交易广播的位置是在规定坐标的X米内,那么仅在P2P DHT上广播交易。这确保了交易只能在规定的位置进行,例如Bob的咖啡店。
[0094] 一旦发现匹配且在完成交易之前,那么可执行一个或多个介入步骤。这些介入步骤可包括向各方发出已发现匹配的警示,然后向每一方或双方请求他们希望继续进行的确认,等等。举例来说,如上文所论述,在条件几乎但未完全满足一个或多个用户的情况下,仍然可记录匹配,但直到所有各方都对邀请的条件满意为止才能最终确定匹配。此过程可能导致还价从而要协商条件的最终协议,这接着可能导致根据上述过程产生另外邀请。
[0095] 最终交换可通过创建花费每个邀请交易的输出的一个或多个比特币交易来执行。本发明人已经发现了几种完成交易的新颖方法,这些方法可取决于情形,包括但不限于:交易中涉及的用户、交换的实体,以及交易中涉及的服务提供商及发行者。下文描述这些方法的一些实例。
[0096] 继上文参考图2到6描述的实例之后,图7中展示了用于Alice-Bob及Bob-Alice的单独交易的交易表500,且图8中展示了交易流程的示意图600。与图4及5中所展示的元数据值一样,交易表500中所提供的值仅作为实例展示。在此实例中,Alice的邀请交易中的比特币花在了Bob身上,且Bob的邀请交易中的CAD令牌化的比特币花在了Alice身上。
[0097] 首先参考Alice-Bob交易,此交易的输入602是从邀请交易的输出提供,所述邀请交易放置在具有Alice的邀请的P2P DL上。与第一次交易一样,输入脚本由Alice和托管服务提供商110签署(假设Alice很乐意继续进行交易)。所述脚本解锁所花费的比特币,接着可将其输出到a)Bob作为他换取令牌化的CAD的付款(604),b)交换服务提供商104作为对交换的付款(606),以及c)Alice作为找零,如果有的话(608)。
[0098] 现参考Bob-Alice交易,此交易具有两个输入。交易的第一输入610是从邀请交易的输出提供,所述邀请交易放置在具有Bob的邀请的P2PDL上。因为此交易的输入是令牌化的,所以输入脚本需要由Bob及其令牌发行者签署。在此情形中,令牌发行者还可作为托管,从而扣留资金,直到Bob(以及任选地Alice)对交易满意为止。签署过的脚本解锁花费的令牌,然后可将其输出到a)Alice作为换取BTX的付款(612),及b)回到Bob作为对原始令牌的值减去发送给Alice的值的找零令牌(614)。第二输入616是来自Bob的先前比特币交易。此输入被解锁并输出到a)服务提供商104作为交换的付款,b)比特币矿工作为交换交易的费用,并且c)Bob作为对原始比特币输入值减去服务提供商104的费用及矿工的费用的值的比特币找零。
[0099] 每个交易的服务提供商104的费用可以是交易价值的一部分。替代地或另外,费用可以是两个邀请中呈现的对应的比率条件之间的交换比率差价的一部分。举例来说,在报价的比率重叠的情况下,服务提供商104可以每方的请求比率满足交换的双方并且将差额保留为费用。替代地或另外,服务提供商104可采用固定费用(以satoshis、令牌化的货币或其它形式为单位)。
[0100] 一旦交易完成,Bob及Alice的相应服务提供商可从P2P DHT移除他们的邀请条目或输入使原始条目无效的另一条目。举例来说,服务提供商可简单地将条目留在P2PDHT上,因为条目对应于支出交易,这意味着邀请不再有效。替代地,服务提供商可使用规定交易已支出的字段来标记所述交易。这可以是DHT上的单独字段,其对应于特定条目但不改变与邀请相关联的实际元数据(这确保脚本散列仍匹配交易上的散列)。替代地,服务提供商可从P2PDHT删除条目。然而,P2PDHT的益处是对使用系统100的交易的永久审计控制。优选地,因此,防止从P2P DHT删除条目或删除的条目被存档以维持条目的记录。在一个实例中,将删除的条目存档。
[0101] 在以上实例交易中,没有交换谜题。换句话说,两个交易(Alice-Bob及Bob-Alice)是完全独立和离散的。然而,在一些状况下使所述两个交易有效或无效可为优选的。图9展示替代交易实例,其中在Alice的交易(Alice-Bob)中交换了谜题。通过这样做,两个交易锁定在一起,使得一个交易在另一交易未支出的情况下也不能支出。这在从一方到另一方的交易未同样完成的情况下阻止相反的交易完成。
[0102] 在以上两个实例中,执行两个比特币交易以完成交换。然而,在可能的情况下,优选的是将以上两个交易合并成单个比特币交易。这样做自动将交换的两部分锁定在一起且导致Alice和Bob为交易所支付的整个费用缩减。
[0103] 图10展示用于Alice与Bob之间的单个交易的交易表700。用于交换的交易流程与先前两个实例的交易流程相同,即如图6中所展示。然而,交换被合并成单个多输入多输出(MIMO)交易。应注意,在图8中,向交换服务提供商104支付两个单独的费用。然而,如果Bob和Alice两人的交换服务提供商104是同一个,那么这两个费用可合并成由Bob、Alice或Bob和Alice两人支付的单个交易。
[0104] 涉及多于两方的交易
[0105] 上文所描述的交易与两个实体之间的交换有关。然而,应了解,在一些实例中,交换可涉及多于两个实体。举例来说,考虑以下情境。Alice希望用比特币交换苹果,但将仅接受至少1000个苹果。Bob想要用苹果交换比特币,但仅可供应500个苹果。Carol想要用苹果交换比特币,但仅可供应600个苹果。在此情形中,Bob或Carol无法单独满足Alice的邀请的条件。然而,Bob和Carol一起具有1100个苹果,并且因此可满足Alice的邀请条件。
[0106] 在另一实例中,Alice希望用令牌化的CAD交换令牌化的GBP,Bob希望用令牌化的GBP交换令牌化的AUD,且Carol希望用令牌化的AUD交换令牌化的CAD。所述三方中的任何两方之间不存在直接匹配,但是组合起来,可以满足邀请中的每一个-Alice的令牌化的CAD可去往Carol,Bob的令牌化的GBP可去往Alice,且Carol的令牌化的AUD可去往Bob。图11A到11C展示Alice、Bob和Carol之间的交易的示例性交易表。
[0107] 首先参看图11A,展示从Alice到Carol的付款的交易表。Alice有$1500的令牌化的CAD,且需要来自Bob的令牌化的GBP500。交易从Alice向Carol支付令牌化的CAD1000,且Alice向自身支付其余的令牌化的CAD500(1500-1000)。使用常规BTC,Alice可以支付服务提供商的费用(所述费用可以是如图11A中示出的固定费用或取决于转移的价值的费用)且向自身支付找零减去给矿工的1000satoshis。
[0108] 现参考图11B,展示从Bob到Alice支付令牌化的GBP的交易表。Bob具有令牌化的GBP750且需要来自Carol的令牌化的AUD。交易从Bob向Alice支付令牌化的GBP500,且Bob向自身支付其余的令牌化的GBP250(750-500)。使用常规BTC,Bob可以支付服务提供商的费用(所述费用可以是如图11B中示出的固定费用或取决于转移的价值的费用)且向自身支付找零减去给矿工的1000satoshis。
[0109] 现参看图11C,展示从Bob向Carol支付令牌化的AUD的交易表。Carol具有令牌化的AUD1500且需要来自Alice的令牌化的CAD。交易从Carol向Bob支付令牌化的AUD1000,且Carol向自身支付其余的令牌化的AUD500(1500-1000)。使用常规BTC,Carol可以支付服务提供商的费用(所述费用可以是如图11C中示出的固定费用或取决于转移的价值的费用)且向自身支付找零减去给矿工的1000satoshis。将了解,在交换包括两个或更多个单独交易(例如,1:Alice向Bob转移;以及2:Bob向Alice转移)的情况下,所述交易可以链接以便确保每一方都接收到其权益或者都不接收到其权益。这可以通过满足以下条件来实现(使用两方A和B的实例,但可容易延伸到三方或更多方):仅同时在从B到A转移的交易输出也存在且可由A支出的情况下,从A到B转移的交易输出存在且可由B支出,反之亦然。应注意,A方和B方指代每一交易的签署方的所需集合,而不仅仅是Alice和Bob(例如,其可以包括令牌发行者、托管等)。
[0110] 接收来自用户的选择
[0111] 在上文参考图6描述的实例交换的变体中,用户本身可以扫描或浏览P2P DHT以查看当前邀请,而不是服务提供商剖析P2P DHT以找到匹配订单。可以由例如交换服务提供商104等第三方来促进浏览。所述第三方可以提供界面,用户可在所述界面内浏览、扫描和搜索他们可能感兴趣的邀请。
[0112] 用户可以随后跳过在P2P DHT上输入其自身的前瞻性邀请的过程,改为选择创建与他们感兴趣的订单匹配或接近匹配的邀请。
[0113] 举例来说,继续先前实例但作为比较,Bob可以经由浏览或搜索界面在P2P DHT上找到Alice的邀请,在此情况下Bob可以输入他自身的邀请以匹配Alice的邀请。Bob可以若干方式中的一种来进行此操作。在一个实例中,界面上可存在显示Alice的订单以“接受”她的订单的设施。如果Bob是与Alice用来进行邀请的交换服务提供商是同一交换服务提供商104的客户,那么他们可能已经接入Bob的电子钱包(公共密钥等)且因此可基于此信息创建匹配订单。因此,交换服务提供商110可以产生用于匹配邀请的兑换脚本,将此兑换脚本发送到Bob进行签署,接收已签署的兑换脚本且将订单输入到P2P DL上以准备交易。如果Bob不是Alice的交换服务提供商104的客户,那么可以提供允许Bob输入所需的信息和授权的设施,所述信息和授权随后可使服务提供商能够创建Bob的匹配订单。随后可以遵循与上文参考图7和8描述的过程相同的过程。
[0114] 以上实例描述BTC对令牌化的CAD的交换。然而,将了解,系统100能对任何类型的交换起作用,包括例如BTC对任何类型的令牌(即表示任何合约,而不仅仅是货币合约),任何类型的令牌对任何其它类型的令牌,BTC对商品/服务,令牌对商品/服务,或商品/服务对商品/服务。另外且在理论上,可修改以上过程以用于BTC对BTC的交换,但此交换没有真实意义。
[0115] 交换商品/服务
[0116] 当交换中涉及商品/服务时需要上述交易过程的稍微变化。
[0117] 在此情况下,(商品和/或服务的)交易包括交换中涉及的商品或服务的描述。不同于由合约或所有权契约表示的令牌,所述描述不形成合约。
[0118] 所述描述可以或可以不唯一地识别项目。举例来说,在交易中涉及实体项目的情况下,所述描述可以显式地指代与所述实体项目相关联的唯一标识符。另外或替代地,描述元数据可以包括以下各项中的一个或多个:a)所报价或请求的所需项目的一般描述,例如,“洗碗机,<3yo”,b)对在拍卖网站上销售的特定项目的参考,例如,“在拍卖站点上对外出售的二手产品”,c)任何数目的项目类型,例如,广告可以单件或多达15的任何数量购买的出售的15件T恤衫,d)以任何指定货币对现金的参考,e)每单个工作完成或者具有每次重复或每小时支付的常规修剪草坪(重复工作)的劳力和支付的描述,或f)一个或多个关键词,例如,“洗碗机”。
[0119] 关于服务,可以如同令牌那样通过合约来支持服务。因此,服务可以分割为份额,且不可分割的服务可以视为单次工作,即可分割但包括单个份额(1份额)。如果服务是不可分割的,那么出于邀请和交换的目的可以将服务视为令牌。在通过令牌支持项目的情况下,出于邀请和交换的目的将所述项目视为令牌,且与例如用于法定货币的令牌等其它令牌以相同方式进行交换。
[0120] 现将描述涉及与唯一标识符相关联的实体项目的交易的实例。类似于先前实例,在当前的实例中,Alice已使用她的交换提供商在P2PDL和P2PDHT上发出邀请。所述邀请包括她将用不超过2500BTC购买具有唯一标识符XYZ123的实体项目的描述,所述实体项目可涉及拉斐尔的杰作《基督被解下十字架(DepositionofChrist)》。同样地,Bob可以发出他将以不低于2400BTC出售项目XYZ123的匹配邀请。Alice可能已浏览P2PDL且发现具有项目编号XYZ123的项目并基于此信息下匹配订单,或者替代地,Alice可能已发出通用邀请,所述通用邀请随后由例如交换服务提供商的第三方进行匹配,且随后进行包括目录项目编号和描述的新邀请以匹配Bob的订单。
[0121] 对于涉及唯一ID的交易,将了解,这些ID必须不仅对于特定交换服务提供商是唯一的,而且跨越整个P2PDL也永远是唯一的。因此,如果唯一标识符对于装置是不完全唯一的(例如,装置序列号),那么交换服务提供商可以产生用于装置的唯一标识符。为了确保每一标识符对于整个P2PDL是唯一的,每一交换服务提供商可以例如将其自身的唯一代码作为前缀加到他们用来唯一地识别正在P2PDL上广告的产品的数字。
[0122] 一旦在Alice与Bob之间已达成协议,便根据上文参考图7到10描述的实例交易过程进行交易。
[0123] 现将描述涉及实体项目的交易的又一实例。然而,在此实例中,所述项目不具有与其相关联的唯一标识符。
[0124] 在邀请包括出售多个相似项目的报价的情况下,可能需要元数据来描述关于任何一个交易可以购买的项目的最大和最小数量。举例来说,Alice可以发出推断她将以每件0.025BTC出售多达15件Dead Lizard 2015巡回演唱会T恤衫的邀请-每交易至少5件。在此情况下,元数据值可以包括最小比率(0.025BTC/15项目);最大数量(报价-QTY-最大(15))和最小数量(报价-QTY-最小(5))。下表概括了与所述邀请相关联的元数据。
[0125] 随后将由交换服务提供商计算支付交易上的实际BTC值。因为此交易简单地表示执行和交换的邀请,所以交易的实际值可以较小,例如小到微额(546 satoshis)。替代地,如下所述,所述值可以是服务提供商为了保证邀请而要求的标称金额(例如,因此激励Alice不会退出)。
[0126] 在另一个实例中,可以交换呈硬通货(现金)形式的商品。举例来说,Alice可以发出以150 BTC的最大购买来出售比特币以得到加拿大元(硬通货而不是令牌化)的邀请。所述邀请可以另外包括交换必须仅在她的商店地址:371 Whimsy Avenue,Brentford发生的位置条件。在发出匹配邀请之后,为了完成交易,Bob可以随后携带现金到Alice的商店进行移交,以交换比特币交易中的支付。一旦Bob和Alice已经为了实体转移而在Alice的商店会面,比特币给Bob以及硬现金转移给Alice的数字记录的实际数字交易就可以随后发生。
[0127] 在涉及商品/服务交换其它商品/服务的交易的情况下,将了解,P2P DL上的交易仅作为记录存在,且不用于在各方之间交换任何价值(给服务提供商的任何费用等除外)。用户可以使用系统且选择支付用于在P2P DL上进入交易的标称服务费用,使得交换被永久地记录。
[0128] 应注意,原始邀请交易仅充当邀请,且不作为价值转移或事件记录。如果商品对商品的交换发生,使得交换仅涉及实体项目,那么最终交换无需记录于P2P DL上,因为P2P DL不需要在最终交换中完成任何交易。尽管如此,如果实体项目交换的各方希望在P2P DL上记录交换,那么他们可以各自将他们的邀请交易支出给彼此,还带有找到矿工来这么做的费用。如果各方并不希望在P2P DL上记录最终交换,那么他们可以各自将他们的邀请交易支出回到自身,或甚至在P2P DL上保持所述邀请交易未支出。
[0129] 在涉及BTC对商品或令牌对商品的交换的情况下,在P2P DL上支出至少一个交易以转移BTC或令牌的价值。在此情况下,可以或可以不支出报价商品的邀请交易,因为交换的价值(商品)不是通过支出所述邀请交易来转移。然而,同样,各方仍然可以决定支出交易,以便提供转移的永久性记录(例如,销售的收据)。
[0130] 在以上交易上支出的金额在一些情况下可能不表示报价的金额,尤其是在Alice的报价不是比特币或令牌而是商品/服务时。实际上,服务提供商可能要求Alice‘存入’表示商品的价值的金额,或者可能在Alice能够以另一方式‘保证’报价的情况下仅要求标称金额,或(iii)可能自身代表Alice提供比特币(Alice可能没有比特币)且通过他们向客户收取费用的任何方式来涵盖此融资成本。
[0131] 在上文描述的实施例中,用户的邀请在P2P DHT上公布。然而在一些实施例中,用户的邀请(例如,脚本和脚本散列)可以在网站上公布,直接发送到另一用户。
[0132] 在一些实施例中,用户的邀请可以由服务提供商本地存储。举例来说,服务提供商可以托管私人拍卖,其中仅某些用户可访问用户的邀请细节。
[0133] 在本发明描述用户、发行者、商家、提供商或其它实体执行特定动作(包括签署、发布、确定、计算、发送、接收、创建等)的情况下,此措辞是为清晰呈现起见。应理解,这些动作由这些实体操作的计算装置执行。
[0134] 签署可以包括执行加密函数。加密函数具有明文输入和例如私用密钥的密钥输入。处理器可以执行所述函数,以计算出可以用作签名的数字或字串。接着连同明文提供签名,以提供经签署文本。如果消息文本或密钥改变单个位,那么签名完全发生改变。虽然计算签名需要极少计算功率,但重新产生具有给定签名的消息实际上是不可能的。因此,仅可以在私用密钥可得的情况下改变明文,并使其伴有有效签名。此外,其它实体可以使用公开可得的公共密钥容易地检验签名。
[0135] 在大部分情形中,加密和解密包括处理器执行加密函数,以计算分别表示经加密消息或明文消息的输出字串。
[0136] 密钥、令牌、元数据、交易、报价、合约、签名、脚本、元数据、邀请等是指表示为存储在数据存储器上的数字、文本或字串的数据,例如“字串”或“整数”类型或其它类型的程序代码中的变量或文本文件。
[0137] 对等分类账的实例是比特币区块链。以比特币货币的转移资金或支付费用包括在比特币区块链上创建交易,其中从所述交易输出资金或费用。比特币交易的实例包括输入交易散列、交易金额、一个或多个目的地、一个或多个收款人的公共密钥,以及通过使用输入交易作为输入消息和用以计算签名的支付方的私用密钥产生的签名。可以通过检查输入交易散列存在于比特币区块链的副本中,且使用公共密钥检查签名是正确的来检验交易。为确保同一输入交易散列尚未在别处被使用,将交易广播到计算节点(‘矿工’)的网络。仅当输入交易散列尚未连接且签名有效时,矿工才在区块链上接受并记录交易。如果输入交易散列已链接到不同交易,那么矿工拒绝所述交易。
[0138] 针对令牌分配密码货币包括用所分配的密码货币和在交易中的元数据字段中表示的令牌来创建交易。
[0139] 当两个项目相关联时,这表示这些项目之间存在逻辑连接。在数据库中,举例来说,用于所述两个项目的标识符可以存储在相同记录中,以使所述两个项目彼此相关联。在交易中,用于两个项目的标识符可以包括在交易字串中,以使所述两个项目彼此相关联。
[0140] 在使用比特币协议的情况下,兑换脚本和/或解锁令牌包括使用私用密钥计算脚本和/或交易的签名字串。脚本可能需要从不同私用密钥或其它条件导出的多于一个签名。接着将此交易的输出提供到矿工。
[0141] 授权另一实体可以包括使用私用密钥计算交易的签名字串,并将签名字串提供到实体以允许所述实体使用签名来检验交易。
[0142] 用户具有与另一实体的账户可以包括实体存储关于用户的信息,例如电子邮件地址、姓名和可能的公共密钥。举例来说,实体可以维持数据库,例如SQL、OrientDB、MongoDB或其它数据库。在一些实例中,实体还可以存储用户的私用密钥中的一个或多个。
[0143] 所属领域的技术人员将了解,在不脱离本公开的一般宽范围的情况下,可以对上述实施例作出许多变化和/或修改。因此,本发明的实施例应被视为在所有方面都是说明性而非限制性的。
[0144] 本文公开或在本申请说明书中个别地或共同地指示的步骤、特征、整数、组合物和/或组成物,以及所述步骤或特征中的两个或更多个的任何和所有组合。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈