如何计算超级账本结构中的默克尔根?

How to calculate the merkle root in a hyperledger fabric?

如何计算超级账本结构的默克尔根? 我很难在 Fabric 中找到默克尔根。

区块头包含数字,prefix_hash,data_hash。 以上三个相关数据是否与merkle root相关?

或者我可以手动计算默克尔根吗?

我已经对我提交数据到账本时使用的数据进行了哈希处理。但是在区块头中找不到...

如何计算超级账本结构的默克尔根?

Hyperledger Fabric 不会在块头中跟踪世界状态的哈希值。相反,哈希链是在块内容上形成的。

您将在区块头中找到的两个字段是 data_hashprevious_block_hash

data_hash 是区块数据部分中交易字节串联的散列。

previous_block_hash是前一个区块头的哈希值。块头的哈希是通过将内容转换为 ASN1,然后对编组表示进行哈希来计算的。

您可以在此处具体了解 Fabric 组件如何实现其哈希:https://github.com/hyperledger/fabric/blob/a5bd17f9ec21241c324f453f0ded3d045bd28ff3/protoutil/blockutils.go#L38-L79