区块链的区块头主要包含什么,什么是区块链的存储结构
大家好,我是柯南,在上一期视频中我们聊到了区块链的加密模型,学习了公钥和私钥和UTXO模型的相关知识。在比特币网络中,每一笔转账交易、时间戳等信息都会存储在账本上。那么,在这个账本上,存储有哪些交易相关的信息呢?每个交易之间又是如何进行关联的呢?这就涉及到了区块链的存储结构的知识了。
在这一期视频中,我们就来聊一聊区块链的存储结构。
在区块链的世界中,可不仅仅只有比特币一条区块链,还有以太坊、莱特币、EOS等成百上千条不同的区块链,每一条区块链都有一个自己的账本。
聚焦到某一条区块链上,我们就拿比特币区块链说事吧。比特币账本就是把交易信息根据交易发生的先后顺序,一条一条地记录在这个大的账本上的。这就像是一本精彩的小说,而这本小说的每一页,就是一个区块。每一页按照时间顺序井然有序地装订起来,就成为了一本完整的书。比特币网络还在不断的产生新区块,就像一本还在继续编写的小说,不断地往后加入新的一页。
那么小说中都是怎样记录历史信息的呢?我们来读一读最经典的一段小说,来找一找它和区块有哪些共同点,以下是《了不起的盖茨比》中的一段精彩描写:
我记忆中最鲜明的景象之一就是每年圣诞节从预备学校,以及后来从大学回到西部的情景。到芝加哥以外的地方去的同学往往在一个十二月黄昏六点钟聚在那座古老、幽暗的联邦车站,和几个家在芝加哥的朋友匆匆话别,只见他们已经裹入了他们自己的节日欢娱气氛。
我记得那些从东部某某私立女校回来的女学生的皮大衣以及她们在严寒的空气中喊喊喳喳的笑语,记得我们发现熟人时的抢手呼唤,记得互相比较收到的邀请:“你到奥德威家去吗?赫西家呢?舒尔茨家呢?”还记得紧紧抓在我们戴了手套的手里的长条绿色车票。最后还有停在月台门口轨道上的芝加哥-密尔沃基-圣保罗铁路的朦胧的黄色客车,看上去就像圣诞节一样地使人愉快。
我们回到区块链上面来,比特币区块链中的区块由四个部分组成,分别是:区块头、交易详情、交易计数器和区块大小。如果用上面这段描写做对比,可以很容易的理解这几个概念。
交易详情,就是指谁在什么时间转给了谁多少钱。举个例子:小明2018年12月1日8点33分付了5元钱给便利店。这句话这就是交易详情,包含了时间,转入方、转出方和金额。这就是区块链上的“一个十二月黄昏六点”。当然,区块里的交易详情不需要记录地点,发生的事件也仅仅是交易这一种而已,不会像小说上那么丰富和精彩。
更重要的是,由于区块链网络的匿名性,事实上交易详情记录的不是真实的谁转账给了谁,而是某个钱包地址转账给了另一个钱包地址。
交易详情很容易理解,那么交易计数器呢?顾名思义,交易计数器就是指这一个区块里记录了多少笔交易信息。那么区块大小又应该怎么理解呢?
2008年中本聪在设计比特币网络时,把每个区块的大小限定在了1M,这也就意味着每个区块里能存储的信息最多也只有1M。那么区块大小,就是指这个区块里面存储的信息,有多少个字节。可以把它理解成记载小说上有多少个字。但是这个数量是有上限的。
通过小说的类比,相信你应该很好地理解区块中的交易详情,交易计数器和区块大小。说到这里,你可能又要提出疑问了,区块头又是怎么一回事呢?
区块头的结构说起来比较复杂。它包含了当前版本号、父区块哈希值、当前区块哈希值、时间戳、随机数、难度、梅克尔树等等一堆计算机术语。我猜你可能要懵了,一堆专业名词很让人头大。这一讲我主要来讲一下这里面两个核心的数据:父区块哈希值与当前区块哈希值。这是使得区块与区块之间有序连接的重要因素。
我先讲一讲哈希值,关于哈希的技术解释,感兴趣的朋友可以上网查一查相关的资料,我在视频中就不讲的太复杂了。简单来说,哈希值就是区块的数字指纹。我们都知道,世界上没有两片相同的树叶,也没有两个相同的指纹。指纹可以作为一个人独一无二的标识符,而哈希值可以作为区块的身份,每一个区块都有一个独一无二的哈希值。每一个区块的区块头中,都会包含着父区块——也就是前一个区块的哈希值,用来指向前一个区块。
这样可以使得每一个区块的上一个区块之间都是唯一的,而当前区块的哈希值,又会成为下一个区块的父区块哈希值,这样一块连着一块,就形成了一条区块链。
说到识别特定区块的方式,除了区块的数字指纹——哈希值,还有一种方式:区块高度。
区块高度是指什么呢?它就相当于小说的页码。我们经常看到小说的目录:卷一、卷二、卷三……这里的卷几能够帮助我们准确的定位具体的某一卷小说。区块高度就是区块的页码,方便我们知道这个区块在整条链上的位置。我们把第一个挖出来的区块的区块高度定为0,往后每产生一个新的区块,高度就加一。每一个区块都会有一个独一无二的区块高度。
文章从网络整理,文章内容不代表本站观点,转账请注明【蓑衣网】