深入比特币原理(八)区块链

比特币的区块按顺序连接在一起形成一根链条,称为区块链。

区块是如何连接成区块链的?

区块(Block)结构

|Size|Field|Description|
|4 bytes|Block Size|区块大小,单位bytes|
|80 bytes|Block Header|区块头信息,详见下文|
|1–9 bytes(VarInt)|Transaction Counter|区块中交易的数量|
|Variable|Transactions|区块中所有交易记录的数据|

区块头(BlockHeader)结构

|Size|Field|Description|
|4 bytes|Version|区块版本号,目前为2|
|32 bytes|Previous Block Hash|前置区块(父区块)的区块头Hash,Hash算法为double-SHA256|
|32 bytes|Merkle Root|区块中交易Merkle树根|
|4 bytes|Timestamp|区块创建UNIX时间戳|
|4 bytes|Difficulty Target|工作量证明算法难度|
|4 bytes|Nonce|通过变动该计数器来达成工作量证明要求的结果|

区块头的结构中包含一个字段PreviousBlockHash,该字段包含父区块头Hash值。

每一个区块头的Hash值都是唯一的,并且都会被包含在其子区块头中,所以区块的信息会影响其后面所有的区块。

如果某一个区块被改变,区块头的Hash值就会改变,那该区块后面所有的区块都会需要重做,这需要耗费大量的工作量重新计算,从而保证了比特币区块链的稳定性和安全性。


温馨提示:
1、本站所有内容皆转载自网络。2、本站所有转载内容只代表原作者观点,不代表本站立场。
3、本站所有转载内容仅供学习参考,不构成任何投资建议。
4、本站与项目方没有任何利益关系,不接受捐赠,不接受打赏。

Subscribe to nobody
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.