区块链相关名词解释 2)区块(Block):在区块链网络中,数假会以多条文件的形式进行打包放在一起,类似于将这些文件放入一个盒子里,故也称为数假区块。
3)链(Chain):指区块按照时间顺序进行排序,并通过前一区块和后一区块之间的哈希值进行串联而成,并非是真实的链条,而是一种比喻。
4)区块头(Block Header)和区块体(Block Body):是指数假区块分为区块头和区块体两个部分,区块头存储了前一区块的哈希值、当前区块的哈希值、随机数、时间戳和Merkle根,而区块体存储了所有的真实数据。
5)哈希值(Hash Value):是指通过一个较短的随机字符串表示任意长度的输入消息,经过哈希函数(也称散列函数、数字摘要)得到的“数据指纹”。
6)随机数(Nonce):由系统自动生成的一次性随机数,用于解决数学难题的问题,每次解决都会重新生成随机数。
7)时间戳(Timestamp):是指从区块生成的那一刻开始就存在于区块中,用于标记此数据的交易时间的字符序列,一般存储于区块头中,具有唯一性。
8)梅克尔根(Merkle Root):是指区块体中交易的数据经过哈希运算得到的梅克尔树(Merkle tree),也称为哈希树,一种二叉树,常常被用来快速查验特定的交易是否存在。先将交易经过哈希运算后,得到叶子节点,然后每两个叶子节点经过哈希运算,每个中间节点是它前两个子节点的哈希值,如此往复,直至最后生成一个哈希值,这个最终的哈希值被称为梅克尔根,也称Merkle根。
9)节点(Node):是指区块链网络中的每个参与者或网络节点。
二、区块链的分类
1)公有链(Public Blockchain):完全去中心化,任何节点都可以进行访问,每个人都可以参与到区块链当中的计算,而且任何人都可下载完整的区块链账本。例如比特币、以太坊等网络都是公有链。其特点是保护隐私和系统效率低。 2)联盟链(Consortium Blockchain):半中心化,参与每个节点的权限都完全对等,各个节点在完全不信任的情况下进行数据交互和可信交换。联盟链的各个节点只有通过授权后才能加入网络。例如Hyperledger Fabric、R3联盟等。其特点是自行背书、系统效率高。 3)私有链(Private Blockchain):中心化,某些区块链的应用场景下,开发者不希望任何人参与这个系统,因此建立一个只有被许可的节点才可以参与并看所有数据的私有区块链。例如私有机构、企业内部等。其特点是集体背书,系统效率较高。 三、区块链的层级结构 1)数据层(Data Layer):主要描述了区块链系统的物理形式,是区块链从创世区块起始的链式结构,包含了区块数据、随机数、时间戳和公私钥等数据,是整个区块链技术中最底层的数据结构。 2)网络层(Network Layer):主要通过P2P技术实现分布式网络的机制,包括P2P组网机制、数据传播机制和数据验证机制。 3)共识层(Consensus Layer):包含共识算法以及共识机制,能够让高度分散的节点在去中心化的区块链网络中高效地针对区块数据达成共识,是区块链的关键技术之一。 4)激励层(Actrator Layer):主要包括经济激励的发行制度和分配制度,其功能是提供一定的激励措施,鼓励节点参与区块链中的验证工作,并将经济因素纳入到区块链技术体系中。 5)合约层(Contract Layer):主要包括各种脚本、代码、算法机制和智能合约,是区块链可编程的基础。 6)应用层(Application Layer):封装了各种应用场景和案例,类似于电脑操作系统上的应用程序。