BucketTree


1. 介绍

BucketTree是组织world state的一种数据结构,为了计算world state的加密哈希,这种方法建立了一种基于哈希表的桶之上的merkle Tree

作为该方法的核心,属于world statekey-values数据对假定被存储在由预先决定好数量的桶组成的哈希表中。一个哈希函数(hashFunction)被用来决定包含一个指定的key所需要桶的编号。要注意的是hashFunction并不代表一个类似于SHA3加密的哈希函数,而是代表一个有规律的编程语言的哈希函数。

2. 数据结构

type dataKey struct {              type bucketKey struct {
    bucketKey     *bucketKey           level         int
    compositeKey  []byte               bucketNumber  int
}                                  }

其中,compositeKey = statemgmt.ConstructCompositeKey(chaincodeID,key), 目前fabric的实现是chaincodeID + 0x00 + key,其前提假设是chaincodeID中不含0x00字节;未来将要做:强制chaincodeID不含0x00字节或者以len(chaincodeID) + chaincodeID + key的方式实现。

results matching ""

    No results matching ""