孫 鳳
(淄博市圖書館 山東淄博 255000)
一直以來,公共圖書館之間由于地域發(fā)展差異和缺乏有效信息互動機制等原因存在著文化資源配置不均和共享流通不暢等問題,如北上廣、江浙等發(fā)達地區(qū)的文獻館藏和文化活動量遠遠高于全國其他地區(qū),并且同一地區(qū)不同級別圖書館的館藏配置和共享渠道也不盡完善[1],這就使得大部分欠發(fā)達地區(qū)的公共圖書館向社會公眾提供的文化服務層次和文獻質(zhì)量水平都相對落后,整體的文化創(chuàng)新意識也相對淡薄,從而難以滿足信息化技術不斷發(fā)展條件下社會公眾信息需求量的日益激增和需求內(nèi)容的多元、高端、核心化。
為了打破圖書館界信息孤島現(xiàn)象,提高公共圖書館文化產(chǎn)業(yè)傳播的整體活力,公共圖書館行業(yè)先后成立了以上海圖書館、首都圖書館為首的區(qū)域資源共享平臺,以國家圖書館為首的國內(nèi)外文獻傳遞和館際互借平臺,以及后來由多個省級公共圖書館建立的“聯(lián)合參考咨詢網(wǎng)”等[2],使得文獻資源的共享服務逐步從單個地域輻射到全國大部分地區(qū),參與的成員館用戶通過這些平臺可以免費獲得相關共享資源。這樣雖然在一定程度上實現(xiàn)了成員館之間的資源互補,縮小了資源配置方面的差距,提高了圖書館資源收集、處理和響應的速度,但同時這些共享平臺因架構體系擴展兼容性等問題,使得平臺相關服務更新升級緩慢,而有些公共圖書館因為缺乏技術指導或設備配置問題難以與平臺標準數(shù)據(jù)規(guī)范接口匹配。除此之外,文獻資源建設和共享過程中存在的信息數(shù)據(jù)安全、知識產(chǎn)權糾紛和時效性、物流費用結算等問題也使其資源共享范圍和效率受到限制[3]。
當下的區(qū)塊鏈技術可以對傳統(tǒng)資源共享中存在的問題有效地進行改進和突破。一方面現(xiàn)有區(qū)塊鏈系統(tǒng)可以提供一鍵安裝來方便搭鏈,且其分布式對等架構和共識機制可以確保參與機構上傳信息和身份行為的公信力;另一方面上傳資源加蓋時間戳和非對稱加密后可以方便知識產(chǎn)權認定和提高數(shù)據(jù)隱私安全,并且智能合約的設計應用可以使上傳資源的使用范圍、使用周期和交易結算的執(zhí)行在無人為干預的情況下自動完成,從而大大提高了資源流通的效率和安全性,降低了使用運行成本。除此之外,區(qū)塊鏈技術在節(jié)點數(shù)量、加密算法、存儲結構和組件組裝適配上都有較好的擴展和靈活性,方便系統(tǒng)的進一步優(yōu)化升級。同樣地,引入?yún)^(qū)塊鏈技術的公共圖書館資源共享平臺也可以先從單個區(qū)域進行聯(lián)盟試點,試點過程中根據(jù)用戶的使用反饋和運行測試情況來不斷優(yōu)化平臺的架構組成,提高參與機構的資源組織管理和信息驗證水平。在此基礎上,區(qū)域運用實踐相對成熟后再逐步推廣到全國范圍,讓更多的社會公眾可以就近、方便地享受全國范圍的文化資源和服務。
現(xiàn)有的區(qū)塊鏈技術可以讓公共圖書館以聯(lián)盟鏈的形式在多方面實現(xiàn)多種資源的建設和共享。其中聯(lián)盟鏈是一種相對于公有鏈和私有鏈而言的注冊許可型區(qū)塊鏈,僅限聯(lián)盟成員參與(需要知道節(jié)點的數(shù)量和其對應的公鑰),且鏈上的讀寫權和參與記賬權要按聯(lián)盟規(guī)則來制定,聯(lián)盟鏈的整個網(wǎng)絡由成員機構共同維護,網(wǎng)絡接入基本通過成員機構的網(wǎng)關節(jié)點接入,共識過程則是由預選節(jié)點控制,節(jié)點之間可以實現(xiàn)資源與信息的共享。目前,比較有代表性的聯(lián)盟鏈框架平臺有Hyperledger Fabric、FISCO BCOS和CITA等。Hyperledger Fabric提供的是一種獨特的可伸縮、可擴展架構,結構高度模塊化,使諸如共識協(xié)議和會員服務等組件可即插即用,并且支持通用編程語言編寫智能合約,支持權限管理和多鏈結構,可以適應不同的行業(yè)使用。FISCO BCOS和CITA在智能合約上支持的是EVM和預編譯合約,并分別引入群組和側(cè)鏈技術,同時支持并行化交易,雖然在鏈間通信上仍然有可優(yōu)化空間,但在節(jié)點擴展性和安全性上還是有較強優(yōu)勢。目前,聯(lián)盟鏈在金融、物流、制造、公益等行業(yè)都已經(jīng)有所應用,公共圖書館通過聯(lián)盟鏈的建立也可以更好地實現(xiàn)多項服務,具體包括以下幾個方面。
由于區(qū)塊鏈的分布式架構和可追溯性的特點可以解決圖書館數(shù)據(jù)共享時的安全、成本等問題,且在鏈內(nèi)各館節(jié)點上的資源信息和用戶行為都有共識機制互相監(jiān)督[4],出現(xiàn)問題節(jié)點會進行失效處理,所以,公開、透明的體系使各館注冊節(jié)點經(jīng)P2P端口網(wǎng)絡準入后可以按照鏈內(nèi)的管理規(guī)則上傳各自擁有的數(shù)據(jù)庫資源,包括本館具有地方特色的數(shù)字資源。例如,國家圖書館擁有的各類中外文獻數(shù)據(jù)庫資源(知網(wǎng)、維普、數(shù)字博看、國圖公開課、ProQuest、EBOSCO、Springer Link等)、特色館藏數(shù)字資源(晚清及民國中外期刊、甲骨、石刻拓片影像、敦煌寫卷等)都可通過與channel端口連接的控制臺或客戶端SDK分批分類別上鏈,鏈內(nèi)各館成員則根據(jù)自身節(jié)點權限和需求進行下載。這樣一方面可以避免以往同樣數(shù)字資源的重復購買,另一方面對于一些成本較高的數(shù)據(jù)庫,各館可以從分享的節(jié)點上根據(jù)智能合約線上協(xié)議支付較低的費用直接獲取使用權限,不必在其他授信組織提供信用支持的條件下就可以進行,改變了傳統(tǒng)依賴中心服務器的版權許可機制,并且數(shù)字資源加蓋的時間戳和非對稱加密使其對數(shù)字版權的追蹤和保護也更加方便。
除此之外,公共圖書館可以利用區(qū)塊鏈去中心化的環(huán)境和智能合約技術直接與知識產(chǎn)權所有人進行溝通并購買資源[5],繞過了相關中介,解決了以往“打包式”“捆綁式”銷售的問題,節(jié)約了成本,并且有利于資源結構的合理化。同時,公共圖書館還可結合云計算的PAAS平臺應用將各項數(shù)字資源進行整合,直接形成自身的數(shù)據(jù)庫在聯(lián)盟鏈節(jié)點內(nèi)上傳,這樣可以形成多元化市場競爭以減少壟斷。由瑞士DECENT基金會創(chuàng)立的DECENT GO就是運用區(qū)塊鏈技術開發(fā)的一款開源非營利數(shù)字內(nèi)容分發(fā)平臺,對用戶免費開放,致力于重塑在線出版業(yè)的數(shù)字內(nèi)容分發(fā)[6]。而且,區(qū)塊鏈的分布式存儲模式不僅可以降低各館數(shù)字資源的建設和維護成本,還能最大限度地避免網(wǎng)絡攻擊或意外事故造成的數(shù)字資源丟失或篡改。
目前,紙質(zhì)資源依然是公共圖書館建設的主要資源,紙質(zhì)圖書的采購和借閱仍然有需要改進和提高的地方。一直以來,不同公共圖書館的紙質(zhì)資源資源建設因各館差異和文化傾向?qū)е赂饔胁煌绾胃玫刎S富館藏資源、合理配置館藏類別,一直是圖書采購中需要權衡的問題。而通過圖書館聯(lián)盟鏈的建立,各館可以上傳分享各自的館藏采購數(shù)據(jù),了解各館館藏設置情況,取長補短,分析自身館藏建設存在的不足以及需要豐富的館藏類別和不同專業(yè)的好書,包括一些地方特色優(yōu)質(zhì)文化圖書,這樣不僅能快速便捷地豐富館藏,而且通過內(nèi)部交流還提高了圖書采購人員在不同專業(yè)書籍選擇方面的知識素養(yǎng),對日后圖書采購質(zhì)量的提升有所幫助。除此之外,供貨商代表也可以加入聯(lián)盟鏈內(nèi),定期將各出版社出版的新書進行分類推薦,方便各館直接參考選購。
受地理條件限制,紙質(zhì)圖書目前只能在同城之間實現(xiàn)一定程度的借閱流通,而區(qū)塊鏈技術會進一步提高一定地理范圍內(nèi)圖書借閱的流通性。用戶可用借閱證通過注冊館的端口在鏈內(nèi)搜索同城的館藏資源,并將自己的公鑰在鏈內(nèi)發(fā)布,處于可借狀態(tài)的圖書,用戶可向所在館發(fā)出申請,而處于在借狀態(tài)的圖書,用戶可直接向在借者預約,申請通過或預約成功后,所在館和在借者將經(jīng)過數(shù)字簽名的加密借閱碼發(fā)給用戶,該借閱碼可與所借圖書的RFID標簽進行識別,用戶解密后可用借閱碼直接在網(wǎng)上完成借閱,在規(guī)定期限內(nèi)到指定位置直接拿走圖書即可。對于用戶申請的審核、借閱規(guī)則實行和發(fā)送借閱碼等各館可以通過建立智能合約借閱管理系統(tǒng)的方式實現(xiàn),在借閱過程中,除了用戶借閱證外,還有私鑰公鑰的加密,這樣既可以防止用戶借閱證丟失被他人冒用,又可以追溯整個借閱、歸還、超期、損壞賠償流程,圖書館只需作好監(jiān)管和后期維護工作就可以,這樣在提高圖書借閱流通便捷性的同時也提高了安全性。
2018年,360平臺發(fā)布了基于區(qū)塊鏈的安全共享云計劃,平臺將閑置的帶寬資源、計算資源和磁盤空間,利用360共享云平臺供給有需要的人使用。用戶可以通過貢獻帶寬流量和內(nèi)存空間獲得360云鉆獎勵[7]。同樣地,用戶一直以來都是圖書館提供服務的對象,卻較少參與到圖書館的共享和建設中來,而聯(lián)盟鏈的建立可以讓用戶創(chuàng)建自己的哈希地址作為賬戶,通過所在圖書館節(jié)點把自己的讀書心得、學習資料和方法、數(shù)據(jù)資源使用體驗、服務改進建議等分門別類地上傳分享出來。讀書心得和數(shù)據(jù)資源使用體驗可以給其他用戶起到推薦引導的作用,而學習資料和方法可以為不同專業(yè)的學習者提供交流幫助,服務改進建議則有利于圖書館接受用戶反饋意見不斷提升服務。對于用戶分享的內(nèi)容,可根據(jù)其他節(jié)點的下載和瀏覽量進行排名,對于排名靠前的用戶可給予一定的獎勵,且整個共享、獎勵過程都可記錄上鏈,確保了公開透明。除此之外,用戶在借閱、辦證、資源使用和參加活動中形成的大量數(shù)據(jù),可以利用數(shù)據(jù)分析工具(如Excel、PowerBI、QlikView、ChartBlocks等)進行導入整合從中得出不同群體的需求、偏好、借閱規(guī)律和時間高峰等,總結后可分享到鏈內(nèi)供各館參考和利用。而且區(qū)塊鏈的匿名性和可追溯性,可以形成較好的用戶共享信用系統(tǒng),并保護用戶的隱私和知識產(chǎn)權。
在區(qū)塊鏈技術環(huán)境下,公共圖書館資源共享聯(lián)盟中各類資源的共享利用主要會面臨數(shù)據(jù)膨脹、節(jié)點和賬戶管理、數(shù)據(jù)可信存儲限制以及交易審計缺失等問題。數(shù)據(jù)膨脹主要是由于資源共享和應用過程中形成的區(qū)塊、交易和智能合約運行結果所占空間的增長,造成的系統(tǒng)交易執(zhí)行效率低和運維成本增加等問題。節(jié)點和賬戶管理主要是指各館節(jié)點準入配置,以及對不同賬戶人員各種級別功能讀寫操作權限的設置不健全,造成的交易管理不善和系統(tǒng)穩(wěn)定性降低的問題。數(shù)據(jù)可信存儲限制是指各類資源上傳共享后難以支持多種數(shù)據(jù)庫后端存儲,同時存儲結構的本地化限制使得業(yè)務擴展難且系統(tǒng)性能下降等問題。交易審計缺失是指鏈內(nèi)由于缺乏監(jiān)管和審計使各方在鏈上共享和流轉(zhuǎn)數(shù)據(jù)時不遵守委員會制定的規(guī)章,造成鏈的計算資源和存儲資源被某些機構濫用的情況。對于這些問題的解決需要從數(shù)據(jù)治理和鏈監(jiān)督管理方面進行,其具體內(nèi)容如下。
數(shù)據(jù)治理主要指在共識算法選擇、交易并行執(zhí)行、存儲模式優(yōu)化和數(shù)據(jù)倉庫組件等方面來改善公共圖書館資源共享中數(shù)據(jù)膨脹和數(shù)據(jù)存儲模式限制的問題。
共識算法是分布式協(xié)作能力的基礎,從根本上限制了鏈上數(shù)據(jù)的交易處理和擴展能力,所以聯(lián)盟鏈的共識算法在保證一定程度的節(jié)點可信度上,更需要執(zhí)行效率和最終確定性,其中容錯類算法PBFT和Raft在該方面具有較大優(yōu)勢。PBFT屬于拜占庭類容錯算法,可容忍不超過三分之一的故障節(jié)點和作惡節(jié)點,并且通過CITA-BFT算法的改進,經(jīng)提議(Proposal)預處理后使準備、確認和交易處理階段實現(xiàn)并行進行,這樣既避免了最后一輪leader節(jié)點廣播的過程,又可以采用致密區(qū)塊(CompactBlock)技術來壓縮共識區(qū)塊的大小,減少了數(shù)據(jù)增長和存儲壓力,從而提高P2P網(wǎng)絡帶寬利用率,這樣對于高成本大容量的數(shù)字資源的上傳分享更有效率。同時PBFT允許強監(jiān)督節(jié)點參與,具備權限分級能力,對于用戶上傳個人資料和館際互借,以及高成本數(shù)字資源的上傳都能起到較好的安全和防護作用。而Raft算法,通過選舉一個leader并賦予其完全的管理記賬權力來簡化了記賬操作流程,可容忍一半故障節(jié)點,但不容作惡節(jié)點,交易處理速度更快,更使用于節(jié)點安全系度較高的館與館之間采購數(shù)據(jù)共享和供貨商書目薦購。通過這兩種算法的插件化切換,在確保交易狀態(tài)一致性的基礎上可以更好地維護系統(tǒng)運行。
交易并行執(zhí)行是指將原有的區(qū)塊串行交易處理改為并行處理,這樣在共享資源需求的爆發(fā)期可以提高交易響應速度和吞吐量。對于交易并行執(zhí)行過程中的安全性和一致性問題,可以在Precompiled智能合約框架下根據(jù)自定義互斥變量構建DAG圖進行,由于Precompiled合約實行固定地址且數(shù)據(jù)與合約分離,使得通過修改底層代碼即可實現(xiàn)合約升級,且使用C++編寫合約的底層執(zhí)行性能更高,大大提高了DAG并行過程中的安全性和一致性,進一步優(yōu)化了交易執(zhí)行效率。
存儲模式優(yōu)化是指在分布式存儲模式基礎上,通過對數(shù)據(jù)表結構中各元素映射關系的抽象化設計,使存儲模式可以對應到關系型數(shù)據(jù)庫的表,又可以拆分使用KV數(shù)據(jù)庫,這樣易于實現(xiàn)存儲引擎插拔化,從而可支持鏈內(nèi)各類共享資源的LevelDB、RocksDB、MySQL等多種后端存儲,且CRUD數(shù)據(jù)、區(qū)塊數(shù)據(jù)默認情況下無需配置都保存在分布式模式中,使得數(shù)據(jù)在簡便快速擴容的同時,計算與數(shù)據(jù)隔離,大大優(yōu)化了系統(tǒng)存儲性能,提高了資源共享空間。
除了存儲模式的優(yōu)化外,還可以通過低成本、低風險的數(shù)據(jù)倉庫組件來解決數(shù)據(jù)激增和大量交易冷數(shù)據(jù)空間浪費問題。數(shù)據(jù)倉庫組件通過解析節(jié)點的binlog日志,可以在節(jié)點外第三方數(shù)據(jù)庫生成鏈上數(shù)據(jù)的全量備份,隨后節(jié)點運維人員可對鏈上數(shù)據(jù)作劃分裁剪,將節(jié)點上不常用數(shù)據(jù)刪除,特別是上傳資源存證這樣關聯(lián)性較弱的業(yè)務,可僅保留近期數(shù)據(jù),從而達到節(jié)省空間、提升性能的效果。對于裁剪后缺失的冷數(shù)據(jù),節(jié)點會通過amdb從全量備份讀取。除此之外,倉庫組件在讀取某節(jié)點日志后,會進行對比校驗和區(qū)塊鏈校驗,以防出現(xiàn)節(jié)點賬本信息被損害、被篡改、共識系統(tǒng)異常等情況。
在公共圖書館聯(lián)盟鏈的資源共享應用中,有準入許可、交易多樣化、隱私安全及高穩(wěn)定性的要求,因此,在應用過程中需要從節(jié)點、賬戶和交易審計等方面強調(diào)“權限”及“管理”的理念。
節(jié)點管理一般將節(jié)點分為共識節(jié)點和觀察節(jié)點,共識節(jié)點負責共識出塊和交易區(qū)塊同步,觀察節(jié)點只能同步和驗證數(shù)據(jù)而沒有打包交易的權力。為了保證鏈內(nèi)資源共享的整體穩(wěn)定性,應由系統(tǒng)管理員設定幾個技術設施和算力較強的高級別館來擔任共識節(jié)點,且各節(jié)點在網(wǎng)絡準入階段要進行P2P節(jié)點連接列表添加和證書驗證,并建立CA黑名單機制使各節(jié)點在資源共享時可以及時與作惡節(jié)點斷開網(wǎng)絡連接,保障系統(tǒng)運行安全。同時,公共圖書館最好擁有獨立的節(jié)點,這樣可以減少網(wǎng)絡中的代理行為,提高節(jié)點平等自主的參與能力,有利于實現(xiàn)由較多主體參與的多中心和弱中心生態(tài)環(huán)境。
賬戶權限管理是指對各機構不同操作人員使用鏈上系統(tǒng)功能(如合約部署、合約內(nèi)數(shù)據(jù)訪問、系統(tǒng)參數(shù)管理等)和業(yè)務功能(如數(shù)據(jù)庫資源管理、用戶資源管理、圖書借閱與推薦等)讀、寫(插入、更新和刪除)操作權限的管理控制。鏈內(nèi)可以通過權限表的方式來設置賬戶地址和對應操作權限,并將鏈上系統(tǒng)和業(yè)務功能以表的方式進行存儲和管理,當賬戶發(fā)起請求時,節(jié)點獲取交易數(shù)據(jù),確定賬戶和待操作的功能以及操作方式,再根據(jù)權限表、系統(tǒng)和業(yè)務表執(zhí)行相應操作。一般讀操作不受權限控制,會正常執(zhí)行返回查詢數(shù)據(jù)。這樣經(jīng)過權限的分級可以使不同的用戶只訪問屬于自己被授權的資源,便于協(xié)調(diào)管理和信息安全。
交易審計可以結合區(qū)塊鏈數(shù)據(jù)、私鑰管理和合約管理三者的數(shù)據(jù),以區(qū)塊鏈數(shù)據(jù)為基礎,以私鑰管理和合約管理為審核依據(jù)做出一個綜合性的數(shù)據(jù)分析結果。其中私鑰管理是指對新建私鑰用戶的管理,將私鑰托管在簽名服務中,通過簽名服務對合約部署和合約調(diào)用進行簽名。合約管理是指通過合約IDE、合約列表及合約CNS查詢等進行全方面的跟蹤管理。交易審計通過三方數(shù)據(jù)對用戶交易總量數(shù)量、用戶子類交易數(shù)量、異常交易用戶、異常合約部署等指標進行監(jiān)督統(tǒng)計,來識別鏈資源被濫用的情況,以此為良好的共享聯(lián)盟環(huán)境形成提供依據(jù)。
區(qū)塊鏈技術因其去中心化、低成本、可追溯等特點已經(jīng)從互聯(lián)網(wǎng)金融領域擴展到了多個行業(yè),我國圖書館界也正在積極探索區(qū)塊鏈技術在圖書館建設和發(fā)展方面的應用[8],希望借助該技術推動圖書館行業(yè)在互聯(lián)網(wǎng)時代的發(fā)展變革。本文主要利用區(qū)塊鏈技術從公共圖書館聯(lián)盟鏈的角度對以往館與館之間資源共享中的技術限制進行了拓展改進,并對聯(lián)盟鏈資源共享應用中會存在的問題進行了探索研究,以使其可以更好地適用于公共圖書館聯(lián)盟鏈的建設和運行??傮w看,圖書館的文化資源需要更加開放、安全、高效的平臺來實現(xiàn)知識的傳播,而區(qū)塊鏈技術與大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能等先進技術的融合是未來發(fā)展的大趨勢,只有緊跟時代趨勢,才能使圖書館整個行業(yè)實現(xiàn)不斷創(chuàng)新和健康發(fā)展。