购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

21 区块链由哪些结构组成?

区块链是由区块相互连接形成的链式存储结构,区块就是链式存储结构中的数据元素,其中第一个区块被称为创世区块。不同的公有链区块结构不尽相同,但是一般区块包括区块头和区块体,区块头主要用来存储本区块的一些相关属性,区块体则用来存储真实的交易数据记录。

以比特币区块为例,一个完整的区块由以下几部分构成:区块头(Blockheader)、交易计数器(Transaction Counter)、交易(Transactions)、区块大小(Blocksize)。

其中,区块头包含版本号、父区块哈希值、时间戳、难度系数、Nonce、默克尔根(Merkle Root)等要素。因为每个区块的区块头中都包含了它的父区块哈希值,所以每个区块通过其父区块哈希值就能一直追溯到创世区块(第一个区块)。

在交易列表中,一个区块的第一个交易为Coinbase交易,即由挖矿产生的比特币奖励,其余为当前区块经过验证的、区块创建过程中生成的所有交易记录。这些记录通过默克尔(Merkle)树的哈希运算过程生成唯一的默克尔根并记入区块头。

值得一提的是,观察比特币交易信息详情,可以从中理解比特币的交易模型——未花费的交易输出(Unspent Transaction Outputs,简称UTXO)。比特币并不是基于账户的方案,而是基于未花费的交易输出方案。这个和传统银行账户的思维完全不一样。在比特币区块链账本上记录了一笔笔交易,每一笔交易都有若干个交易输入(转账者),也就是资金来源,同时也有若干个交易输出(收款者),也就是资金去向。每一笔交易都要花费一笔输入,产生一笔输出,而产生的这笔输出就是未花费的交易输出。 q8y2KF//X1h88O9AikOSkoe5sWEDrncIkP44spRwJwVzt/9kLirEhBYoxnwtYQm3

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开