区块链技术2---BTC的数据结构

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1Hash pointers哈希指针

和普通指针相比哈希指针除了保存地址还保存哈希值

2Block chain

区块链中的区块通过哈希指针相连这里的哈希指针的哈希值是对前一个区块的整体取哈希值包括前一个区块的哈希指针因此区块链如果有一个区块被修改那么他之后的所有区块都会被修改我们只需要判断最后一个区块的哈希值就可以判断整个区块是否被修改过。在实际应用中用户可能只有区块链中的一段内容如果需要用到前面的区块内容数据时直接向其他节点要即可


3Merkle Tree(默克尔树)

3.1Merkle Tree 用哈希指针代替了普通指针

该数据结构的优点在于只需要记住 Root Hash根哈希值便可以检测出对树中任何部位的修改。例如节点B发生了改变则H2也会发生改变进而导致根节点的H3也会发生改变从而使得Root Hash也发生改变。在比特币系统中不同区块通过哈希值指针连接在同一个区块中的多个交易数据块则通过Merkle Tree的形式组织在一起。区块本身分为两部分块头和块身在块头中存在有根哈希值没有交易的具体信息块身中存在交易列表。

4Merkle Proof

Merkle Tree的实际用途 Merkle Tree可以用于提供 Merkle Proof。关于Merkle proof需要先了解比特币系统中的节点。比特币中节点分为轻节点和全节点。全节点保存整个区块的所有内容而轻节点仅仅保存区块的块头信息Block header。

当需要向轻节点证明某条交易是否被写入区块链便需要用到Merkle Proof。我们将该交易到根节点的这一路径称为Merkle Proof全节点将整个Merkle Proof发送给轻节点轻节点即可根据其算出根哈希值然后与轻节点自身保存从根哈希值进行对比即可从而验证该交易是否被写入区块链。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 区块链