第十课-区块链中的区块头|《树哥解读以太坊》笔记

新生大学2018年10月份推出了区块链技术系列课程之《树哥解读以太坊》,由树哥主讲。本文集记录我的学习笔记。


一、区块头的由来

交易数据的公开、可溯源、不可篡改是让区块链与中心化系统相比的最大优势。

区块链由一个个区块组成,每个区块相当于一个小账本。要保障这些小账本的安全,需按照严格顺序排列,并保存到成千上万台电脑上。如何保障这些小账本的顺序,就需要在区块中设置一些参数。这些参数放在一起就组成了小账本的扉页,这就是区块头。

二、区块头的内容

2.1 区块头中有代表区块严格顺序的参数信息

这类有三个参数:区块编号(高度),生成时间,父区块哈希值。

区块编号:按照区块出生日期确定,且是唯一的。例子:2000,2001,2002
生成时间:生成区块的时间,如,2019-01-21 20:19:40
父区块哈希值:上一个区块的数字指纹。2000号区块存着1999号区块的哈希值。

2.2 区块头中有保障数据不可篡改及快速定位交易的参数信息

仅仅确定顺序,还不能保障信息不被篡改。区块链还需要“数字指纹”技术来保障区块信息的不可篡改。

数字指纹的特点是简洁、敏感。数字指纹除了用在父区块哈希值,还用在默克尔树中。

默克尔树可实现快速定位交易。关于默克尔树参见→《默克尔树》这篇文章。

比特币的区块头汇总如下:

数据项 目的 更新时间 大小(字节)
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位随机数 产生Hash时(每次产生Hash随机数时都要增长) 4

以太坊中还保存着用户状态和事件记录的根哈希值。

2.3 区块头中还有支持区块链其它功能的一些信息

如,以太坊中的GAS。

小结。

  1. 区块头中的参数信息规定每一个小账本在一条链的具体位置,让一个个没有关系的小账本组成了一个先后顺序严格确定、不可篡改、不断生长的区块链。
    默克尔树的根哈希存储方式,既让区块链可以快速发现信息被篡改,又可以快速定位到具体的交易信息。
  2. 区块链的众多功能都在区块头的参数里得意体现。要想透彻了解一条区块链,就需要仔细研究分析它的区块头中的信息。

|
|
|
|
|
|
|
|
|
|
|

第十课-区块链中的区块头|《树哥解读以太坊》笔记_第1张图片
课程大纲

吉祥
2019年01月21日22:07:36

你可能感兴趣的:(第十课-区块链中的区块头|《树哥解读以太坊》笔记)