技术新讯 > 电子通信装置的制造及其应用技术 > 用于提供对与区块链相关联的多个功能和应用程序的访问的计算机实现的方法和系统与流程  >  正文

用于提供对与区块链相关联的多个功能和应用程序的访问的计算机实现的方法和系统与流程

  • 国知局
  • 2024-10-21 15:29:53

本公开总体涉及用于实现与一个或多个客户端的分布式分类账(即,区块链)相关联的一项或多项服务的平台的方法和系统。具体而言,本公开涉及但不限于提供对与一个或多个客户端的区块链相关联的多个功能和应用程序的访问,例如实现数字或令牌化资产的转让。

背景技术:

1、在本文中,“区块链”一词涵盖所有形式的基于计算机的电子分布式分类账。这些分类账包括基于共识的区块链和事务链技术、许可和非许可的分类账、共享分类账、公共和私有区块链,及其变体。虽然已提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币分类账。为了方便和说明的目的,在本文中可能会提及比特币。但应注意,本公开不限于与落入本公开范围内的比特币区块链以及与任何类型的数字资产或数字资产的表示相关联的替代区块链实施方案和协议一起使用。在本文中,术语“客户端”、“实体”、“节点”、“用户”、“发送者”、“接收者”、“支付者”和“收受者”可以指基于计算或处理器的资源。“比特币”一词可包括源自或基于比特币协议的任何版本或变体。术语“数字资产”可以指任何可转让的资产,例如加密货币、表示至少一部分财产的令牌、智能合约、执照(即,软件执照)或媒体内容的drm合约等。应当理解的是,贯穿本文使用的术语“数字资产”表示可能与价值相关联的商品,该价值可以作为事务中的支付从一个实体转移到另一实体或提供给另一实体。

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

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

4、应当理解的是,矿工执行的工作的性质将取决于用于维护区块链的共识机制的类型。虽然工作证明(pow)与原始比特币协议相关联,但应当理解的是,可以使用其他共识机制,诸如权益证明(proof of stake,简称pos)、委托权益证明(delegated proof ofstake,简称dpos)、容量证明(proof of capacity,简称poc)、过去时间证明(proof ofelapsed time,简称poet)、权威证明(proof of authority,简称poa)等。不同的共识机制在节点之间的挖掘分布方式上有所不同,成功挖掘区块的几率取决于矿工的哈希能力(pow)、矿工持有的加密货币的数量(pos)、委托矿工持有的加密货币的数量(dpos)、矿工存储加密难题的预定解决方案的能力(poc)、随机分配给矿工的等待时间(poet)等。通常,矿工会因挖掘区块而获得激励或奖励。例如,比特币区块链用新发行的加密货币(比特币)和与区块中的事务相关联的费用(事务费用)奖励矿工。对于比特币区块链,加密货币的发行量会随时间的推移而减少,其激励最终仅由事务费用组成。因此,应当理解的是,事务费用的处理是将数据提交到公共区块链(诸如比特币区块链)的底层机制的一部分。

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

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

7、虽然区块链技术最广为人知的是用于实现加密货币,但数字企业家正在探索如何利用比特币所基于的加密安全系统和可存储在区块链上的数据来实现新的系统。如果区块链可以用于加密货币领域之外的自动任务和过程,则会非常有利。这种解决方案将能够发挥区块链的优势(例如,永久性防篡改事件记录、分布式处理等),同时其应用将更加广泛。

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

9、具体地,研究的一个领域是资产转移以及如何将其记录在区块链上,以确保转移从区块链的不可变性中受益。此外,除了记录此类转移的手段之外,还需要提供一种高效、安全的资产转移协议,以确保在底层区块链基础设施的支持下安全地记载和记录资产转移。

技术实现思路

1、贯穿本说明书使用的词语“包含”或变体(例如“包括”或“包含”)将被理解为意味着包含规定的元素、整数、步骤或者元素、整数或步骤的群组,但不排除任何其他元素、整数或步骤或者元素、整数或步骤群组。

