用于确定最佳链的头部客户端制造技术

技术编号:39005688 阅读:16 留言:0更新日期:2023-10-07 10:37
提供了用于管理区块链网络中的数据的机制。在一个实施例中,提供了一种计算机实现的方法,该方法在头部客户端处执行并且包括以下步骤。从头部客户端外部的至少一个外部源接收多个区块头(210),这些区块头中的每个区块头是指区块链中的区块。将所接收的多个区块头存储在存储模块中(220)。通过核实所接收的多个区块头的工作证明,分析该多个区块头(230)。根据所分析的多个区块头,确定区块头的最佳链(240),并将该最佳链存储在存储模块中。该最佳链可以是从创世区块到当前最佳区块的区块链,创世区块是区块链中的第一区块,当前最佳区块是区块链中的最新区块。最佳区块可以具有最高累积工作证明。累积工作证明。累积工作证明。

【技术实现步骤摘要】
【国外来华专利技术】用于确定最佳链的头部客户端


[0001]本专利技术涉及头部客户端,更具体地,涉及用于确定区块头的最佳链的方法和系统。

技术介绍

[0002]区块链是指一种分布式数据结构,其中在分布式对等(P2P)网络(以下称为“区块链网络”)中的多个节点中的每个节点处维护区块链的副本,并且广泛公开该副本。区块链包括一系列数据区块,其中每个区块包括一个或多个事务。除所谓的“Coinbase事务”外,每个事务都指向序列中的先前事务,该序列可以跨越一个或多个区块,直到一个或多个Coinbase事务为止。提交给区块链网络的事务包括在新区块中。新区块的创建过程通常称为“挖掘”,该过程涉及多个节点中的每个节点争相执行“工作证明”,即,基于等待被包括在区块链的新区块中的一组定义的有序且核实有效的待处理事务的表示解决加密难题。工作证明需要以哈希率的形式等花费一定数量的能量。这种能量损失可防止单个实体控制区块链。对于控制区块链的单个实体而言,他们必须控制足够的哈希率来持续挖掘后续区块,从而将他们的区块链版本呈现为正确的版本。应当注意的是,区块链可以在节点处被修剪(prune),并且区块的发布可以通过仅发布区块头来实现。
[0003]要推广加密采用,加密支付方式需要更接近法定支付方式,具体地,在收银台处针对物品的传统支付方式。客户需要能够在离线情况下消费加密货币,这给商家带来了广播事务的负担。要做到这一点,低带宽简单支付验证(SPV)系统是一种合适的解决方案。客户将拥有可以在大多数时间都可离线的钱包,只能支付包含区块头、UTXO、输入事务和默克尔路径的事务。另一方面,商家将拥有可以在具有中央枢纽的地点分支的系统,接收这些支付并将其广播到区块链。

技术实现思路

