计算机实现的方法和系统与流程

文档序号:36497322发布日期:2023-12-27 20:18阅读:91来源:国知局
计算机实现的方法和系统与流程

本公开大体涉及用于为一个或多个客户端实现与分布式账本(即,区块链)相关联的一个或多个服务的平台的方法和系统。特别地,本公开涉及但不限于为一个或多个客户提供对与区块链相关联的多个功能和应用的访问,例如,实现数字或通证化资产的转移。


背景技术:

1、在本文档中,我们使用术语“区块链”来包括所有形式的电子的、基于计算机的分布式账本(ledger)。这些包括基于共识的区块链和交易链技术、许可的和未被许可的账本、共享账本、公共和私有区块链及其变型。尽管已经提出并开发了其他区块链实现方式,但是区块链技术最广为人知的应用是比特币账本。尽管为了方便和说明的目的在本文中可能提及比特币,但是应当注意,本公开不限于与比特币区块链一起使用,并且与任何类型的数字资产或数字资产的表示相关联的替代区块链实现和协议落入本公开的范围内。术语“客户端”、“实体”、“节点”、“用户”、“发送方”、“接收方”、“付款方”、“收款方”在本文中可以指计算资源或基于处理器的资源。在本文中使用术语“比特币”来包括源自或基于比特币协议的任何版本或变型。术语“数字资产”可以指任何可转移资产,例如,加密货币、表示至少一部分财产的通证、智能合约、许可证(即,软件许可证)或媒体内容的drm合约等。应当理解,本文档通篇使用术语“数字资产”来表示可能与价值相关联的商品,其可以在从一个实体到另一个实体的交易中被转移或作为支付而提供。

2、区块链是一种点对点的电子账本,其被实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易组成。每个交易是一种数据结构,该数据结构对区块链系统中参与方之间的数字资产的控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,因此区块被链接在一起来创建所有交易的永久、不可更改的记录,这些交易自其开始就已经被写入区块链中。交易包含嵌入到其输入和输出中的称为脚本的小程序,这些小程序指定如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。

3、为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)执行工作以确保每个交易有效,而无效交易则被网络拒绝。安装在节点上的软件客户端通过执行其锁定脚本和解锁脚本来对未花费的交易(utxo)执行该验证工作。如果锁定脚本和解锁脚本的执行被评估为真(true),则该交易有效,并且该交易然后被写入区块链。因此,为了将交易写入区块链,必须:i)由接收交易的第一节点验证该交易–如果交易经过验证,则该节点将其中继到网络中的其他节点;ii)将该交易添加到由矿工建造的新区块中;以及iii)该交易被挖掘,即被添加到过去交易的公共账本中。

4、可以理解,矿工所做的工作的性质将取决于用于维护区块链的共识机制的类型。虽然工作量证明(pow)与原始比特币协议相关联,但可以理解可以使用其他共识机制,例如,权益证明(pos)、委托权益证明(dpos)、容量证明(poc)、经过时间证明(poet)、权威证明(poa)等。不同的共识机制在节点之间如何分配挖矿方面有所不同,其中成功挖掘出区块的几率取决于例如矿工的哈希算力(pow)、矿工持有的加密货币量(pos)、抵押在委托矿工上的加密货币量(dpos)、矿工存储加密难题的预定解的能力(poc)、随机分配给矿工的等待时间(poet)等。通常,向矿工提供挖掘区块的激励或奖励。例如,比特币区块链用新发行的加密货币(比特币)和与区块中的交易相关联的费用(交易费用)奖励矿工。对于比特币区块链,发行的加密货币量随着时间而减少,激励最终仅由交易费用组成。因此,可以理解,交易费用的处理是用于将数据提交给公共区块链(例如,比特币区块链)的底层机制的一部分。

5、如前所述,给定区块中的每个交易对区块链系统中参与方之间数字资产的控制权转移进行编码。数字资产不一定需要对应于加密货币。例如,数字资产可能属于文档、图像、物理对象等的数字表示。向矿工支付加密货币和/或交易费用可能仅作为通过执行必要的工作来维持区块链的有效性的激励。可能的是与区块链相关联的加密货币充当矿工的安全措施,而区块链本身是主要与除去加密货币以外的数字资产相关的交易的账本。在某些情况下,可能的是参与方之间的加密货币转移由不同于和/或独立于使用区块链来维护交易的账本的实体的实体进行处理。

