「币姐解读区块链12」每个 区块 由哪些部分构成的?

上期回顾: 「币姐解读区块链11」为什么交易还需要交易费?

 

币姐开场

区块 连接到一起就成了区块链。 如果用账本来比喻,那么一个区块就是一页账本。

那么这一页账本上都记了什么呢?

 

本文以比特币的技术为案例,请注意:比特币 ≠ 区块链

 

作者 | 币姐


一个 区块 的结构

如下图,每个区块由4个部分构成:

你也可以说每个区块由区块头和交易列表构成。

因为区块大小和交易计数器只能作为常规参数,并不是非常重要。重要的就是区块头和交易列表2个部分。

 

区块头

区块头包含了很多重要的信息。如下图所示,区块头由6个部分构成:

交易列表

交易列表没有什么需要特别说明的,如果做一个简单的比喻。

区块头就是火车头,非常重要,交易列表就是车头后面的车厢,跟着火车头走。对于区块来说,火车头后面的车厢都装满了交易的信息。

 

创世区块

这个词相信很多人都听过,创世区块就是2009年中本聪挖出来的第一个区块。区块高度是0(相当于区块的编码)。

有一个有意思的点需要在这里提一下:

创世区块包含一个隐藏的信息。在其Coinbase交易的输入中包含这样一句话:

The Times 03/Jan/2009 Chancellor on brink of second bailout forbanks.”

翻译:《泰晤士报》,2009年1月3日,财政大臣正站在第二轮救助银行业的边缘

这是2009年1月3日当天《泰晤士报》头版的标题,中本聪引用这句话,既是对该区块产生时间的说明,又是对金融危机中旧有的脆弱银行系统的冷嘲热讽。

 

不同个区块如何区分呢?

区块有2种标识符,用来区分不同的区块:

  1. 区块高度
  2. 区块头哈希值

 

区块高度

跟编号的概念类似,如果你把区块想积木一样摞起来,创世区块放在最下面,每产生一个新的区块就在最上面加一个。这样区块越新,高度越高。这个高度是从0开始的。

关于区块高度有一点需要说明:

当分叉出现的时候,同一个区块高度可能有多个区块。关于分叉会在后面的内容详细讲解。

所以如果你想非常精准的指定某一个区块,建议采用区块头哈希值

 

区块头哈希值

区块头哈希值就是通过SHA256算法对区块头进行二次哈希计算而得到的数字指纹。

由于每个区块头都是不一样的,不可能存在2个完全相同的区块头。所以哈希值也一定是不同的。

所以一个特定的区块头哈希值一定指代了某一个特定的区块。

 

总结

每个区块都有2个重要的部分:区块头、交易列表

区块头又包含了6部分信息:

  1. 版本号
  2. 父区块头哈希值
  3. Merkle根
  4. 时间戳
  5. 难度目标
  6. Nonce

 

区块有2种标识符:

  1. 区块高度
  2. 区块头哈希值

由于分叉的存在,同一个区块高度可能存在多个区块。但是区块头哈希值一定是一一对应的。

 


下期预告:为什么要把区块连成区块链?

区块的结构已经清楚了,下一步就是如何把区块连接成链条了。

把区块连接成链条后有什么作用呢?

 

点击阅读往期币姐解读区块链

「币姐解读区块链11」为什么交易还需要交易 费?

「币姐解读区块链10」数字签名 的3大作用

「币姐解读区块链09」2个案例看懂什么是UTXO

「币姐解读区块链08」一文破解比特币的交易运行原理?

「币姐解读区块链07」数字钱包进化史,从非确定性钱包到HD钱包

「币姐解读区块链06」私钥,公钥,地址是如何生成的?

「币姐解读区块链05」密钥,私钥,公钥傻傻分不清楚?

「币姐解读区块链04」上帝视角看区块链系统是如何运转的

「币姐解读区块链03」区块链的历史都发生过哪些精彩的故事?

「币姐解读区块链02」中本聪为什么要做比特币(区块链)?

「币姐解读区块链01」区块链技术到底有什么神奇之处?