区块链-数据区块

数据区块记录了整个比特币网络上的交易记录数据,并且这些数据是被所有比特币节点共享的。

比特币的交易记录会保存在数据区块之中,比特 币系统中大约每10分钟会产生一个区块,每个数据区块一般包含区块头(Header)和区块体(Body)两部分,

比特币源代码分析(区块):https://blog.csdn.net/qq_40452317/article/details/88641667

区块头封装了当前的版本号(Version)、前一区 块地址(Prev-block)、时间戳(Timestamp)、随机 数(Nonce)当前区块的目标哈希值(Bits)、Merkle树的根值(Merkle-root)等信息。

区块头的结构说明:

数据项 目的 大小(字节)
Version(版本) 区块版本号 4
hashPrevBlock(前一区块的Hash) 前一区块的256位Hash值 32
hashMerkleRoot Merkle(根节点Hash值) 基于一个区块中所有交易的256位Hash值 32
Time(时间戳) 从1970-01-01 00:00 UTC开始到现在,以秒为单位的当前时间戳 4
Bits(当前目标的Hash值) 压缩格式的当前目标Hash值 4
Nonce(随机数) 从0开始的32位随机数 4

区块体中则主要包含交易计数和交易详情。交易详情就是比特币系统中的记账本,每一笔交易都会被永久地记入数据区块中,而且任何人都可以查询。

区块体中的Merkle树将会对每一笔交易进行数字签名,如此可以确保每一笔交易都不可伪造且没有重复交易。所有的交易将通过Merkle树的Hash过程产生一个唯一Merkle根值记入区块头。

如果你使用的是比特币核心钱包(Bitcoin core),那么每当你打开客户端时,区块数据文件都 会被同步到电脑硬盘中,可以在blocks文件夹下找到 它们。如图2-2所示的.dat文件就是我们要找的数据区块文件。

猜你喜欢

转载自blog.csdn.net/qq_40452317/article/details/89875394