王夢丹
(深圳技術大學圖書館 廣東深圳 518118)
工信部于2016 年頒布了《中國區塊鏈技術和應用發展的白皮書》之后,區塊鏈技術成為備受關注的新技術[1-2]。圖書館界對如何將區塊鏈技術運用到智慧圖書館發展進程中也進行了探索。在數字資源日漸成為主體的時代,區塊鏈技術為解決圖書館信息收集、存儲安全、信息傳遞、隱私保護、知識產權保護等問題提供了新的技術支持思路[3]。大多數高校圖書館已經將大數據、物聯網、RFID等信息技術應用到圖書館的智慧化建設當中,基本實現了基礎業務的數字化、自動化,圖書館的服務效率也有所提高,但是距離圖書館智慧化的目標還有一定的距離。高校圖書館的信息化建設還處于獨立的狀態,資源采購、服務器存儲等仍是各圖書館購置的重點內容。然而,各個圖書館的資源不互通、同質化的現象普遍存在。除此之外,智慧圖書館的應用勢必會收集讀者的信息,包括個人信息以及在圖書館平臺上所產生的行為數據,因此數據的安全性和隱私保護也是圖書館智慧化過程中需要考慮到的重要問題。區塊鏈技術的去中心化、共識機制、不可篡改等特點能夠打破不同信息主體之間的信息壁壘,同時能保證信息之間的安全性。區塊鏈技術為圖書館的智慧化建設提供了新的思路,是構建智慧圖書館的一項關鍵技術。
圖書館的核心業務是服務讀者,將區塊鏈技術應用到服務智慧化,可以推動優勢資源的共建。高校圖書館的服務處于由被動到主動再轉向精準服務的過程中,將區塊鏈理念與圖書館智慧服務結合,區塊鏈通過去信任達成共識、通過隱私安全達成可持續發展、通過智能合約達成智慧化是改變圖書館服務的應用手段[4]。很多學者探索將區塊鏈技術具體應用到圖書館服務業務場景中,提出可將區塊鏈技術運用到高校圖書館服務場景之一的網絡教育和學習中[5-6]。將學校師生在圖書館資源平臺上的如借閱信息、檢索信息、閱讀習慣等行為數據作為智慧學習系統的基礎數據進行收集和分析,從中發現并預測出師生讀者的閱讀習慣、需求,建立起讀者、圖書館之間可交互分享的學習平臺,使圖書館的服務邁向精準化、智慧化,從而達到人人互聯、書書互聯,任何時間、地點與方式均可使用的智慧圖書館的目標。
本研究將選取圖書館現有的網絡學習業務為背景,利用區塊鏈技術探究智慧學習原型系統的架構設計。通過對區塊鏈的三種模式的分析,同時結合圖書館信息交互模式,選取適合構建圖書館智慧學習原型系統的區塊鏈技術。
區塊鏈技術相當于數據庫,本質是數據的存儲服務。在存儲的基礎上利用安全技術對數據進行加密保障數據安全,通過P2P方式進行傳輸,是分布式網絡、點對點傳輸、加密技術的結合體[7]。區塊鏈技術采用分布式網絡架構,每一個用戶都可以參與數據庫的記錄,去除了傳統數據存儲服務的中心化特征。區塊鏈主要分為私有鏈、聯盟鏈和公有鏈三種模式。公有鏈是所有人都可以參與,私有鏈的參與者主要是個體使用者和私有鏈建立機構內部使用者,聯盟鏈的參與者主要是組成聯盟內的人員,具有準入機制,安全性較高,擴展性較強[4]。私有鏈仍具有中心化的特征,而公有鏈和聯盟鏈具有無中心的特征。聯盟鏈相比公有鏈無需大量算力和存儲空間,且鏈上數據只對聯盟內成員公開,具有去中心化的特征。綜合考慮,聯盟鏈更加適合圖書館領域的信息交互。
智能合約是基于可信的不可篡改的數據,本質上就是一段用某種計算編程語言編寫的程序,可以自動化地執行一些預先定義好的規則和條款。智能合約可以運行在區塊鏈系統提供的容器中,同時這段程序也可以在某種外在、內在條件的激活下自動運行。由于智能合約的代碼是存放在并且運行在區塊鏈系統容器中,結合區塊鏈技術所使用的密碼學原理,使得智能合約天然具有防篡改和防偽造的特性。智能合約產生的結果也是存儲在區塊中的,這樣從源頭、執行過程到結果全程都在區塊鏈中執行,保證了智能合約的發布、執行、結果記錄的真實性和唯一性。圖書館可利用區塊鏈技術設計出符合本館規則的智能合約系統,將產生的數據按照所設計的規則交給區塊鏈技術進行處理[7]。
超級賬本(Hyperledger)是Linux基金會為推動區塊鏈科技而組成的聯盟鏈,是推進區塊鏈數字技術和交易驗證的開源項目。Hyperledger是包含了多個子項目的項目組,目前有九個正式項目(Hyperledger Fabric,Hyperledger Explorer,Hyperledger Iroha,Hyperledger Burrow,Hyperledger Indy,Hyperledger Sawtooth,Hyperledger Composer,Hyperledger Cello,Hyperledger Quilt)。其中Hyperledger Fabric是Hyperledger的核心項目。Hyperledger Fabric本質上是一個分布式共享賬本,它采用模塊化架構,組件可根據需求靈活配置并且插入即用[8]。
Fabric架構經歷了從v0.6到v1.x版本的演進,架構上進行了重大改進。在Fabric v1.x中將節點進行了劃分,分為Peer節點(維護state和ledger)、排序節點(Orderer Peer,負責共識或者排序賬本中的交易)和背書節點(Endorser Peer,負責執行交易和鏈碼),而在Fabric v0.6中,只有一個Peer節點來完成上述所有的功能。目前所用的為Hyperledger Fabric的 1.0.0版,其系統邏輯架構如圖1所示。

