LOCUS CHAIN 技术系列 5:可验证剪枝第 1 章
原文标题:《LOCUS CHAIN TECH SERIES 5: Verifiable Pruning Chapter 1.》
作者:LOCUS CHAIN FOUNDATION
编译:ChainCatcher
利用数据局部性:账本分片和可验证修剪
分片数据局部性:账本分片
传统意义上的区块链,账本是一条单链的形式。 每个节点都必须保存所有分类帐数据以检查数据的完整性,包括现有数据和新数据。
但是,holding-all-ledger 模型不适用于分片账本。 从本质上讲,每个独立的分片应该对其他分片的了解为零。 节点仅验证包含在当前分片中的交易。 分片共识只处理分片中账户发出的交易。
此属性还意味着节点可以安全地删除(或“修剪”)有关其他分片的数据。 虽然像分片间交易这样的通信将关于其他分片的数据传送到一个节点,但这些数据是临时的,不必长期保存在本地存储中。
分类账分片有效地减少了每个节点本地存储的大小,减少了分片的数量。
基于兴趣的数据局部性
数据(如交易和区块)的完整性根据分类帐进行检查。 实际上,验证需要(非常)小部分的账本数据。 例如,每条新数据在实践中只与链上最近验证过的数据进行验证。 较旧的数据在那里保持安全链,但一旦最新数据的完整性得到保护,它们主要处于非活动状态。
这个属性提出了一个有趣的问题; 如果我们可以暂时删除旧数据会怎样? Locus Chain 将问题阐述为可验证剪枝的概念。 通过可验证修剪,Locus Chain 节点可以从本地存储中删除(或修剪)大部分不感兴趣的交易和区块。
可验证修剪
可验证剪枝是一种在不影响区块链数据验证功能的情况下,在本地环境中删除(剪枝)过去某个时间段的先前数据的技术。
如果一个节点删除了一个数据块并稍后再次获取它,则该节点还必须再次验证数据。 在传统区块链的意义上,验证一块数据需要链上所有处理的数据块,这需要大量的计算。
Locus Chain 的可验证剪枝是关于在不扫描所有先前数据块的情况下有效地验证数据块。 Verifiable Pruning 使用 Hierarchical Skewed Merkle Tree (H-SMT),这是一种获得专利的独特数据结构,可成倍减少数据验证的开销。 使用可验证修剪,验证数据块只需要少量的先前数据块,大约 log10 (N) 左右。 所需数据的数量很少,可以在不到一秒的时间内验证所有需要的块。
例如,当 Locus Chain 节点识别出不感兴趣的旧交易时,该节点可以识别验证该交易所需的一组其他交易。 交易集可能足够小,可以在下一次达成共识之前获取和验证。
可验证修剪可以节省账本存储空间。 此外,可验证剪枝支持节点的快速启动。 在 Locus Chain 中,节点仅使用一小部分先前的块来验证当前头部的完整性。 新节点可以在几轮共识中参与分片。
数据所有权和责任
可验证修剪可以修剪不感兴趣的数据。 换句话说,节点不得修剪感兴趣的数据。 典型的不可修剪数据是关于节点所有者账户和悬空账户的交易。
每个节点都有一个所有者帐户。 节点可能有未操作节点的悬空帐户。 节点必须跟踪有关相关帐户的数据,并在需要时将数据提供给其他节点。
修剪是所有节点的基本操作。 特别是物联网模块等低容量节点可以利用修剪。 另一方面,具有足够存储空间的节点可以作为成就节点为其他节点做出贡献。














