We use cookies to improve your experience with our site.

SE-Chain:一种支持可扩展存储和高效查询的区块链模型

SE-Chain: A Scalable Storage and Efficient Retrieval Model for Blockchain

  • 摘要: 1、目的(Objective):
    本研究的目的是:使区块链系统实现可扩展存储,并在此基础上,实现数据快速查询。
    说明提出问题的缘由:
    (1)目前区块链系统要求每个全节点保存完整的区块链数据。但是,区块链保存着所有历史数据。所以,当数据量不断增加,对于节点的存储空间要求越来越大。很多空间不足的节点不能成为全节点在区块链系统中。当区块链系统中全节点数量较少时,系统数据集中存储在少数节点中。因此区块链的去中心化和可扩展性降低。
    (2)目前区块链系统查询方法是,将所有数据遍历来找到目标。但是,随着数据量的增加,遍历时间开销越来越大。查询响应时间增加。
    本研究的范围:区块链数据的存储与查询。
    本研究的重要性:本研究有效地增加了区块链系统的可扩展性和查询效率。对区块链技术的广泛应用起到积极作用。
    2、方法(Method):
    简要说明研究课题的基本设计:
    我们提出SE-Chain,这是一种可扩展的区块链模型。SE-Chain框架由三部分组成:数据层,处理层和存储层。在数据层中,每个事务都存储在AB-M树中,该树自适应地结合了平衡二叉树(快速检索)和Merkle树(快速验证)的优点。在处理层中,完整节点根据重复比率调整算法存储完整链的一部分。同时,使用节点可靠性验证方法来提高整个节点的稳定性,并减少由于存储层中重复数的减少而导致数据不完全恢复的风险。
    结论是如何得到的:
    我们的实验是在阿里云上进行的,每个节点都运行Ubuntu 18.04。我们通过使用Hyperledger架构V0.6和V1.0.0构建本文的区块链系统。在结构V0.6中,我们分别建立了4、8和16个节点。在结构V1.0.0中,我们建立了1个订购者节点,该节点使用单独订购策略。同时,我们分别建立了4、8和16个对等节点。所有对等节点都在同一组织中。在这两个版本中,我们都操作一个称为链码example02.go的交易代码。实验数据集是通过执行2000笔交易产生的区块链。然后,在三个模型(基于AB-M树的SE链,基于默克尔树的SE链和基于结构的区块链模型)中搜索了100条记录。
    然后,我们设计了6个实验,以比较总数据分别为1MB,5MB和10MB时SE-Chain和Hyperledge fabric v0.6所占用的存储空间。当系统中存在4、8、12和16个节点时,我们记录实验结果。
    3、结果(Result & Findings):简要列出该研究的主要结果,有什么新发现,说明其价值和局限。叙述要具体、准确,尽量给出量化数据而不只是定性描述,并给出结果的置信值(如果有)。
    (1)减少了区块链系统节点的总存储空间;
    在采用合理的副本分配策略时,当系统中的节点数量增加,或当一个区块的大小增加时,SE-Chain节点占用的总存储空间都会明显减少。减少率由采取的分配策略决定。
    (2)减少了区块链系统中数据的查询相应时间;查询复杂度由以梅克尔树为存储结构时的O(n),提高到O(log n)(最优时),n为节点数目。
    4、结论(Conclusions):简要地说明经验,论证取得的正确观点及理论价值或应用价值,是否还有与此有关的其它问题有待进一步研究,是否可推广应用,其应用价值如何?
    本研究实现了区块链系统在保证数据安全的情况下的存储可扩展性,并增加了区块系统的查询效率。在未来,人们对数据的安全性要求越来越高,将会有大量的区块链系统将被应用。因此,可扩展的存储方法可以节约大量的节点存储空间,而高效的查询效率将提高区块链系统的应用领域,例如在物联网领域的区块链应用和利用区块链系统代替目前数据库系统等方面产生积极影响。

     

    Abstract: Massive data is written to blockchain systems for the destination of keeping safe. However, existing blockchain protocols still demand that each full node has to contain the entire chain. Most nodes quit because they are unable to grow their storage space with the size of data. As the number of nodes decreases, the security of blockchains would significantly reduce. We present SE-Chain, a novel scale-out blockchain model that improves storage scalability under the premise of ensuring safety and achieves efficient retrieval. The SE-Chain consists of three parts:the data layer, the processing layer and the storage layer. In the data layer, each transaction is stored in the AB-M tree (Adaptive Balanced Merkle tree), which adaptively combines the advantages of balanced binary tree (quick retrieval) and Merkle tree (quick verification). In the processing layer, the full nodes store the part of the complete chain selected by the duplicate ratio regulation algorithm. Meanwhile, the node reliability verification method is used for increasing the stability of full nodes and reducing the risk of imperfect data recovering caused by the reduction of duplicate number in the storage layer. The experimental results on real datasets show that the query time of SE-Chain based on the AB-M tree is reduced by 17% when 16 nodes exist. Overall, SE-Chain improves the storage scalability extremely and implements efficient querying of transactions.

     

/

返回文章
返回