区块链树结构制造技术

技术编号:38997714 阅读:15 留言:0更新日期:2023-10-07 10:29
一种创建覆盖在区块链上的树结构的不同版本的计算机实现的方法,其中所述方法由树创建者执行并且包括:创建目标父节点的一个或多个目标子节点,每个目标子节点包括相应数据有效载荷;以及,通过将所述目标子节点中的每个目标子节点与相应链路标识符关联,在每个目标子节点与所述目标父节点之间形成相应边,其中所述相应链路标识符基于至少一个链下参数。所述相应链路标识符基于至少一个链下参数。所述相应链路标识符基于至少一个链下参数。

【技术实现步骤摘要】
【国外来华专利技术】区块链树结构


[0001]本公开涉及一种创建覆盖在区块链上的树结构的不同版本的方法,以及一种访问树结构的版本的方法。

技术介绍

[0002]区块链是指一种分布式数据结构,其中在分布式对等(P2P)网络(以下称为“区块链网络”)中的多个节点中的每个节点处维护区块链的副本,并且广泛公开该副本。区块链包括一系列数据区块,其中每个区块包括一个或多个事务(transaction)。除所谓的“coinbase事务”外,每个事务都指向序列中的先前事务,该序列可以跨越一个或多个区块,回到一个或多个coinbase事务。coinbase事务将在下文进一步讨论。提交给区块链网络的事务包括在新区块中。新区块的创建过程通常称为“挖掘”,该过程涉及多个节点中的每个节点争相执行“工作证明”,即,基于等待被包括在区块链的新区块中的一组定义的有序且核实有效的未决事务的表示解决加密难题。应当注意的是,区块链可以在一些节点处被修剪(prune),并且区块的发布可以通过仅发布区块头来实现。
[0003]区块链中的事务可用于以下目的中的一个或多个:传送数字资产(即,一定数量的数字通证);对虚拟化分类账或注册表中的一组条目进行排序;接收和处理时间戳条目;和/或对索引指针按时间排序。也可利用区块链实现区块链上的层级附加功能。例如,区块链协议可允许在事务中存储附加的用户数据或数据索引。能够存储在单个事务中的最大数据容量没有预先指定的限制,因此可以并入越来越复杂的数据。例如,这可用于在区块链中存储电子文档、音频或视频数据。
[0004]区块链网络的节点(通常称为“矿工”)执行分布式事务注册和验证过程,这将后续更详细地描述。总之,在该过程中,节点核实事务并将这些事务插入到区块模板中,这些事务尝试为该区块模板标识有效的工作证明解。一旦找到有效的解,新区块便会被传播到网络的其它节点,从而使得每个节点能够在区块链上记录新区块。为了将事务记录在区块链中,用户(例如,区块链客户端应用程序)将该事务发送到网络中的节点中的一个节点进行传播。接收该事务的节点可以争相寻找将核实有效的事务并入新区块的工作证明解。每个节点被配置为执行相同的节点协议,该协议将包括用于确认事务有效的一个或多个条件。无效事务将不会传播或并入到区块中。假定事务已经核实有效,从而在区块链上被接受,则该事务(包括任何用户数据)将因此在区块链网络中的每个节点上作为不可改变的公共记录进行注册和索引。
[0005]成功解决工作证明难题可创建最新区块的节点通常被奖励一个称为“coinbase事务”的新事务,该事务分发数字资产数额,即通证数量。无效事务的检测和拒绝是通过竞争节点的行动来执行的,这些竞争节点充当网络的代理并且通过激励报告和阻止不正当行为。信息的广泛发布使得用户可以连续地审计节点的性能。仅发布区块头使得参与者可以确保区块链具有持续完整性。
[0006]在“基于输出的”模型(有时称为基于UTXO的模型)中,给定事务的数据结构包括一
个或多个输入和一个或多个输出。任何可花费输出包括指定数字资产数额的元素,该元素可从进行中的事务序列导出。可花费输出有时称为UTXO(“未花费事务输出”)。输出还可以包括锁定脚本,该锁定脚本指定输出的未来赎回条件。锁定脚本是限定核实和传送数字通证或资产所必需的条件的谓词。事务(除coinbase事务之外)的每个输入包括指向先前事务中的此类输出的指针(即引用),并且还可以包括解锁脚本,用于解锁指向输出的锁定脚本。因此,考虑一对事务,将其称为第一事务和第二事务(或“目标”事务)。第一事务包括指定数字资产数额的至少一个输出,并且包括定义解锁该输出的一个或多个条件的锁定脚本。第二目标事务包括至少一个输入和解锁脚本,该至少一个输入包括指向第一事务的输出的指针;该解锁脚本用于解锁第一事务的输出。
[0007]在此类模型中,当第二目标事务被发送到区块链网络以在区块链中传播和记录时,在每个节点处应用的有效性条件之一将是解锁脚本满足在第一事务的锁定脚本中定义的一个或多个条件中的所有条件。另一条件将是第一事务的输出尚未被另一早期有效事务赎回。根据这些条件中的任何一个条件发现目标事务无效的任何节点都不会传播该事务(作为有效事务,但可能注册无效事务),也不将该事务包括在要记录在区块链中的新区块中。
[0008]另一种事务模型是基于账户的模型。在这种情况下,每个事务均不通过参考过去事务序列中先前事务的UTXO来定义转移的数额,而是通过参考绝对账户余额进行定义。所有账户的当前状态由节点单独存储到区块链中,并不断更新。
[0009]区块链网络本身属于覆盖在底层网络(例如,互联网Internet)上的覆盖网络。然而,也可以在区块链上覆盖另一层覆盖网络。Metanet(元网)便是此方面的示例。Metanet的每个节点都是区块链上的不同事务(应当注意的是,“节点”现在用于指代不同的含义,即并非指代区块链网络的节点,而是指代Metanet的节点)。数据内容和Metanet元数据存储在每个此类事务的有效载荷(payload)中,通过OP_RETURN或通过诸如OP_PUSHDATA等其它方式存储在事务的不可花费输出中。数据内容是Metanet存储的实际用户内容,例如文本、图像、视频或音频内容等;而元数据定义了Metanet节点之间的链接。Metanet节点之间的链接或边不一定对应于区块链层的花费边。即,如果给定Metanet事务的输入指向区块链层的另一资金事务的输出,则Metanet层的相同事务或Metanet节点的父节点不一定与资金事务相同。相反,Metanet层的链接或边定义了Metanet的数据内容之间的链接。

