我们知道区块链技术就是一个去中心化的分布式账本,可以实现价值和信任的传递。
日常生活中,我们的账本是在一页一页子账中逐笔记录,最后汇聚成册,形成一个账本。一个账本记满了,再在一个新账本上开始一页一页地记录,最终所有账本按时间顺序组合在一起形成一个总账本,结构非常简单清晰。
既然区块链本质上是一个账本,那它又是什么样的架构呢?实际上,有关区块链的架构问题,已经被广泛讨论过了,基本上已达成了共识。区块链的架构自下而上分为六层,分别是数据层、网络层、共识层、激励层、合约层和应用层,每一层都有其对应的核心功能。
1、数据层
区块链是通过区块(block)存储数据,每个数据节点之间都包含所有数据。数据层主要是解决这些数据以什么样的形式组合在一起,形成一个有意义的区块。就像下图中的现金日记账一样,一页账本每一个账目都由相应的时间、凭证编号、摘要、借贷金额、余额等数据构成一个完成的账目。
每个区块都包括了区块的大小、区块头、区块所包含的交易数量及部分或所有的近期新交易。在每个区块中,对整个区块链起