6、一旦作为utxo存储在区块链中,用户就可以将关联的资源的控制权转移到与另一交易中的输入关联的另一个地址。该转移通常是但不是必须使用数字钱包完成。该数字钱包可以是设备、物理介质、程序、诸如台式机、笔记本电脑或移动终端等计算设备上的应用程序(app)、或与网络上的域(例如,互联网)关联的远程托管服务。数字钱包存储公钥和私钥,并且可以用于跟踪与用户关联的资源、通证和资产等的所有权;接收或花费数字资产;转移可能与数字资产(例如,加密货币、许可证、财产或其他类型的资源)相关的通证。

7、尽管区块链技术因使用加密货币实现方式而广为人知,但数字企业方正在探索使用比特币所基于的加密安全系统和可以存储在区块链上的数据这两者以实现新系统。如果区块链可以用于不限于加密货币领域的自动化任务和过程,则将是非常有利的。此类解决方案将能够利用区块链的益处(例如,永久的且防篡改的事件记录、分布式处理等),同时在其应用中更加通用。

8、一个当前研究的领域是使用区块链来实现“智能合约”。这些“智能合约”是被设计为自动化机器可读合约或协议的条款的执行的计算机程序。与用自然语言编写的传统合约不同,智能合约是机器可执行程序,其包括可以处理输入以产生结果、然后可以使得根据这些结果执行动作的规则。

9、具体来说,一个研究领域是资产转移以及可以如何将其记录在区块链上以确保转移受益于区块链的不变性。此外,除了以日志记录(log)这种转移以确保在底层区块链基础设施的支持下安全地记录和以日志记录转移的手段之外,还特别感兴趣的是为资产转移提供有效且安全的协议。


技术实现思路

1、整个本说明书中,词语“包括(comprise)”或诸如“包括(includes)”、“包括(comprises)”或“包括(comprising)”等变型将被理解为暗示包括所述元素、整数、步骤,或元素、整数或步骤的组,但不排除任何其他元素、整数、步骤,或元素、整数或步骤的组。

2、本公开涉及可以使得能够记录支付事件的方法和系统,该支付事件例如可以是换取商品的货币支付。

3、在一些实施例中,提供了一种记录至少涉及第一用户和第二用户的资产转移事件的计算机实现的方法。资产可以理解为是使用区块链通证的物理资产的表示。资产可以是使用区块链通证表示的贵金属。资产可以是通证化资产。通证化资产可以是一定量的货币。资产可以是产品或服务。资产转移事件可以是对产品、项目或服务的货币支付。实施例可以使货币支付能够被记录。货币支付可以以任何货币或任何类型的货币进行,并且可以用于商品或服务,或者可以换取不同的货币或不同类型的货币。实施例可以由计算资源来实现。计算资源可以是实硬件或软件实现的。计算资源可以包括多个处理资源,该多个处理资源可以分布在本地或广泛的地理区域上。该方法可以包括:接收指令数据,该指令数据与请求的资产转移事件相关,该指令数据包括与资产转移的发送方相关的第一组元数据和与资产转移的至少一个接收方相关的第二组元数据。元数据可以标识例如支付的货币、账户、指定接收转移或进行转移的个人、支付的条款和条件以及批准付款的数字签名的公钥或证据中的至少一个。发送方和接收方可以各自与关联于资产登记处的账户相关联。资产的发送方可以与第一事件流相关联,资产的接收方可以与第二事件流相关联。

4、资产登记处是个人或组织拥有的资产的登记方。资产的示例包括由相应的个人或组织所拥有或控制的任何资源。资产的示例包括现金或任何其他有货币价值的东西。资产登记处的示例可以是将现金存款登记到账户的银行,例如,该账户可以用于以特定货币为交易提供资金。另一个示例可以是黄金账户,该黄金账户是个人拥有的黄金存款的登记处。资产登记处与资产发行方相关联,该资产发行方与资产登记处管理的账户相关联。示例发行方可以是皇家造币厂。

5、实施例可以提供一种方法,该方法还可以包括初始化对应于发送方的第一事件流和对应于至少一个接收方的第二事件流。可替代地或附加地,实施例可以包括访问对应于相应的发送方和接收方的第一事件流或第二事件流。事件流可以使用任何合适的硬件或数据结构来实现。实施例提供的方法还可以包括比较第一组元数据和第二组元数据以根据转移协议确定是否可以进行从发送方到至少一个接收方的转移的步骤。基于根据支付协议的相应的元数据组之间的比较,实施例提供的方法可以包括确定相应的元数据组之间的一项或多项对应关系。转移协议可以限定至少一个标准,需要满足该至少一个标准以使资产转移事件能够发生。该至少一个标准可以要求发送方和接收方与关联于同一资产登记处的账户相关联。例如,该至少一个标准可以要求账户在同一银行。该至少一个标准可以要求账户与相同类型的资产相关联。例如,这种标准可以要求两个账户均是针对英镑(gbp)的。

