記錄一定時間內所生成的詳細數據,包括當前區塊經過驗證的、區塊創建過程中生成的所有交易記錄或是其他信息,可以理解為賬本的一種表現形式。
基本介紹
- 中文名:區塊體
- 外文名:Block Body
相關知識,三、區塊,
相關知識
區塊
Block
Block
區塊是在區塊鏈網路上承載交易數據的數據包,是一種被標記上時間戳和之前一個區塊的哈希值的數據結構,區塊經過網路的共識機制驗證並確認區塊中的交易。
父塊
Parent Block
父塊
Parent Block
父塊是指區塊的前一個區塊,區塊鏈通過在區塊頭記錄區塊以及父塊的哈希值來在時間上排序。
區塊頭
Block Header
區塊頭
Block Header
記錄當前區塊的元信息,包含當前版本號、上一區塊的哈希值、時間戳、隨機數、MerkleRoot的哈希值等數據。此外,區塊體的數據記錄通過MerkleTree的哈希過程生成唯一的MerkleRoot記錄於區塊頭。
三、區塊
區塊鏈由一個個區塊(block)組成。區塊很像資料庫的記錄,每次寫入數據,就是創建一個區塊。
每個區塊包含兩個部分。
- 區塊頭(Head):記錄當前區塊的特徵值
- 區塊體(Body):實際數據
區塊頭包含了當前區塊的多項特徵值。
- 生成時間
- 實際數據(即區塊體)的哈希
- 上一個區塊的哈希
- ...
需要理解什麼叫哈希(hash),這是理解區塊鏈必需的。
所謂"哈希"就是計算機可以對任意內容,計算出一個長度相同的特徵值。區塊鏈的 哈希長度是256位,這就是說,不管原始內容是什麼,最後都會計算出一個256位的二進制數字。而且可以保證,只要原始內容不同,對應的哈希一定是不同的。
舉例來說,字元串123的哈希是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六進制),轉成二進制就是256位,而且只有123能得到這個哈希。(理論上,其他字元串也有可能得到這個哈希,但是機率極低,可以近似認為不可能發生。)
因此,就有兩個重要的推論。
- 推論1:每個區塊的哈希都是不一樣的,可以通過哈希標識區塊。
- 推論2:如果區塊的內容變了,它的哈希一定會改變。