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

链上安全转移实体的方法和系统

阅读:24发布:2020-05-23

专利汇可以提供链上安全转移实体的方法和系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种用于经由 区 块 链 交换实体的安全方法。本发明涉及代币化技术,以及将元数据嵌入 区块链交易 的赎回脚本中的技术。 实施例 提供的方法包括:生成第一脚本,第一脚本包括:与第一用户作出的用于交换第一实体的第一邀请相关的第一元数据集,第一元数据集包括待提供的用于交换的第一实体和用于交换的第一 位置 条件的指示,与第一用户相关的第一用户公钥(P1A),其中第一用户公钥(P1A)是包括第一用户公钥(P1A)和第一用户私钥(V1A)的非对称密码对的一部分。脚本可包括与第一第三方相关的第一第三方公钥(P1T),其中第一第三方公钥(P1T)是包括第一第三方公钥(P1T)和第一第三方私钥(V1T)的非对称密码对的一部分。该方法还包括:对第一脚本进行散列处理以生成第一脚本散列,并在分布式散列表(DHT)上,公布第一脚本和第一脚本散列。,下面是链上安全转移实体的方法和系统专利的具体信息内容。

1.一种提供实体交换的计算机实现方法,所述方法包括:
生成第一脚本,所述第一脚本包括:
第一元数据集,其与第一用户作出的用于交换第一实体的第一邀请相关,所述第一元数据集包括待提供的用于交换的所述第一实体和用于所述交换的第一位置条件的指示,第一用户公钥(P1A),其与所述第一用户相关,其中所述第一用户公钥(P1A)是非对称密码对的一部分,所述非对称密码对包括所述第一用户公钥(P1A)和第一用户私钥(V1A),对所述第一脚本进行散列处理,以生成第一脚本散列;以及
在分布式散列表(DHT)上,公布所述第一脚本和所述第一脚本散列。
2.根据权利要求1所述的方法,其中所述第一脚本进一步包括
第一第三方公钥(P1T),其与第一第三方相关,其中所述第一第三方公钥(P1T)是非对称密码对的一部分,所述非对称密码对包括所述第一第三方公钥(P1T)和第一第三方私钥(V1T)。
3.根据权利要求1或2所述的方法,包括:
生成第一邀请交易,以便包括在点对点(P2P)分布式分类账上,所述第一邀请交易包括待转移的第二实体交换所述第一实体的指示,和所述第一脚本散列。
4.根据权利要求1到3所述的方法,其中所述P2P分布式分类账是比特币链。
5.根据前述权利要求中任一项所述的方法,其中所提供的用于交换的所述第一实体和/或用于交换所述第一实体的待转移的所述第二实体可以是以下各项中的一项或多项:
a)加密货币
b)合约;
c)商品;
d)服务。
6.根据权利要求4所述的方法,其中所述合约用于以下各项中的一项或多项:
a)法定货币
b)所有权契约;
c)商品;
d)服务。
7.根据前述权利要求中任一项所述的方法,其中所述第一位置条件包括以下各项中的一项或多项:
a)位置信息,指示用于所述交换所述第一实体的地理位置或区域;
b)位置格式信息,指示所述位置信息的格式;
c)范围信息,指示与所述交换有关的所述地理位置或区域的范围限制;以及d)范围格式信息,指示所述范围信息的格式。
8.根据前述权利要求中任一项所述的方法,包括:
通过至少将所述第一脚本中指定的所述第一实体与所述第二脚本中指定的第二实体进行比较,而将所述第一脚本的所述第一邀请与在所述DHT上公布的第二脚本进行匹配,其中所述第二脚本包括第二元数据集,所述第二元数据集与由第二用户作出的交换第二实体的第二邀请相关,所述第二元数据集包括待提供的所述第二实体交换所述第一实体的指示,
第二用户公钥(P2A),其与所述第二用户相关,其中所述第二用户公钥(P2A)是非对称密码对的一部分,所述非对称密码对包括所述第二用户公钥(P2A)和第二用户私钥(V2A),以及
第二第三方公钥(P2T),其与第二第三方相关,其中所述第二第三方公钥(P2T)是非对称密码对的一部分,所述非对称密码对包括所述第二第三方公钥(P2T)和第二第三方私钥(V2T)。
9.根据步骤8所述的方法,包括:
通过识别所述第一用户和/或所述第二用户的位置,确定是否满足所述位置条件。
10.根据权利要求8或9所述的方法,其中所述第二第三方与所述第一第三方相同。
11.根据权利要求8、9或10所述的方法,进一步包括:
在所述DHT上公布所述第二脚本,包括:
生成所述第二脚本:
对所述第二脚本进行散列处理以生成第二脚本散列;以及
在所述DHT上发布所述第二脚本和所述第二脚本散列。
12.根据权利要求11所述的方法,进一步包括:
生成第二交易邀请,以便包括在所述P2P分布式分类账上,所述第二邀请交易包括待转移的所述第一实体交换所述第二实体的指示;以及所述第二脚本散列。
13.根据前述权利要求中任一项所述的方法,进一步包括:
生成第一交换交易,以便包括在所述P2P分布式分类账上,所述第一交换交易包括:
所述第一脚本,
所述第一用户公钥(P1A),
所述第一第三方公钥(P1T),
第一输入,其由所述第一邀请交易的输出提供,以及
第一输出,其指示待转移到所述第二用户的第一数量的第一实体,以及在所述P2P分布式分类账上,记录所述第一交换交易。
14.根据权利要求12和13所述的方法,进一步包括:
生成第二交换交易,以便包括在所述P2P分布式分类账上,所述第二交换交易包括:
所述第二脚本,
所述第二用户公钥(P2A),
所述第二第三方公钥(P2T),
第二输入,其由所述第二邀请交易的输出提供,以及
第二输出,其指示待转移到所述第一用户的第二数量的第二实体;以及在所述P2P分布式分类账上,记录所述第二交换交易。
15.根据权利要求12所述的方法,进一步包括:
生成第一交换交易,以便包括在所述P2P分布式分类账上,所述第一交换交易包括:
所述第一脚本,
所述第一用户公钥(P1A),
所述第一第三方公钥(P1T),
所述第二脚本,
所述第二用户公钥(P2A),
所述第二第三方公钥(P2T)
第一输入,其由所述第一邀请交易的输出提供,
第二输入,其由所述第二邀请交易的输出提供,
第一输出,其指示待转移到所述第二用户的第一数量的第一实体,以及第二输出,其指示待转移到所述第一用户的第二数量的第二实体;以及在所述P2P分布式分类账上,记录所述第一交换交易。
16.根据权利要求13或15所述的方法,其中生成所述第一交换交易包括:
使用所述第一用户私钥(V1A),促进对所述第一脚本进行签署;以及
使用所述第一第三方私钥(P1T),促进对所述第一脚本进行签署。
17.根据权利要求14或15所述的方法,其中生成所述第二交换交易包括:
使用所述第二用户私钥(V1A),促进对所述第二脚本进行签署;以及
使用所述第二第三方私钥(P2T),促进对所述第二脚本进行签署。
18.根据权利要求13到15中任一项所述的方法,进一步包括在生成或记录所述第一和/或第二交换交易之前,促进所述第一和第二用户中的一个或多个接受所述交换。
19.根据前述权利要求中任一项所述的方法,其中所述第一交换交易和所述第二交易中的一个或多个是支付脚本散列(P2SH)交易。
20.一种提供实体交换的计算机系统,所述计算机系统包括:
第一处理装置,用于:
生成第一脚本,所述第一脚本包括:
第一元数据集,其与第一用户作出的用于交换第一实体的第一邀请相关,所述第一元数据集包括待提供的用于交换的所述第一实体和用于所述交换的第一位置条件的指示,第一用户公钥(P1A),其与所述第一用户相关,其中所述第一用户公钥(P1A)是非对称密码对的一部分,所述非对称密码对包括所述第一用户公钥(P1A)和第一用户私钥(V1A),对所述第一脚本进行散列处理以生成第一脚本散列;以及
在分布式散列表(DHT)上,发布所述第一脚本和所述第一脚本散列。
21.根据前述权利要求中任一项所述的方法或系统,其中所述第一和/或第二元数据集在赎回脚本中被提供。
22.根据前述权利要求中任一项所述的方法或系统,其中所述第一和/或第二元数据集在所述脚本中的一位置处被提供,所述位置在区块链协议中被指定为加密密钥的位置。
23.一种处理器或处理器群组,运行以执行权利要求1到18中任一项所述的方法。

说明书全文

链上安全转移实体的方法和系统

技术领域

[0001] 本发明涉及分布式点对点分类账,且具体地说,涉及区块链技术。本发明还部分地涉及代币化和安全性技术,以及用于通过区块链转移实体及/或实体的所有权的安全机制。本发明可包括通过区块链在不同方之间实施安全交易的方法。

背景技术

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

发明内容

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

具体实施方式

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

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