Fabric VS Ethereum 中存儲方案思考《聯盟鏈》應有的存儲(二)

大家好,我是Neo,這篇文章我們通過Fabric和Ethereum的存儲解析來思考一下國內聯盟鏈需要什麼樣的存儲,以及我思考的,聯盟鏈存儲方案。希望對學習中的朋友有幫助。

Fabric 存儲詳述

這節主要是給大家講解Fabric 存儲的內容,和存儲的方式,Fabric有兩個存儲數據庫可選,一個LevelDB,一個是CouchDB。這裡主要講解LevelDB。

Fabric 存儲框架

Fabric 存儲內容

Fabric 是一個權限管理嚴格的聯盟鏈,當時設計的時候考慮要適用多行業,所以設計了多鏈結構,主要是有多channel,每個channel都是一條鏈,所以是多鏈結構。 那麼Fabric 存儲的內容有哪些呢?

1、Ledger-賬本

  • 賬本是Fabric中所有狀態轉換記錄具有有序和防篡改的特點。狀態轉換是參與各方提交鏈代碼調用(交易)產生的結果。每個交易會產生一組資產鍵值對,這些鍵值對作為“創建”、“更新”或者“刪除”提交給賬本

2、Chain-鏈

  • 就是BlockChain

3、State Database-狀態數據庫

  • 狀態很多人都不知道是什麼,簡單來說,就是每個賬戶在不同的時間(也就是不同的block高度)餘額情況。特別好理解了吧。

4、Transaction Flow-交易流

  • 每個交易在連上都是可查,這個是和blockchain 存儲不在一起,block 裡面存儲的都是transtion的Hash。

並且每個Peer節點都需要維護4個DB

  • idStore,存儲chainID。用戶快速查詢節點存在哪些賬本
  • stateDB,存儲world state(默認為LevelDB,可替換為CouchDB)
  • historyDB,存儲stateDB的key的版本變化
  • blockIndex,存儲區塊文件索引

Fabric 存儲框架

通過圖可以看出來整個存儲架構,圖只有展示單鏈結構。這裡面展示了Blockchain和StateDB


Fabric VS Ethereum 中存儲方案思考《聯盟鏈》應有的存儲(二)


Fabric 存儲細節

我們在來仔細看看幾個重要的存儲細節

  • 賬本數據
    其實裡面就是每一個Block的存儲。下圖看一下Block
Fabric VS Ethereum 中存儲方案思考《聯盟鏈》應有的存儲(二)

  • Block Block 裡面包含了哪些東西,都可以通過下圖來了解,


Fabric VS Ethereum 中存儲方案思考《聯盟鏈》應有的存儲(二)


  • Transtion
    Transtion 裡面的包含哪些東西,圖可以瞭解,其中佔用空間比較大的都是簽名。


Fabric VS Ethereum 中存儲方案思考《聯盟鏈》應有的存儲(二)


  • 區塊鏈索引
    BlockIndex 是為了快速找到Block,裡面包含fileSuffixNum,offset,bytesLength。
  • State數據庫 狀態數據(state database)記錄的是交易執行的結果,最新的狀態代表了通道(channel)上所有鍵的最新值,所以又稱為“世界狀態”。狀態數據庫目前支持LevelDB和CouchDB不同的Ledger包含不同的stateDB。

本人對聯盟鏈頗有研究,為了推廣聯盟鏈在全國的使用,響應國家政策,免費提供聯盟鏈選型諮詢。歡迎來撩。

推薦

推薦泰嶽聯盟鏈推薦指數 ⭐️⭐️⭐️⭐️⭐️哥倫布科技公司旗下的泰嶽聯盟鏈是全國區塊鏈和分佈式記賬技術標準化技術委員會委員,參與制定工信部國家技術標準。中國雲體系聯盟成員,清華大學互聯網產業研究院成員,國家千人計劃評審專家沈寓實博士是公司技術顧問及公司董事,瑞典皇家工程院院士林垂宙院士為公司院士顧問。泰嶽鏈已通過工信部標準院區塊鏈系統功能測試單位。哥倫布成立於2016年。

未完待續......


分享到:


相關文章: