1. 程式人生 > >fabric && cita 調研對比

fabric && cita 調研對比

ron 歷程 繼承 對比 ethereum 面具 計算 控制 金融行業

fabric && cita 調研

總結
若計劃完全依賴上遊的基礎功能而不做任何改造,建議選擇 fabric;否則,應選擇 cita,針對自身業務場景進行持續優化。

一、功能

1、可擴展性
微服務架構使 cita 在性能擴展、組件替換與開發語言選擇等方面更加靈活。

  • [ ] - fabric
  • [x] - cita

2、是否支持賬戶模型
fabric 無明確的賬戶模型支持;cita 繼承 ethereum 賬戶模型。

  • [ ] - fabric
  • [x] - cita

3、是否需要發幣
雙方均無需發幣。

  • [x] - fabric
  • [x] - cita

4、智能合約:類型


雙方均支持原生合約類型;cita 額外支持 EVM 輕量型合約,而且由於其繼承自 parity,而目前 parity 已對 WASM 有良好的支持,未來技術升級或移植的成本會更低。

  • [x] - fabric
  • [x] - cita

5、智能合約:開發語言
雙方均支持多種合約語言;fabric 支持 java、go、node.js 等,cita 支持 solidity、go、rust 等。

  • [x] - fabric
  • [x] - cita

6、跨鏈支持
fabric 不支持,cita 有簡易的支持。

  • [ ] - fabric
  • [x] - cita

二、性能

1、TPS
fabric 經各方測試的 TPS 上限為 1K 左右,cita 具備水平擴展性,官宣性能案例有兩個:2.6K+(4臺4核8G雲主機)與 15K+(4臺32核64G雲主機)。

  • [ ] - fabric
  • [x] - cita

2、出塊時間
均可自行定制,fabric 默認 2s,cita 默認 3s。

  • [x] - fabric
  • [x] - cita

3、區塊容量
均可自行定制,cita 在啟動時超級管理員通過系統保留的智能合約設置,若合約不存在,則設置默認值 1G,另有極限值 MAX_UINT64。

  • [x] - fabric
  • [x] - cita

4、區塊類型:靜態 OR 動態
均為動態。

  • [x] - fabric
  • [x] - cita

5、單筆交易容量
均可自行定制,cita 取決於賬戶配額,初始配額由超級管理員設置,後續由在鏈上自動增減——發交易消耗配額,參與共識獲得配額。

  • [x] - fabric
  • [x] - cita

6、性能優化空間
rust 核心宗旨即是安全與效率,而區塊鏈領域需要頻繁涉及到密碼學相關的高強度計算,故 cita 潛力更大。

  • [ ] - fabric
  • [x] - cita

三、安全

1、隱私保護策略
雙方提供類似的隱私保護手段,如:PKI、TLS、私有分區、鏈上審計與治理等。

  • [x] - fabric
  • [x] - cita

2、是否支持只讀節點
cita 支持詳細的基於賬戶的權限控制,fabric 僅提供有限的間接支持。

  • [ ] - fabric
  • [x] - cita

3、共識算法:多樣性
雙方均有多種備選算法。

  • [x] - fabric
  • [x] - cita

4、共識算法:運行時變更
雙方均不支持運行時熱拔插。

  • [x] - fabric
  • [x] - cita

5、共識算法:及時終止性
均有支持。

  • [x] - fabric
  • [x] - cita

6、抗功擊能力
cita 有 rust 加持,具備更高安全保障;rust 的先天性優勢,對照 parity 與 geth 的發展歷程,可有明顯的感知(不考慮上層 solidity 合約邏輯漏洞)。

  • [ ] - fabric
  • [x] - cita

四、其它

1、項目影響力與團隊實力
faric 由 linux 基金會主持,多家知名跨國公司參與;cita 面向國內,主要由招行背書,其團隊核心有 ethereum 開發背景。

  • [x] - fabric
  • [ ] - cita

2、代碼質量
faric 更強的團隊成員組成,具備更高的主觀預期;cita 使用的 rust 在運行效率、安全性、穩健性等方面具備先天性優勢,有效彌補了其在團隊實力方面的不足。

  • [x] - fabric
  • [x] - cita

3、項目生命周期
雙方均已歷經三年以上的開發時間,版本都已叠代至 1.0 版本以上並處於活躍開發狀態。

  • [x] - fabric
  • [x] - cita

4、社區活躍度
cita 主要由‘秘猿‘維護,且開源時間較晚,社區生態不及 fabric。

  • [x] - fabric
  • [ ] - cita

5、實際應用案例
雙方均有在金融行業的穩定運行數年的實際應用案例,可認為都已適用於生產環境。

  • [x] - fabric
  • [x] - cita

6、二次開發與長期維護可行性
cita 的微服務架構更易改造,且由於 rust 嚴苛的編譯規則,可以在很大程度上保障後續自有代碼的質量;更長遠的視角,cita 更有利於平滑的自有知識產權徹底重構。

  • [ ] - fabric
  • [x] - cita

7、多語言開發可行性
rust 自帶高效的 FFI,使其容易與其它語言相互調用,如:python、C/C++、golang 等,理論上具備使用 C 庫能力的語言均能輕易的與 rust 配合。

  • [ ] - fabric
  • [x] - cita

8、閉源風險
fabric 由 linux 基金會主持,相對於 cita 由單一的商業公司推動,閉源風險更低。

  • [x] - fabric
  • [ ] - cita

fabric && cita 調研對比