【问题标题】:Should the field "stateHash" of previous block be equal to the field "previousBlockHash" of current block in a blockchain?前一个区块的“stateHash”字段是否应该等于区块链中当前区块的“previousBlockHash”字段?
【发布时间】:2017-07-11 08:27:04
【问题描述】:
我有一个示例区块链应用程序,我在“调用”事务的帮助下创建了几个块。
1) 区块链理论认为,每个区块都会有一个名为“previousBlockHash”的字段,其中包含区块链中前一个区块的哈希值。现在,当我比较前一个块(块#2)的字段“stateHash”与当前块(块#3)的“previousBlockHash”时,它们似乎都是非常不一样。他们应该平等吗?
2) 一个区块链区块是否可以包含多个“invoke”交易?**
【问题讨论】:
标签:
blockchain
hyperledger
hyperledger-fabric
blockchain.info-api
【解决方案1】:
-
StateHash 和 BlockHash 之间存在区别,其中状态哈希只是给定区块内数据的哈希,区块哈希计算如下:
区块哈希是通过对连接的 ASN.1 编码字节进行哈希计算得出的:区块号、前一个区块哈希和当前区块数据哈希。区块哈希链保证了账本的不变性
- 块通常由几个有序的invoke事务组成。所以对于您的问题 - 是的,它内部可以包含多个交易。