圖1 Hyperledger Fabric整體架構
Fabric的總體架構核心部分由成員關系服務(Membership services)、區塊鏈服務(Blockchain services)和鏈碼服務(Chaincode Services)三部分組成, 加上安全和加密服務(Security and Crypto Services)貫穿于其他各個組件。應用端通過接口(APIs、SDKs、Events)調用身份(Identity)、賬本(Ledger)、交易(Transactions)、智能合約(Smart Contract)等信息。
節點(Peer)是區塊鏈的通信實體,是一個邏輯概念,不同類型的多個節點可以運行在同一個物理服務器上。Hyperledger Fabric包括客戶端節點(Client Peer)、證書服務節點(CA Peer)、背書節點(Endorser Peer)、記賬節點(Committer Peer)、主節點(Leader Peer)、錨節點(Anchor Peer)、排序節點(Orderer Peer)等,如圖2所示。

圖2 Fabric運行架構圖
Fabric是一個聯盟鏈,它的網絡是不公開的,只有通過授權的用戶可以利用會員服務系統(Membership Service Provider,MSP)記錄認證網絡中的所有節點。Fabric采用多賬本設計,以通道(Channel)的概念呈現出來。一個通道可以包含多個成員,這些成員共享和維護同一個賬本,一個成員也可以加入多個通道。通道之外的成員無法獲取本通道中的信息。一個錨節點可以屬于多個通道,因此能夠維護多個賬本,但是任何賬本數據都不能從一個通道傳遞到另一個通道。
圖3是基于區塊鏈技術的智慧學習原型系統,該系統由存儲層、驗證層、區塊鏈層以及平臺層組成。其中存儲層存放師生的學習行為數據,如圖書借閱數據、在線學習記錄、在線講座參與數據等,這些數據構成師生的學習基礎數據。驗證層對學習基礎數據進行驗證簽名并創建區塊。區塊鏈層為只讀模式,將學習基礎數據形成以加密為基礎的哈希鏈表,形成圖書館支持的區塊鏈,建立數據庫和表單集合,同時根據智慧學習平臺的要求進行智能合約的設計。最后,智慧學習平臺層面向師生讀者,實現師生的自主化學習。

圖3 基于區塊鏈技術的智慧學習原型系統
由于平臺上的數據基于區塊鏈技術收集,在一定程度上具有不可篡改、不可逆轉的特性。區塊鏈技術的引入,使得這些學習、閱讀行為數據可進行跨區域調用,實現師生的分布式學習,并且這些數據將永久保存且不可修改。通過這些數據可全面了解師生的學習行為與閱讀習慣,分析其潛在需求,從而策劃相關培訓或信息分析活動,完成定制化精準服務,實現圖書館的智慧化網絡學習。
圖4為基于區塊鏈技術的智慧學習業務場景圖,該系統以智慧學習平臺、圖書館、讀者組成區塊鏈網絡,形成一個共同維護的賬本,將師生的學習行為如借閱歷史、在線學習記錄、學習心得、參與講座記錄等通過區塊鏈技術進行保存與分享。同時師生可將學習行為通過智慧學習平臺進行分享。

圖4 基于區塊鏈技術的智慧學習業務場景圖
根據對智慧學習場景的業務分析,設計出如圖5的智慧學習系統組織架構圖。本文選擇讀者、圖書館和智慧學習平臺三方共同組成一個聯盟鏈,將讀者、圖書館以及智慧學習平臺分別抽象為Fabric中的一個組織。組織是Fabric中的重要概念,是具有承擔數據信用責任的區塊鏈系統參與方[9-10]。
3.2.1 域名選擇
首先需要給圖書館智慧學習系統選擇一個域名。由于Fabric是一個聯盟鏈,同時要考慮到未來圖書館業務的不斷發展,可能還會引入新的組織,因此在實際系統開發中需要使用已經備案的域名。本系統使用測試域名:libzhxx.com。在以后圖書館智慧學習系統的搭建中需要選擇經過備案的域名。
3.2.2 系統組織成員結構
如圖5智慧學習系統組織架構圖所示,在智慧學習場景中有讀者、圖書館和智慧學習平臺三個組織,組織成員信息如表1所示。每個組織都有一個Fabric-CA中心、一個主節點Peer0和一個備份節點Peer1。其中,Fabric-CA中心負責證書管理;主節點有提交節點(Committer Peer)、領導節點(Leader Peer)、背書節點(Endorse Peer)、錨節點(Anchor Peer)四個角色;備份節點則用來防止系統單點故障,當主節點或者背書節點出現問題時臨時替代它的功能。所有的組織共用一個具有負載均衡功能的Orderer節點群。智慧學習系統組織節點對應如表2所示。

表1 智慧學習系統組織成員信息表

表2 智慧學習系統組織節點對應表

圖5 智慧學習系統組織架構圖
因Fabric系統初始化時需要用到域名,并且域名是很多模塊進行訪問的指定路徑,正常情況下需要使用備案的域名,本文設置libzhxx.com作為測試用的域名。智慧學習系統組織節點架構如表3所示。

表3 智慧學習系統組織節點架構表
Fabric系統中將建立一個通道即賬本,通道名稱為“zhxxchannel”,通道中包含“Rea1”、“Lib2”和“Org3”三個組織,即讀者組織、圖書館組織和智慧學習平臺,三個組織共同維護一個賬本。之后根據圖書館業務的發展,可以在通道中加入新的組織,現有組織和新加入的組織共同維護賬本;也可以創建新的通道,不同組織之間維護不同的賬本。在進行Fabric系統部署時要注意域名、配置文件的路徑、組織ID等信息的前后對應,如果信息前后對應不一致,會導致Fabric系統啟動失敗。
本文選取圖書館現有的網絡學習業務為背景,利用區塊鏈技術探究智慧學習原型系統的架構設計。通過對區塊鏈的三種模式的分析,同時結合圖書館信息交互模式,選取超級賬本聯盟鏈的形式來構建圖書館智慧學習原型系統。從智慧學習業務場景中抽象出讀者群體、智慧學習平臺以及圖書館作為超級賬本聯盟鏈的三個主要組織,并根據Fabric的架構設計出基于區塊鏈的智慧學習原型系統架構。隨著區塊鏈技術的引入,可將讀者產生的行為數據進行跨區域調用,實現師生的分布式學習,并且這些數據將永久保存且不可修改。通過這些數據可全面了解師生的學習行為與閱讀習慣,分析其潛在需求,從而策劃相關培訓或信息分析活動,完成定制化精準服務,最終實現圖書館的智慧化網絡學習。
在研究本項目的過程中,筆者發現區塊鏈技術作為當前一項信息科學技術,將其運用到圖書館智慧化的發展中也存在一定的問題。首先,大多數的館員是文科背景,他們對圖書館的業務流程熟悉,但是在技術層面相對欠缺,因此圖書館的技術研發力量不足。其次,圖書館的資源建設內容是圖書館的核心工作,區塊鏈技術的引進,去中心化的特點會導致許多圖書館的地位弱化。同時,將來在建成圖書館互聯的情況下,各個圖書館的資源數據、讀者的個人信息安全保障也是一個重要的問題。這些問題在圖書館智慧化進程中可以得到逐步解決,而區塊鏈技術在圖書館智慧化建設中可以發揮出更大的作用。