夏俊杰,孫 曄,楊海濤,陳 昌(.北京電信規劃設計院有限公司,北京00044;.西安紙貴互聯網科技有限公司,陜西西安70000)
區塊鏈技術的誕生是記賬方法演化到分布式場景下的天然結果。現代會計學通常采用的復式記賬法最早在1494年提出,將每筆交易分別在來源方和目標方2個科目進行記錄,引入對賬驗證功能。這本質上仍是中心化的記賬方式,賬本掌握在單個個體手中。隨著計算機和網絡技術的快速發展,記賬數據量增大、記賬個體增多,衍生出了以區塊鏈為代表的分布式記賬方法,用于解決眾多個體共同維護同一個賬本、合作完成記賬的問題。
如圖1所示,區塊鏈是一種以區塊為基本單位的鏈式數據結構,區塊頭中利用數字摘要對之前的交易歷史進行校驗,適合分布式記賬場景下防篡改的需求。狹義上,區塊鏈作為一個數據結構沒有兼顧安全性、隱私、擴展性等需求,因此在實踐中常常結合數字證書、加密等安全保護方法,同態、零知識等隱私保護方法。廣義上,區塊鏈指代基于區塊鏈數據結構實現的分布式記賬技術,包括分布式共識、隱私與安全保護、點對點通信、智能合約等。
數據作為現代企業的新型重要資產,往往未被充分利用,還會受到諸如數據安全事故、數據泄露、數據造假、數據權屬不明等問題困擾。針對這些問題,數據治理是將數據作為資產而展開的一系列具體化工作,是對數據的全生命周期管理,是企業實現數據價值的基礎。
從數據生命周期的角度,數據治理需要解決三方面問題。
a)數據產生過程中,保障數據的真實性。既要從數據源頭確保真實性,也要保證數據記錄未篡改和可追溯。
b)數據交換和流通過程中,確保數據安全并保護隱私。數據開放、跨界共享是充分發揮數據潛能的大趨勢,但安全的數據流通機制需要解決數據所有權如何確認、流通路徑如何控制、如何避免數據被未授權使用、如何避免泄露隱私等問題。
c)對數據價值的有效實現。由于數據的價值具有時空相關性,且在動態變化,因此需要有衡量數據價值的有效手段。

圖1 區塊鏈數據結構
區塊鏈系統的整體架構如圖2所示,主要包括底層通信網絡、區塊鏈核心模塊和上層接口3個部分。
底層通信網絡是由多節點組成的點對點(P2P)網絡,通過gRPC通道交互,通過Gossip協議進行數據同步。

圖2 區塊鏈系統整體架構
底層之上為系統核心模塊。賬本、賬戶、通證、交易模塊依賴區塊鏈結構、數據庫、共識機制等技術;智能合約依賴容器、狀態機等技術;權限管理利用了公鑰基礎設施(PKI)、數字證書、加解密算法等安全技術。
上層是面向分布式系統和應用開發提供的應用程序編程接口(API),并設計實現訪問和管理區塊鏈資源的軟件開發工具包(SDK)。此外,應用側可以通過訂閱和監聽事件來獲取交易執行、區塊生成等信息。
區塊鏈系統的核心模塊主要包括賬本、賬戶、通證、智能合約、交易、共識機制等部分。
賬本:包括區塊鏈結構和多個數據庫結構(包括狀態數據庫、歷史數據庫、索引數據庫)。其中,區塊鏈結構中的每個區塊記錄一段時間內發生的所有交易和狀態結果,是對當前賬本狀態的一次共識;區塊鏈結構由區塊按照發生順序串聯而成,記錄整個賬本狀態變更的歷史;狀態數據庫記錄變更的最終結果。
賬戶:賬戶由地址唯一標識。終端用戶可自行生成唯一私鑰,單向推導出公鑰與地址。終端用戶構造的交易需要指定發起賬戶,并用賬戶所屬私鑰簽名,私鑰保存在專有的安全硬件之中。每個賬戶可擁有多種通證,并記錄在賬本上。
通證:通證主要分為權限通證與權益通證2種類型。其中權限通證用于確定用戶是否有權訪問特定數據或獲取數據服務,用戶通過特定類型的權限通證,獲取相應的數據或數據服務;權益通證是用戶對數據資產保護與交易平臺貢獻度的衡量,通過提供數據或數據服務獲得權益通證,通過消耗一定數量的權益通證獲取數據或數據服務。
智能合約:由開發者編寫的無狀態的、事件驅動的代碼。智能合約對外暴露若干接口,對應用發出的交易做出響應,執行代碼邏輯,與賬本進行交互。項目平臺支持擁有權限的角色進行智能合約的升級。
交易:一次對賬本的操作,導致賬本狀態的一次改變。如轉移通證、調用智能合約等。
共識機制:共識過程表示多個節點對于一批交易的發生順序、合法性、對賬本狀態的更新結果達成一致的觀點。
無論是平臺上數據的確權、訪問控制還是共享,都會涉及到對底層區塊鏈賬本的操作。這種對賬本狀態的改變,被統稱為交易。典型的區塊鏈交易處理過程如圖3所示。