技术实现思路

[0010]Metanet被设计为静态结构,在该静态结构中,在向树中添加新节点之后,无法删除该新节点。使用不同的技术(例如,花费相对的UTXO),可以将节点视为无效,但是无法将它们与所述树分离(无法取消链路)。当频繁更新所述树时,这可能是一个限制,因为所述树显著增长,并且钱包应用程序和其他应用程序必须下载和处理全部所述节点,包括所述无效节点。类似的考虑可能适用于覆盖在区块链上的其他形式的覆盖网络,而不仅仅是所述Metanet。
[0011]本公开提供了一种基于覆盖在区块链上的图形结构(例如,基于Metanet的图形)的方案,可以用于创建所述图形结构的不同版本(即,视图)。应当注意的是,术语“树结构”可与术语“图形结构”互换使用。这些术语可以分别简称为树和图形。例如,在实施例中,本
文中称为Metanet Flux协议(MFP)的新Metanet协议允许创建和访问Metanet图形的不同版本,例如,取决于正在访问所述图形的用户。在一些示例中,所述图形的所述版本可以取决于访问所述图形的时间和/或日期。换句话说,与所述Metanet图形仅限于具有单个静态结构不同,所述MFP允许变化的(即,动态)结构,因此出现了术语“通量”。
[0012]动态树允许根据一些链下条件(例如,时间、用户名)创建节点。因此,可以创建时变、可定制、用户特定树。这本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的方法,用于创建覆盖在区块链上的树结构的不同版本,所述树结构包括节点集合和节点之间的边,其中每个节点是记录在所述区块链上的不同事务,其中每个边从相应子节点连接到相应父节点,其中所述父节点中的一个父节点是所述树结构的根节点,其中每个节点与相应密钥相关联,其中每个子节点包括i)相应事务标识符、和ii)对应于与所述相应父节点相关联的所述相应密钥的签名;并且其中所述方法由树创建者执行并且包括:创建目标父节点的一个或多个目标子节点,每个目标子节点包括相应数据有效载荷;以及通过将所述目标子节点中的每个目标子节点与相应链路标识符关联,在每个目标子节点与所述目标父节点之间形成相应边,其中所述相应链路标识符基于至少一个链下参数。2.根据权利要求1所述的方法,其中所述目标子节点中的至少两个目标子节点与不同的相应链路标识符相关联。3.根据权利要求1或2所述的方法,其中所述目标子节点中的每个目标子节点与不同的相应链路标识符相关联。4.根据前述任一项权利要求所述的方法,所述方法包括:生成所述相应链路标识符中的一个、一些或每个相应链路标识符。5.根据前述任一项权利要求所述的方法,所述方法包括:从所述树创建者之外的一个或多个实体接收所述相应链路标识符中的一个、一些或每个相应链路标识符。6.根据前述任一项权利要求所述的方法,其中所述相应链路标识符中的一个、一些或每个相应链路标识符是通过向相应链路标识符函数提供相应链下参数集合而生成的,所述相应链路标识符函数被配置为基于参数集合生成链路标识符。7.根据权利要求6所述的方法,其中所述相应链路标识符中的一个、一些或每个相应链路标识符是通过向相同的链路标识符函数提供相应链下参数集合而生成的。8.根据权利要求7所述的方法,其中所述相应链路标识符中的至少两个相应链路标识符是通过向不同的链路标识符函数提供相应链下参数集合而生成的。9.根据权利要求6或其任何从属权利要求所述的方法,其中向所述相应链路标识符函数提供的所述相应链下参数集合包括以下各项中的一个、一些或每一个:

一个或多个时间相关参数,

一个或多个用户特定参数,

特定于一组用户的一个或多个参数,

一个或多个加权参数,

一个或多个数据集特定参数,

一个或多个应用程序特定参数。10.根据权利要求9所述的方法,其中除所述相应链下参数集合之外,还向所述相应链路标识符函数提供所述目标父节点的事务标识符以生成所述相应链路标识符。11.根据权利要求6或其任何从属权利要求所述的方法,其中对向所述链路标识符函数提供的所述相应参数集合中的一个或多个参数进行加密。12.根据权利要求6或其任何从属权利要求所述的方法,其中所述相应链路标识符中的一个、一些或每个相应链路标识符是基于至少一个相同参数的不同值而生成的。
13.根据权利要求6或其任何从属权利要求所述的方法,其中所述链路标识符函数包括哈希函数。14.根据前述任一项权利要求所述的方法,其中所述目标子节点中的一个、一些或每个目标子节点与相应用户相关联。15.根据权利要求14所述的方法,其中所述目标子节点中的每个目标子节点与不同的用户相关联。16.根据权利要求14所述的方法,其中所述目标子节点中的至少两个目标子节点与相同的用户相关联。17.根据从属于权利要求5的权利要求14至16中任一项所述的方法,其中从一个或多个不同实体接收一个或多个相应链路标识符包括:从一个或多个相应用户接收一个或多个相应链路标识符。18.根据从属于权利要求6的权利要求14至17中任一项所述的方法,所述方法包括:从所述一个或多个相应用户接收所述一个或多个相应链路标识符。19.根据从属于权利要求6的权利要求14至18中任一项所述的方法,所述方法包括:从所述一个或多个相应用户接收一个或多个相应参数集合。20.根据权利要求6或其任何从属权利要求所述的方法,所述方法包括:通过生成满足预定难度的相应链路标识符,将工作证明嵌入到至少一个目标子节点与所述父节点之间的所述相应边中,其中所述相应链路标识符是通过向所述相应链路标识符函数提供所述相应参数集合和随机数值而生成的。21.根据前述任一项权利要求所述的方法,其中每个目标子节点的...

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

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

1