技術解析+代碼實戰,帶你入門華爲雲政務區塊鏈平臺

摘要:政務區塊鏈平臺是行業區塊鏈平臺的初步實踐,未來在區塊鏈技術的發展下,還會打造面向其他領域的鏈管平臺,構建多方協同的分佈式賬本,讓區塊鏈應用更便捷高效的爲產業服務。

本文分享自華爲雲社區《技術解析+代碼實戰,帶你入門華爲雲政務區塊鏈平臺》,作者:敏捷的小智。

1、行業區塊鏈平臺誕生背景

互聯網時代下,區塊鏈作爲一種分佈式的公開賬本,具有去中心化、開放匿名、不可僞造篡改等特點,憑藉其獨特的信任機制和信息傳遞技術,在金融、醫療、教育等各個領域都有着廣泛的應用,推動着科技領域的變革。

傳統BaaS(Blockchain as a Service)平臺將區塊鏈集成爲雲服務提供給客戶,想比於PaaS平臺而言,充分利用了雲計算的彈性、穩定性和靈活性;而行業區塊鏈平臺又是在BaaS平臺之上的區塊鏈中臺應用,在業界標準不統一、架構參差不齊的大背景下,充分屏蔽了底層鏈在模型和部署流程上的差異,進一步節省了用戶部署業務和應用的成本,實現了跨雲服務的一站式異構鏈管理。即便是技術薄弱的用戶也可通過此平臺實現快速統一的規劃建站,滿足各類業務需求,解決了區塊鏈技術人才短缺、運維人力成本高的難題。

2、政務區塊鏈平臺介紹

政務領域的用戶具有主體多、環節複雜、信息量大等特點,傳統數據共享模式下,業務辦理效率和數據共享能力較低,不僅需要大量的人工審批,文件、庫表在複製傳遞的過程中還可能引發數據不一致,信息泄露,時效性較弱,且不易管理。自2016年起,國家鼓勵探索“政務上鍊”,利用區塊鏈的數據共享模式實現政務數據跨部門、跨區域的共同維護和利用,推動政務數字化改革,實現智能化的社會治理。

政務區塊鏈平臺UGBaaS(Unified Governmental BaaS)是針對政務行業開發的新型鏈管平臺,一個集中式的運營運維繫統,允許用戶平滑接入名下的各類區塊鏈,實現統一的管理監控。它極大的簡化了業務流程,包含身份認證管理、業務管理、憑證轉換服務、數據採集和展現服務、合約倉庫和應用倉庫、內部api網關等功能模塊,使得管理員可以輕鬆地治理底層資源,管理租戶配額,一鍵部署聯盟和智能合約,並監控底層鏈和節點。底層自然支持Hyperledger Fabric區塊鏈,亦可納管Ethereum、Quorum等異構鏈。

3、主要功能模塊

管理員視角:

租戶視角:

4、平臺主要技術:

• 組件多活與多region容災:

政務區塊鏈平臺部署在一個多節點高可用集羣上,每個容器都有相同處理業務的能力,部分節點故障時服務仍能繼續使用,達到一定的容災性。平臺內部需要存儲大量數據,因此在部署時同期部署了分佈式的數據庫,均勻的部署在集羣的每個節點上。數據庫內部採用高一致性算法,並維護多個歷史版本數據,在檢測到當前監聽的數據庫節點健康狀態異常後會自動建立新的客戶端連接,切換連接源,保證數據的強一致性和高可用性。

• 雙重緩存層與請求消息隊列:

政務區塊鏈平臺組件對外開放一套標準政務接口,部署時會簽發一套tls證書並提供下載方式,用戶可以通過該證書連接到組件上,通過調用開放API運行相應功能。由於涉及大量接口調用,組件入口處設置了雙重緩存層,保證不必要的底層接口調用,加強接口性能。當用戶請求到達組件時,消息處理的流量控制器會拒絕容量外的請求,容量內的請求會按到達順序依次下發,並在消費請求後以一定的qps繼續填充隊列,保證組件的穩定。

• 流程引擎與任務樹:

平臺內部需維護聯盟、業務鏈、組織和底層BaaS平臺相應的實體關係,通過映射的方式屏蔽了異構鏈模型上的差異(如子鏈、通道的區別,聯盟、網絡的概念,組織、節點等最小粒度),通過抽象任務模板對象封裝每個業務操作對應的具體步驟,自動化的並行或串行執行區塊鏈創建、邀請、通知、審批等任務。處理器在任務調度的時候根據反射自動匹配不同的任務類型,並通過分析嵌套深度解析任務下的子任務,生成多個並行任務流。自動化的流程引擎可以處理用戶下發的特定任務、執行定時任務(如監控、日誌、審計、告警、清理等)。任務執行需具備原子性,一旦任務失敗會自動回滾該任務中已經執行的部分。任務下發後,用戶可通過任務進度查詢接口獲取當前業務操作的處理進度,一旦任務失敗會展示詳細的執行記錄和處理建議。樹狀的任務結構能夠保證同級任務併發執行,任務的處理可以使用顏色標記法進行標記,每次執行允許一定的容錯並設置超時時間,父節點在檢測到全部子節點爲某個非進行中狀態時便會更新,由底向上,直至根節點狀態變更完成。

• 異構區塊鏈平臺統一接入:

異構鏈統一接入主要有鑑權方式、模型差異、建鏈審批流程差異等難點。對於無管理面的自有區塊鏈,政務區塊鏈平臺制訂了一套統一接入接口,希望被平臺納管的區塊鏈只需實現這套接口便可註冊後接入;對於已有管理面並開放接口的區塊鏈平臺,政務區塊鏈平臺提供接口映射的註冊方式,廠商可以通過注入模板自動將一個或多個自有接口映射到政務區塊鏈平臺的統一接口上,新鏈接入後平臺會自動執行接入校驗流程,通過默認的內置租戶進行調測,檢查新平臺接口的連通性,並通過服務器健康狀態的接口定期巡檢平臺的可用性。對於註冊全部變更接口的接入方式,平臺全生命週期的維護該平臺下的所有區塊鏈網絡;也提供只註冊管理類接口的納管模式,使用戶對接已部署的區塊鏈。同時,未來還將考慮以跨鏈方式實現異構鏈的互聯互通。

5、UGBaaS客戶端sample代碼:

從行業區塊鏈平臺新建實例處點擊下載證書壓縮包,ugbaascert/tls路徑下包含client.crt client.key兩個文件,示例代碼如下

圖1 證書導入代碼

導入證書後,默認連接端口32623,url設置成政務接口文檔中的接口,調用獲取已註冊組織列表接口並解析返回至結構體。

圖2 獲取已註冊組織列表接口代碼

使用政務區塊鏈平臺前均需調用組織註冊接口/v1/ugbaas/orgs,註冊組織和底層租戶的對應關係(域信息、項目信息及aksk等,從IAM處獲取),然後即可進行創建聯盟、業務鏈、部署智能合約等操作。變更類操作均會返回操作ID,根據操作ID調用查詢流程處理進度接口獲取當前任務的進行狀態。

結語:

區塊鏈技術在數據共享、數據安全、隱私保護、確權確責等方面的技術優勢,使其在政府、金融、供應鏈、交通等各個領域展現出廣闊的應用前景。政務區塊鏈平臺是行業區塊鏈平臺的初步實踐,未來在區塊鏈技術的發展下,還會打造面向其他領域的鏈管平臺,構建多方協同的分佈式賬本,讓區塊鏈應用更便捷高效的爲產業服務。

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章