区块链技术解析:区块高度
2018-02-08 本文已影响963人
勇哥在进化
本文由币乎(bihu.com)优质内容计划支持。
上周末参加笑来老师线下演讲,演讲中他提到一个概念“块的高度”,现场没有几个人懂。我也不懂,但我又好奇啊,于是乎就找来几篇关于区块链的技术文章和书籍进行研读,大约搞明白了区块高度的问题。当然,由于我不是一个区块链技术的研究者,所以理解的比较浅,读者中有大神的话欢迎评论指正。
区块链一句话解释:所谓块的高度,是区块高度的简称。区块通过规则链接在一起构成了区块链,创始区块默认高度为0,其后一个区块高度为1,以此类推(区块链的规则是系统只认可长度最长的区块链条)。举例:某一个区块的高度为386357,意味着从创世区块到当前的这个区块最长的链条区块数为386357+1个。区块高度可以用来识别区块在区块链中的位置,并据此找到和这个区块相关的所有基础属性和交易记录。
-
创始区块(高度为0):
创始区块
相关概念学习
区块定义:
区块是一个包含在区块链(公开账簿)里的聚合了交易信息的容器。它由一个包含元数据的区块头和紧跟其后的构成区块主体的一长串交易组成。区块头是80字节,而平均每个交易至少是250字节,而且平均每个区块至少包含超过500个交易。
区块结构:
- 交易详情中的结构:
- 区块的样本(以区块#386357为例):
- 区块高度:
区块高度是可以通过该区块在区块链中的位置识别区块的另一种方式。第一个区块,其高度为0,每一个随后被存储在第一个区块之上的区块在区块链中都比前一区块“高”出一个位置,就像箱子一个接一个堆叠在其他箱子之上。和区块头哈希值不同的是,区块高度并不是唯一的标识符,在区块链的增长过程中可能会出现两个或两个以上的区块有同样的高度,这种情况叫做“区块链分叉”。
区块链里的第一个区块被称为创世块,它是区块链里所有区块的共同祖先,创世块的产生是通过参数设置产生的。
区块链接原理:
当一个节点从网络接受到传入的区块时,它会验证这些区块,然后链接到现有的区块链上,链接的形态如下图:
- 区块链公开账薄的可靠性来源:
由于每个区块包含前一个区块的HASH值,这就使得从创世块到当前块形成了一条块链,每个区块必定按时间顺序跟随在前一个区块之后,因为如果不知道前一块区块的HASH值就没法生成当前区块。要改变一个已经在块链中存在一段时间的区块,从计算上来说是不可行的,因为如果它被改变,它之后的每个区块必须随之改变。这些特性使得比特币被篡改的可行性非常低,区块链是比特币的最大创新。
备注:以上知识内容和图片,大部分非原创,主要内容整合自书籍《精通比特币》和互联网资讯网站。