2、在一些实施例中,提供了一种将条目附加到至少一个事件流的计算机实现的方法。事件流可以包括区块链支持的仅附加日志(log),其中区块链事务中记录的数据被添加到按照时间排序的日志中。也就是说,事件流按照时间顺序(即,在区块链上出现的顺序)记录在所述区块链上的数据。事件流可以使用任何合适的数据结构来实现。事件流可以包括存储在序列中的一系列条目,其中所述序列中的每个条目在所述序列中通过单调增加的数字来引用。也就是说,事件流中的第一条目是条目1,第二条目是条目2,等等。利用底层区块链意味着可以保证所述事件流中的各个条目自写入以来没有被修改,先前连续条目之间没有插入任何条目,没有删除任何条目,也没有重新排序任何条目。未经授权的各方也不可能将事件附加到事件流中。所述至少一个事件流可能属于与在资产转移平台上注册的用户相关联的资产账户。所述方法可以通过处理资源来实现。所述处理资源可以是硬件或软件实现的。

3、所述方法可以包括接收将条目附加到所述至少一个事件流的请求,所述条目包括指令数据和所述至少一个事件流的标识符。所述指令数据可以涉及通过所述处理资源或通过与所述处理资源通信的另一资源正在处理的事务。所述请求可以通过数据通信网络或通过应用程序编程接口(api)调用来接收。所述方法还可以包括从所述请求中检索所述至少一个事件流的所述标识符。所述标识符可以标识与所述至少一个事件流相关联的支付处理资源的实例。基于所述标识符,所述方法还可以包括访问所述至少一个事件流,以及获取与所述标识的至少一个事件流相关联的先前条目的日志。可以修剪所述先前条目的日志。所述修剪可能会删除早于指定到期日期的条目。所述方法还可以包括从所述请求中检索所述指令数据。所述指令数据可以包括可以通过所述处理资源进一步处理的多个数据项。

4、所述方法可以包括生成所述指令数据的唯一标识符。生成所述唯一标识符可以包括从所述指令数据中检索所述唯一标识符。此类唯一标识符可以是用于对所述指令数据进行签名的加密签名。生成所述唯一标识符可以包括处理所述指令数据以使用哈希算法等来生成所述标识符。

5、基于所述生成的唯一标识符,所述方法还可以包括确定与所述指令数据相同的数据是否存在于与所述标识的事件流相关联的所述先前条目的日志中。这可以包括在所述日志中搜索所述生成的唯一标识符,以确定其是否存在于所述先前条目的日志中。所述先前条目的日志可以是已经记录在所述事件流中的事务的数据库。

6、基于所述确定步骤的结果,所述方法还可以包括将条目附加到所述至少一个事件流,所述条目包括所述指令数据的所述唯一标识符;或者拒绝所述事件流的所述条目作为重复条目。

7、在一些实施例中,提供了一种核实至少一个数据项的计算机实现的方法。所述数据项可以在资产转移事件期间提供。所述数据项可以是字符的字母数字序列。所述数据项可以是数字。所述数据项可以是随机生成或伪随机生成的字符串。所述方法通过处理资源来实现。所述处理资源可以是基于软件或基于硬件的资源。所述方法可以包括从计算设备接收请求数据。所述计算设备可以是移动计算设备。所述请求数据可以包括指令数据集,所述指令数据集包括与所述资产转移事件相关联的实体的标识符。所述请求数据还可以包括挑战数据结构。所述挑战数据结构可以包括所述至少一个数据项的第一数字标识符;和/或所述至少一个数据项的表示。

8、所述方法可以包括通过以下方式确定所述至少一个数据项的有效性:

9、-通过确定所述指令数据集中或与所述实体相关联的许可证数据结构中存在对应的凭证,确定所述至少一个数据项的所述表示与所述许可证数据结构中存储的数据项之间的一致性(concurrence)。对应的凭证可以是相同的数据项,也可以是与所述数据项等效的另一数据项。例如,所述对应的凭证可以是所述数据项的哈希。

10、所述方法可以包括针对相应指令数据集或许可证数据结构中的所述对应的凭证生成第二数字标识符。

