區塊鏈(Block Chain)結構解析
定義
狹隘定義:區塊鏈是一個公共賬本(Public ledger),一個按照時間順序排序的交易記錄
廣義定義:區塊鏈是分散式資料儲存、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學演算法.
區塊鏈的組成
區塊鏈是一種按照時間順序將資料區塊以順序相連的方式組合成的一種鏈式資料結構
區塊的結構
每個Block分為兩部分:區塊頭(Block Header)和區塊體( Block)
區塊頭(Block Header)
區塊頭包括三組後設資料
- 用於連線前面的區塊、索引自父區塊雜湊值的資料。
- 挖礦難度、Nonce(隨機數,用於工作量證明演算法的計數器)、時間戳
- 能夠總結並快速歸納校驗區塊中所有交易資料的Merkle(默克爾)樹根資料
時間戳
區塊鏈中的時間戳從區塊生成那一刻起就存在於區塊中,它對應的是每一次交易記錄的認證,證明交易記錄的真實性。
Merkle樹結構
Merkle樹的資料結構存放所有葉子節點的值,並以此為基礎生成一個統一的雜湊值。Merkle的葉子節點儲存的是資料資訊的雜湊值,非葉子節點的儲存是對其下面所有葉子節點的組合進行雜湊計算後得出的雜湊值。區塊中任意一個資料的變更都會導致Merkle樹結構發生變化,在交易資訊驗證對比的過程中,Merkle樹結構能夠大大減少資料的計算量,畢竟,我們只需驗證Merkle樹結構生成的統一雜湊值就可以了。
區塊體(Block)
主要是包含交易資料(Transaction,TX).
Transactions包括一個input和多個output.並且輸入和輸出相等:
input\ satoshi = output\ satoshi
.已確認的交易(或者說已經花出去的錢)被稱為Transaction identifiers(TXIDs),未確認的被稱為Unspent Transaction Outputs(UTXOs)
相關文章
- 比特幣的區塊結構解析比特幣
- 區塊鏈以及區塊鏈技術總結區塊鏈
- 以太坊原始碼分析(21)chain_indexer 區塊鏈索引原始碼AIIndex區塊鏈索引
- MT和MPT—區塊鏈的資料結構區塊鏈資料結構
- oracle block資料塊結構之itcOracleBloC
- oracle block資料塊結構續(一)OracleBloC
- 區塊鏈2.0架構:以太坊區塊鏈的介紹區塊鏈架構
- 比特幣原始碼研讀(2)資料結構-區塊Block比特幣原始碼資料結構BloC
- 區塊鏈教程、區塊鏈指南、區塊鏈中文手冊、區塊鏈原理區塊鏈
- 區塊鏈應用場景解析區塊鏈
- 區塊鏈關鍵字的解析區塊鏈
- 初識區塊鏈 - 用JS構建你自己的區塊鏈區塊鏈JS
- 區塊鏈的架構模型區塊鏈架構模型
- 區塊鏈架構設計區塊鏈架構
- 區塊鏈開發公司區塊鏈+遊戲”二者結合區塊鏈遊戲
- 區塊鏈資料總結區塊鏈
- 區塊鏈安全————DAO攻擊事件解析區塊鏈事件
- 區塊鏈:《區塊鏈 技術驅動金融》筆記和總結區塊鏈筆記
- 區塊鏈中的資料結構之 Merkle Tree區塊鏈資料結構
- 金融機構如何利用區塊鏈?區塊鏈
- 區塊鏈的底層架構區塊鏈架構
- 1.4 區塊鏈架構特點區塊鏈架構
- 區塊鏈100講:區塊鏈為什麼叫“區塊”“鏈”?區塊鏈
- 區塊鏈與金融的結合區塊鏈
- “區塊鏈與比特幣”-架構師之路年終總結區塊鏈比特幣架構
- 區塊鏈系列1-區塊鏈概述區塊鏈
- 區塊鏈知識,區塊鏈簡史區塊鏈
- 區塊鏈區塊鏈
- 構建 EOS 區塊鏈瀏覽器區塊鏈瀏覽器
- Block.one的EOS區塊鏈入門開發教程Elemental BattlesBloC區塊鏈BAT
- 區塊鏈開發_建立區塊鏈公鏈,聯盟鏈,私有鏈區塊鏈
- 區塊鏈 2.0:房地產區塊鏈(四)區塊鏈
- 1.3 初識區塊鏈:區塊鏈分類區塊鏈
- 區塊鏈入門 -- 02 區塊鏈介紹區塊鏈
- [譯]區塊鏈技術全解析入門版區塊鏈
- 區塊鏈不談技術的都是韭菜——區塊鏈技術組成及架構區塊鏈架構
- zt_data block資料塊之物理結構初識BloC
- 從區塊鏈公司角度,分析區塊鏈錢包區塊鏈