區塊鏈系統中間件及BaaS介紹——區塊鏈BaaS技術研討會

日前,北京金融科技產業聯盟成功舉辦“區塊鏈BaaS技術研討會”。本次研討會聚焦區塊鏈BaaS概況、技術架構與功能實現、BaaS應用實踐中的挑戰與解決思路、BaaS在供應鏈金融中與物聯網的融合應用等,相關案例爲BaaS研發與金融應用提供行業借鑑。本次研討會分享嘉賓來自聯盟區塊鏈專委會、拉卡拉、京東科技、浙商銀行等。以下內容根據專家在會上分享的“區塊鏈系統中間件及BaaS介紹”主題演講整理而成。

一、區塊鏈技術應用挑戰

區塊鏈技術經歷了十多年的發展,到以太坊爲代表的具備圖靈完備智能合約區塊鏈系統,越來越多的應用正在基於區塊鏈開發,但是區塊鏈技術的不足也逐漸顯現出來。

一是區塊鏈系統的技術成本較高。區塊鏈技術是一種多冗餘的分佈式系統,參與節點分別進行記賬,導致區塊鏈系統比一般的分佈式系統對計算資源、存儲資源和網絡資源的需求更高。而目前的“一業務一鏈”的模式也造成了資源的浪費。

二是區塊鏈系統的設計和開發難度較高。開發一套基於區塊鏈技術的應用系統,需要考慮區塊鏈底層框架的部署、智能合約開發、鏈外應用與區塊鏈系統間對接等任務,其中涉及了包括智能合約語言在內的多種編程語言,對開發人員能力的要求較高。

三是區塊鏈系統的運維治理難度較高。區塊鏈系統是一個去/多中心化的共識系統,系統的參與者往往涉及多個主體/機構,因此對於區塊鏈系統的運維、升級等治理需要多個主體共同參與,這無疑帶來了溝通和協調成本。一旦區塊鏈系統中的參與主體出現了利益衝突,則會對區塊鏈系統帶來較大影響。

四是區塊鏈系統解決方案價格較高。對於中小企業來說,採用自研區塊鏈技術的成本遠遠高於其帶來的收益,對於快速的業務創新負擔較高,這也是制約區塊鏈技術大規模應用的主要原因之一。

二、中間件及BaaS概述

中間件和BaaS既有聯繫也有區別。兩者的目的都是屏蔽區塊鏈底層,提供標準化能力,降低使用區塊鏈技術的門檻。從產品交付方式和提供服務的方式來看,中間件一般是交付靜態非運行時的產品,而BaaS則是提供服務化的區塊鏈能力,這也是兩者的主要區別之一。

中間件是一個範圍比較廣泛的概念,根據國家標準GB/T33847-2017 《信息技術中間件術語》的定義,中間件是位於系統軟件之上,用於支持分佈式應用軟件連接不同軟件實體的支撐軟件。而區塊鏈領域的中間件,存在於應用層和區塊鏈底層之間,主要是爲了降低開發者使用區塊鏈的門檻,或者將某些特定功能的模塊抽象成通用組件,讓開發者開箱即用。

BaaS是一種幫助用戶創建、管理和維護企業級區塊鏈網絡及應用的服務平臺。它具有降低開發及使用成本,兼顧快速部署、方便易用、高安全可靠等特性,是爲區塊鏈應用開發者提供區塊鏈服務能力的平臺。BaaS通過把計算資源、通訊資源、存儲資源以及上層的區塊鏈記賬能力、區塊鏈應用開發能力、區塊鏈配套設施能力轉化爲可編程接口,讓應用開發過程和應用部署過程簡單而高效,同時通過標準化的能力建設,保障區塊鏈應用的安全可靠,對區塊鏈業務的運營提供支撐,解決彈性、安全性、性能等運營難題,讓開發者專注開發。

三、中間件和BaaS特性與優點

一般來說,中間件和BaaS具備以下優勢。

1.提供安全便捷的區塊鏈能力和工作流

中間件及BaaS基於雲計算資源和區塊鏈底層框架,對基礎設施做了集成,形成了預配置的計算和網絡資源,可以爲用戶提供快速部署和啓動區塊鏈;另外對應用提供通用的開發接口和消息通知服務等,使區塊鏈應用開發變得簡單便捷;部分BaaS平臺還提供通用或特定場景的區塊鏈服務,用戶可以直接使用這些區塊鏈能力。

2.編寫、瀏覽、分析智能合約的可視化界面

大部分BaaS平臺提供在線或離線的智能合約IDE,用戶可以通過IDE進行智能合約的編寫、編譯、調試、瀏覽、分析等能力;有的平臺也提供了合約模板和合約庫,極大方便了智能合約的開發。

3.平臺化的運維、管理和監控能力

中間件和BaaS提供了平臺化的運維、管理和監控工作,使用戶更多關注於與業務相關的智能合約和鏈外應用上,降低了採用區塊鏈的技術門檻和工作量。

4.外部能力的快速接入

通過將各種中間件引入BaaS平臺,使BaaS具備除了區塊鏈能力本身之外的其他外部能力,如數字身份、硬件加密、隱私計算等。

5.審計和監管能力