11、所述方法可以包括生成包括以下各项的响应数据:所述对应的凭证的标识符;和/或所述第二数字标识符;和/或与所述第一数字标识符和所述第二数字标识符相关联的签名。

12、所述方法还可以包括将所述响应数据发送到所述计算设备。

13、在其他实施例中,提供了一种核实至少一个数据项的计算机实现的方法。所述数据项可以在资产转移事件期间提供。所述数据项可以是字符的字母数字序列。所述数据项可以是数字。所述数据项可以是随机生成或伪随机生成的字符串。所述方法通过第一处理资源来实现。所述第一处理资源可以是支付处理资源或支付处理资源的实例。所述方法可以包括生成请求数据。所述请求数据可以包括指令数据集,所述指令数据集包括与所述资产转移事件相关联的实体的标识符和/或挑战数据结构,其中所述挑战数据结构可以包括所述至少一个数据项的第一数字标识符;和/或所述至少一个数据项的表示。

14、所述方法还可以包括将所述请求数据发送到第二处理资源。所述第二处理资源可以是任何计算设备。所述第二处理资源可以是支付处理资源的实例。

15、所述方法还可以包括从所述第二处理资源接收响应数据。

16、所述方法还可以包括通过以下方式核实所述数据项:根据所述响应数据来确定存在第二数字标识符与所述第一数字标识符相结合的组合的签名。

17、在一些实施例中,提供了一种提供对资产转移处理平台的访问的计算机实现的方法。所述资产转移处理平台可以是根据支付处理协议来处理支付的资源。所述资产转移处理平台可以使用任何处理资源来实现。所述方法可以通过处理资源来实现,所述处理资源可以通过云或通过本地化硬件或软件资源的集合来实现。所述方法可以包括从与用户相关联的客户端设备接收消息。所述消息可以通过数据通信网络或另一种合适的手段(例如,通过应用程序编程接口(api)调用)来接收。所述客户端设备可以是任何计算设备。所述消息可以包括与所述消息相关联的消息类型的至少一个标识符。这可以使用api调用中的参数来实现。这也可以使用通过数据通信网络传输的消息中的参数来实现。所述消息还可以包括与在所述资产转移处理平台上注册的简档(profile)相关联的至少一个标识符,其中所述简档与所述资产转移处理平台提供的至少一个事件流(event stream)相关,其中所述至少一个事件流与至少一个资产类型相关联。

18、事件流可以包括区块链支持的仅附加日志,其中区块链事务中记录的数据被添加到按照时间排序的日志中。也就是说,事件流记录按照时间顺序(即,按照在区块链事务序列中发生的顺序)记录在区块链上的数据。事件流可以使用任何合适的数据结构来实现。事件流可以包括存储在序列中的一系列条目,其中所述序列中的每个条目在所述序列中通过单调增加的数字来引用。也就是说,事件流中的第一条目是条目1,第二条目是条目2,等等。利用区块链事务将数据写入事件流意味着可以保证所述事件流中的各个条目自写入以来没有被修改,先前连续条目之间没有插入任何条目,没有删除任何条目,也没有重新排序任何条目。未经授权的各方也不可能将事件附加到事件流中。所述消息还可以包括与请求相关的请求数据,所述请求与所述消息和所述简档相关联。所述请求数据可以包括与所述请求相关的指令数据。所述指令数据可以标识要用于处理所述请求的各方和/或许可证数据结构(permit data structure)。

19、简档可以对应于资产转移平台资源的分配,所述资产转移平台资源用于使用所述资产转移平台来处理资产转移。与简档相关联的资产转移平台的实例可以利用所述分配的资源来执行作为所述方法的一部分的处理步骤。

20、所述方法还可以包括根据所述接收的消息来确定与所述消息相关联的所述消息类型和在所述资产转移处理平台上注册的所述简档。确定所述消息类型可以包括处理所述请求以确定api调用中参数的存在或通过数据通信网络传输的消息中参数的存在。

21、所述方法还可以包括基于所述确定的消息类型来标识用于所述确定的消息类型的消息响应协议。所述消息响应协议定义了一系列标准,所述一系列标准用于确定待要提供给请求者的响应的响应类型或内容。所述消息响应协议可以定义请求的要求,以便对请求执行操作。所述消息响应协议可能需要访问许可证数据结构来确定数据项或加密签名的存在。