圖3 典型區塊鏈交易處理過程
上層平臺系統對鏈的操作指令,通過SDK完成。SDK發送的交易提案(Signed Proposal)包含通道編號、智能合約和參數、提交方身份簽名、發起用戶簽名。
背書節點收到交易提案后,需要校驗提案結構完整性、提交方身份簽名、交易編號合法性、是否滿足通道要求、發起用戶簽名與計數器等,模擬執行交易(包括讀寫集和用于通證的轉移集)并對結果簽名,構造提案回復(Proposal Response)。
SDK需要校驗收到的提案回復,并比對多個背書節點的回復結果,同時檢查是否收集足夠背書。收集足夠背書后將構造完整交易結構,發送給排序節點。
排序節點新生成的區塊中包含排好序的一批次交易。提交節點需要進行交易的逐個檢查,并確定合法交易對狀態的更新值。具體的檢查包括交易結構完整性、簽名、編號等;還需對交易的讀集做驗證,對轉移集的轉出方做余額檢查。最后,根據所有合法交易更新賬本狀態。
基于上述的區塊鏈相關技術及架構,開發了基于區塊鏈的數據治理平臺系統。系統體系架構分為5層,自下而上分別是基礎設施層、網絡層、合約層、服務層、展示層。體系架構如圖4所示。
基礎設施層提供系統運行的底層資源支持,包括物聯網(IoT)設備、網絡資源、存儲資源、安全設備等硬件設備資源。其中,IoT設備負責數據的采集;網絡資源可以根據實際部署情況采用互聯網或者專網,對于有數據隱私要求的部署環境,可以采用專網;存儲資源根據使用的服務器類型不同可以分為私有服務器和云服務器,區別同樣在于數據隱私的要求程度。基礎設施層還包括安全設備等其他硬件,用于保護底層網絡系統的安全性。

圖4 區塊鏈數據治理平臺架構
網絡層提供系統構建的基礎區塊鏈網絡,區塊鏈采用基于Hyperledger Fabric的聯盟鏈網絡方案,覆蓋大部分業務場景的需求;區塊鏈網絡通過區塊鏈適配器將不同底層的接口統一在同一協議框架下適配,通過向下兼容不同底層、向上提供統一接口的方式,節省上層業務服務的集成開發成本。
合約層通過智能合約實現上層應用對鏈上數據、業務的調用。主要包含的技術有預言機技術、分布式身份標識、跨鏈互操作等。
服務層為展示層提供相應的接口支持,提供一系列基于區塊鏈技術的數據服務,包括數據采集、數據上鏈、數據存證、數據交易、訪問控制、數據隱私、安全共享、監管審計等,實現數據從物理世界到區塊鏈網絡到全生命周期流轉服務,保證整個流程中數據的真實性、安全性、隱私性、可審計。
展示層通過可視化界面的形式與平臺使用者、網絡管理員進行人機交互,主要包括數據存證平臺、數據交易平臺、區塊鏈管理后臺。數據存證平臺用于數據的采集、上傳、存證,并通過預言機技術生成驗證證書,供相關審計工作使用;數據交易平臺用于數據的交易與安全共享,基于區塊鏈智能合約,實現跨主體之間的數據安全交易與協作,保證交易過程的不可篡改,保護數據的隱私安全;區塊鏈管理后臺則用于管理鏈上網絡狀態,支持動態調整網絡配置,監控網絡節點運行狀態等功能。
系統包括區塊鏈網絡管理員、數據管理員和超級管理員3類g角色。面向不同角色的系統功能架構如圖5所示。

