HyperLedger是IBM、Intel等多家公司正開展的一個區塊鏈項目,包含了Fabric、Iroha等多項技術,其中最爲活躍的是Fabric。git
在"開源中國"網站,對Fabric的介紹以下:github
HyperLedger Fabirc是一個開源的區塊鏈實現,以企業級的安全機制和membership機制爲特點,簡單來講,Fabric之於區塊鏈,極可能正如Hadoop之於大數據。算法
開源項目能夠直接從代碼來進一步理解,代碼中提供的Demo很少,比較典型的是這個:chaincode_example2。
整體來講代碼並不複雜,具體再也不展開,簡述下這個Demo的功能:安全
chaincode_example02 主要執行三個核心函數,init、invoke、query。
init函數在起始過程當中初始化兩個帳戶A,B,而且在A,B帳戶上發行必定數量的資產。
invoke函數在A、B上進行轉帳。
query函數查詢A、B函數上的帳戶餘額。網絡
下面具體描述下各個功能:分佈式
這是一個無中心的分佈式系統,會同時在銀行和客戶來進行部署並創建點對點的聯繫。函數
主要做用是創建帳戶,第一步是銀行和客戶在本地節點創建帳戶。第二步是會把帳戶會自動傳送到所有節點上。須要注意的是在技術上講,帳戶只是一個數據的容器而已,能夠類比Oracle裏的表。oop
做用是向帳戶中添加和查詢數據。Invoke的做用是當在本地帳戶中裝入數據後,會將數據自動傳輸到所有節點上,以下圖所示。從Demo代碼來看,invoke的是二進制格式數據,也就是說並不限制數據的具體內容。性能
我簡單小結一下,Fabric從功能上主要做用以下:區塊鏈
從Fabric的介紹裏我提取了三個關鍵詞:數據交互、分佈式、安全。
咱們從數據交互出發,託管人的數據交互,主要對象包括客戶、交易所/登記公司、境外合做機構。其中託管人目前並不能左右交易所/登記公司的系統建設,因此暫時排除。對於銀行業務來講,這是個統一的要求都須要的。
再來看分佈式這個關鍵字,限制是須要在客戶方部署程序,託管業務是對公業務,不管是客戶仍是合做機構都符合這個要求。
因此Fabric的應用場景是在於客戶以及境外合做機構的數據交互。下面對這兩個領域業內已經有的解決方案進行一下比較。
這是目前託管業內最主流的數據交換方式,支持了實時消息交換(交易、對帳等)以及文件交換兩種方式。
Fabric | 深圳通直連 | SWIFT | |
---|---|---|---|
數據支持 | 二進制消息 | 格式化消息/文件 | 格式化消息 |
傳輸性能 | 低(從現有應用看) | 高 | 低(按流量收費) |
安全保障 | 軟件算法 | 加密網絡 | 加密網絡 |
部署成本 | 低(基於互聯網) | 高(需開通網絡專線) | 高(需開通專用網絡) |
開發成本 | 低(可僅關注業務邏輯) | 中(需考慮較多技術因素) | 低(可僅關注業務邏輯) |
整體而言,Fabric部署和開發成本較低,但目前看性能偏弱。
這裏想額外提一下前幾天看到新聞說SWIFT組織正在推動區塊鏈技術的運用,應該也是有了危機感。
從現有的信息掌握來看,Fabric對於託管業務來講,整體上講是一項改進型技術而非顛覆型技術。我的認爲,相比現有的深圳通直連以及SWIFT,其最大的優點是在因爲可基於互聯網部署,推廣運用的速度能夠獲得大大的加快,是一個更適合目前這個高速變化時代的技術。雖然本文只是針對託管業務,但其應用遠不止此,舞臺廣闊。