22、所述方法还可以包括标识所述简档的许可证数据结构,其中所述许可证数据结构至少提供标准,所述标准定义哪些用户可以使用所述确定的消息类型与所述简档交互。许可证数据结构可以包括公钥、使用与所述公钥对应的私钥生成的加密签名、至少一个数据项和许可证标识符。所述私钥和所述公钥可以以加密方式配对。所述私钥和所述公钥可以使用椭圆曲线数字签名算法(elliptic curve digital signature algorithm,简称ecdsa)技术生成。所述数据项可以是字母数字序列或数字序列。

23、所述方法还可以包括处理所述请求数据以确定存在用于对所述请求数据进行签名的加密签名,并且基于确定存在用于对所述请求数据进行签名的加密签名,进一步处理所述请求数据以从所述请求数据中提取数据项。

24、所述方法还可以包括对所述提取的数据项应用所述标识的消息响应协议。所述应用可以包括使用所述请求数据中的所述数据项来确定是否可以响应于所述请求而采取动作。所述数据项可以包括各方的标识、许可证数据结构的标识、账户持有者和/或账户管理者的标识以及资产类型的标识。

25、账户持有者可以对应于与在所述资产转移平台上注册的所述简档相关联的用户。账户持有者可以对应于账户,所述账户可以是资金账户,所述资金账户包含在使用所述资产转移平台的事务中使用的货币供应量。替代地或附加地,所述账户可以对应于资产登记册,其中可以登记特定资产类型的资产的供应。此类账户可以是黄金账户。账户管理者可以对应于管理所述资金账户的银行或用于管理所述资产登记册的资产登记处。例如,在黄金账户的示例中,所述账户管理者可以是位于英国兰特里森特cf72 8yt的皇家铸币厂,所述资产登记处是个人在皇家铸币厂开设的账户。另一示例可以是在汇丰银行开设的资金账户,其中所述账户管理者将是汇丰银行,并且所述资产登记处将是其gbp(即,英镑)储蓄的资金账户。

26、所述方法还可以包括通过以下方式,基于所述消息响应协议、所述提取的数据项和所述许可证数据结构来生成对所述消息的响应:使用所述许可证数据结构来确定是否允许所述用户使用所述标识的消息类型与所述简档交互。

27、所述方法还可以包括使用所述消息响应协议来确定所述提取的数据项是否满足所述确定的消息类型的要求;以及基于所述确定的消息类型的所述要求被满足,通过与所述至少一个事件流交互来生成响应内容,所述至少一个事件流与所述简档相关联。

28、在其他实施例中,提供了一种使得用户能够更新与资产转移处理平台相关联的余额的计算机实现的方法。所述资产转移处理平台可以是根据支付处理协议来处理支付的资源。所述资产转移处理平台可以使用任何处理资源来实现。所述方法可以通过处理资源实现,所述处理资源可以使用软件或硬件或使用基于云的资源来实现。

29、所述方法还可以包括从与用户相关联的客户端设备接收消息。

30、所述消息还可以包括以下各项中的至少一项:与余额更新相关联的标识符;与在所述资产转移处理平台上注册的简档相关联的至少一个标识符。

31、所述方法还可以包括从所述接收的消息来确定在所述消息中标识的至少一个简档。简档可以对应于所述资产转移平台的实例。

32、所述方法还可以包括对所述提取的数据项应用更新请求协议(an updaterequest protocol)以确定是否可以更新所述余额。所述更新请求协议可以包括一系列标准,所述一系列标准用于确定是否可以更新余额,即是否可以从所述账户进行转账。从所述账户进行转账可以是将所述资产的一部分转移给另一方。

33、所述方法还可以包括通过以下方式,基于所述更新请求协议、所述提取的数据项和所述权限数据结构(permissions data structure)来生成对所述消息的响应:使用所述权限数据结构来确定所述用户是否拥有更新所述余额所需的加密权限;使用所述更新请求协议来确定是否可以进行所述更新;以及基于满足所述确定的消息类型的要求,通过更新所述余额并与所述至少一个事件流交互来生成响应内容,所述至少一个事件流与所述简档相关联。

