如何计算超级账本结构的默克尔根?我很难在 Fabric 中找到 merkle 根。
区块头包含 number、prefix_hash、data_hash。以上三个相关数据中的任何一个与默克尔根有关吗?
或者我可以手动计算默克尔根吗?
当我将数据提交到分类帐时,我已经对我使用的数据进行了哈希处理。但是在块头中找不到它...
如何计算超级账本结构的默克尔根?
如何计算超级账本结构的默克尔根?我很难在 Fabric 中找到 merkle 根。
区块头包含 number、prefix_hash、data_hash。以上三个相关数据中的任何一个与默克尔根有关吗?
或者我可以手动计算默克尔根吗?
当我将数据提交到分类帐时,我已经对我使用的数据进行了哈希处理。但是在块头中找不到它...
如何计算超级账本结构的默克尔根?
Hyperledger Fabric 不会在区块头中跟踪世界状态的散列。相反,哈希链是在块内容上形成的。
您将在块头中找到的两个字段是data_hash
和previous_block_hash
。
data_hash
是块数据部分中交易字节串联的哈希值。
previous_block_hash
是前一个区块头的哈希值。块头的散列是通过将内容转换为 ASN1 来计算的,然后散列一个编组的表示。
您可以在此处具体查看 Fabric 组件如何实现其散列:https ://github.com/hyperledger/fabric/blob/a5bd17f9ec21241c324f453f0ded3d045bd28ff3/protoutil/blockutils.go#L38-L79