The invention discloses an efficient storage method of block chain information based on hierarchical tree structure, which includes the following steps: preset classification of block chain accounts; division of barrel storage; construction of hierarchical tree structure; input of account information; check of consistency of account information. An innovative block-chain account storage structure is proposed. On the premise of guaranteeing the characteristics of block-chain information such as non-tampering, the accounts are stored hierarchically according to transaction frequency. Generally speaking, the accounts with higher transaction frequency will be stored in the nodes closer to the root node, so as to reduce the overall number of Hash.
【技术实现步骤摘要】
一种基于分层树状结构的区块链信息高效存储方法及装置
本专利技术涉及区块链
,特别涉及一种基于分层树状结构的区块链信息高效存储方法及装置。
技术介绍
区块链是按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,是一项包括了分布式存储、点对点传输、共识机制、加密算法等技术的新型应用模式。区别于传统的中心化应用,由于每个节点都包含了区块链中完整的账本信息,所以区块链技术具有去中心化的特点,即不存在某个节点具备改变全部区块链信息的能力。以此,区块链技术具有很强的不可篡改、不可伪造的特性,保障了数据的可靠性。为了保证数据没有遭到恶意篡改,以比特币(Bitcoin)为例,比特币采用了默克尔树(MerkleTree)的形式存储交易信息,比特币的交易信息被储存在MerkleTree的叶子节点上,并根据MerkleTree的特性,依次向上进行哈希(hash)操作,目前比特币系统中涉及的hash算法包括SHA3和SHA256等,最终将根节点的hash值存储在区块中。当某个交易信息遭到篡改时,由于hash操作的特性,hash的结果也必然会发生改变,最终根节点的hash值也会发生改变。所以,只需验证储存在区块中的根节点的hash值是否发生改变就可以检验交易信息是否经过篡改。作为目前重要的区块链应用,以太坊(Ethereum)和超级账本(Hyperledger)在信息的存储方式上,继承了比特币的某些特点,但又有所创新。以太坊改进了MerkleTree的方法,将编码后具有相同前缀的交易和账户信息存储在属于同一个父节点的叶子节点中,即MerklePatriciaTre ...
【技术保护点】
1.一种基于分层树状结构的区块链信息高效存储方法,其特征在于,包括如下步骤:S10区块链账户的预设分类:根据区块链场景的需要,将帐户信息预设分类成i组参数集合,i为自然数,其中帐户信息包括帐户的总数N,分层树状结构中桶的数目B,每个桶中帐户的数量x,分层树状结构中单个节点有一个或多少个子节点K,每种帐户数量的所占比A,每种帐户的交易频率R;S20对多组帐户信息的参数集合进行模拟演算,并根据模拟结果,选出最优参数集合;S30分层树状结构的构建:确定账户信息桶状存储的决定函数,输入最优参数集合及决定函数,每个桶的高度及每个高度上对应桶的数目,按一定的规则建立分层树状桶结构,根据分层树状桶结构对每个桶进行编号;S40将帐户信息经过函数计算出该帐户设置的对应的桶的序号,根据编号将帐户信息存储在在分层树状桶结构的相对应的桶中;S50信息一致性的检验:当交易发生时,帐户信息发生改变,先将桶中帐户信息拼接,进行一次哈希操作,再以此根据分层树状桶结构向上进行哈希操作,若桶中帐户信息未发生改变,则无需进行哈希操作;若桶中的帐户信息发生改变,则重新进行哈希操作,以获取新的根节点的哈希值;校验新的根节点的哈 ...
【技术特征摘要】
1.一种基于分层树状结构的区块链信息高效存储方法,其特征在于,包括如下步骤:S10区块链账户的预设分类:根据区块链场景的需要,将帐户信息预设分类成i组参数集合,i为自然数,其中帐户信息包括帐户的总数N,分层树状结构中桶的数目B,每个桶中帐户的数量x,分层树状结构中单个节点有一个或多少个子节点K,每种帐户数量的所占比A,每种帐户的交易频率R;S20对多组帐户信息的参数集合进行模拟演算,并根据模拟结果,选出最优参数集合;S30分层树状结构的构建:确定账户信息桶状存储的决定函数,输入最优参数集合及决定函数,每个桶的高度及每个高度上对应桶的数目,按一定的规则建立分层树状桶结构,根据分层树状桶结构对每个桶进行编号;S40将帐户信息经过函数计算出该帐户设置的对应的桶的序号,根据编号将帐户信息存储在在分层树状桶结构的相对应的桶中;S50信息一致性的检验:当交易发生时,帐户信息发生改变,先将桶中帐户信息拼接,进行一次哈希操作,再以此根据分层树状桶结构向上进行哈希操作,若桶中帐户信息未发生改变,则无需进行哈希操作;若桶中的帐户信息发生改变,则重新进行哈希操作,以获取新的根节点的哈希值;校验新的根节点的哈希值是否与其他可信节占的哈希值相一致,若一致,则视为帐户信息未遭到篡改,若不一致,则视为账户信息遭到篡改,则该节点不可信,需要从其他可信节点获取帐户信息以更新。2.如权利要求1所述的基于分层树状结构的区块链信息高效存储方法,其特征在于,所述决定函数式包括:(1)根据公式计算出每类账户数目;(2)计算权重向量其中ωik=Pik=Pi/Bi,Pi是第i类账户的使用概率,Pik代表第i类账...
【专利技术属性】
技术研发人员:郑子彬,马明杰,陈伟利,
申请(专利权)人:中山大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。