34、与所述事件流交互可以包括以下各项中的至少一项:查看所述事件流;从所述事件流中检索数据;写入所述事件流;从所述事件流读取;或者将数据附加到所述事件流。与所述事件流进行任何交互都可以生成其自己的响应内容。所述响应内容可以是发送给请求与所述事件流交互的实体的消息,也可以是发送给与所述事件流相关联的实体的消息。

35、在一些实施例中,提供了一种使得能够访问所述资产转移处理平台的计算机实现的方法。所述方法可以通过处理资源来实现。所述方法可以包括初始化所述计算设备上的应用程序,所述应用程序被配置为生成消息。所述消息可以包括以下各项中的至少一项:与所述消息相关联的消息类型的至少一个标识符;与在所述资产转移处理平台上注册的简档相关联的至少一个标识符,其中所述简档与所述资产转移处理平台实现的至少一个事件流相关联,其中所述至少一个事件流与至少一个资产类型相关联;与请求相关的请求数据,所述请求与所述消息和所述简档相关联。

36、所述方法还可以包括从用户接收输入,所述输入标识要发送到所述资产转移处理平台的消息的消息类型。所述输入还可以标识在所述资产转移处理平台上注册的简档。所述输入还可以包括请求数据,所述请求数据包括要向所述资产转移处理平台提出的请求的内容。

37、所述方法还可以包括对所述请求数据应用加密签名以生成已签名请求数据。

38、所述方法还可以包括生成包括以下各项的消息:所述用户标识的所述消息类型的标识符;在所述资产转移处理平台上注册的所述简档的标识符;以及所述已签名请求数据。

39、所述方法还可以包括将所述消息发送到所述资产转移处理平台。

40、在其他实施例中,提供了一种资产转移处理平台。所述平台可以被配置为从与用户相关联的客户端设备接收消息,所述消息包括:

41、-与所述消息相关联的消息类型的至少一个标识符;

42、-与在所述资产转移处理平台上注册的简档相关联的至少一个标识符,其中所述简档与至少一个事件流相关联,所述至少一个事件流与所述资产转移处理平台相关联,其中所述至少一个事件流与至少一个资产类型相关联;以及

43、-与请求相关的请求数据,所述请求与所述消息和所述简档相关联。

44、所述平台可以被配置为根据所述接收的消息来确定与所述消息相关联的所述消息类型和在所述资产转移处理平台上注册的所述简档。

45、所述平台还可以被配置为基于所述确定的消息类型来标识用于所述确定的消息类型的消息响应协议。

46、所述平台还可以被配置为标识所述简档的许可证数据结构,其中所述许可证数据结构提供标准,所述标准定义哪些用户可以使用所述确定的消息类型与所述简档交互。

47、与所述简档的交互可以包括与所述事件流的任何交互,所述事件流与所述简档相关联。

48、所述平台可以被配置为处理所述请求数据以确定存在用于对所述请求数据进行签名的加密签名,并且基于确定存在用于对所述请求数据进行签名的加密签名,进一步处理所述请求数据以从所述请求数据中提取要用于使用所述标识的消息响应协议来确定响应的数据项。

49、所述平台可以被配置为对所述提取的数据项应用所述标识的消息响应协议。

50、所述平台还可以被配置为通过以下方式,基于所述消息响应协议、所述提取的数据项和所述权限数据结构来生成对所述消息的响应:使用所述许可证数据结构来确定所述用户是否具有使用所述标识的消息类型与所述简档交互所需的加密权限;使用所述消息响应协议来确定所述提取的数据项是否满足所述确定的消息类型的要求;以及基于所述确定的消息类型的所述要求,通过与所述至少一个事件流交互来生成响应内容,所述至少一个事件流与所述简档相关联。

51、实施例可以全部或部分结合使用。

本文地址:https://www.jishuxx.com/zhuanli/20241021/321660.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。