王夢丹
(深圳技術(shù)大學(xué)圖書館 廣東深圳 518118)
工信部于2016 年頒布了《中國區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展的白皮書》之后,區(qū)塊鏈技術(shù)成為備受關(guān)注的新技術(shù)[1-2]。圖書館界對如何將區(qū)塊鏈技術(shù)運用到智慧圖書館發(fā)展進程中也進行了探索。在數(shù)字資源日漸成為主體的時代,區(qū)塊鏈技術(shù)為解決圖書館信息收集、存儲安全、信息傳遞、隱私保護、知識產(chǎn)權(quán)保護等問題提供了新的技術(shù)支持思路[3]。大多數(shù)高校圖書館已經(jīng)將大數(shù)據(jù)、物聯(lián)網(wǎng)、RFID等信息技術(shù)應(yīng)用到圖書館的智慧化建設(shè)當(dāng)中,基本實現(xiàn)了基礎(chǔ)業(yè)務(wù)的數(shù)字化、自動化,圖書館的服務(wù)效率也有所提高,但是距離圖書館智慧化的目標(biāo)還有一定的距離。高校圖書館的信息化建設(shè)還處于獨立的狀態(tài),資源采購、服務(wù)器存儲等仍是各圖書館購置的重點內(nèi)容。然而,各個圖書館的資源不互通、同質(zhì)化的現(xiàn)象普遍存在。除此之外,智慧圖書館的應(yīng)用勢必會收集讀者的信息,包括個人信息以及在圖書館平臺上所產(chǎn)生的行為數(shù)據(jù),因此數(shù)據(jù)的安全性和隱私保護也是圖書館智慧化過程中需要考慮到的重要問題。區(qū)塊鏈技術(shù)的去中心化、共識機制、不可篡改等特點能夠打破不同信息主體之間的信息壁壘,同時能保證信息之間的安全性。區(qū)塊鏈技術(shù)為圖書館的智慧化建設(shè)提供了新的思路,是構(gòu)建智慧圖書館的一項關(guān)鍵技術(shù)。
圖書館的核心業(yè)務(wù)是服務(wù)讀者,將區(qū)塊鏈技術(shù)應(yīng)用到服務(wù)智慧化,可以推動優(yōu)勢資源的共建。高校圖書館的服務(wù)處于由被動到主動再轉(zhuǎn)向精準服務(wù)的過程中,將區(qū)塊鏈理念與圖書館智慧服務(wù)結(jié)合,區(qū)塊鏈通過去信任達成共識、通過隱私安全達成可持續(xù)發(fā)展、通過智能合約達成智慧化是改變圖書館服務(wù)的應(yīng)用手段[4]。很多學(xué)者探索將區(qū)塊鏈技術(shù)具體應(yīng)用到圖書館服務(wù)業(yè)務(wù)場景中,提出可將區(qū)塊鏈技術(shù)運用到高校圖書館服務(wù)場景之一的網(wǎng)絡(luò)教育和學(xué)習(xí)中[5-6]。將學(xué)校師生在圖書館資源平臺上的如借閱信息、檢索信息、閱讀習(xí)慣等行為數(shù)據(jù)作為智慧學(xué)習(xí)系統(tǒng)的基礎(chǔ)數(shù)據(jù)進行收集和分析,從中發(fā)現(xiàn)并預(yù)測出師生讀者的閱讀習(xí)慣、需求,建立起讀者、圖書館之間可交互分享的學(xué)習(xí)平臺,使圖書館的服務(wù)邁向精準化、智慧化,從而達到人人互聯(lián)、書書互聯(lián),任何時間、地點與方式均可使用的智慧圖書館的目標(biāo)。
本研究將選取圖書館現(xiàn)有的網(wǎng)絡(luò)學(xué)習(xí)業(yè)務(wù)為背景,利用區(qū)塊鏈技術(shù)探究智慧學(xué)習(xí)原型系統(tǒng)的架構(gòu)設(shè)計。通過對區(qū)塊鏈的三種模式的分析,同時結(jié)合圖書館信息交互模式,選取適合構(gòu)建圖書館智慧學(xué)習(xí)原型系統(tǒng)的區(qū)塊鏈技術(shù)。
區(qū)塊鏈技術(shù)相當(dāng)于數(shù)據(jù)庫,本質(zhì)是數(shù)據(jù)的存儲服務(wù)。在存儲的基礎(chǔ)上利用安全技術(shù)對數(shù)據(jù)進行加密保障數(shù)據(jù)安全,通過P2P方式進行傳輸,是分布式網(wǎng)絡(luò)、點對點傳輸、加密技術(shù)的結(jié)合體[7]。區(qū)塊鏈技術(shù)采用分布式網(wǎng)絡(luò)架構(gòu),每一個用戶都可以參與數(shù)據(jù)庫的記錄,去除了傳統(tǒng)數(shù)據(jù)存儲服務(wù)的中心化特征。區(qū)塊鏈主要分為私有鏈、聯(lián)盟鏈和公有鏈三種模式。公有鏈是所有人都可以參與,私有鏈的參與者主要是個體使用者和私有鏈建立機構(gòu)內(nèi)部使用者,聯(lián)盟鏈的參與者主要是組成聯(lián)盟內(nèi)的人員,具有準入機制,安全性較高,擴展性較強[4]。私有鏈仍具有中心化的特征,而公有鏈和聯(lián)盟鏈具有無中心的特征。聯(lián)盟鏈相比公有鏈無需大量算力和存儲空間,且鏈上數(shù)據(jù)只對聯(lián)盟內(nèi)成員公開,具有去中心化的特征。綜合考慮,聯(lián)盟鏈更加適合圖書館領(lǐng)域的信息交互。
智能合約是基于可信的不可篡改的數(shù)據(jù),本質(zhì)上就是一段用某種計算編程語言編寫的程序,可以自動化地執(zhí)行一些預(yù)先定義好的規(guī)則和條款。智能合約可以運行在區(qū)塊鏈系統(tǒng)提供的容器中,同時這段程序也可以在某種外在、內(nèi)在條件的激活下自動運行。由于智能合約的代碼是存放在并且運行在區(qū)塊鏈系統(tǒng)容器中,結(jié)合區(qū)塊鏈技術(shù)所使用的密碼學(xué)原理,使得智能合約天然具有防篡改和防偽造的特性。智能合約產(chǎn)生的結(jié)果也是存儲在區(qū)塊中的,這樣從源頭、執(zhí)行過程到結(jié)果全程都在區(qū)塊鏈中執(zhí)行,保證了智能合約的發(fā)布、執(zhí)行、結(jié)果記錄的真實性和唯一性。圖書館可利用區(qū)塊鏈技術(shù)設(shè)計出符合本館規(guī)則的智能合約系統(tǒng),將產(chǎn)生的數(shù)據(jù)按照所設(shè)計的規(guī)則交給區(qū)塊鏈技術(shù)進行處理[7]。
超級賬本(Hyperledger)是Linux基金會為推動區(qū)塊鏈科技而組成的聯(lián)盟鏈,是推進區(qū)塊鏈數(shù)字技術(shù)和交易驗證的開源項目。Hyperledger是包含了多個子項目的項目組,目前有九個正式項目(Hyperledger Fabric,Hyperledger Explorer,Hyperledger Iroha,Hyperledger Burrow,Hyperledger Indy,Hyperledger Sawtooth,Hyperledger Composer,Hyperledger Cello,Hyperledger Quilt)。其中Hyperledger Fabric是Hyperledger的核心項目。Hyperledger Fabric本質(zhì)上是一個分布式共享賬本,它采用模塊化架構(gòu),組件可根據(jù)需求靈活配置并且插入即用[8]。
Fabric架構(gòu)經(jīng)歷了從v0.6到v1.x版本的演進,架構(gòu)上進行了重大改進。在Fabric v1.x中將節(jié)點進行了劃分,分為Peer節(jié)點(維護state和ledger)、排序節(jié)點(Orderer Peer,負責(zé)共識或者排序賬本中的交易)和背書節(jié)點(Endorser Peer,負責(zé)執(zhí)行交易和鏈碼),而在Fabric v0.6中,只有一個Peer節(jié)點來完成上述所有的功能。目前所用的為Hyperledger Fabric的 1.0.0版,其系統(tǒng)邏輯架構(gòu)如圖1所示。
圖1 Hyperledger Fabric整體架構(gòu)
Fabric的總體架構(gòu)核心部分由成員關(guān)系服務(wù)(Membership services)、區(qū)塊鏈服務(wù)(Blockchain services)和鏈碼服務(wù)(Chaincode Services)三部分組成, 加上安全和加密服務(wù)(Security and Crypto Services)貫穿于其他各個組件。應(yīng)用端通過接口(APIs、SDKs、Events)調(diào)用身份(Identity)、賬本(Ledger)、交易(Transactions)、智能合約(Smart Contract)等信息。
節(jié)點(Peer)是區(qū)塊鏈的通信實體,是一個邏輯概念,不同類型的多個節(jié)點可以運行在同一個物理服務(wù)器上。Hyperledger Fabric包括客戶端節(jié)點(Client Peer)、證書服務(wù)節(jié)點(CA Peer)、背書節(jié)點(Endorser Peer)、記賬節(jié)點(Committer Peer)、主節(jié)點(Leader Peer)、錨節(jié)點(Anchor Peer)、排序節(jié)點(Orderer Peer)等,如圖2所示。
圖2 Fabric運行架構(gòu)圖
Fabric是一個聯(lián)盟鏈,它的網(wǎng)絡(luò)是不公開的,只有通過授權(quán)的用戶可以利用會員服務(wù)系統(tǒng)(Membership Service Provider,MSP)記錄認證網(wǎng)絡(luò)中的所有節(jié)點。Fabric采用多賬本設(shè)計,以通道(Channel)的概念呈現(xiàn)出來。一個通道可以包含多個成員,這些成員共享和維護同一個賬本,一個成員也可以加入多個通道。通道之外的成員無法獲取本通道中的信息。一個錨節(jié)點可以屬于多個通道,因此能夠維護多個賬本,但是任何賬本數(shù)據(jù)都不能從一個通道傳遞到另一個通道。
圖3是基于區(qū)塊鏈技術(shù)的智慧學(xué)習(xí)原型系統(tǒng),該系統(tǒng)由存儲層、驗證層、區(qū)塊鏈層以及平臺層組成。其中存儲層存放師生的學(xué)習(xí)行為數(shù)據(jù),如圖書借閱數(shù)據(jù)、在線學(xué)習(xí)記錄、在線講座參與數(shù)據(jù)等,這些數(shù)據(jù)構(gòu)成師生的學(xué)習(xí)基礎(chǔ)數(shù)據(jù)。驗證層對學(xué)習(xí)基礎(chǔ)數(shù)據(jù)進行驗證簽名并創(chuàng)建區(qū)塊。區(qū)塊鏈層為只讀模式,將學(xué)習(xí)基礎(chǔ)數(shù)據(jù)形成以加密為基礎(chǔ)的哈希鏈表,形成圖書館支持的區(qū)塊鏈,建立數(shù)據(jù)庫和表單集合,同時根據(jù)智慧學(xué)習(xí)平臺的要求進行智能合約的設(shè)計。最后,智慧學(xué)習(xí)平臺層面向師生讀者,實現(xiàn)師生的自主化學(xué)習(xí)。
圖3 基于區(qū)塊鏈技術(shù)的智慧學(xué)習(xí)原型系統(tǒng)
由于平臺上的數(shù)據(jù)基于區(qū)塊鏈技術(shù)收集,在一定程度上具有不可篡改、不可逆轉(zhuǎn)的特性。區(qū)塊鏈技術(shù)的引入,使得這些學(xué)習(xí)、閱讀行為數(shù)據(jù)可進行跨區(qū)域調(diào)用,實現(xiàn)師生的分布式學(xué)習(xí),并且這些數(shù)據(jù)將永久保存且不可修改。通過這些數(shù)據(jù)可全面了解師生的學(xué)習(xí)行為與閱讀習(xí)慣,分析其潛在需求,從而策劃相關(guān)培訓(xùn)或信息分析活動,完成定制化精準服務(wù),實現(xiàn)圖書館的智慧化網(wǎng)絡(luò)學(xué)習(xí)。
圖4為基于區(qū)塊鏈技術(shù)的智慧學(xué)習(xí)業(yè)務(wù)場景圖,該系統(tǒng)以智慧學(xué)習(xí)平臺、圖書館、讀者組成區(qū)塊鏈網(wǎng)絡(luò),形成一個共同維護的賬本,將師生的學(xué)習(xí)行為如借閱歷史、在線學(xué)習(xí)記錄、學(xué)習(xí)心得、參與講座記錄等通過區(qū)塊鏈技術(shù)進行保存與分享。同時師生可將學(xué)習(xí)行為通過智慧學(xué)習(xí)平臺進行分享。
圖4 基于區(qū)塊鏈技術(shù)的智慧學(xué)習(xí)業(yè)務(wù)場景圖
根據(jù)對智慧學(xué)習(xí)場景的業(yè)務(wù)分析,設(shè)計出如圖5的智慧學(xué)習(xí)系統(tǒng)組織架構(gòu)圖。本文選擇讀者、圖書館和智慧學(xué)習(xí)平臺三方共同組成一個聯(lián)盟鏈,將讀者、圖書館以及智慧學(xué)習(xí)平臺分別抽象為Fabric中的一個組織。組織是Fabric中的重要概念,是具有承擔(dān)數(shù)據(jù)信用責(zé)任的區(qū)塊鏈系統(tǒng)參與方[9-10]。
3.2.1 域名選擇
首先需要給圖書館智慧學(xué)習(xí)系統(tǒng)選擇一個域名。由于Fabric是一個聯(lián)盟鏈,同時要考慮到未來圖書館業(yè)務(wù)的不斷發(fā)展,可能還會引入新的組織,因此在實際系統(tǒng)開發(fā)中需要使用已經(jīng)備案的域名。本系統(tǒng)使用測試域名:libzhxx.com。在以后圖書館智慧學(xué)習(xí)系統(tǒng)的搭建中需要選擇經(jīng)過備案的域名。
3.2.2 系統(tǒng)組織成員結(jié)構(gòu)
如圖5智慧學(xué)習(xí)系統(tǒng)組織架構(gòu)圖所示,在智慧學(xué)習(xí)場景中有讀者、圖書館和智慧學(xué)習(xí)平臺三個組織,組織成員信息如表1所示。每個組織都有一個Fabric-CA中心、一個主節(jié)點Peer0和一個備份節(jié)點Peer1。其中,F(xiàn)abric-CA中心負責(zé)證書管理;主節(jié)點有提交節(jié)點(Committer Peer)、領(lǐng)導(dǎo)節(jié)點(Leader Peer)、背書節(jié)點(Endorse Peer)、錨節(jié)點(Anchor Peer)四個角色;備份節(jié)點則用來防止系統(tǒng)單點故障,當(dāng)主節(jié)點或者背書節(jié)點出現(xiàn)問題時臨時替代它的功能。所有的組織共用一個具有負載均衡功能的Orderer節(jié)點群。智慧學(xué)習(xí)系統(tǒng)組織節(jié)點對應(yīng)如表2所示。
表1 智慧學(xué)習(xí)系統(tǒng)組織成員信息表
表2 智慧學(xué)習(xí)系統(tǒng)組織節(jié)點對應(yīng)表
圖5 智慧學(xué)習(xí)系統(tǒng)組織架構(gòu)圖
因Fabric系統(tǒng)初始化時需要用到域名,并且域名是很多模塊進行訪問的指定路徑,正常情況下需要使用備案的域名,本文設(shè)置libzhxx.com作為測試用的域名。智慧學(xué)習(xí)系統(tǒng)組織節(jié)點架構(gòu)如表3所示。
表3 智慧學(xué)習(xí)系統(tǒng)組織節(jié)點架構(gòu)表
Fabric系統(tǒng)中將建立一個通道即賬本,通道名稱為“zhxxchannel”,通道中包含“Rea1”、“Lib2”和“Org3”三個組織,即讀者組織、圖書館組織和智慧學(xué)習(xí)平臺,三個組織共同維護一個賬本。之后根據(jù)圖書館業(yè)務(wù)的發(fā)展,可以在通道中加入新的組織,現(xiàn)有組織和新加入的組織共同維護賬本;也可以創(chuàng)建新的通道,不同組織之間維護不同的賬本。在進行Fabric系統(tǒng)部署時要注意域名、配置文件的路徑、組織ID等信息的前后對應(yīng),如果信息前后對應(yīng)不一致,會導(dǎo)致Fabric系統(tǒng)啟動失敗。
本文選取圖書館現(xiàn)有的網(wǎng)絡(luò)學(xué)習(xí)業(yè)務(wù)為背景,利用區(qū)塊鏈技術(shù)探究智慧學(xué)習(xí)原型系統(tǒng)的架構(gòu)設(shè)計。通過對區(qū)塊鏈的三種模式的分析,同時結(jié)合圖書館信息交互模式,選取超級賬本聯(lián)盟鏈的形式來構(gòu)建圖書館智慧學(xué)習(xí)原型系統(tǒng)。從智慧學(xué)習(xí)業(yè)務(wù)場景中抽象出讀者群體、智慧學(xué)習(xí)平臺以及圖書館作為超級賬本聯(lián)盟鏈的三個主要組織,并根據(jù)Fabric的架構(gòu)設(shè)計出基于區(qū)塊鏈的智慧學(xué)習(xí)原型系統(tǒng)架構(gòu)。隨著區(qū)塊鏈技術(shù)的引入,可將讀者產(chǎn)生的行為數(shù)據(jù)進行跨區(qū)域調(diào)用,實現(xiàn)師生的分布式學(xué)習(xí),并且這些數(shù)據(jù)將永久保存且不可修改。通過這些數(shù)據(jù)可全面了解師生的學(xué)習(xí)行為與閱讀習(xí)慣,分析其潛在需求,從而策劃相關(guān)培訓(xùn)或信息分析活動,完成定制化精準服務(wù),最終實現(xiàn)圖書館的智慧化網(wǎng)絡(luò)學(xué)習(xí)。
在研究本項目的過程中,筆者發(fā)現(xiàn)區(qū)塊鏈技術(shù)作為當(dāng)前一項信息科學(xué)技術(shù),將其運用到圖書館智慧化的發(fā)展中也存在一定的問題。首先,大多數(shù)的館員是文科背景,他們對圖書館的業(yè)務(wù)流程熟悉,但是在技術(shù)層面相對欠缺,因此圖書館的技術(shù)研發(fā)力量不足。其次,圖書館的資源建設(shè)內(nèi)容是圖書館的核心工作,區(qū)塊鏈技術(shù)的引進,去中心化的特點會導(dǎo)致許多圖書館的地位弱化。同時,將來在建成圖書館互聯(lián)的情況下,各個圖書館的資源數(shù)據(jù)、讀者的個人信息安全保障也是一個重要的問題。這些問題在圖書館智慧化進程中可以得到逐步解決,而區(qū)塊鏈技術(shù)在圖書館智慧化建設(shè)中可以發(fā)揮出更大的作用。