圖5 系統角色架構
面向區塊鏈網絡管理員,系統支持區塊鏈瀏覽器、鏈碼管理、組織管理、節點管理、通道管理、日志查詢功能。區塊鏈瀏覽器用于監測區塊鏈網絡的整體配置情況以及區塊鏈上的交易及區塊詳情;鏈碼管理用于在區塊鏈上安裝、部署智能合約;組織管理用于新增、管理鏈上組織,每一個組織代表一個機構或企業實體,不同實體之間的文件、用戶、積分等的數據互通均以組織為單位進行;節點管理用于新增、管理鏈上節點,支持動態查看節點的運行狀態,對宕機節點及時進行故障維護;通道管理用于新增、管理鏈上的通道,每一個通道代表由多個組織組成的鏈上聯盟,用于實現同一區塊鏈上的數據隱私管理;日志查詢支持常規的操作與運行日志查詢。
面向數據管理員,系統支持數據訪問、數據交易、數據存證、侵權存證功能。數據訪問功能會根據管理員的權限等級來顯示密級不高于管理員權限的數據文件,支持管理員查看數據的名稱、哈希值、描述、作者等相關信息。數據交易功能支持以積分形式購買數據文件以及對申請制的數據下載,數據交易完全在區塊鏈上完成,交易結果記錄在區塊上,不可篡改。數據存證功能根據管理員不同的權限等級支持上傳不同密級的數據,上傳的數據會即時生成哈希值,并將哈希值保存在區塊鏈上,生成存證信息,包括存證區塊哈希等信息。侵權存證功能支持從侵權網站固化侵權證據,基于預言機技術完成侵權頁面的存證、哈希上鏈以及證明文件生成。
面向超級管理員,系統支持數據流轉監控、賬戶管理、角色管理、權限管理、積分管理功能。數據流轉監控功能為管理提供全平臺數據上傳、存證、交易、下載等流程中用戶的每一個操作的信息記錄,用于監管操作的規范性與安全性。賬戶管理功能支持管理添加用戶、審核并修改用戶信息、為用戶分配權限、為用戶轉賬積分,提供對平臺用戶的完善管理工具。角色管理功能用于設置平臺上角色,角色用于表明用戶權限與身份,不同角色的權限需要管理員在平臺配置。權限配置功能提供多個維度的平臺使用權限細分,管理員根據實際需求將細分權限匯總成權限集合,再分配給角色作為該角色所具有的權限。積分管理功能主要實現對鏈上流轉積分的總量、分配方式、增發方式等經濟模型的宏觀調控,保證積分的價值穩定。
系統基于Hyperledger Fabric聯盟鏈搭建,同時搭載了Oracle預言機技術、DID分布式身份標識技術與跨鏈互操作技術,具備高安全、高并發、可擴展等特性,在資產登記和流轉、共識優化、隱私保護、行為監管、跨鏈交互等方面具備先進優勢。
數據治理平臺系統的測試主要從壓力測試、高并發測試、低負載測試等方面展開,總體測試結果表明,在采用24C128G配置的服務器、萬兆寬帶網、Kafka共識機制和ECDSA密碼學算法的情況下,壓力測試持續運行1 h以上系統維持正常運行,高并發測試的tps均達到2 000以上,長期測試正常運行1個月,日均交易8 779筆。
a)壓力測試:分別在4節點、8節點、16節點的壓力測試場景(3種場景的配置如表1所示)下測試了治理平臺系統的運行狀況。在區塊鏈平臺測試環境中,持續保持未處理交易在1 000以上,系統持續運行1 h,未出現故障,且能正確處理性能范圍內的交易。表2和表3列出了4節點情況下的具體測試結果,在測試過程中,共完成了359 976筆交易,吞吐量達到2 345 tps。

表1 壓力測試系統配置
b)高并發測試:在區塊鏈平臺測試環境下,在1 s內發送5萬筆交易請求,交易包括不同的類型,包括數據存證、數據確權、數據交易、身份認證等。在高并發的情況下,吞吐量達到了2 235 tps,且對每一種交易類型的支持吞吐量較為平均。

表2 性能指標

表3 資源消耗
c)長期運行測試:構建了常規的數據治理系統,由6節點組成,部署了2個鏈碼,支持數據存證與數據交易2種常規功能,經過累積一個月的系統常規運行,共生成了412 019個區塊,記錄交易422 854筆,日平均交易約為8 779筆,在此期間,系統運行正常無宕機情況出現,低負載運行效果良好。
上述測試表明,基于區塊鏈的數據資產保護與交易平臺,在高負載、高并發、長期運行等條件下,均能夠正常、安全工作,且系統性能滿足上層應用的需求。
基于區塊鏈的數據資產保護與交易平臺,為智慧城市、數字工程等系統構建了數據治理的底層平臺。在實際的應用過程中,該平臺一方面需要進一步完善其功能,構建數據采集、傳輸、存儲、確權、訪問控制、交易、隱私保護、安全共享與監管等全生命周期的數據治理能力;另一方面需要與實際應用場景緊密結合,在電子政務、商品溯源、供應鏈管理、數據監管等領域,發揮更大的作用。