[0004]本专利技术的各方面在独立权利要求中阐述,并且可选特征在从属权利要求中阐述。
[0005]根据第一方面,本文提供了一种计算机实现的方法,所述方法在头部客户端处执行并且包括以下步骤。从所述头部客户端外部的至少一个外部源接收多个区块头,所述区块头中的每个区块头提及(refer to)区块链中的区块。将所接收到的多个区块头存储在存储模块中。通过核实所接收到的多个区块头的工作证明来分析所述多个区块头。根据所述已分析的多个区块头确定区块头的最佳链,并将所述最佳链存储在所述存储模块中。该最佳链可以是从创世区块到当前最佳区块的多个区块的链,该当前最佳区块具有最高累积工作证明。
[0006]根据第二方面,本文提供了一种头部客户端。所述头部客户端包括:接口;处理器,耦合到所述接口;以及,存储器,耦合到所述处理器,所述存储器具有安装在其上的计算机可执行指令,当所述计算机可执行指令被执行时配置所述处理器以执行所述第一方面的所述方法。
[0007]根据第三方面,本文提供了一种计算机可读存储介质,所述计算机可读存储介质
包括计算机可执行指令,当所述计算机可执行指令被执行时配置处理器以执行所述第一方面的所述方法。
[0008]根据第四方面,本文提供了一种系统,所述系统包括:头部客户端,以及与所述头部客户端通信的轻客户端。
[0009]贯穿本说明书使用的词语“包含”或变体(诸如“包括”或“包含”)将被理解为意味着包含规定的元素、整数、步骤或元素、整数或步骤组,但不排除任何其他元素、整数或步骤或元素、整数或步骤组。
附图说明
[0010]现将仅通过举例的方式并参考附图对本公开的各方面和实施例进行说明,其中:
[0011]图1示出了用于实现区块链的示例性系统;
[0012]图2示出了用于在头部客户端处确定区块头的最佳链的方法;
[0013]图3示出了在头部客户端处从多个外部源获取区块头;
[0014]图4A示出了用于实现本公开方案的实施例的客户端应用程序的示例性实现方式;
[0015]图4B示出了可以由轻客户端设备上的客户端应用程序的用户界面层呈现的用户界面的示例的模型。
具体实施方式
[0016]本文提出了一种提供区块头的最佳链的系统。这是通过中间对等体(intermediate peer)来实现的,该中间对等体在本文中称为头部客户端(headers client),其可以与轻客户端(light client)一起工作。头部客户端通过由与区块链中的区块对应的一个或多个区块头提供的信息来确定区块头的最佳链。本文所述的头部客户端提供的好处是低操作带宽、廉价的存储和处理、以及低运行和存储成本。
[0017]本文公开的各方面和实施例可以向轻客户端系统提供区块头的最佳链的视图,这对于轻客户端处的应用程序可能十分有用,例如用于事务验证。
[0018]对等网络(peer

to

peer network)中的节点接受作为区块链的有效版本的区块链通常称为“最佳”或“最长”链。要向区块链添加新区块,需要处理能力,并且区块链上的每个区块耗尽能量才能到达区块链。与具有较少区块的链相比,具有较多区块的区块链(也就是“最长链”)通常会耗费较多能量来构建,并且相较于“较短”链,节点通常会采用该链。更准确地说,将具有最大工作量的链称为“最佳链”。在大多数情况下,最长区块链也将是有效区块的最佳链。然而,应当理解的是,情况可能并非始终如此,例如,与较长链相比,较短链具有较大工作量。网络中的所有节点采用区块的最佳链这一规则允许网络上的每个节点就区块链的外观达成一致,并因此就相同的事务历史记录达成一致。这意味着,在网络上独立运行的计算机可以维护区块链的全局共享视图。头部客户端可以使用提供给它的区块头来提供最佳链,也称为区块头的最佳链。在下文中,仅为了便于说明,术语“最佳链”和“最长链”在本说明书中可互换使用。
[0019]根据本公开的第一方面,提供了一种计算机实现的方法,该方法在头部客户端处执行并且包括以下步骤:从头部客户端外部的至少一个外部源接收多个区块头,这些区块头中的每个区块头是指区块链中的区块;将所接收的多个区块头存储在存储模块中;通过
核实所接收的多个区块头的工作证明来分析该多个区块头;根据所分析的多个区块头确定区块头的最佳链,并将该最佳链存储在存储模块中。
[0020]该最佳链可以是从创世区块到当前最佳区块的区块链,创世区块是区块链中的第一区块,当前最佳区块是区块链中的最新区块。最佳区块可以具有最高累积工作证明,这可以被描述为网络在维护区块链的该特定分支时消耗的能量最多。
[0021]在一些示例中,多个区块头包括存储在外部源的所有区块头(即,从创世区块到当前最佳区块)。
[0022]使用头部客户端的好处在于,区块头是轻量级的,因为它们不包含事务信息。比特币的轻客户端通常不拥有区块链的完整副本,因此与“完整”或“矿工”节点相比,运行成本低得多,并且需要的带宽也低得多。轻客户端可以依赖头部客户端提供给它的数据,例如关于区块头的最佳链的数据。因此,另一个好处可以在于,允许轻客户端根据其自己的数据/事务量进行扩展,完全不受进入每个区块的数据量和事务量的影响。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,所述方法在头部客户端处执行并且包括以下步骤:从所述头部客户端外部的至少一个外部源接收多个区块头,所述区块头中的每个区块头提及区块链中的区块;将所接收到的多个区块头存储在存储模块中;通过核实所接收到的多个区块头的工作证明来分析所述多个区块头;从已分析的多个区块头确定区块头的最佳链,并将所述最佳链存储在所述存储模块中。2.根据权利要求1所述的方法,其中所述最佳链是所述区块链中从创世区块到具有最高累积工作证明的当前最佳区块的区块链。3.根据权利要求1或2所述的方法,其中所述分析还包括:确定所述多个区块头中的一个区块头的状态,其中确定所述状态包括确定所述区块头是否满足以下各项中的一项或多项:(i)在所述最佳链中;(ii)作为孤立项;(iii)有效;(iv)无效;(v)被争用;和/或(vi)状态未知。4.根据权利要求3所述的方法,所述方法还包括:标记所述区块头和/或区块头分支的状态,并将所述状态存储在所述存储模块中。5.根据前述任一项权利要求所述的方法,其中所述分析表明两个区块头提及所述区块链中相同高度处的两个不同区块:通过核实所述两个区块头中的工作证明来确定哪个区块头是所述最佳链的一部分;确定所述两个区块头中具有较高难度目标和最佳工作证明的第一区块头是最佳区块;将所述最佳区块添加到所述最佳链中。6.根据权利要求5所述的方法,所述方法还包括:确定所述两个区块头中的第二区块不是所述最佳链的一部分。7.根据前述任一项权利要求所述的方法,其中所述至少一个外部源在对等网络中。8.根据权利要求7所述的方法,其中从所述对等网络获取所述多个区块头包括:向所述对等网络中的第一对等体发送第一消息,所述第一消息包括对在所述第一对等体处可用的第一多个区块头的请求,以发送到所述头部客户端;响应于所述第一消息,接收存储在所述第一对等体处的所述第一多个区块头;向所述第一对等体发送第二消息,所述第二消息包括对所述第一节点已经在所述对等网络中与之交互的一个或多个其他对等体的标识的请求;接收所述第一对等体响应于所述第二消息而发送的一个或多个其他对等体的标识;向所接收到的一个或多个标识发送所述第一消息;以及响应于所述第一消息,从所述一个或多个其他对等体接收第二多个区块头。9.根据权利要求8所述的方法,所述方法还包括:向所接收到的一个或多个标识发送所述第二消息;
接收所述一个或多个其他对等体已经在所述...

【专利技术属性】
技术研发人员:安德鲁
申请(专利权)人:区块链许可股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1