可选地具有估值过滤器的用于低信任和零信任价值转移的设备、系统和方法与流程

文档序号:11162141阅读:770来源:国知局
可选地具有估值过滤器的用于低信任和零信任价值转移的设备、系统和方法与制造工艺

本申请是于2014年5月9日提交的美国临时申请61/990,795('795)的部分继续申请。本申请通过引用将在本段落中提到的所有申请的公开内容结合于此,如同在本文中完全阐述一样。

版权声明

本文档中的所有素材,包括附图,均依据美国和其它国家/地区的法律接受版权保护。所有者不反对本文档或其公开内容在官方政府记录中的复制。保留所有其它权利。

技术领域

相关的(一个或多个)技术领域是:电信、数字通信和计算机技术。



背景技术:

概述:

市场效率趋于增加–并且因此交易成本趋于降低–与交易各方彼此信任的程度成比例。但是,租金提取趋于增加–并且因此信任降低–与市场规模成比例。1因此,在较大型市场中高效和多产的参与需要减轻信任问题,但这是有代价的。这种成本常常可以通过规模经济来降低,但即使在今天,也存在大量的开销,这些开销用于缓解由交易对手、中介、交付后付款失败、担保人失败、托管等带来的风险。

自20世纪90年代中期以来,商业活动爆炸式增长,以前彼此未知的各方同意利用互联网作为基本通信媒介进行交易,有时甚至跨越国际边界。在那些各方之间确立和维持信任已经发挥了核心作用,并且已经尝试了基于传统但低效的方法的各种粗略解决方案(例如,具有昂贵费用的电子交换、利用第三方的“在线”托管和争议解决、各种声誉系统、第三方担保人,等等)。

在那些市场当中,个人交互的地方是贸易金融工具(例如,股票、债券、期权、期货、掉期、货币出口等)的市场。随着金融工程化的出现,个人和企业已经能够在金融贸易中充分利用计算,包括基于可编程条件或算法自动化进入和退出贸易的过程。但是,即使在这一空间中使用技术的爆炸式增长,这种技术也绝大部分分布在传统的集中式市场之上。几乎全都需要相对大的成本来与对等各方进行贸易。一些非常大容量的交易所对“高价值”(即,高薪)消费者出售插队到不太聪明或装备不足的投资者前面的能力。有些人质疑这种做法的公平性。

另外,在国际贸易中执行合同的成本会过高,并且成功可能很难预测。此外,卖方可以希望接收一种货币,而买方可以希望发送另一种货币。一种货币在另一种货币中面值的价值会波动。在历史上,远程各方减轻风险的一种方式是参与可信中介的帮助。一种这样的机制是信用证(L/C)。当卖方不知道是否该信任希望下大订单的买方但是确实信任买方已与其确立信用额度的银行时,L/C是适当的。买方和银行约定,当卖方满足某些条件时(最常见的是在某一日期之前向银行发送装运证据),银行将从卖方的那个信用额度中发放资金。银行向卖方提供承诺(L/C),并且卖方和买方对交易的其余条款达成共识。但是,付款常常发生在比协定更晚的日期,并且汇率可能在协定被触发的时间和收到的时间之间变化。只有最大的机构拥有适当地对冲汇率波动所必要的资源。此外,银行为L/C和货币兑换收取的费用是巨大的。反过来(Perversely),也必须对(一个或多个)中间机构给予高度的信任,中间机构有效地充当自我利益文档审查员,其在发放资金之前可以或不可以独立地验证所述文档的真实性,有可能在卖方的肩上留下许多错误、伪造或欺诈的风险。照此,L/C通常不是非常适合于消费者交易,或者交易涉及其价值会相对于彼此剧烈变化的货币。

分散数字货币(或所谓的“加密货币”)-承诺当满足严格定义的标准时与通过计算转移那些资产的控制或所有权的能力耦合的严格控制的资产创造的技术,对第三方中介有很少或没有依赖关系,并且与传统机制相比具有非常低的交易成本–是相对新的产物。比特币(Bitcoin)协议及其后代(Ethereum、Litecoin等)是最近在流行度(和估值)上大受欢迎的一类技术。

为了通过非限制性例子进行说明的目的,那些特定的分散数字货币一般通过维持已通过网络参与者的共识“被验证”的所有事务的全部或部分历史或“分类帐”(有时被称为“块链”)来操作。除了超出本发明范围的少数例外,事务功能大致如下。2事务包括至少一个输入和至少一个输出。输入包括输入“脚本”,其包括良好定义的可执行操作的有序集合。输出包括输出脚本,其包括此类操作的第二有序集合。新的(子)事务包括输入,其输入脚本以可预测的方式与来自现有(父)事务的输出脚本组合。如果大多数网络参与者同意在根据预定的一组规则评估组合时产生预期的状态或结果,则新的事务被认为是有效的。如果事务输出被大多数网络参与者接受为与有效子事务关联,则该事务输出被认为“已花费”。如果,根据大多数网络参与者,事务输出不与任何有效的子事务相关联,则该事务输出被认为“未使用”。事务输出的“所有权”或“权利”的概念由哪个实体可以对所述输出进行控制或者,更具体而言,谁可以创建和/或公开新事务来“花费”将被大多数网络参与者接受为有效的所述输出来确定。

更具体而言,设法向分类帐提交新事务的实体向被称为实体(或“对等者”)的多个网络参与者发送(或“广播”)包括期望事务的细节的事务。那些对等体通常尝试独立地验证事务。如果成功,则他们将事务转发到他们的对等者,等等。最终,事务由被配置为通过在分类账中(即,在有效“块”中;参见下面更详细的描述)包括该事务而实现该事务的网络参与者接收。

当实体产生被大多数接受为有效并且其输入与父事务的未花费输出相关联的子事务时,转移发生。在大多数情况下,这是控制向第二实体的简单转移,其中新事务的输出脚本是小的操作集合,对于这些操作,创建对应输入脚本对于拥有特定非对称密码密钥的单个实体是计算简单的,并且对所有其它实体是计算上不切实际的。换句话说,它被“寻址”到具有对特定私钥的访问权的实体。现有的软件充分抽象这些地址和简单事务,用于让不是程序员或协议专家的外行参与其中。

但是,描述事务依据其可被接受为有效的条件的许多更复杂的脚本通过可用操作的集合是预期的。因为描述那些操作的一般手段通常是二进制或编程代码3,所以一般不能由外行创建或理解任意事务。例如,截至2014年4月21日,比特币合同Wiki页面包括用于几个理论“示例”事务的简要指令。4在每个事务中,不管在事务中的角色,外行都不太可能理解–更不用说遵循–这些指令。缺少使他们能够自信地进行类似事务的基本步骤,更不用说这种事务的组合。尽管它有巨大的潜力,但是这种没有抽象的复杂性有可能使比特币协议和后代不再适用于除传统市场中的“简单”支付之外的一切。

分散数字货币或“加密货币”

比特币协议及其后代的设计和功能一般可以如下描述。5虽然本节常常按名称提及“比特币”,但是该描述对于本领域中当前已知的几乎所有分散数字货币是准确的。

块链–“块链”是记录比特币交易的公共分类帐。新颖的解决方案在没有任何可信中心机构的情况下实现这一点:块链的维护由运行比特币软件的通信节点的网络执行。“付款人X向收款人Z发送Y个比特币”形式的交易利用容易获得的软件应用被广播到这个网络。网络节点可以验证交易、将它们添加到分类帐的副本,然后将这些分类帐添加广播到其它节点。块链是分布式数据库;为了独立地验证任何和所有比特币的所有权链(量),每个网络节点存储其自己的块链副本。每小时大约6次创建一组新的被接受交易,块,将其添加到块链,并快速发布到所有节点。这允许比特币软件确定何时已经花费了特定的比特币金额,为了防止在没有中央监督的环境中的双重花费,这是必要的。虽然传统的分类帐记录实际票据的转移或者与其分开存在的期票,但是块链是唯一可以说成比特币以交易的未花费输出的形式存在的地方。

单位–比特币系统的金额单位是比特币(BTC)。用作替代单位的小倍数的比特币是毫比特币(mBTC)、微比特币(μBTC)和satoshi。以比特币的创建者命名,“satoshi”是代表0.00000001比特币的比特币的最小倍数,这是一比特币的百万分之一。一“毫比特币”等于0.001比特币,这是比特币的千分之一。一“微比特币”等于0.000001比特币,这是比特币的百万分之一。微比特币有时被称为“bit”。

所有权–(参见图24)比特币的所有权暗示用户可以花费与特定地址关联的比特币。为此,付款人必须使用对应的私钥对交易进行数字签名。如果不知道私钥,则交易不能被签署并且比特币不能被花费。网络利用公钥验证签名。如果私钥丢失,则比特币网络将不会识别任何其它所有权证据;于是,硬币不可用,因此实际上丢失。例如,在2013年有一个用户说,当他丢弃了包含他的私钥的硬盘驱动器时,他丢失了7500比特币,当时价值750万美元。

事务–通常,事务必须有一个或多个输入(“coinbase”事务是用于创建比特币的特殊事务并且具有零输入;参见下面的“挖掘”和“供应”)。为了让事务有效,每个输入必须是前一个事务的未花费输出。每个输入必须被数字签名。多个输入的使用对应于现金交易中多个硬币的使用。事务也可以有多个输出,从而允许一次进行多个支付。事务输出可以被指定为satoshi的任意倍数。与现金交易类似,输入(用来支付的硬币)的总和可以超出预期的支付总和。在这种情况下,使用附加的输出,从而将更改返回付款人。在事务输出中未说明的任何输入satoshi变成交易费。

每个事务可以具有与其关联的“锁定时间”。这防止事务被接受为有效并允许事务挂起并且直到约定的未来时间可更换。在比特币和类似协议的情况下,这可以被指定为或者块索引或者时间。在达到事务的锁定时间之前,不会接受该事务包含在块链中。还提出了其它更灵活的机制6

挖掘–“挖掘”是记录保持服务。挖掘者通过重复地验证新广播事务并将其收集到被称为“块”的新事务组中来保持块链一致、完整和不可更改。新块包含将其“链接”到前一块的信息,由此向块链给出其名称。它是前一个块的加密散列,利用SHA-256散列算法。

新块也必须包含所谓的“工作证明”。工作证明由称为“难度目标”的数字和称为“随机数”的数字组成,其中“随机数”是“仅使用一次的数字”的专门术语。挖掘者必须找到产生数值上小于在难度目标中提供的数字的新块的散列的随机数。当新块被创建并分发到网络时,每个网络节点可以容易地验证该证明。另一方面,找出证明需要大量工作,因为对于安全加密散列,只有一种方法来找出必要的随机数:挖掘者一次一个地尝试不同的整数值,例如1、然后2、然后3,等等,直到获得必要的输出。新块的散列小于难度目标的事实用作这个繁琐的工作已经完成的证明,因此名称为“工作证明”。

与块的链接并排的工作证明系统使块链的修改非常困难,因为,为了让一个块的修改被接受,攻击者必须修改所有后续的块。随着新块一直被挖掘,修改块的难度随着时间的流逝而增加,并且后续块的数量(也被称为给定块的“确认”)增加。

供应–找出新块的成功挖掘者被奖励新创建的比特币和交易费。截至2012年11月28日,添加到块链的每个块的奖励金额为25个新创建的比特币。为了赎回奖励,对于被处理的付款,包括称为“coinbase”的特殊交易。循环中的所有比特币可以追溯到这种coinbase交易。比特币协议规定添加块的奖励将大约每四年减半。最终,当在大约2140年达到2100万比特币的任意限制时,奖励将被完全取消,并且记录保存将仅仅通过交易费来奖励。



技术实现要素:

本发明涉及使得彼此之间有很少信任或没有信任的各方能够经任意距离在没有关于(一个或多个)底层价值转移机制的特殊技术知识的情况下签署和实施以第三方的输入或参与为条件的协定的系统和方法,可选地提供第三方调解人的参与、转移人和受让人的替代、期限替代、修订或改革等。这种交易可以可靠地发生,而不涉及传统上这种交易可能需要的昂贵的第三方中介,并且没有传统的暴露给交易对手的风险。

本申请探讨启用两种形式的价值转移的示例实施例:暴露于数据点随时间的价值变化的任意交换,可选地应用任意的但商定的估值过滤器;及L/C。任意交换和L/C作为说明性例子是有用的,因为传统上两者是非常不同的事物(animal)。但是,本发明允许它们以非常相似的术语进行表达和实施。如本领域技术人员将明白的,本发明也可以应用于许多其它形式的价值转移。

本申请探讨在应用任意但商定的估值过滤器之后启用暴露于数据点随时间的值变化的任意交换的示例实施例。任意交换作为说明性例子是有用的,但是本领域技术人员将明白,本发明可以应用于许多其它类型的任意价值兑换。

在一个例子中,甲方相信S&P GSCI原油指数(^SPGSCI;参见<http://us.spindices.com/indices/commodities/sp-gsci-crude-oil>和<https://finance.yahoo.com/q?s=%5eSPGSCI>)在接下来的几周将以比纽约证券交易所能源指数(^NYE;参见<http://www1.nyse.com/about/listed/nyeid.shtml>和<https://finance.yahoo.com/q?s=%5eNYE>)更快的速率上升(或以更慢的速率下降)。乙方相信相反的情况是真实的,即,^SPGSCI将经类似的时间范围比^NYE下降更快(或上升更慢)。双方都希望利用例如基于共识的加密货币,诸如比特币,作为底层资产,来交换对代表这些指数的一个或多个机器可读数据源的价值变化的敞口。

但是,这些变化可能不是精确如各方期望的。本发明允许各方可选地对从机器可读数据源检索出的值应用任意评估过滤器,其结果被用于计算每一方的收益或损失。作为非限制性例子:各方可以希望经历与其相应主要承诺不相称的收益或损失并且因此希望通过应用大于一的标量来“放大”波动;各方可以希望通过应用小于一的标量来“忽略”波动;各方可以希望通过应用负一的标量来否定一个或多个数据点的行为;各方可以同意为一个或多个数据点确立上限或下限;各方可以希望进行前述事件的组合,以应用更复杂的计算,从而模拟例如一个范围内的静默波动、另一个范围内的放大波动;等等。

在另一个例子中,甲方是希望允许她的顾客为他的服务交易他们的BTC的商人。但是,她宁愿接收美元(USD),因为她担心BTC的波动。当以USD计价时,甲方不担心BTC是否将上升或下跌。周期性地(例如,每天、每小时等一次,或者甚至在她接收BTC的每个交易一次),她可以提供与她从其顾客接收的BTC成比例地销售以美元计价的BTC的敞口。换句话说,她用暴露于USD来交换暴露于BTC。乙方具有比他想要的更少的BTC和更多的USD,并期望增加以USD计价的BTC的敞口。本发明的一个实施例允许乙方找到并与甲方兑换–或“交换”–敞口,从而允许甲方接受BTC以换取她的货物或服务,知道如果她的BTC相对USD损失价值,她将由乙方补偿,作为交换,如果BTC对USD的价值增加,则乙方能够保持任何上涨。另一实施例在检测到甲方对附加BTC的所有权时自动寻找这些交换。

组合是可能的。例如,甲方接受澳元(AUD),但偏好USD,并想要对冲AUD兑USD的波动。本发明的一个实施例允许甲方与乙方交换USD兑BTC的敞口,并且同时经相同的时间段与丙方交换BTC兑AUD的敞口,由此合成对AUD兑USD的对冲。本发明不限于使得乙方和丙方是不同的方(它们可以是相同的),也不限于使得甲方必须进行两个单独的交易。此外,本发明的各种实施例允许各方在无需维持货币存款或进行货币购买或兑换的情况下执行这些类型的交易。

在还有另一个例子中,甲方希望从乙方购买货物。双方彼此不熟悉。乙方想要保证甲方资金的可用性,但甲方不希望在乙方证明装运证明(或满足其它条件)之前向乙方(或受让人)发放这些资金。

在包括交换的一个实施例中,称为“客户端”的第一设备和第二客户端参与一系列交易,其中来自第一方的资产(例如,未花费的交易输出)和来自第二方的资产被提交,直到第一方、第二方和中间人当中两个的组合根据中间人基于对外部状态的观察的计算,诸如在特定时间某些金融工具的相对价值,发放它们。

在包括L/C的另一实施例中,第一客户端和第二客户端参与一系列交易,其中来自第一方的资产被提交,直到第一客户端或中间方基于对外部状态的观察,诸如运送到托运人或地址的验证,发放它们。

在另一实施例中,如果到到期时间都没有进行这样的观察,则资产可以被退还。

在还有另一实施例中,资产的提交可以在被调解人促成的和解之前延长。

许多附加的实施例对本领域技术人员将变得显而易见。

附图说明

图1绘出了用于实践本发明的典型实施例,尤其是用于或包括价值转移机制(110),诸如分散式数字货币或其它分布式价值转移机制(150),其中客户端(120、160、170)、价值转移机制(110、150)、促进器(100)和机器可读数据源(130)是由计算机网络(140)连接的不同参与者。

图2绘出了与包括一个或多个源事务和提交事务的交换有关的一个实施例的各方面。

图3绘出了与包括提交事务和退款事务的交换有关的一个实施例的各方面。

图4-5绘出了交换实施例的各方面,包括在涉及本金和抵押的交换情况下相对简单的支付事务,以及包括本金和抵押的可选应用的机器可执行估值过滤器。

图6-7绘出了来自各种示例性交换实施例的交易链,其中一方希望在终止之前退出,并且不能确保来自交易对方的协定,但是能够找到愿意替代希望退出的一方的第三方。

图8绘出了与包括源事务和提交事务的L/C有关的一个实施例的各方面。

图9绘出了与包括提交事务和到期事务的L/C有关的一个实施例的各方面。

图10-11绘出了在涉及本金和抵押的情况下包括相对简单的支付事务的L/C实施例的各方面。

图12-14绘出了来自包括各方替代的各种示例L/C实施例的交易链。

图15-16绘出了其中参与价值转移的各方指定调解员来解决可能出现的任何争议的实施例的各方面。

图17-22绘出了在一个实施例中实现价值转移的主要阶段。

图23绘出了包括客户端或促进器的典型实施例的部件。

图24(现有技术)绘出了分散数字货币中简化的所有权链。

具体实施方式

本发明不限于以下实施例。以下的描述是为了说明而不是限制。在查看附图和详细描述后,其它系统、方法、特征和优点对本领域技术人员将是或将变得显而易见。意在所有这些附加的系统、方法、特征和优点都包括在本描述中、在本发明主题的范围内,并且由所附权利要求保护。

例如,比特币协议在本申请中经常被用作说明性媒介(vehicle)。但是,本发明不受比特币协议的具体限制。除非满足某些严格定义的标准,否则任何使得重新表征资产所有权(虚拟或其它)足够困难的技术都可以替代。本发明不限于分散或集中的价值转移机制。例如,在一个实施例中,交易可以由权威来识别(即,促进)(集中式)。在另一个实施例中,它们可以通过共识或选举来验证(分布式),等等。

另外,虽然比特币协议和类似技术明确地识别对于事务的“输入”和“输出”,但是本发明不限于此类价值转移机制。本发明的各种实施例可以在其中资产的所有权可被重新表征的任何上下文中实现,条件是价值转移机制暴露必要的特征。本申请在字面上(例如,关于像比特币协议和后代的技术)以及比喻地(例如,对于其它技术,诸如在双重条目记账之后建模的、权利链,等等)都使用“输入”和“输出”。在更传统的模型中,例如,“输入”可以包括在一个实体的指导或控制下(例如,在传统的银行)在“帐户”中的可用“余额”的一些或全部金额。输出可以包括对另一实体的帐户的引用(例如,帐号)。在这种模型中,当–一旦满足了某些条件–第一实体的帐户的余额递减并且(优选地原子地)第二实体的帐户的余额递增时,资产的重新表征发生。这仅仅是本发明可以对其实践的替代价值转移机制的一个例子。

此外,本申请可以公开或暗示本发明的包括“显示”、“输入”、“显示设备”、“输入设备”或类似术语的各方面。但是,本发明不限于仅由具有共同天然能力的人实践。“显示[设备]”意在包括能够经由任何感觉或感觉的组合向人类明确地传达信息的任何设备。例如,盲人可以使用具有“音频显示”的设备,其可以包括文本到语音合成器。作为替代,可以使用盲文终端。类似地,“输入[设备]”意在包括能够从人类接收信息的任何设备。在现代,流行的输入设备包括键盘、鼠标、触摸屏等,但可以是语音到文本转换器、sip-and-puff(吹啜式)设备、点击-录入式设备、运动或姿势识别设备等。这些仅仅是几个例子。这种显示和输入设备的多样性在本领域中是已知的并且可以在实践本发明时使用,如对本领域技术人员将变得显而易见的。

在图1中绘出的实施例中,本发明包括计算机网络上的一些或全部绘出的参与者(一般由指示数据流的各种箭头描绘或暗示)。参与者包括通常为耦合到计算机网络(永久地或间歇地)的第一方(未示出)操作的第一客户端(A)、通常为耦合到计算机网络(永久地或间歇地)的第二方(未示出)操作的第二客户端(B),可经由计算机网络访问的价值转移机制、计算机网络可访问的促进器,以及促进器和(可选地)第一或第二客户端可访问的机器可读数据源。在典型的实施例中,计算机网络包括互联网,但这不是必需的。其它配置也是可能的。例如,多个独立的计算机网络可被用于连接参与者的任何子集,包括专用网络、VPN、安全隧道、帧中继等。任何计算机联网技术都将是足够的,只要它在与本发明一致的时间内在各个参与者之间提供通信即可。

在典型的实施例中,第一客户端和第二客户端当中每一个包括被配置为执行在本发明范围内的某些步骤的计算机处理器。在一些实施例中,促进器包括计算机处理器。在其它实施例中,诸如利用Ethereum协议作为价值转移机制的那些实施例中,促进器包括由参与者在基于共识算法的协议中评估的计算指令,在这种情况下,参与者包括被配置为评估计算指令并参与或验证共识的计算机处理器。在许多实施例中,客户端包括用于与人类交互的显示设备和输入设备,但这不是绝对必要的。在其它实施例中,客户端可以是完全自动的,不需要人为干预。在一个这样的实施例中,第一客户端的计算机处理器被配置成监视价值转移机制、促进器或第二客户端的各方面,并且被配置为基于观察到的状态变化与各个参与者自动交互。

例如,在一个实施例中,转移机制包括比特币协议,并且每个客户端和促进器包括用于存储密钥对、初始化交易等的非临时性数据存储器。第一客户端被配置为使得,当观察到它获取了BTC的新所有权时,它经由促进器发起交易,以便用暴露于一种金融工具或资产类别(例如,BTC)换取暴露于另一种金融工具或资产类别(例如,USD)。

图1绘出了用于实践本发明的典型实施例–尤其是和分布式价值转移机制一起使用–其中客户端、价值转移机制、促进器和机器可读数据源是不同的参与者。但是,所绘出的布置不是本发明所预期的唯一布置。在替代实施例中,促进器提供价值转移机制的一些或所有方面。在另一实施例中,促进器包括客户端的一些或所有方面。例如,客户端的数据存储的部分或全部、发起或接受提议的能力等可以被“嵌入”在促进器中,由此使得促进器能够作为客户端本身操作(例如,由促进器的所有者控制的客户端,或者代表已将控制委托给促进器的第三方)。在还有另一实施例中,促进器与机器可读数据源分离并且不同,并且促进器经计算机网络从机器可读数据源检索值。作为替代,促进器可以包括其自己的机器可读数据源。作为非限制性例子,这可以包括数据库、来自外部数据馈送的本地高速缓存、来自诸如外部仪器的信号的采样(或样本的高速缓存),等等。唯一的要求是机器可读数据源以这样一种方式构造,即,使得促进器可以从其检索值并理解该值。在一个实施例中,机器可读数据源提供历史信息,使得,当给定时间t时,机器可读数据源提供与时间t关联的值。在另一实施例中,机器可读数据源仅仅提供与当前时间关联的值。本发明预期的许多配置是可能的,并且对本领域技术人员将变得显而易见。

图2-5描绘了与包括一个或多个源事务、提交事务和支付事务的交换有关的实施例的各方面。如所绘出的,提交事务包括用于从第一源事务(即,从第一方)接受第一金额的第一输入、用于从第二源事务(即,从第二方)接受第二金额的第二输入,以及用于将那些金额的部分指引到一个或多个其它事务(诸如支付事务)的一个或多个输出,其中第一金额和第二金额总计至少为预期金额。在许多情况下,第一和第二金额是相等的,但这不是必须的。在一些情况下,金额包括本金金额(P)和(可选地)抵押金额(C),如各个图中所绘出的。

在典型的实施例中,提交事务被配置为使得经由其(一个或多个)输出可用的一些或全部金额仅可以被确认从第一方、第二方和促进器当中至少两个被转移。

虽然在图2中绘出了第一源事务和第二源事务,但这不应当被解释为对本发明的限制。金额可以从任何数量的不同源输入到提交事务中。超额可退还给各方,或退还给完全不同的方。唯一的限制是提交事务包括至少总计为预期金额的输入。在一些实施例中,可以征收用于将来自其相应源的金额指引到所述输入的费用(未绘出),这可以要求调整源事务来补偿那些费用。例如,价值转移机制可以征收转移费、提款费、电汇费等。例如,比特币协议可以要求“挖掘费”,以确保转移的及时处理(例如,将事务包括在块链中,其中价值转移机制是比特币协议)。

图3描绘了与包括提交事务和退款事务的交换有关的一个实施例的各方面。提交事务包括用于接收第一本金金额(PA)的第一输入,用于接收第二本金金额(PB)的第二输入,以及提交输出。退款事务包括用于从提交输出接收金额的输入、到第一方的第一退款输出和到第二方的第二退款输出。在典型的实施例中,直到提交事务之后才创建退款事务,或者它被创建使得它仅在未来的某一时间之后并且仅当提交输出尚未被花费时才有效。这允许另一个事务在其之前到来并且花费提交输出,但是如果没有创建这样的其它事务,则退款事务可以被提交到价值转移机制,以创建退款事务,以使各方回到或接近它们的原始位置。

图4-5绘出了在涉及本金和抵押的交换情况下包括相对简单的支付事务的交换实施例的各方面。在图4中,提交事务包括来自第一方的第一结合本金和抵押输入,以及来自第二方的第二结合本金和抵押输入。在图5中,提交事务包括来自第一方的第一本金(PA)输入、来自第一方的第一抵押(CA)输入、来自第二方的第二本金(PB)输入和来自第二方的抵押(CB)输入。这些仅仅是对本领域技术人员将显而易见的许多可能配置中的两种。例如,提交事务可以包括:来自第一方的本金输入、来自第二方(例如,第一方的担保人,未绘出)的抵押输入,以及来自第三方的结合本金和抵押输入;来自第一方的第一结合本金和抵押输入以及来自第二方的第二结合本金和抵押输入;或者第一本金输入、可选的第一抵押输入、第二本金输入和可选的第二抵押输入;等等。

在图4-5中绘出的实施例中,每个支付事务包括用于从提交输出接收金额的输入。在图4中,支付事务包括到第一方的第一结合的修改本金和抵押支付输出、到第二方的第二结合的修改本金和抵押支付输出,以及到第三方的可选费用输出。在图5中,支付事务包括到第一方的抵押支付输出、到第一方的修改的本金支付输出、到第二方的修改的抵押支付输出,及到第三方的可选费用输出。其它配置是可能的并且对本领域技术人员可以变得显而易见。同样,这些仅仅是对本领域技术人员将便的显而易见的许多可能配置中的几个。例如,类似于上文,支付事务可以包括:到第一方的经修改的本金支付输出、到第三方(例如,第一方的担保人)的可能经修改的(如果本金已耗尽)抵押支付输出;到第二方的结合的经修改本金和可能经修改的(如果本金已耗尽)支付抵押输出;或者到单方,诸如第一方或第二方,修改的结合的本金和抵押支付输出,具有到第三方的可选费用输出;等等。

在图4-5中绘出的每个实施例中,可选的费用从经修改的本金分配并在贸易各方之间平等分配,但这不是必需的。它可以在任何阶段或多个阶段分配。它可以由一方单独或不成比例地承当。而且,在图4-5中绘出的每个实施例中,用于两个或更多个支付输出的金额的计算包括差额(θ),这对一方是正的,对另一方是负的。例如,在图5中绘出的实施例中的支付事务特征在于其中第二本金在交换到期之前被用尽的交换。在一个实施例中,其中第一本金和可选的第一抵押在交换之前或交换到期时被完全耗尽的交换的支付事务可以,例如,具有针对第二方的支付输出。换句话说,其中:

在一个实施例中,其中一方的本金和可选抵押的完全用尽在交换到期之前发生,促进器可以在到期之前解开交换,从而将整个输出提供给另一方(减去任何可选费用,等等)。

为了通过例子说明以上各种部件当中的一些如何可以一起被用来促进各种基本交换协定,以下步骤在一个实施例中利用比特币或类似协议作为价值转移机制发生,其中各方不彼此信任,并且促进器并不完全被任何一方信任:

1.第一客户端向促进器发送报盘,提议包括条款,条款包括:

a.对基底信号和报价信号当中至少一个的引用;

b.本金金额;

c.到期时间;

d.可选地对面额资产的引用;

e.可选地,机器可执行的估值过滤器f(bo,qo,bf,qf);和

f.可选地,抵押金额

示例条款:

基底:^SPGSCI

报价:^NYE

面额:BTC

本金:0.5(BTC)

抵押:2×本金

f(bo,qo,bf,qf):100×本金

到期日:2014-06-01T12:34:56Z

2.可选地,促进器验证提议的各方面(例如,促进器可以解释条款,到期时间在可接受的范围内,等等)。如果验证失败,则促进器可以拒绝该提议,可选地向第一客户端发送错误消息。

3.第二客户端从促进器检索报盘。

4.第一客户端签署包括交易ID的第一源事务。

5.第二客户端签署包括交易ID的第二源事务。

6.第二客户端可选地经由促进器以使得其与报盘关联的方式(例如,在相同的消息中、经由报盘ID、报盘散列等)将第二源事务的交易ID发送到第一客户端。在另一实施例中,第一客户端将第一源事务的交易ID发送到第二客户端,并且后续步骤反映这个实施例的以下步骤。

7.第二客户端和促进器之一以使得其与报盘关联的方式向第一客户端发送第二公钥。

8.第一客户端签署初步提交事务的第一本金输入,用于创建完整提交事务,初步提交事务包括:

a.第一本金输入,用于从第一源事务接收第一本金金额;

b.第二本金输入,用于从第二源事务接收第二本金金额;

c.提交输出,包括提交金额和需要对应于以下当中两个的私钥的签名的条件:

i.第一公钥;

ii.第二公钥;和

iii.促进器公钥。

示例初步提交事务:

输入:

前一个tx:d3f8...24b8

索引:1

scriptSig:c6ca...958401 8007...d965

输入:

前一个tx:a940...99ee

索引:0

scriptSig:[sig.占位符]

输出:

值:50000000satoshis(0.5BTC)

scriptPubKey:2 1b33...a962 2bba...ff59c07b...265b 3

OP_CHECKMULTISIG

9.第一客户端可选地经由促进器将初步提交事务发送到第二客户端。可选地,促进器验证初步提交事务的各方面(例如,初步提交事务由第一方签署,第一本金金额和第二本金金额各自满足条款,等等)。如果验证失败,则促进器可以拒绝初步提交事务,可选地向第一客户端发送错误消息。可选地,促进器向第二客户端发送报盘和初步提交事务。

10.可选地,第二客户端验证初步提交事务是如预期的、由第一方签署,等等。

11.第二客户端通过签署初步提交事务来创建完整提交事务并且可选地将拷贝保存在非临时性存储器中,完整提交事务包括:

a.第一本金输入,用于从第一源事务接收第一本金金额;

b.第二本金输入,用于从第二源事务接收第二本金金额;和

c.提交输出,包括提交金额和需要对应于以下当中两个的私钥的签名的条件:

i.第一公钥;

ii.第二公钥;和

iii.促进器公钥。

示例完整提交事务:

ID:36e8...711a

输入:

前一个tx:d3f8...24b8

索引:1

scriptSig:c6ca...958401 8007...d965

输入:

前一个tx:a940...99ee

索引:0

scriptSig:a4cc...17b40128ee...5ff3

输出:

值:50000000

scriptPubKey:21b33...a9622bba...ff59c07b...

265b 3OP_CHECKMULTISIG

12.可选地,第二客户端签署初步退款事务,包括:

a.到期时间之后的锁定时间;

b.用于从完整提交事务接收提交金额的输入;

c.第一退款输出,包括第一退款金额和需要第一方的批准的第一条件;和

d.第二退款输出,包括第二退款金额和需要第二方的批准的条件。

示例初步退款事务:

输入:

前一个tx:36e8...711a

索引:0

scriptSig:OP_0[sig.占位符]6a82...cbb301

输出:

值:49995000

scriptPubKey:OP_DUP OP_HASH160b83f...56d9

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:49995000

scriptPubKey:OP_DUP OP_HASH16018a8...c27b

OP_EQUALVERIFY OP_CHECKSIG

...

nLockTime:2014-06-03T12:34:56Z

13.第二客户端可选地经由促进器将完整提交事务和任何初步退款事务发送到第一客户端。可选地,促进器验证完整提交事务和任何初步退款事务的各方面(例如,完整提交事务由第一方和第二方签署、任何初步退款事务由第二方签署、完整提交事务的各方面匹配初步提交事务、任何签署的初步退款事务的第一退款金额不超过第一本金金额、任何签署的初步退款事务的第二退款金额不超过第二本金金额、锁定时间在到期时间之后,等等)。如果验证失败,则促进器可以拒绝初步退款事务或完整提交事务,可选地向第二客户端发送错误消息。可选地,促进器将完整提交事务和初步退款事务发送到第一客户端。

14.可选地,第一客户端验证完整提交事务是如预期的并由第一方和第二方签署、初步退款事务是如预期的并由第二方签署,等等。

15.可选地,第一客户端将完整提交事务的副本保存在非临时性存储器中。

16.可选地,第一客户端创建完整退款事务并将副本保存在非临时性存储器中,完整退款事务包括:

a.到期时间之后的锁定时间;

b.用于从完整提交事务接收提交金额的输入;

c.第一退款输出,包括第一退款金额和需要第一方的批准的第一条件;和

d.第二退款输出,包括第二退款金额和需要第二方的批准的第二条件。

示例完整退款事务:

ID:f839...8d7d

输入:

前一个tx:36e8...711a

索引:0

scriptSig:OP_0dd8d...f69901 6a82...cbb301

输出:

值:49995000

scriptPubKey:OP_DUP OP_HASH160b83f...56d9

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:49995000

scriptPubKey:OP_DUP OP_HASH16018a8...c27b

OP_EQUALVERIFY OP_CHECKSIG

...

nLockTime:2014-06-03T12:34:56Z

17.第一客户端可选地经由促进器将完整退款事务发送到第二客户端。可选地,促进器验证完整退款事务的各方面(例如,完整退款事务由第一方签署、完整退款事务还未被修改、与条款和完整提交事务一致,等等)。如果验证失败,则促进器可以拒绝该完整退款事务,可选地向第一客户端发送错误消息。可选地,促进器将完整退款事务发送到第二客户端。

18.可选地,第二客户端验证完整退款事务是如预期的并由第一方和第二方签名,等等。

19.在创建或接收完整提交事务和任何完整退款事务之后,第一客户端广播第一源事务。

20.在创建或接收完整提交事务和完整退款事务之后,第二客户端广播第二源事务。

21.在看到第一源事务和第二源事务都已被广播之后,第一客户端和第二客户端中的一个或两者广播完整提交事务。

22.在到期时间之时或之后,或者在条款所定义的时间或事件之后,并且在完整退款事务的锁定时间之前,促进器根据用于确定第一支付金额和第二支付金额的条款执行计算,可选地从机器可读数据存储请求用于计算的值(例如,资产对的最近价格、在接受报盘时资产对的价格,等等)。在各种实施例中,可以包括外部数据馈送、内部数据库等的机器可读数据源。

在示例性实施例中,给定时间t,机器可读数据源提供以下一个或多个在t的值:基底信号b和报价信号q。在另一个实施例中,如果t被省略,则暗示当前时间。在一个实施例中,机器可读数据源包括用于基底信号的第一机器可读数据源和用于报价信号的第二机器可读数据源。

继续上面的例子,基底信号是^SPGSCI的资产值,报价信号是^NYE的资产值,并且面额资产是BTC。b0是交易被发起时^SPGSCI的值。bf是在交易完成时^SPGSCI的值。q0是交易被发起时^NYE的值。qf是交易完成时^NYE的值。作为说明性例子,用于^SPGSCI或^NYE的机器可读数据源可以是经由其YQL服务或其它API可用的Yahoo!公司的财务信息。这种类型的机器可读数据源非常适于本发明。它提供了一种让促进器以各种机器可读格式(XML、JSON、CSV等)检索信号值的手段,在这种情况下是经计算机网络。但是,可以使用任何机器可读数据源。例如,各方可以交换暴露于来自位于特定区域中的温度传感器的信号或位于整个特定区域中的各种温度传感器的平均值。

23.促进器用来计算第一支付金额和第二支付金额的计算包括经过滤的收益/损失函数f(bo,qo,bf,qf)。在典型的实施例中,一方的损失与其对手方的收益成比例,暗示着:

fquote(qo,bo,qf,bf)=-fbase(bo,qo,bf,qf) [等式2]

在我们上面的例子中,f(bo,qo,bf,qf)仅仅将基底和报价信号的值的相对收益或损失放大100倍,并从基底信号中的任何收益(或损失)中减去报价信号中的任何收益(或损失)。

24.促进器签署初步支付事务,其包括:

a.用于从完整提交事务接收提交金额的输入;

b.到第一方的第一支付输出,包括第一支付金额;

c.到第二方的第二支付输出,包括第二支付金额;和

d.可选地,到第三方的第三支付输出,包括费用金额;

通常其中第一支付金额、第二支付金额以及任何费用金额的总和不大于来自完整提交事务的提交金额。

示例初步支付事务:

输入:

前一个tx:36e8...711a

索引:0

scriptSig:OP_0[sig.占位符]6669...dc5601

输出:

值:99985000

scriptPubKey:OP_DUP OP_HASH160b83f...56d9

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:5000

scriptPubKey:OP_DUP OP_HASH160 18a8...c27b

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:10000

scriptPubKey:OP_DUP OP_HASH160 5ea3...ee50

op_EQUALVERIFY OP_CHECKSIG

...

25.促进器将初步支付事务发送到第一客户端和第二客户端,其中任一者可以在另一方可以成功地广播完整退款事务的时间到达之前独立地验证、签署和广播支付事务。

继续上面的例子,但是在第一本金(pb)可以不同于第二本金(pq)的实施例中,估值过滤器可以变为:

在另一个实施例中,第二估值过滤器f′(bo,qo,bf,qf)可被用来过滤或“包裹”估值过滤器,例如,以取反或反转一个或多个信号、将一个信号视为常数,或者模拟一个信号的有保证的收益或损失:

取反、反转、模拟收益或损失等等当然也可以在单个估计过滤器中执行(或被精简到其)。上面的例子仅仅是说明本发明如何可以允许链接多个估值过滤器。

在许多实施例中,基底信号和报价信号都被使用。但是,只需要基底信号和报价信号当中的一个。如果一个被省略,则另一个可被视为常数。继续温度的例子,如果第一方相信温度将增加,而第二方相信温度将降低,则他们可能同意基底信号将是温度值,报价信号将是非零常数(c),并且将使用以下估值过滤器:

在另一个实施例中,促进器提供可以通过引用或上下文被调用的过滤器库。在一个这样的实施例中,其中仅基底信号和报价信号中的一个在项中被提供,促进器被配置为将被省略的信号视为常数。在另一个这样的实施例中,促进器被配置为提供像上述之一的波动标量函数。不是要求在项中提供用于计算的精确指令,而是促进器对于项或值的特定子集应用波动标量函数。例如:

基底:^SPGSCI

报价:^NYE

...

杠杆:500.0

...

在这种例子中,促进器可以以这样的方式被配置,即,当存在“杠杆”项并且其值(l)不等于1.0时,应用估值过滤器:

各种示例估值过滤器在本申请中以一般的数学符号给出。但是,为了实现(enabling)本发明的目的,估值过滤器一般以机器可执行的形式表示。在一个实施例中,估值过滤器由一方或多方提供,例如,利用机器可执行格式。这可以是诸如Python或Ruby之类的流行脚本语法的形式,诸如汇编的低级格式,由第一客户端、第二客户端和促进器理解的专有格式,或者甚至是编译代码,诸如Java字节代码或其它经编译的可执行文件。可选地,第一或第二客户端具有或者直接地或者解释为人类友好格式来显示用于其相应各方的机器可执行估值过滤器的能力。作为替代,机器可执行的估值过滤器可由促进器访问并通过被各方引用来指示,如上面的杠杆例子中那样。

以上仅仅是根据本发明的价值转移的一个实施例。在另一个实施例中,可以使用等效或替代的步骤。下面描述包括非典型的但是说明性布置的实施例:

1.第一客户端向第二客户端发送报盘。

2.第一客户端向促进器发送该报盘。

3.促进器向第一客户端发送用于创建完整提交事务的第一初步提交事务,该第一初步提交事务包括:

a.第一本金输入,用于从第一源事务接收第一本金金额;和

b.第一提交输出,包括第一提交金额和需要以下当中两个的批准的条件:

i.第一方;

ii.第二方;和

iii.促进器。

4.促进器向第二客户端发送用于创建完整提交事务的第二初步提交事务,该第二初步提交事务包括:

a.第二本金输入,用于从第二源事务接收第二本金金额;和

b.第二提交输出,包括第二提交金额和需要以下当中两个的批准的条件:

i.第一方;

ii.第二方;和

iii.促进器。

5.第一客户端签署第一源事务。

6.第一客户端完成并签署(例如,利用SIGHASH_SINGLE|SIGHASH_ANYONECANPAY)第一初步提交事务。

示例第一初步提交事务:

输入:

前一个tx:85e5...e61f

索引:1

scriptSig:5e7c...a11a83ecad...d0ba

...

输出:

值:150000000

scriptPubKey:2 67c1...4a70bf9a...f9e3cffd...1373 3

OP_CHECKMULTISIG

...

7.第一客户端将第一初步提交事务发送到促进器。

8.第二客户端签署第二源事务。

9.第二客户端完成并签署(例如,利用SIGHASH_SINGLE|SIGHASH_ANYONECANPAY)第二初步提交事务。

示例第二初步提交事务:

输入:

前一个tx:705d...9ce2

索引:0

scriptSig:ade1...9dcb83f058...878a

...

输出:

值:150000000

scriptPubKey:2 67c1...4a70bf9a...f9e3cffd...1373 3

OP_CHECKMULTISIG

...

10.第二客户端将第二初步提交事务发送到促进器。

11.促进器从第一初步提交事务和第二初步提交事务创建完整提交事务,该完整提交事务包括:

a.第一本金输入,用于从第一源事务接收第一本金金额;和

b.第一提交输出,包括第一提交金额和需要以下当中两个的批准的条件:

i.第一方;

ii.第二方;和

iii.促进器;

c.第二本金输入,用于从第二源事务接收第二本金金额;和

d.第二提交输出,包括第二提交金额和需要以下当中两个的批准的条件:

i.第一方;

ii.第二方;和

iii.促进器。

示例完整提交事务:

ID:11f0...8ea8

输入:

前一个tx:85e5...e61f

索引:1

scriptSig:5e7c...a11a83ecad...d0ba

输入:

前一个tx:705d...9ce2

索引:0

scriptSig:ade1...9dcb83f058...878a

...

输出:

值:150000000

scriptPubKey:2 67c1...4a70bf9a...f9e3cffd...1373 3

OP_CHECKMULTISIG

输出:

值:150000000

scriptPubKey:2 67c1...4a70bf9a...f9e3cffd...1373 3

OP_CHECKMULTISIG

...

在另一个实施例中,第一客户端向促进器提供第一源事务的交易ID,并且第二客户端在促进器发送第一初步提交事务和第二初步提交事务之前向促进器提供第二源事务的交易ID。促进器创建与第二初步提交事务完全相同的第一初步提交事务,各自包括具有占位符签名的第一本金输入和具有占位符签名的第二本金输入。一旦相应的初步提交事务被发送到相应的客户端,客户端就在将它们相应签署的初步提交事务返回到促进器之前签署它们相应的本金输入(例如,利用SIGHASH_ALL|SIGHASH_ANYONECANPAY)。促进器收集签署的初步提交事务并将签署的输入整合到完整提交事务中。在此类实施例中,第一提交输出和第二提交输出可以被整合,并且对应的支付事务和退款事务可以省略其相应的第二输入。

12.促进器将完整提交事务发送到第一客户端,第一客户端可选地将其存储在非临时性存储器中。

13.促进器将完整提交事务发送到第二客户端,第二客户端可选地将其存储在非临时性存储器中。

14.第一客户端签署(例如,SIGHASH_ALL|SIGHASH_ANYONECANPAY或SIGHASH_SINGLE|SIGHASH_ANYONECANPAY)初步退款事务,包括:

a.到期时间之后的锁定时间;

b.第一输入,用于从提交事务接收所述第一提交金额;

c.第二输入,用于从提交事务接收所述第二提交金额;

d.第一退款输出,包括第一退款金额和需要第一方的批准的第一条件;和

e.第二退款输出,包括第二退款金额和需要第二方的批准的第二条件。

示例初步退款事务:

输入:

前一个tx:11f0...8ea8

索引:0

scriptSig:OP_0 78a2...203181[sig.占位符]

输入:

前一个tx:11f0...8ea8

索引:1

scriptSig:OP_0 fdbe...893f81[sig.占位符]

...

输出:

值:149995000

scriptPubKey:OP_DUP OP_HASH160 53a5...8974

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:149995000

scriptPubKey:OP_DUP OP_HASH160 30e6...2511

OP_EQUALVERIFY OP_CHECKSIG

...

nLock时间:2014-06-03T12:34:56Z

15.第一客户端向第二客户端发送完整提交事务和初步退款事务。

16.第二客户从初步退款事务创建完整退款事务(例如,利用SIGHASH_ALL|SIGHASH_ANYONECANPAY或SIGHASH_SINGLE|SIGHASH_ANYONECANPAY签署),并将副本保存在非临时性存储器中。

示例完整退款事务:

ID:eb09...3d15

输入:

前一个tx:11f0...8ea8

索引:0

scriptSig:OP_0 78a2...203181 b765...fc4383

输入:

前一个tx:11f0...8ea8

索引:1

scriptSig:OP_0 fdbe...893f81 91e4...4dd583

...

输出:

值:149995000

scriptPubKey:OP_DUP OP_HASH16053a5...8974

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:149995000

scriptPubKey:OP_DUP OP_HASH16030e6...2511

op_EQUALVERIFY OP_CHECKSIG

...

nLock时间:2014-06-03T12:34:56Z

17.第二客户端向第一客户端发送完整退款事务。

18.在创建或接收完整提交事务和完全退款事务二者之后,第一客户端将第一源事务提交到价值转移机制。

19.在创建或接收完整提交事务和完全退款事务二者之后,第二客户端将第二源事务提交到价值转移机制。

20.在看到第一源事务和第二源事务都已被提交之后,第一客户端和第二客户端当中一个或两者提交完整提交事务。

21.在到期时间之时或之后,或者在由条款定义的时间或事件之后,并且在完整退款事务的锁定时间之前,促进器根据用于确定第一支付金额和第二支付金额的条款执行计算,可选地从一个或多个数据源请求在计算中使用的信息。

22.促进器签署初步支付事务(例如,利用SIGHASH_ALL|SIGHASH_ANYONECANPAY或SIGHASH_SINGLE|SIGHASH_ANYONECANPAY)签署)。

示例初步支付事务:

输入:

前一个tx:11f0...8ea8

索引:0

scriptSig:OP_0[sig.占位符]8cd3...d86481

输入:

前一个tx:11f0...8ea8

索引:1

scriptSig:OP_0[sig.占位符]12bc...825281

...

输出:

值:142500736

scriptPubKey:OP_DUP OP_HASH160 53a5...8974

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:157479264

scriptPubKey:OP_DUP OP_HASH160 30e6...2511

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:10000

scriptPubKey:OP_DUP OP_HASH160d377...5c8c

OP_EQUALVERIFY OP_CHECKSIG

...

23.促进器将初步支付事务既发送到第一客户端又发送到第二客户端,它们当中任意一个可以如在先前的示例实施例中那样提交它。

为了简洁,省略了各种验证步骤。

对本领域技术人员将显而易见的是,上面每个实施例的各方面可以混合。例如,第一客户端可以向促进器发送报盘,在那里第二客户端可以找到并检索它。如上面所提到的,第一客户端和第二客户端当中一个或二者的各方面可以与促进器一致,从而允许上面的许多步骤由于冗余而被省略,其中促进器被委托充当第一方和第二方之一的代理或代表。促进器可以包含其中一个客户端的各方面,但不包含另一个客户端的各方面,在这种情况下,外部促进器客户端将可选地在签署之前独立地验证从促进器接收到的交易,等等。在此类实施例中,促进器通常包括经由诸如基于web的用户接口(UI)、应用程序员接口(API)等接口来控制其包括的客户端的各方面的手段。

在此类实施例中,向促进器委托权力的任何一方必须信任促进器是安全的并且公平地行事,但是这些类似于许多方已经对传统第三方中介体所具有的期望。假设第一方能独立访问促进器用来代表第一方操作的相同密钥对,并且第二方能独立访问促进器用来代表第二方操作的相同密钥对,那么,即使促进器被破坏,第一方和第二方也可以检索他们的资产,在最坏的情况下是通过在锁定时间之时或之后向价值转移机制提交任何完整退款事务,假设他们已经将完整退款事务的副本保存在他们各自的非临时性存储器中。

在一个实施例中,客户端被配置为使得当其检测到包括一定金额的新的可花费输出时(例如,当利用比特币或类似协议作为价值传送机制时通过监视块链的改变或更新),它自动接受包括符合新的可花费输出的金额的金额的远程报盘。如果没有这样的远程报盘可用,则它将发送包括基本上类似于新的可花费输出的金额的金额的报盘(例如,发送到促进器、发送到另一客户端等)。在另一实施例中,当客户端检测到第二新的可花费输出时,它尝试撤销该报盘。如果成功,则它发送包括一定金额的新报盘,该金额包括新的可花费输出中的一些或全部以及第二新的可花费输出中的一些或全部。其它变化是可能的。例如,客户端可被配置为扫描可用提议并将可用提议与可花费输出的金额相匹配。匹配算法的复杂性不同并且在本领域中是已知的。例如,许多比特币协议客户端实现提供用于将可花费输出与简单交易的输入匹配的算法。对于本发明的这个和类似实施例,此类算法对于本领域普通技术人员是适合的。

在各种实施例中,条款包括估值过滤器,例如,可选地在资产中指定的第一信号与第二信号之比,以及每个参与者必须分配的金额。例如,在一个实施例中,这些条款可以提议“出售”2BTC/USD,需要从每一方分配3个BTC。换句话说,由条款定义的交换报盘USD对2BTC的敞口,并且每个参与者必须在交换期间分配2BTC给本金和1BTC给抵押(即,直到它到期,或者直到一方的本金和抵押被耗尽)。

对每一方的分配不必相等。在一个实施例中,如果市场期望特定信号对随着交换的寿命内衰退,则接受对该信号对的敞口的一方可能需要分配比交易对手更多的抵押。应当指出,在前面的例子中,估值过滤器将双方的风险公式定义为不对称的。提供者的损失最多会是2BTC的本金(如果BTC在以USD计值时变得毫无价值)。但是,受让人的损失是无限的(如果USD在以BTC计值时变得毫无价值)。换句话说:

作为替代:

作为非限制性例子,可以采用对称的估值过滤器。考虑:

其中fbase(...)是在给定基底信号b0的初始值、报价信号q0的初始值、基底信号bf的值和在时间f的报价信号qf的值的情况下采取在时间f敞口的基底信号的一方的结果收益或损失。用于采取报价信号敞口的一方的结果收益或损失反转:

在这个实施例中,估值过滤器将双方的风险公式定义为对称的。如果基底信号变为零,那么采取基底信号敞口的一方可能损失的最多是本金。同样,如果报价信号变为零,那么采取报价信号敞口的一方可能损失的最多是本金。应当指出的是,不需要抵押。作为替代,考虑:

在这个实施例中,估值过滤器也将双方的风险公式定义为对称的。但是,当基底信号变为零时,由采取基底信号的一方引起的损失接近无穷大,所有其它都相等。同样,当报价信号变为零时,由采取报价信号位置的一方的损失接近无穷大,所有其它都相等。应当指出的是,当损失超过本金金额时,需要抵押。信号对的波动越大,可能需要越多的抵押来最小化在到期之前终止的风险。这些只是一些基本的例子。用于确定分配支付金额的估值过滤器可以是任意复杂的并且受参与者的想象力限制。所有这些变化都是本发明预期的。

在一些情况下,一方可能希望在其到期之前退出价值转移(例如,交换)。双方可以同意提前终止。在一个实施例中,促进器通过创建初步支付事务来促进这一点,就好像在双方同意退出时交换已过期。请求方签署初步支付事务并将其发送到签署并将其提交给价值转移机制的默许方。可选地,如果促进器包括到第三方的费用输出,则默许方可以要求费用将不成比例地或完全由请求方承担。

如果一方希望在终止之前退出,但不能保证与对方的协定,则另一个选项是寻求过早终止的一方寻找第三方替代。图6-7绘出了来自包括这种替代的各种示例交换实施例的交易链。

图6绘出了其中退出方(A)已经说服进入方(C)替代进入与剩余一方(B)的价值转移的实施例的各方面。此外,进入方向退出方转移协商好的金额(ε)。这在绘出的实施例中通过替代事务、第二提交事务和第二退款事务来促进。

为了说明的清晰,提交事务的输出和替代事务的对应输入被描绘为对于第一本金(PA)、第一抵押(CA)、第二本金(PB)和第二抵押(CB)当中每一个是分开的。这不是本发明的限制。正如先前描述的实施例,提交事务的输出和替代事务的对应输入可以是被价值转移机制认为有效的任何配置。为了说明的清晰,替代事务的输出和到第二提交事务的输入被类似地描绘。再次,事务之间的输入和输出的所有有效配置都是本发明预期的。

用来计算第一支付金额和第二支付金额的差额(θ)就好像交易在替代时已经到期。在图6中绘出的实施例中,这有利于剩余的一方。因此,替代事务被构造成使得退出方与该差额成比例地遭受损失,并且进入方仅需要提供资产以覆盖剩余位置。

而且,在图6中绘出的实施例中,替代退款是不对称的。进入方被退还那一方向交易提交的金额(减去协商的金额),剩余的一方被退还那一方在替代时如果交换到期应当接收的金额。其它变化是可能的。例如,在一个实施例中,协商的金额可以在价值转移的另一阶段单独转移,或者在完全分开的价值转移中转移。

在图7中绘出的实施例中,替代有利于退出方。在那个实施例中,替代退款是对称的。剩余的一方被退还如果原始交易被退款那一方应当接收到的金额。

在一个实施例中,替代是通过以下步骤促进的:

1.促进器根据用于确定退出金额和进入金额的条款执行计算,可选地从一个或多个数据源请求用在计算中的信息。

2.促进器创建初始替代事务,包括:

a.第一输入,用于从提交事务接收金额;

b.进入输入,用于从源事务接收进入金额;

c.退出输出,包括退出金额和需要第一方的批准的第一条件;和

d.替代输出,包括替代金额和需要以下当中两个的批准的第二条件:

i.第二方;

ii.第三方;和

iii.促进器。

示例初步替代事务:

输入:

前一个tx:6b24...b607

索引:0

scriptSig:OP_0[sig.占位符][sig.占位符]

输入:

前一个tx:dd66...ae8e

索引:3

scriptSig:[sig.占位符]

输出:

值:300000000

scriptPubKey:2 bf9a...f9e3 952b...0542cffd...

1373 3

OP_CHECKMULTISIG

输出:

值:121871000

scriptPubKey:OP_DUP OP_HASH160 6250...

6cfc

OP_EQUALVERIFY OP_CHECKSIG

...

3.促进器将初步替代事务发送到第一方和第三方。

4.第一方通过签署初步替代事务的第一输入(例如,利用SIGHASH_ALL|SIGHASH_ANYONECANPAY签署)来创建第一签署的初步替代事务,并且将第一签署的初步替代事务发送到促进器。

5.第三方通过签署初步替代事务的进入输入(例如,利用SIGHASH_ALL|SIGHASH_ANYONECANPAY签署)来创建第二签署的初步替代事务,并将第二签署的初步替代事务发送到促进器。

6.促进器从第一初步替代事务和第二初步替代事务创建完整替代事务(例如,ID:9c8b...4794)。

7.促进器签署初步替代退款事务,包括:

a.到期时间之后的锁定时间;

b.用于从替代事务接收替代金额的输入;

c.第一退款输出,包括第一退款金额和需要第二方的批准的第一条件;和

d.第二退款输出,包括第二退款金额和需要第三方的批准的条件。

示例初步替代退款事务:

输入:

前一个tx:9c8b...4794

索引:0

scriptSig:OP_0[sig.占位符]b2ac...8a4601

输出:

价值:178124000

scriptPubKey:OP_DUP OP_HASH160 30e6...2511

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:121866000

scriptPubKey:OP_DUP OP_HASH160 94e2...4fb6

OP_EQUALVERIFY OP_CHECKSIG

...

nLockTime:2014-06-03T12:34:56Z

8.促进器通过签署初步替代退款事务来创建签署的替代退款事务,并将签署的替代退款事务发送到第二方和第三方。

9.促进器将完整替代事务提交到价值转移机制。

为了简洁起见,已经省略了在先前实施例中公开的各种验证和细节步骤。在其它实施例中,各种交易由第一方或第二方代替促进器创建或签署。例如,第一方和第二方可以就替代事务中的金额达成一致,并且每一方可以在不涉及促进器的情况下签署其。所有这些变化都被认为是本发明的一部分。

信用证(L/C)在本领域中是众所周知的,但基本上是一种协定,其中在某个达成一致的条件在达成一致的时间(到期)之前被证明满足时第三方代表第一方将资产转移给第二方。通常,这包括中间金融机构在代表买方发放资金之前对晦涩航运文件的昂贵的手动审查。但是,为了有利于本发明的一个实施例,可以避免这种昂贵的方法,其中促进器基于来自关于已知跟踪号码对托运人公共API的查询的结果来调节支付事务的创建和传输。在其它实施例中,L/C条款包括评估搜索结果、观察数据在预期位置的存在或不存在、检查来自API的变量或响应的值是在一组期望值内还是与预期模式匹配、从数字仪器(例如,温度传感器、GPS等)接收信号并且验证信号值在预期范围或公差内,等等。可能性是多种多样的。例如,美国延续申请13/970,755('755)描述了用于高效地计算地理空间接近度的系统和方法。其它是本领域已知的。在一个实施例中,计算包括物体“位于”或在特定位置“附近”(即,在指定距离内)的条件。发现所述物体的位置的机制在本领域中是已知的(例如,自我报告GPS,自动识别和数据捕获(AIDC)设备,诸如条形码、快速响应(QR)码、射频识别(RFID)标签、在已知位置处的报告检测器或传感器附近,等等)。许多可能的配置是本发明预期的,并且对本领域技术人员将变得显而易见。

图8绘出了与包括源事务和提交事务的L/C有关的一个实施例的各方面。如所绘出的,提交事务包括用于从第一源事务(即,从第一方)接受第一金额的第一输入以及用于将第一金额的一部分指引到一个或多个其它交易(未绘出)的一个或多个输出。在其它实施例(其部分在其它图中绘出)中,提交事务还包括用于从第二源事务(即,从第二方)接受第二金额的第二输入,其中第一金额和第二金额合计为预期金额。在一些情况下,金额包括本金金额(P)和(可选地)抵押金额(C),如各个图中所绘出的。虽然在图8中仅绘出了第一源事务处理,但其不应当被解释为对本发明的限制。

图9绘出了与包括提交事务和到期事务的L/C有关的一个实施例的各方面,到期事务类似于先前描述的实施例中的退款事务。但是,退款事务仅用于在异常情况下恢复资金(例如,促进器变得不能创建或签署支付事务),除了恢复之外,到期事务的使用也是报盘预期的(例如,如果所阐述的条件在到期时间之前不被满足,尽管促进器正在操作)。区别主要是在概念上。这两者在本发明中几乎完全相同地运作。提交事务包括用于接收第一本金金额(PA)的第一输入,及提交输出。到期事务包括用于从提交输出接收金额的输入、到第一方的第一到期输出。在其中提交事务包括用于接收第二金额的第二输入的其它实施例中,到期事务包括到第二方的第二到期输出。

图10-11绘出了在涉及本金和抵押的情况下包括相对简单的支付事务的L/C实施例的各方面。在图10中,提交事务包括来自第一方的第一结合本机和抵押((P+C)A)输入。在其它实施例中,正如上面提到的那些,输入不需要结合。在图11中,提交事务包括来自第一方的第一结合本金和抵押输入,以及来自第二方的第二抵押(CB)输入。这些仅仅是本发明预期的许多可能配置中的两种。例如,提交事务可以包括来自第一方的本金输入、来自第三方(例如,第一方的担保人,未绘出)的抵押输入和来自第二方的抵押输入。

在图10-11中所绘出的实施例中,每个支付事务包括用于从提交输出接收金额的输入。在图10中,支付事务包括到第一方的第一抵押支付输出、到第二方的第一本金支付输出,以及到第三方的可选费用输出,其中该费用从抵押中扣除。在图11中,支付事务包括到第一方的抵押支付输出,以及到第二方的结合本金和抵押支付输出。此外,提交事务包括到第三方的可选费用输出,该费用由支付事务中的各方平等承当。同样,这些仅仅是本发明预期的许多可能配置中的两种。例如,可选的费用输出可以在任何阶段或多个阶段被分配。它可以在同一或不同阶段由一方单独或不成比例地承当。

为了通过例子说明以上各种部件当中的一些如何可以一起被用来促进各种L/C协定,以下步骤在一个实施例中利用比特币或类似协议作为价值转移机制发生,其中各方不彼此信任,并且促进器不完全被任何一方信任:

1.第一客户端创建报盘,该报盘包括条款,条款包括:

a.包括对数据源的一个或多个引用的其中一个支付条件、对包括对数据源的一个或多个引用的支付条件的引用、包括对数据源的一个或多个引用的支付功能,以及对包括对数据源的一个或多个引用的支付功能的一个或多个引用;

b.本金金额;

c.到期时间;

d.可选地,第一抵押金额;和

e.可选地,第二抵押金额。

示例条款:

付款人本金:0.5(BTC)

付款人抵押:1×本金

收款人抵押:0.05×本金

支付条件:

FedEx(“987654321”)。deliveredToCarrier()==true

到期:2014-06-01T12:34:56Z

2.第一客户端签署第一源事务。

3.第一客户端创建初步提交事务,包括:

a.第一输入,用于从第一源事务接收第一金额;

b.可选地,第二输入,用于从第二源事务接收第二金额;

c.提交输出,包括提交金额和需要以下当中二者的批准的条件:

i.第一方;

ii.第二方;和

iii.促进器。

4.可选地,第一客户端将报盘发送到促进器,促进器验证报盘的各方面(例如,促进器可以解释条款、到期时间在可接受的范围内,等等)。如果验证失败,则促进器可以拒绝该报盘,可选地向第一客户端发送错误消息。

5.第一客户端将提议发送到第二客户端。

6.可选地,如果初步提交事务包括第二输入,则第一客户端将初步提交事务发送到第二客户端。第二客户端签署第二源事务。第二个客户端签署初步提交事务。第二客户端将签署的提交事务发送回第一客户端。

7.第一客户端通过签署(例如,利用SIGHASH_ALL|SIGHASH_ANYONECANPAY)初步提交事务来创建完整提交事务,可选地将完整提交事务存储在非临时性存储器中。示例完整提交事务:

ID:c215...fc9b

输入:

前一个tx:85f7...e06c

索引:4

scriptSig:186b...ed3d81 9a9c...0fc5

输入:

前一个tx:6b03...e16e

索引:7

scriptSig:c48e...353c81 4afe...2c8d

...

输出:

值:150000000

scriptPubKey:2 67c1...4a70bf9a...f9e3cffd...

1373 3

OP_CHECKMULTISIG

...

8.第一客户端签署初步到期事务,包括:

a.在到期时间之时或之后的锁定时间;

b.用于从提交事务接收提交金额的输入;

c.第一到期输出,包括第一到期金额和需要第一方的批准的第一条件;和

d.可选地,第二到期输出,包括第二到期金额和需要第二方的批准的条件。

示例初步到期事务:

输入:

前一个tx:c215...fc9b

索引:0

scriptSig:OP_0 7d17...0b5101[sig.占位符]

...

输出:

值:99995000

scriptPubKey:OP_DUP OP_HASH160 53a5...8974

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:4995000

scriptPubKey:OP_DUP OP_HASH160 30e6...2511

OP_EQUALVERIFY OP_CHECKSIG

...

nLockTime:2014-06-01T12:34:56Z

9.第一客户端将完整提交事务和初步到期事务发送到第二客户端,第二客户端可选地将完整提交事务存储在非临时性存储器中。

10.第二客户端通过签署初步到期事务来创建完整到期事务,并将完整到期事务存储在非临时性存储器中。

11.第二客户端向第一客户端发送完整到期事务。

12.在创建或接收完整提交事务和完整到期事务之后,第一客户端将第一源事务提交到价值转移机制,以实现第一源事务。

13.在创建或接收完整提交事务和完整到期事务之后,第二客户端将第二源事务提交到价值转移机制,以实现第二源事务。

14.在看到第一源事务和第二源事务都已被提交之后,第一客户端和第二客户端当中一个或二者将完整提交事务提交到价值转移机制,以实现提交事务。

15.在由条款定义的时间或事件或者由第一客户端或第二客户端进行的查询时(可选地提供完整提交事务、对提交事务的引用以及条款当中一个或多个),并且在完整到期事务的锁定时间之前,促进器根据用于确定第一支付金额和可选地第二支付金额的条款执行计算,可选地从数据源请求在计算中使用的信息(例如,预期的货物是否已被运送到托运人、目的地地址,等等)。这可以经由外部API、内部数据库查询,等等。

16.在典型的实施例中,支付金额使得任何剩余的抵押被返回到相应的提供方,并且本金从提供方(付款人)转移到对手方(收款人)。

17.促进器签署初步支付事务,包括:

a.用于从提交事务接收提交金额的输入;

b.第一支付输出,包括第一支付金额和需要第二方的批准的第一条件;

c.可选地,第二支付输出,包括第二支付金额和需要第一方的批准的条件;

d.可选地,第三支付输出,包括费用金额和需要第三方的批准的条件;

18.通常,其中第一支付金额、任何第二支付金额以及任何费用金额的总和不大于来自提交事务的提交金额。

示例初步支付事务:

输入:

前一个tx:c215...fc9b

索引:0

scriptSig:OP_0[sig.占位符]8205...424901

输出:

值:49990000

scriptPubKey:OP_DUP OP_HASH160 30e6...2511

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:54990000

scriptPubKey:OP_DUP OP_HASH160 6250...6cfc

OP_EQUALVERIFY OP_CHECKSIG

输出:

值:10000

scriptPubKey:OP_DUP OP_HASH160d377...5c8c

OP_EQUALVERIFY OP_CHECKSIG

...

19.促进器将初步支付事务发送到第一客户端和第二客户端二者,其中任意一方可以如先前示例实施例中那样签署并将其提交到价值转移机制。

在另一个实施例中,提交输出的条件要求第一方和第二方或第二方和一个或多个服务提供商(例如,托运人、保险提供者、检查员等)当中任意一方的批准。初步支付事务由用于第二方和每个服务提供商的占位符构建。当所有服务提供商都已经签署了他们相应的部分时,第二方可以签署并将支付事务提交到价值转移机制。在另一实施例中,第二方向提交事务提交资产以支付每个服务提供商,并且每个服务提供商从支付事务中得到付款。

图12-14绘出了来自包括各方的替代的各种示例L/C实施例的交易链。图12绘出了其中付款方(A)说服替代方(C)替代进入与收款方(B)的交易的实施例的各方面。此外,付款方将协商好的金额(ε)转移给替代方。例如,付款方可以已经承诺从收款方购买货物,但是由于未预料到的市场条件,决定以一定的损失将取得获取交付的权利出售给替代方。这在所绘出的实施例中是通过替代事务和第二到期事务来促进的。在付款方以一定的获利出售取得交付的权利的相关实施例中,协商的金额可以从替代方流向付款方。在图12中绘出的实施例中,可选的费用支付给第三方,并且由收款人承当。

图13绘出了其中收款人(B)已经说服替代人(C)替代进入与付款人(A)的交易的一个实施例的各方面。此外,替代方将协商好的金额(ε)转移给付款方。例如,第三方可能有兴趣具有在未来的支付事务中接收付款的权利,这可能是由于替代方的其它资产的相对价值下降。这在所绘出的实施例中是通过替代事务和第二到期事务来促进的。在其中收款方以一定的损失出售接收付款的权利的相关实施例中,协商的金额可能从收款方流向替代方。类似于图12,在图13绘出的实施例中,可选的费用支付给第三方,并由替代方承当。

图14绘出了其中付款方(A)已经说服替代方(C)部分地(如所绘出的,为了覆盖由付款方原始支付的抵押)替代进入与收款方(B)的交易的一个实施例的各方面。此外,替代方将协商的金额(ε)转移给付款方。这在所绘出的实施例中是通过替代事务和第二到期事务来促进的。在一些实施例中,替代事务的替代输出包括需要三方中的三方、四方中的三方或四方中的两方批准的条件(例如,当替代方被委托授权代表其自己和付款方批准或签署时)。许多可能的配置是本发明预期的。在此类实施例中,促进器可以在创建替代事务以使所有各方满意当中充当裁判,例如,如下所述,维持与选定的调解器争执交易的能力。

在图12-14中为了说明的清晰,提交事务的输出和替代事务的对应输入被描绘为对于第一结合本金和抵押((P+C)A)和第二抵押(CB)当中每一个是分开的。这不是本发明的限制。提交事务的输出和替代事务的对应输入可以是被价值转移机制认为有效的任何配置。为了说明的清晰,替代事务的输出和第二提交事务的输入被类似地绘出。再次,交易之间的输入和输出的所有有效配置都是本发明预期的。而且,在其它实施例中,任何费用都可以由任何一方,甚至第四方,部分或全部支付。

在分散数字货币(例如,比特币协议、Ethereum协议或类似协议)被用作价值转移机制的情况下,本发明的另一实施例使得能够通过提交其中条款、对条款的引用(例如,对条款的URI、条款的散列,等等)或其某种组合被编码到交易本身当中而不是经由额外价值转移机制手段(即,在分散数字货币术语中是“关闭块链”),诸如集中式授权或共享的分散式数据存储(例如,洪流、“altcoin”等等),来关联的专门交易来进行任意提议–诸如对任意交换的提议、L/C,以及其中描述其的条款可以由促进器表述和解释的任何其它提议。

在一个实施例中,这可以被编码为事务元数据,或输入或输出中未使用的数据(例如,<data>OP_DROP<script>、在单个输出中经由OP_RETURN<data>技术,等等)。为了说明,以下步骤描述许多此类实施例中的几个:

1.在一个实施例中,第一客户端(供应商)创建包括关联的数据的报盘事务,以及包括报盘金额和需要第一方和可选地促进器之一批准的条件的报盘输出。关联的数据包括条款和对条款的引用当中一个或二者。可选地,关联的数据包括对促进器的引用(例如,域名、付款地址、D&B号码、URI等)。还可选地,第一客户端还在将其提交给价值转移机制之前将条款、关联的数据或报盘事务发送到促进器进行验证(例如,以确保促进器可以解释条款、促进器被适当地识别,等等)。在另一个实施例中,在第一客户端发出请求时,促进器创建初步报盘事务(例如,不包括签署的输入),用于创建完整报盘事务,并且第一客户端可选地验证促进器是否正确地创建了初步报盘事务,其是否经由促进器提供的引用可用(如果适用的话),等等。

示例初步报盘事务:

%#将条款发布到促进器

ID:9fcd...429c

...

输出:

值:150000000

scriptPubKey:666163737761703a3a72...f9a4 OP_DROP

1 67c1...4a70 cffd...1373 2 OP_CHECKMULTISIG

...

在这个示例实施例中,促进器利用“666163737761703a”给条款的散列加前缀,其是八字节ASCII字符串“facswap:”的十六进制。这不是必需的,但可能是交易可通过其被识别为某种“类型”的方便手段,这对于由网络参与者监视是有用的。

替代实施例示例报盘事务:

%#将条款发布到促进器

%#验证“offertxn”、添加更改输出,等等。

“offertxn”注释如下:

04000000[版本:4]...02[输出计数:1]80d1f00800000000[金额:1.5BTC]89[脚本长度:137]01[推接下来的1个字节]01[1]4b[推接下来的75个字节]67c1...4a70[公钥]4b[推接下来的75个字节]cffd...1373[fac.公钥]01[推接下来的1个字节]02[2]ae[OP_CHECKMULTISIG]...0000000000000000[金额:0.0BTC]2a[脚本长度:42]6a[OP_RETURN]28[推接下来的40个字节]666163737761703a3a72...f9a4[offerref:"facswap:3a72...f9a4"]00000000[锁定时间:none]

应当指出的是,一些部分(诸如任何输入或输入占位符)已利用省略号被跳过,以提高可读性。在替代实施例中,使用付费到脚本散列(pay-to-script,P2SH)来遮蔽通常将存在于父交易中的输出脚本。在这种实施例中,实际输出脚本将经由一些其它手段被发送到必要的参与者。

2.在一个实施例中,第一客户端创建,或者,在另一实施例中,促进器创建用于创建完整提交事务的初步提交事务,除其第一提交输入用于接受来自报盘事务的报盘金额并且其第二输入用于接受来自尚待识别的源事务的金额之外,其非常类似于先前实施例中描述的那些。

3.第一客户端通过签署初步报盘事务来创建完整报盘事务,并将其提交给价值转移机制,以实现报盘事务。

4.促进器从价值转移机制接收报盘事务。

5.第二客户端将公共密钥发送到促进器。

6.促进器将公钥添加到初步提交事务并将初步提交事务发送到第二客户端。

7.第二客户端签署具有交易ID的源事务。

8.第二客户端将交易ID添加到初步提交事务并签署其。示例初步提交事务:

输入:

前一个tx:9fcd...429c

索引:0

scriptSig:[sig.占位符]

输入:

前一个tx:b5e8...6f57

索引:6

scriptSig:9b6b...8f3701ac2f...b01b

...

输出:

值:149990000

scriptPubKey:2 67c1...4a70dbe4...4cbe cffd...1373 3

OP_CHECKMULTISIG

...

9.第二客户端将签署的初步提交事务发送到促进器。

10.或者第一客户端或者,可选地(在允许的情况下),促进器通过签署初步提交事务(例如,ID:6996...ec3d)来创建完整提交事务,可选地将完整提交事务存储在非临时性存储器中。

11.其中第一方和促进器之一可以批准花费报盘输出的实施例要求第一方信任促进器执行一些验证(例如,源事务具有足够的资产、恶意方没有尝试提交巨大数量的非常小的输入从而使得挖掘费用大或难以满足,等等),并且正确地并与条款一致地完成完整提交事务。

12.促进器创建初步退款或到期事务并将该初步退款或到期事务发送到第二客户端。

13.第二客户签署初步退款或到期事务并将签署的初步退款或到期事务发送给促进器。

14.或者第一客户端或者,可选地(在允许的情况下),促进器通过签署初步退款事务来创建完整退款或到期事务,并将完整退款或到期事务存储在非临时性存储器中。

15.促进器将完整提交事务和完整退款或到期事务发送到第二客户端。

16.第二客户端将源事务提交到价值转移机制,以实现源事务。

17.在看到源事务已被提交之后,第一客户端、第二客户端和促进器当中一个、几个或全部将完整提交事务提交到价值转移机制,之后该过程类似于先前描述的实施例。

在替代实施例中,报盘包括“硬报盘”,报盘输出的条件需要第一方和促进器两者的批准,并且促进器签署并向第一方发送报盘到期事务,该交易其包括:设置为硬报盘到期的时间的锁定时间、用于接收报盘金额的输入,以及包括到期金额和需要第一方的批准的条件的到期输出。

在本发明的其它实施例中,交易各方同意第三方在争议中充当调解人。例如,如果促进器变得不可用,则不是选择调用退款,而是一方触发争议,借此调解人代替不可用的促进器。提交事务的提交输出的条件需要第一方、第二方、促进器和调解人当中两者的批准。在到期时间之时或之后,或者在条款所定义的时间或事件时,并且在完整退款事务的锁定时间之前,争议方和调解人当中每一个签署并且一方提交争议事务,该交易包括用于从提交事务接收提交金额的输入,以及包括争议金额和需要第一方、第二方和调解人当中两者的批准的条件的争议输出。一旦争议得到解决,就任意一方签署,或者调解人和一方签署类似于上面的支付事务的结算事务,但反映被调解的结算。

图15-16绘出了两个这样的实施例的各方面。在图15中,争议事务还包括包含促进器费用金额的第一费用输出和包含调解人费用金额的第二费用输出,费用由各方共享。在图16中,争议事务包括各方共享的促进器费用金额,并且结算事务包括发起争议的一方(B)支付的调解人费用金额。在另一实施例中,任何调解费用被确定为结算的条款并且包括在结算事务中。

可选地(并且优选地),各方还签署并向彼此发送类似于上面的争议退款事务,但是改为从争议事务获取其输入,并且具有设置在未来的锁定时间,以便有足够的时间来达成结算。以这种方式,如果调解人变得不可用,则各方可以再次恢复提交争议退款事务。在另一个实施例中,争议事务也可以是“可调解的”,从而允许这样的争议链,例如在调解人变得不可用的情况下命名第二调解人,或者,如果争议退款事务的锁定时间即将到来,则同一调解人允许更多时间来达成结算。

在其它实施例中,调解可以是自动的。例如,在与交换或类似交易有关的实施例中,促进器周期性地向各方发送未签署的支付事务,就好像贸易在创建该未签署的支付事务时暂停一样。未签署的支付事务包括其被创建的可验证时间,或者对这种时间的引用(例如,当价值转移机制是比特币或类似协议时,作为未使用但嵌在脚本之一中的签署的数据,通过促进器拥有但不用于签署任何输入的单独密钥的签名等)。如果促进器在其可以向各方发送或提交签署的支付事务之前变得不可用,并且在到期时间之后保持不可用,则可以发起争议,并且各方将具有窗口,在该窗口期间,他们有机会向调解人发送条款(优选地由每一方签署,但是,如果双方同意这些条款,即,双方都向调解人发送了相同的条款,则这不是必须的)以及他们从促进器接收到的其中一些或全部未签署的支付事务。调解人检查无争议的或签署的条款,以及从双方接收到的所有可验证的未签署的支付事务。在一个实施例中,调解人仅仅选择最近的可验证的未签署的支付事务。在另一个实施例中,调解人按顺序“回放”未签署的支付事务、验证任何未签署的支付事务是否应当已经触发提前退出贸易(例如,如果一方的本金和任何抵押已用尽)。在还有另一个实施例中,调解人通过创建与调解人能够确定的一样接近如果促进器可用的话将由促进器重建的支付事务的新结算事务来执行其自己对条款的独立评估,有可能从一个或多个数据源请求信息,以代替促进器。

应当指出的是,所绘出的实施例是本发明的更基本的内容。源事务、提交事务、支付事务、退款事务、到期事务、输入、输出和各方以及任何本金、抵押或费用的各种组合仅受参与各方之间的协定的限制,并且被本发明实现。此外,贯穿本申请所公开的实施例的某些步骤被描述为由某些实体执行。在其它实施例中,类似或等同的步骤可以全部或部分地由不同方代替或附加于本文所描述的那些来执行。所有这些实施例都被认为在本发明的范围内。

作为非常简单的例子,在使用分散数字货币的实施例中,交易使用P2SH代替多签名交易。在某些实施例中可以省略其它步骤。例如,在使用分散数字货币的实施例中,签署的完整退款或到期事务的创建虽然作为在促进器或交易对手消失或变得不合作的情况下避免损失的应急措施被强烈推荐,但并非实现本发明严格需要的。在涉及调解人的实施例中,未签署争议事务的可以由促进器创建并被发送到各方,供调解人使用,例如,在退款或到期事务被创建和发送时。

图17-22绘出了在一个实施例中利用包括包含块链的分散数字货币的价值转移机制来实现交换形式的价值转移的主要阶段。图17-18绘出了第一阶段,其中客户端验证包括与促进器的条款(例如,基底信号、报价信号、本金、抵押、支付功能,到期时间等)的第一订单。客户端向价值转移机制提交(广播)符合条款的第一本金事务,以创建第一本金事务。促进器监视块链以进行更新,并且当第一本金事务被确认时激活第一订单。图19绘出了第二阶段,其中促进器将第一订单与第二订单匹配,并且通过创建并向价值传递机制提交(广播)提交事务来提交来自第一本金事务和第二本金事务的输出,以创建提交事务。可选地,促进器还创建并使得花费来自提交事务的输出但是直到到期时间之后才能被使用的退款或“回滚”事务让每个客户可用。如果促进器灾难性地失败,则任一客户端可以签署并提交退款事务,以将两个客户端都放回到其原始的相应位置。图20绘出了第三阶段,其中促进器从数据源接收一个或多个值,并通过向(一个或多个)值、本金和任何抵押应用支付函数来监视估值,以检查任何一方的本金和任何抵押是否被耗尽。可选地,每个客户端从促进器接收状态更新并通过从数据源独立地接收一个或多个值来审核促进器的状态。图21-22绘出了最后阶段,其中,在到期时间之后(或者如果任何一方的本金和任何抵押被耗尽,则以较早的那个时间为准),促进器创建并签署花费提交事务的(一个或多个)输出并包括包含一个或多个支付金额的一个或多个支付输出的初步支付事务。任一客户端接收该初步支付事务并完成(签署)其,以创建完整支付事务。客户端将完整支付事务提交(广播)到价值转移机制,以创建支付事务,同时发放两个客户端的资金。

图23绘出了包括客户端(120)或促进器(100)的典型实施例的部件。这包括耦合到存储器(170)和网络接口(190)的计算机处理器(160)。计算机处理器(160)不限于如绘出的单个处理单元,而是可以包括本领域中已知的多个核、多个计算机处理器、网络计算设备的群集或其组合。存储器(170)不限于所绘出的硬盘,而是可以包括允许数据存储在不同逻辑扇区(180)中的任何非临时性存储器技术(例如,文件系统中的一个或多个逻辑文件、文件或数据库中的一个或多个逻辑记录等),并且在计算机处理器的电源中断的情况下数据持续存在。非限制性例子包括固态存储器、闪存驱动器、RAID、JBOD、NAS、诸如Amazon的S3或Google的云存储的远程存储服务、存储设备的群集等等,或者本领域中已知的组合。在客户端(120)的情况下,存储器(170)包括一个或多个逻辑扇区,其包括用于存储非对称密钥对(200)的一个或多个密钥对扇区。在促进器(100)的情况下,存储器(170)包括一个或多个逻辑扇区,其包括一个或多个密钥对扇区(200)以及用于存储一个或多个事务的一个或多个事务扇区。网络接口(190)不限于所绘出的单个网络接口。作为非限制性例子,网络接口可以包括可选地包括负载平衡器、两个或更多个多路复用网络接口等等或者本领域中已知的组合的多个网络接口。

图24(现有技术)绘出了分散数字货币中的简化的所有权链。事实上,事务可以有多于一个输入和多于一个输出。

应当指出的是,所绘出的实施例仅仅是本发明的更基本的几个。在其它实施例中,可以使用等同或替代步骤。对本领域技术人员将变得显而易见的是,各种实施例的各方面可以混合。例如,可能的估值过滤器、源事务、提交事务、支付事务、退款事务、到期事务、输入、输出和参与方以及任何本金、抵押或费用的各种组合仅受参与方之间的协定限制并且通过本发明被实现。此外,贯穿本申请所公开的实施例的某些步骤被描述为由某些实体执行。在其它实施例中,类似或等同的步骤可以全部或部分地由不同方代替或附加于本文所描述的那些来执行。所有这些实施例都被认为在本发明的范围内。

步骤在某些实施例中可以被省略。例如,在使用比特币或类似协议的实施例中,签署的完整退款或到期事务的创建虽然作为在促进器或交易对手消失或变得不合作的情况下避免损失的应急措施被强烈推荐,但并非实现本发明严格需要的。

工业实用性

本发明涉及不同方之间预期将对财产的权利的转移的协定,以及这可能有价值或重要的任何行业。

词汇表

这些是为了方便而提供的术语的简要描述。它们不意在是限制性定义,而是意在增强在本领域中被理解或在本说明书中别处被描述的任何特征、特性、行为或实施例。

“客户端”(120)–包括计算机处理器(160)、包括用于存储非对称密钥对的密钥对扇区(200)的存储器(170)和网络接口(190)的设备,并且被配置为与促进器(100)或另一客户端(120、170)中的至少一个进行交互,以便于根据本发明经由价值转移机制(110)进行价值转移。

“加密货币”–参见“分散数字货币”。

“分散数字货币”(150)–包括交易的分布式分类帐的价值转移机制(110)(常常被称为“块链”,例如,利用比特币协议和后代),以及通常包括一个或多个网络参与者,网络参与者包括一个或多个挖掘者。也被称为“加密货币”。

“促进器”(100)–用于促进利用第一客户端(120、160)的第一方经由价值转移机制(110)与利用第二客户端(120,170)的第二方之间的价值转移的设备,该设备包括计算机处理器(160)、包括事务扇区的存储器(170)和用于存储非对称密钥对的密钥对扇区(200),以及网络接口(190)。

“[金融]工具”–任何形式的有价值的可贸易的东西;现金、实体中所有者权益的证据,或者接收或交付现金或另一金融工具的合同权利。根据国际财务报告准则,“导致一个实体的金融资产和另一个实体的金融负债或权益工具的任何合同”。

“锁定时间”–一直到锁定时间过去为止防止交易被价值转移机构接受为有效的明确的日期和时间(可选地包括时区)。

“方”–能够行使财产权的法律实体,例如,个人或公司实体。

“将交易发布到[设备]”–使交易可用于由设备读取或复制,例如,通过经由网络接口(190)向设备发送交易,或者以交易可被设备读取或复制的方式将交易写入存储器中的交易扇区,可选地实现允许设备读取或复制但不创建、更新或破坏交易的许可方案。非限制性例子包括共享文件系统(例如,NFS、SSHFS等)、数据库API(例如,SQL、REST等)、专有API、第三方共享存储(例如,Google文档,Dropbox等),等等。

“[基底或报价]信号”–一系列一个或多个数据点。这些常常是用于金融工具的时间序列报价,但可以是任何系列数据(例如,来自数字工具、计算等)。

“将交易提交到[价值转移机制(110)]”–由价值转移机制(110)通过其接受有效交易以实现交易的过程。在分散数字货币(150)的上下文中,这典型地包括将交易广播到一个或多个网络参与者,使交易被一个或多个包括有效块中被发送到并被大多数网络参与者接受为有效的交易的挖掘者接受。在分散数字货币(150)的上下文中,交易被大多数网络参与者接受为有效是永久和不可逆的(除非在非常有限的情况下,例如,如果交易稍后被大多数网络参与者发现是无效的,因为它试图花费已花费的输出)。

“交易”–价值转移机制(110)中价值转移的单位,其重新表征资产的所有权或控制(有时基于某些条件)。在分散数字货币(150)的上下文中,这有时被称为“确认的交易”,意味着已被大多数网络参与者接受到分类账或块链中的交易。

“事务”–描述交易并被提交到价值转移机制以实现交易的数据结构。作为非限制性例子,在分散数字货币的上下文中,事务通常包括一个或多个输入(虽然在特殊情况下可能为零输入)、一个或多个输出以及可选地加密签名。在分散数字货币(150)的上下文中,这也(有时令人困惑地)被称为“交易”。为了避免歧义,本说明书使用“事务”来指可以在网络参与者之间被发送或接收的数据结构,并且“交易”指包括交易的块链中分类账或块的部分,分类账或块被大多数网络参与者接受为有效(即,“确认的交易”)。

“价值转移”–将对具有经济价值的一个或多个物品(例如,金钱、货物、服务、要履行的义务等)的权利(例如,所有权、控制等)从一方转移到另一方的过程。

“价值转移机制”(110)–交易通过其被创建(例如,通过交易的成功提交)并被强制执行的手段(例如,分散数字货币)。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1