1. 程式人生 > >【轉載】Hyperledger學習小結

【轉載】Hyperledger學習小結

Hyperledger學習小結

 

自學Hyperledger Composer也有段時間了,是時候對所學的知識總結一下了。因為沒有實際專案參與的話,差不多也就到此為止了。後續可能會去了解一下以太坊的技術實踐。所以在這之前,有必要對之前掌握的內容做一下小結,整理下整個Hyperledger的重要的知識點,以便以後重拾的時候可以快速上手。

Hyperledger到底是個啥

  image

Hyperledger是一個由Linux基金會發起的區塊鏈解決方案專案,包含了多個子專案。通常大家提到的Hyperledger主要指的是其中的Fabric子專案。

  image

Hyperledger目前包含以下幾個子專案:

框架類專案:

  • Sawtooth 為超級賬本提供數字記錄(如資產所有權)的功能
  • Iroha 提供基於區塊鏈的平臺實現
  • Fabric 提供區塊鏈底層的基礎設施(如超級塊,區塊,CA,PKI等等),目前由IBM主導開發
  • Burrow 提供相容以太坊智慧合約的功能(EVM相容性),目前還在孵化中
  • Indy 為超級賬本提供分散式賬本的功能,目前還在孵化中

工具類專案:

  • Caliper 區塊鏈的壓測工具,目前還在孵化中
  • Cello 區塊鏈的運維工具,簡化部署操作,目前還在孵化中
  • Composer 區塊鏈的開發和構建工具,目前還在孵化中
  • Explorer 區塊鏈的視覺化層,目前還在孵化中
  • Quilt 提供了跨賬本,跨區塊鏈與非區塊鏈的支付協議

雖然大部分專案並未正式release,還處於孵化中,但是已經表現出相當高的活躍性,並且有諸多大廠商參與。Hyperledger公佈的成員列表: https://www.hyperledger.org/members 。 可以看到在國內參與的廠商也非常多,比如百度是超級賬本專案的主要成員,阿里是一般成員等等。

總之這個專案目前表現出非常高的活躍度和關注度,未來還需要時間的沉澱與積累,相信能有突飛猛進的發展,拭目以待。

Fabric小結

之前的主要精力都花在了整個超級賬本最核心的專案——Fabric上,對這個專案做一個小結。這個專案可以說是目前整個Hyperledger中最核心最活躍的專案了,需要先搞清楚這個專案是怎麼回事,再去看其他的專案。

Fabric的目標

搭建聯盟鏈/私有鏈,提供底層的基礎設施。Fabric使用Go語言編寫,本身提供Go, Node.js, JAVA(未來)的SDK。整個專案分為服務性的程式(持續後臺執行提供服務以及相關介面)peer,ordererfabric-ca,以及工具類的程式(一次性執行,產生必要的服務配置檔案等等)cryptogen,configtxlator,configtxgen等等。

Fabric提供區塊鏈基礎執行環境,以及chaincode的執行功能。

Fabric的執行環境

理論上使用Go編寫,跨平臺,支援所有作業系統。但是實際上根據周邊配套設施的選型,推薦Linux環境。因為其他相關的周邊專案幾乎都不支援Windows環境,所以Windows第一個被pass。再考慮到目前Fabric的執行方案几乎都是Docker,所以Linux成為首選平臺。當然開發環境下用Mac OS也是可以的。

Fabric的授權策略

PKI+ACL。只要配置過SSL雙向認證的使用者對這玩意應該都不陌生,本質上是類似的,使用者使用私鑰表明自己的身份,公鑰進行簽證以授權訪問。Fabric通過ACL對不同的組織,不同的使用者進行授權。

Fabric的進階學習方式

學習Fabric的路線圖大致如下: Fabric --> Composer --> Other

首先大體熟悉一下Fabric的官方文件就可以了,目前穩定版本是1.0,開發版本是1.1,新手建議直接看1.1的文件,如果是為了上產品環境可以考慮看穩定版本1.0的。至於0.6版本的文件不用看了,那個版本只能用來做POC。

開發文件可以暫時跳過。Fabric的開發文件目前很不完善,你幾乎看了還是不知道怎麼去開發一個Fabric應用,至於部署文件幾乎壓根沒有,這個只能等官方逐步完善文件。

之後可以看看Composer的文件,這個文件對開發比較友好,有一些範例,以及ACL運作方式等等,對於運維人員需要再熟悉一下Cello。

整個Hyperledger高度模組化,所以每個專案其實提供的功能都很有限,並不像以太坊那樣一個專案工程包羅永珍,需要根據實際商業需求引入對應的模組,比如做賬本,可以考慮引入Indy,而不用自己從頭開發。

最後,這個思維導圖很不錯,可以幫助理清區塊鏈的思路: https://www.jianshu.com/p/a10052a5bbd4



作者:馮宇Ops
連結:https://www.jianshu.com/p/8294e7f441d1
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。