BaaS平臺可以通過實現審計和監管的中間件,爲區塊鏈應用提供日誌和交易審計能力,同時可以按照相關的法律和法規對部署在BaaS平臺上的應用進行統一監管。

6.降低運行區塊鏈應用成本

通過雲平臺對資源的虛擬化以及提供容器化和開放聯盟鏈等多種部署方式,可以有效提高對資源的利用率,降低部署和運行區塊鏈應用的成本。

四、市場分析

(數據來源:IDC,《IDC全球區塊鏈支出指南2021》)

BaaS在銀行與金融服務業(BFSI)應用最廣,佔超過40%的比例。其餘重要的領域包括能源、政務、醫療健康、製造業、電信、零售、文娛等。

五、BaaS整體參考架構

1.基礎設施層

通過雲環境、IOT設備或者專有設備在專有或者公有網絡上提供必要的計算資源、存儲資源、網絡資源等基礎設施支撐。爲區塊鏈系統提供無限擴展的存儲、高速的網絡、按需彈性伸縮和故障自動恢復的節點等區塊鏈資源。

2.基礎BaaS層

基於基礎設施層搭建區塊鏈基礎技術,爲區塊鏈基礎服務平臺提供必要的底層服務及能力,保障鏈上節點的數據同步及區塊鏈應用穩定運行。

3.行業層

基於區塊鏈雲服務平臺構建包含數字身份服務、數據資源目錄服務、權限審計服務、電子證照服務等區塊鏈的統一公共服務,它是所有業務共用的、貫穿全局的區塊鏈服務。行業平臺承載區塊鏈應用運行的基礎能力,可以面向不同領域提供領域相關的能力,實現統一審批、管理和運營區塊鏈資源和鏈上業務情況。

4.應用層

應用層基於行業層可以快速構建基於金融、醫療、司法等各個領域的行業服務和行業平臺。同時根據不同業務協同需求和服務主體也可以在中間件層直接構建鏈上應用,按照不同領域內部業務進行細化。

六、當前面臨挑戰

1.交易性能

受到底層鏈的限制,BaaS的交易性能問題是制約產品未來大規模應用的重要瓶頸之一。當前BaaS產品中常用的底層公鏈(如以太坊)和聯盟鏈(如超級賬本)都無法支持高頻交易的場景,在吞吐量方面與高頻交易(如支付、大規模物聯網)的實際需求存在幾個數量級的差距。

2.可伸縮性

部分企業應用場景中,系統吞吐量會有動態調整的需求。例如在電商營銷活動中,產品溯源、支付等業務可能會短時間內劇增。在這些場景中落地部署的BaaS產品將在可伸縮性上面臨挑戰,需要在系統性能監控、自動調優,甚至底層的共識算法、部署協議等方面做大量的工作。

3.可互操作性

目前,BaaS產品在相互兼容性方面仍有很大的改進空間。不同廠商的BaaS產品即使採用同一套底層鏈,相互之間往往也很難互聯互通。這就迫使參與聯盟組鏈的組織必須選用同樣的BaaS產品。解決這個問題需要BaaS證書互認、鏈上治理協議標準、跨鏈等一系列技術的發展,具有一定難度。

4.安全與隱私保護

作爲區塊鏈服務交付的基礎設施,BaaS需要解決一系列的區塊鏈安全和隱私挑戰。

5.用戶的認知不足

首先,一些企業或者組織認爲BaaS產品是把去中心化的區塊鏈以中心化的方式進行管理,偏離了區塊鏈的初衷,因此對產品接受程度較低。

其次,用戶對區塊鏈技術的基礎認知不足。企業面臨着技術部門文化滯後、區塊鏈人才匱乏等問題。對區塊鏈如何應用自身業務場景以達到效率和收益最大化的認知不足。

6.缺乏統一標準

BaaS產品之間目前缺乏統一的標準。首先是底層技術方面缺乏數據互通標準,賦能實體應用方面缺乏統一的行業標準,用戶難以在不同廠商之間切換。其次在政策與法律方面缺乏統一的監管標準,缺乏類似於金融雲的監管標準,用戶難以評估使用產品的合規性。

七、展望

1.功能流程和性能的優化

中間件和BaaS的目的是以服務用戶爲導向,再加上區塊鏈的技術門檻較高,因此,對中間件和BaaS功能和性能的優化,降低用戶使用中間件和BaaS的門檻,是目前主要的發展方向之一。

2.提供跨雲部署方案

目前,大部分BaaS產品是單個雲數據內部創建區塊鏈,嚴格來說不符合區塊鏈多中心化、分佈式的特性,這也是一直以來BaaS被詬病的方面之一。因此,跨雲部署是目前BaaS領域發展方向之一。

3.適配多種底層,形成行業適配標準

目前,大部分BaaS平臺都已集成了兩種及以上的區塊鏈底層,但隨着區塊鏈的發展,區塊鏈底層框架將呈現百花齊放的態勢,爲了滿足用戶或業務對區塊鏈底層的需求,適配多種區塊鏈底層也是目前BaaS產品發展的方向之一。

本文來源:區塊鏈專業委員會

投稿郵箱:News@bfia.org.cn