比特币"区块高度"是什么?
首先,“区块”是什么?把区块链想象成一本记账的笔记本的话,“区块”就是笔记本上的一页页纸,纸上面的内容就是记账的内容(A什么时间转了多少钱给B,B什么时间转了多少钱给C...)。
那么,区块的编号其实就是“区块高度”。还是用账本举例,比如在一本100页的账本中,我想查看其中第50页的账目内容,那么这页的“区块高度”就是50。
所以“区块高度”相当于区块链上的经纬度,它给了区块一个“坐标”,通过区块高度,可以准确地描述出某一区块在链上的位置。
需要注意的是,在bitcoin wiki中关于创世区块是这么描述的:“Agenesis blockis the first block of ablock chain. Modern versions of Bitcoin number it asblock 0, though very early versions counted it as block 1.”意思是比特币的创世区块在现代版本的区块高度编号是0(在极早期版本曾将其记为高度1)。
所以区块高度的计算规则并不是从1开始,第50个区块的高度为49,比特币区块XX高度也就是第XX+1个区块。
比特币“区块”信息怎么看?
以比特币区块编号549887为例,如下图所示:
从上而下,从左到右可以看懂这些信息,其它数字先不用管,还需要学习其它知识才能理解:
1)交易次数:3126这个区块内一共打包了3126笔交易记录。
2)时间戳:2018-11-13 05:38:13
显示这个区块产生的具体时间,区块链通过时间戳保证每个区块依次顺序相连。时间戳在区块链中扮演公证人的角色,而且比传统的公证制度更为可信,因为区块链上记录的信息无法被任何人以任何方式修改。
3)播报方:F2Pool
相当于矿工,表示这个区块是由这个“矿工”获得,这里的F2Pool是中国最早的比特币矿池。(什么是矿池?推荐看这篇文章:矿池是什么,可以钓鱼嘛?)
4)大小:1220.092 kB
之前比特币的区块大小是在1M以内的,自从去年8月份引入“隔离见证segwit”之后就已经超过设置的1MB限制了。现在,“区块大小”这种概念已经被“区块重量”取代,比特币现在支持重量高达4MB的区块。
5)区块奖励:12.5 BTC
创世区块的新区块奖励是50 BTC,以后大约每四年减半,2012年11月28日第一次减半,为25 BTC,2016年7月9日 16:46:13,第二次减半,为12.5 BTC,此时区块高度为420000。下一次减半将在2020年。(推荐看这篇文章:比特币由谁来发?)
6)哈希值:0000......41a4
哈希值是一种算法,又称哈希函数。可以简单的理解为这个区块内的内容被一种加密算法给压缩、打散成一串随机的数字。(推荐看这篇文章:一图让你看懂什么是非对称加密)
7)上一区块、下一区块每个区块可以链接到上一区块,一直可以追溯到创世区块。
页面往下拉,直接可以看到这个区块内所有交易的详细信息,如下图:
最后总结,“区块高度”存在的意义就好比中国高速公路编号,首都出发的G+1位数,由北按顺时针方向排序;北向南走向的G+2位奇数,由东向西升序编排;东向西走向的G+2位偶数,由北向南升序编排。
所以,司机只要看到编号,就可以简单判断出高速公路的走向以及大致方位。
有了“区块高度”的数值,也可以对它的位置一目了然。如果多个区块拥有同样的区块高度,就说明多个人在同一个时间创建了一个区块,这种情况属于“物理分叉”的一种。