QCon 2018北京:華為云區塊鏈服務實踐分享
InfoQ主辦的全球***技術盛會-QCon2018·北京站在4月20-22日在北京國際會議中心舉行。華為云區塊鏈服務BCS專家在此次大會上做了主題為《區塊鏈服務在公有云平臺上的重要問題設計實現及解決辦法》的分享。
此次演講通過“Hyperledger Fabric概述及選型說明、華為平臺架構及使用介紹、分布式系統共識問題、密碼學以及安全技術”四個方面與大家分享華為云區塊鏈服務的重要實踐。
Hyperledger Fabric概述及選型說明
區塊鏈不是一種新的技術,而是由多種技術構成的框架,包含共享賬本、共識算法、數據安全隱私保護以及可編程、圖靈完備智能合約,是一種防篡改的、共享的數字化賬本,用于記錄公有或私有對等網絡中的交易,可以提高效率、降低成本、降低風險并且能促進互信,構建出一個多中心化,共識,可信,不可篡改并且可追溯的系統。
區塊鏈分為公有鏈,私有鏈和聯盟鏈。公有鏈是任何人都可以參與使用和維護,信息是完全公開的。當引入許可機制,就可以實現私有鏈和聯盟鏈。私有鏈由集中管理者進行管理限制,只有內部少數人可以使用,信息不公開。聯盟鏈介于兩者之間由若干組織一起維護一條區塊鏈,該區塊鏈的使用必須帶有權限控制的限制訪問,相關信息會得到保護。
區塊鏈Hyperledger Fabric社區相對成熟穩定,華為在2016年投入該社區,并基于此架構開發區塊鏈服務,提供聯盟鏈和私有鏈。
華為云平臺架構及使用介紹
為解決區塊鏈在企業級場景下的一些突出問題,包括系統性能、功能完備性、系統擴展性、易用性等,華為云區塊鏈采用分層架構設計、云鏈結合、優化共識算法、容器、微服務架構與可伸縮的分布式云存儲技術等創新技術方案。
華為云區塊鏈服務包括4層2列:
- 區塊鏈資源層:華為云IaaS和PaaS層,為區塊鏈系統提供***擴展的存儲、高速的網絡、按需購買彈性伸縮和故障自動恢復的節點等區塊鏈資源。
- 區塊鏈服務平臺:目前基于Hyperleger1.0、docker和Kubernates上構建,具有極強的可靠性和擴展性,后續根據市場需求逐步支持Corda和Ethereum等優秀區塊鏈框架,為上層應用低成本、快速的提供高安全、高可靠、高性能的企業級區塊鏈系統。
- 合約層:目前提供Hyperledger標準智能合約接口,用戶可以根據不同應用場景構建不同的智能合約,后續將聯合合作伙伴為用戶打造通用場景智能合約庫如供應鏈管理和溯源、供應鏈金融、數字資產、公益慈善和互聯網保險等,企業可以在此基礎上快速構建區塊鏈應用場景。
- 業務應用層:為最終用戶的提供可信、安全、快捷的區塊鏈應用,用戶可以使用華為云提供的各種解決方案(供應鏈金融解決方案、電商行業解決方案、游戲行業解決方案、零售行業解決方案、新能源行業解決方案等等),結合合約層快速搭建區塊鏈應用。
- 區塊鏈系統安全:由華為云安全提供,聯盟鏈最重要的特點是節點的可控性和賬本的安全,華為云安全可以為區塊鏈節點、賬本、智能合約以及上層應用提供全方位的安全保障。
- 軟件開發云:用戶可以使用軟件開發云實現業務應用、智能合約從開發、測試到部署等CI/CD全系列流程。
通過這種分層架構設計,華為云區塊鏈服務為企業提供全方位的區塊鏈服務,幫助企業快速簡單的落地區塊鏈場景。
用戶通過華為云區塊鏈服務BCS的配置頁面,只需輸入幾個配置參數,點擊確認,華為云應用服務根據參數和內置的***實踐通過Kubernetes將區塊鏈各個節點以docker容器運行方式自動部署到指定集群,只需要幾分鐘即可一鍵部署一個完整的企業級區塊鏈系統。
將上述創建的私有鏈擴展為聯盟鏈也非常簡單。華為云區塊鏈服務利用了公有云基礎設施,連接周邊服務,每個聯盟成員為華為云獨立租戶,他們的集群都是屬于不同的vpc,獨立管理自己的節點和賬本,區塊鏈服務開發自己的邀請機制,聯盟發起成員可以通過租戶賬號邀請的方式將其他華為云租戶加入到現有的區塊鏈系統通道中,通過綁定公網地址使不同vpc內部的節點可以通信,根據業務需求逐步擴大聯盟鏈成員。
在部署區塊鏈服務之后,用戶可以使用軟件開發云實現業務應用、智能合約從開發、測試到部署的CI/CD全系列流程。華為云區塊鏈服務還提供圖形化的界面和示例代碼,幫助開發人員進行鏈代碼的開發、安裝和實例化;應用程序開發配置和構建;部署應用程序服務端和前端,調試業務等。
分布式系統共識問題
提升共識效率是區塊鏈系統的核心問題。當前的fabric版本僅支持solo模式和kafka模式的共識算法,無法識別拜占庭錯誤。為了解決這個問題,華為云區塊鏈服務集成了PBFT共識算法。
PBFT算法為了克服Primary Node采用了復雜的全量點對點通信來監聽各類異常行為,通信復雜度達到 O(n^2),同時額外增加了大量簽名校驗,帶來繁重的系統開銷,降低了共識效率、節點擴展性。此外,在主節點選舉或故障期間PBFT將無法正常共識,整個區塊鏈系統服務能力將會大幅降低甚至無法服務。華為云區塊鏈服務通過改進共識流程,保障區塊鏈系統在節點故障和切主節點期間對外服務的穩定性,同時通過減少不必要的簽名驗證、簡化共識流程,將通信復雜度從 O(n^2)減少到O(n),有效提升了共識效率和擴展性。
華為云還提出了更高性能的適合于聯盟鏈的FBFT快速拜占庭容錯算法,提高其共識速度到2000-1000tps。
密碼學及安全技術
為了滿足國內銀行、金融業的需求,華為云區塊鏈服務支持國密算法SM2/3/4,同時滿足合規要求。國密算法是國家密碼局制定標準的一系列算法,2017年11月SM2/9正式進入 ISO/IEC 標準。
區塊鏈系統中,賬本對參與組織是透明的。對于一些行業,如金融業,交易信息是敏感數據,非業務相關方不能查看,同時還要滿足監管機構的監管要求,而大部分的區塊鏈并沒有滿足隱私性要求。華為云區塊鏈服務提供帶有零知識證明的同態加密技術。同態加密庫用公鑰對交易數據進行加密保護,交易是密文運算,最終賬本中加密保存,即使節點被攻破,獲取到賬本記錄也無法解密;(2)提供范圍證明校驗,背書節點能夠對密文進行背書,無需解密就能校驗交易的正確性,從而識別出惡意交易風險,保證了智能合約的正確執行。華為開發出適用于Hyperledger Fabric平臺的保密交易系統,通過改良的算法,比起使用傳統的加法同態加密與基于環簽名的范圍零知識證明,性能大幅提升。
下載華為區塊鏈白皮書
https://static.huaweicloud.com/upload/files/pdf/20180326/20180326145830_90778.pdf
點擊了解華為云區塊鏈服務BCS