區塊鏈必知 -- 超級賬本Hyperledger

比特幣、以太坊的成功,推動了區塊鏈行業的飛速發展,從區塊鏈的分類來看,它們都屬於公鏈項目,區塊鏈除了有公鏈之外、還有私有鏈和聯盟鏈。公鏈的完全去中心化是一個美好的未來,但是又和現實存在着很大的衝突,難以快速落地 ,多中心的聯盟鏈被認爲是更有可能快速融入現實,落地實踐。當前最著名的的聯盟鏈基礎平臺就是“超級賬本(Hyperledger)”項目。
這裏寫圖片描述

1、超級賬本是什麼?

超級賬本hyperledger)是Linux基金會2015年發起的推進區塊鏈數字技術和交易驗證的開源項目,30家初始企業成員(包括IBM、Accenture、Intel、J.P.Morgan、R3、DAH、DTCC、FUJITSU、HITACHI、SWIFT、Cisco等)。目標是讓成員共同合作,共建開放平臺,滿足來自多個不同行業各種用戶案例,並簡化業務流程。

由於點對點網絡的特性,分佈式賬本技術是完全共享、透明和去中心化的,故非常適合於在金融行業的應用,以及其他的例如製造、銀行、保險、物聯網等無數個其他行業。通過創建分佈式賬本的公開標準,實現虛擬和數字形式的價值交換,例如資產合約、能源交易、結婚證書、能夠安全和高效低成本的進行追蹤和交易。

超級賬本在區塊鏈中的位置
- 比特幣- 代表數字貨幣、區塊鏈思想的誕生,提供了區塊鏈技術應用的原型
- 以太坊 - 掙脫數字貨幣的枷鎖,智能合約的誕生,延伸了區塊鏈技術的功能
- 超級賬本 - 進一步引入權限控制和安全保障,首次將區塊鏈技術引入到分佈式聯盟賬本的應用場景。

2、超級賬本的組成

作爲一個聯合項目(collaborative project),超級賬本由面向不同目的和場景的子項目構成。目前包括Fabric、Sawtooth、Iroha、Blockchain Explorer、Cello、Indy、Composer、Burrow等8大頂級項目,所有項目都遵守Apache v2許可,直接上思維導圖把。
這裏寫圖片描述

3、超級賬本架構設計

超級賬本包括三大組件:區塊鏈(Blockchain)、鏈碼(Chaincode)、成員權限管理(Membership)。

區塊鏈提供一個分佈式賬本平臺。一般地,多個交易被打包進區塊中,多個區塊構成一條區塊鏈。區塊鏈代表的是賬本狀態機發生變更的歷史過程。

鏈碼包含所有的處理邏輯,並對外提供接口,外部通過調用鏈碼接口來改變世界觀。世界觀是一個鍵值數據庫,用於存放鏈碼執行過程中涉及到的狀態變量。

成員權限管理基於 PKI ,平臺可以對接入的節點和客戶端的能力進行限制。
這裏寫圖片描述
白皮書提供的Hyperledger典型架構

4、超級賬本應用場景

這部分內容,在 “超級賬本白皮書”中描述得很多。下面簡單列舉一些:
- 開放可信供應鏈
- 資產存管
- 商務合同
- 銀聯積分交換平臺
- 商品身份溯源
- 食品安全等

5、開發者可以做什麼

作爲區塊鏈應用開發者,需要根據業務邏輯來開發與分佈式賬本打交道的智能合約,以及相應的用戶側應用程序。超級賬本支持了基於主流編程語言的智能合約(鏈碼)設計,極大地方便了應用開發人員快速開發新型的分佈式應用,或將已有應用遷移到區塊鏈系統上。

區塊鏈應用,一般由若干部署在區塊鏈網絡中的智能合約,以及調用這些智能合約的應用程序組成。典型的區塊鏈應用程序的工作過程如下圖所示。其中,用戶專注於與業務本身相關的應用程序;智能合約則封裝了與區塊賬本直接交互的相關過程,被應用程序調用。
這裏寫圖片描述

智能合約開發

智能合約直接與賬本結構打交道,處於十分核心的位置。智能合約代碼本質上是爲了對上層業務邏輯進行支持。智能合約最終會部署在區塊鏈網絡中與賬本進行交互。開發者需要了解所選用區塊鏈平臺的智能合約結構、語言特性、狀態存儲方式等知識。
此外,開發者還需要對智能合約的生命週期管理進行考慮,包括代碼的編寫、版本管理、提交驗證,以及升級版本等,都需要遵循一套標準的規範。

應用程序開發

應用程序通過調用智能合約提供的方法接口來實現業務邏輯。由於離用戶側更貼近,應用程序的開發更爲靈活,可以採用已有的主流開發語言進行開發,包括Javascript、Python、Go、Java等。
在運行位置上,應用程序既可以運行在區塊鏈網絡的節點上,又可以運行在中心化的服務器上,但必須保證可以訪問到智能合約暴露的服務接口。

附帶提一下官方提供的開發案例
- 案例一:轉賬
- 案例二:資產權屬管理
- 案例三:調用其他鏈碼
- 案例四:發送事件

6、參考資料

  1. hyperledger 官網
  2. 區塊鏈和HyperLedger開源技術講堂
  3. hyperledger-fabric 官方文檔
  4. 超級賬本Hyperledger白皮書(中文版)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章