華為區塊鏈BCS的三點創新設計
這是華為雲區塊鏈服務的一個邏輯架構。據張子怡介紹,華為區塊鏈BCS是構建於Docker和Kubermates之上,具有較高的擴充套件性,並且會與其他雲服務完全打通,提供成員動態加入來構建,節點彈性伸縮,支援私有鏈和聯盟鏈靈活部署,和現有的IT基礎設施互聯互通。與此同時,張子怡講解了華為基於超級賬本所做的三點創新設計。
一、高效能拜占庭容錯共識演算法,解決吞吐率過低問題
如何提高共識效率是大家都會遇到的問題,目前開源的hyperledger fabric只適合放在私有鏈動作,它可以在kafka上達到一定的效能,構建聯盟鏈的時候,需要一個拜占庭式的演算法。hyperledger fabric在0.6的版本中提供了一個PBFT演算法,但是效能非常差,華為提出了一個快速拜占庭演算法來解決這個問題。我們因為是基於華為雲的相對可靠節點,透過對主節點的監控,我們在共同性和可用性中其實向可用性傾斜。
我們把共識演算法分為兩類,一類是證明類的共識,一類是投票類的共識。如何簡單的理解呢,共識演算法解決的問題就是多人共同記賬,以誰記得為準的問題。出個謎題誰先猜出來給誰?是比特幣工作量證明機制POW;誰的股份多誰記賬的概率大?是股權證明POS機制;由股份多的人選舉代言人進行記賬?是DPOS機制;每隔一段時間選個組長,大家舉手表決是否同意組長的記賬?是實用拜占庭容錯協議;利用可信硬體擲骰子,選數字最小的?是最小幸運數演算法。
華為的共識演算法有兩點創新:一是簽名+兩階段提交,二是多例項共識互相監督監督,保證公平性。我們基於PBFT演算法,減少了不必要的資訊通訊和簽名消耗。使得資訊數量的複雜度由n^2 降到了n,提高了演算法效率。早前測試的效能達到了5000TPS,現在更高,目前還沒有公佈。
二、基於關係模型的區塊鏈,提升易用性和查詢效能
華為平臺上有三種區塊鏈部署模式,第一種是全華為硬體+華為BCS軟體,也就是中性化部署,所有業務部署在華為雲。華為雲平臺支援多租的區塊鏈服務部署,各個租戶有自己的VPC,彼此之間網路和資料是隔離的,只有透過外網才能互通,所以其實並不存在中心化。第二種是線上線下的方式,部分華為硬體+華為BCS軟體,也就是混合部署,允許線下的資料中心放你的區塊鏈服務節點,線下線上打通。一部分業務部署在華為公有云,另一部分業務部署在客戶私有資料中心。第三種方式是去中心化部署,完全放線上下,私有硬體+華為BCS軟體,業務部署在客戶私有資料中心,。
我們基於關係模型區塊鏈,提升易用性,主要有三個出發點,一是能不能像使用資料庫一樣使用區塊鏈?二是能不能低成本將現有應用從資料庫切換到區塊鏈?三是能不能支援高效複雜查詢?為了降低大家的學習成本,我們做了一個底層是關係型資料庫的儲存,大家可以無縫切換到熟悉的程式碼書寫方式。首先你可以進行資料分析。其次,它還支援高效的複雜產品。總體來講,我們的設計分為三部分:一是SQL的區塊鏈訪問;而是基於SQL的智慧合約開發框架;三是基於關聯式資料庫的區塊鏈資料管理。
三、從三個層級五大模組對區塊鏈進行全面防護
安全設計層面,我們從三個層級、五大模組對區塊鏈進行了全面的防護。比如說雲上面的安全,我們過了等保四級。然後身份管理,我們提供了國密演算法、標準的加密演算法、同態加密演算法,還有就是安全容器的能力,鏈碼沙箱,以及惡意程式碼檢測,然後鏈碼的形式化驗證,自適應的控制演算法。
比如其中的國密演算法是金融行業必備,在華為雲部署的時候你可選擇。如何解決區塊鏈技術應用於金融的隱私和可用性?我們的方案一是引入同態加密解決隱私問題;二是提出範圍證明/等式證明解決金融業務可用問題。這是一種範圍可驗證同態加密方法。其實同態加密技術它就實現了無秘鑰對秘文的計算,既可以減少通訊代價,又可以完成計算任務。利用同態加密技術可以讓解密方只獲得最後的結果而無法獲得每一個秘文,提高安全性。
雲+網路+終端三位一體的區塊鏈端到端解決方案
最後說一下華為雲的思考,我們希望做到的是什麼?
我們的策略是聚焦四大價值方向(資料、LOT、金融、運營商),以區塊鏈平臺為核心,結合網路和晶片,形成三位一體的端到端的解決方案。
透過BaaS(BCS)平臺為核心,構建BCS+華為公有云的策略。網路節點和邊緣計算也應該成為區塊鏈網路的節點,保障區塊鏈網路的真實性和安全。
終端是一個晶片,內建區塊鏈SDK及API,它可以透過華為的電信網路,傳輸到華為的BCS平臺上來,整合手機端或邊緣端的一些資訊,進行可信資料採集,構建整體的區塊鏈解決方案,為客戶打造真實的區塊鏈應用場景。
更多區塊鏈資訊:www.qukuaiwang.com.cn/news