6、事件流可以包括区块链支持的仅附加日志,其中记录在区块链交易中的数据被添加到以时间排序的日志。也就是说,事件流可以按时间顺序(即,数据出现在区块链上的时间)以日志记录记录在区块链上的数据。这意味着区块链上的区块内交易的顺序一般会通过事件流上日志记录的对应事件的对应索引来反映。然而,这并不需要是这种情况。两个同时的事件意味着事件的顺序不会反映在区块内交易的顺序中。可能的是事件流上具有索引(比如n+1)的事件可以被记录在区块b中,而具有索引n的事件(即,在另一个事件之前记录在事件流上的)可以被记录在区块b+1中。

7、可以使用任何合适的数据结构来实现事件流。事件流可以包括以序列存储的一系列条目,其中序列中的每个条目在序列中由单调递增的数字引用。也就是说,事件流中的第一条目是条目1,第二条目是条目2,依此类推。底层区块链的使用意味着可以保证事件流中的各个条目自它们被写入后没有被修改,没有条目被插入到先前连续的条目之间,没有条目被移除,并且没有条目被重新排序。未经授权的各方也不可能将事件附加到事件流。事件流可能是链外的,即不在区块链上。虽然恶意方可能将事件添加到事件流,但已经初始化事件流的用户将需要对要附加到事件流的每个事件进行签署,以便恶意方试图添加事件的实例将是可检测的。

8、基于确定的对应关系,对于发送方和至少一个接收方,可以标识出先前的区块链交易。实施例提供的方法还可以包括:为支付事件生成另外的区块链交易,对于发送方和至少一个接收方中的每一个,该另外的区块链交易包括花费与先前交易相关联的尘埃输出的尘埃输入和对应于尘埃输入的相应的未花费的交易输出(utxo),以及与转移事件相关联的未花费的交易输出;以及将相应的第一事件流和第二事件流与支付事件同步。

9、以上方法使得能够记录资产转移事件,其可以依赖于区块链的不变性并且不需要涉及加密货币的支付。可以进行从与资产登记处相关联的一个账户到与资产登记处相关联的另一个账户的转移,然后针对记录与支付相关联的元数据的事件流对该转移进行安全验证。

10、尘埃输入一般对应于矿工当时愿意处理的最小量的加密货币。该值会随时间变化,因此应理解为不限于特定值。由于尘埃输入一般对应于矿工愿意处理的最小量的加密货币,因此尘埃输入实际上是不可分割的,因为矿工不愿意处理更小的值。这意味着实际上不可能对尘埃输入进行拆分,因此恶意的第三方攻击者更难使用尘埃输入来拆分链,因为矿工不会处理比尘埃输入还小的东西。换句话说,对应于尘埃输入的加密货币量会随时间变化,并且矿工在任何时候愿意处理的最小量可以用于支持尘埃输入并维护安全,因为由于无法拆分尘埃输入,所以仍然几乎无法拆分链。

11、在一些实施例中,可以提供一种将资产从与资产登记处相关联的第一账户转移到与资产登记处相关联的第二账户的计算机实现的方法。实施例提供的方法可以由与转移的发送方相关联的第一计算资源来实现。实施例提供的方法可以包括从被配置为实现第一方面的方法的第二计算资源接收对资产转移的请求。

12、实施例提供的方法还可以包括生成第一组元数据,该第一组元数据指示:

13、(i)至少与要用于转移的发送方账户相关联的资产登记处;

14、(ii)要从发送方账户中提取的资产价值;以及

15、(iii)要用于转移的资产的指示符;

16、实施例提供的方法还可以包括:将第一组元数据传输到第二计算资源以启动转移;从第二计算资源接收与请求的转移相关的指令数据;

17、使用加密签名对指令数据进行签署以生成签署后的指令数据;

18、将签署后的指令数据传输到第二计算资源。

19、为了启动转移,可以将第一组元数据发送到第二计算资源以请求第二计算资源的用户所需的指令数据。

20、以上方法使计算装置能够实现资产转移并受益于第一方面提供的方法的不变性、保密性和安全性。

21、在一些实施例中,可以提供一种验证根据第一方面记录的资产转移事件的计算机实现的方法,该方法由第一计算资源实现,该方法包括:

22、接收验证资产转移事件的请求,该请求包括与来自计算资源的资产转移事件相关联的标识符;

23、搜索与标识符相关联的事件流条目以提取与资产转移事件相关联的元数据;

24、将资产转移事件的确认传输到计算资源。

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