陳巧堅
(寧波圖書館,浙江 寧波 315000)
2008年11月,一位化名為中本聰的網友在密碼學論壇metzdowd.com發表的一篇名為“Bitcoin:a peer-to-peer electronic cash system”(《比特幣:一個點對點的電子現金系統》)的論文中首先提出了比特幣概念及區塊鏈理論,并于2009年1月3日發布了比特幣系統并挖掘出第一個區塊,被稱為“創世區塊”[1]。自此,以比特幣為代表的區塊鏈技術問世。截至2022年3月,比特幣系統已經運行了整整13年,這種沒有中心服務器、沒有通用運維的主體沒有外部信用背書,在運行期間有大量黑客試圖攻擊比特幣系統,然而十余年來一直都在穩定運行,沒有產生過重大事故,這無疑展示了區塊鏈技術的完備性和可靠性。
近年來,區塊鏈技術在政務、金融、民生、商業、教育、健康等領域有了廣泛的應用,國務院2016年印發《“十三五”國家信息化規劃》,將區塊鏈技術列為戰略性前沿技術。2019年10月24日,中央政治局第十八次集體學習時專門學習區塊鏈,習近平總書記指出“要加快推動區塊鏈技術和產業創新發展”[2]。2020年3月4日,中央政治局常委會召開會議,強調要加快新型基礎設施建設進度,以區塊鏈等為代表的新技術基礎設施將迎來新一輪發展機遇。作為全民閱讀推廣主陣地的公共圖書館,如何抓住這個歷史性機遇,提高全民閱讀數量和質量,是圖書館不得不需要面對的一項迫切課題。
目前,圖書館業務系統主要是傳統中心化模式,圖書借還核心業務還是圍繞圖書館這個中心展開,圖書館自動化系統主要管理讀者和圖書、期刊等信息,在此基礎上一些工作流程自動化管理,比如圖書流通管理、館藏信息查詢等功能。隨著圖書館資源的多樣化發展和讀者需求變化,原來的信息系統已經不適合于當前圖書館的發展。
圖書館數字資源類型主要分為結構性和非結構性。結構性資源主要是書目、期刊數據;而大量的非結構性數字資源有音頻、視頻、圖像、超文本數據、全文數據。非結構數據由于各自的異構性、分布性、元數據描述的多樣性,傳統自動化系統管理不了非結構化數據,傳統業務系統只能對書目編目,對期刊記到處理,建立書目、期刊數據庫這個層次,與讀者的深入編目層次和知識單元層次的實際需求相差較遠[3]。
傳統業務系統中聯盟圖書館成員之間各自建設數字資源,缺乏統一的管理,資源關聯性不高、利用率差,很多圖書館在有限的資金下,往往重復采購一些資源,造成極大的浪費,針對數字資源的管理,分類混亂,各自為政,無法做到統一檢索。
傳統業務系統缺乏相應接口開發,業務拓展能力差。圖書館業務目前進入數字化、智慧化發展階段,各種應用都進入圖書業務系統,比如,RFID自助借書、人臉識別借書、電子借閱證生成等應用的產生,都是依靠相關的技術人員和軟件公司研發人員花費很大精力重新開發接口勉強對接不同系統,而業務系統里的財務模塊在與圖書館獨立財務系統、銀行支付系統對接時就碰到技術障礙,形成相對的信息孤島。
讀者個性化服務不強,傳統的業務系統針對讀者服務主要是簡單的借還圖書、期刊查詢,書目檢索、讀者借閱查詢這些功能都是讀者以圖書館為中心,圖書館向讀者提供服務,很少實現圖書館與讀者互動、讀者與讀者之間互動,造成圖書館對用戶黏性不夠,容易形成讀者流失。
傳統圖書館信息系統存儲著讀者身份證、手機號、借閱信息等一些敏感信息,傳統的業務系統沒有對敏感數據進行嚴格脫敏管理,只是依靠防火墻、安全網關、數據庫本身的安全措施,沒有對數據進行加密處理,容易造成讀者隱私泄露。
傳統業務系統的服務器放置在圖書館中心機房,一旦服務器遭到黑客攻擊或由于自身故障造成宕機,就會造成數據無法訪問,系統崩潰,圖書館核心業務停滯,給圖書館帶來巨大損失。
區塊鏈技術具備去中心化、共有賬本、智能合約、防篡改、可追溯、系統高可靠性等技術特性,這些特點可有效解決目前圖書館信息系統存在的一些問題。(1)區塊鏈去中心化分布式存儲技術適合于圖書館聯盟的資源優化配置,可提高圖書館的資源利用率,各個圖書館也不必花費巨資采購海量存儲,同時也減少了存儲的維護費用。(2)與傳統業務系統采用關系型數據庫存儲數據不同,區塊鏈是將數據區塊按照時間順序相連的鏈式進行數據存儲的,所以不但能夠管理結構化數據,還能管理大量的非結構化數據,比如對音視頻、圖像等資源進行集中管理。智能合約有效解決了作者、出版社、書商為圖書館提供資源的版權問題,為今后出現數據版權糾紛時提供了司法維權依據。(3)保障讀者個性化服務、差異化服務。在區塊鏈系統中,讀者權益可以通過智能合約與圖書館協商,訂制個性化事項,提高讀者在圖書館的參與度。(4)區塊鏈中利用非對稱加密技術維護了讀者隱私數據安全,不但保障讀者對隱私數據的控制權和知情權,而且提高了數據的防竊能力[4]。
“區塊鏈+圖書館”生態系統是利用計算機網絡技術、密碼學技術、分布式數據庫、智能合約等技術,采用去中心化的創新理念與圖書館業務深度融合,建立全新的圖書館治理模式。“區塊鏈+圖書館”生態系統的整體技術框架模型自底向上分為基礎設施層、網絡層、數據層、區塊鏈平臺層、應用層、接口層。(1)基礎設施層。提供區塊鏈系統的操作環境,包括運行所需的網絡、計算、存儲等基礎設備。需要滿足多租戶、彈性、安全穩定等要求,確保圖書館業務生態系統正常穩定運行。(2)網絡層。主要實現了區塊鏈去中心化的交互模型,保證了區塊鏈的去中心化特點,保證各個讀者節點、圖書館節點都是平等的,采用P2P的網絡架構。(3)數據層。主要包含鏈式數據區塊、時間戳、非對稱加密這些關鍵技術。對讀者數據、借閱信息、讀者交互、各個圖書館提供資源等信息進行加解密處理,保障讀者個人隱私和相關數據的完整性和真實性。(4)區塊鏈平臺層。主要包括對各個讀者和圖書館各個節點的監控維護、公共賬本的建立和維護、共識算法引入、智能合約創立、獎勵機制建立,為業務流程提供整個可編程的邏輯結構。(5)應用層。主要負責讀者賬號的維護、借閱憑證、借閱方式、讀者積分、書目維護、資源維護等業務邏輯的建立,調用各個接口實現相關應用,使用區塊鏈SDK與各個節點通信。(6)接口層。通過各個設備,包括個人電腦、自助借還機、Android/IOS移動端等智能設備的接入,實現各個節點的相互訪問和業務的開展。在“區塊鏈+圖書館”生態系統的技術框架中,網絡層、數據層、區塊鏈平臺層是整個系統框架的核心層級,是實現系統穩定運行的基本保障,必不可缺。基礎設施層提供系統的硬件設備,作為整個系統的基礎設施。應用層和接口層可實現各種應用場景,并提供具體業務的SDK接口。“區塊鏈+圖書館”生態系統可重新塑造圖書館聯盟之間、讀者之間的多方關系,對圖書館業務有著革命性的改變[5]。
“區塊鏈+圖書館”生態系統采用去中心化的組織結構,采用區塊鏈技術存儲其重要數據和數據哈希值,混合分布式的微服務架構,解決其高并發和數據庫存儲效率問題,既保證了數據透明度及可審核性,又保證了數據存儲效率[6]。各個圖書館作為這個系統中的節點組成的聯盟鏈,都要經過嚴格的身份認證和權限管理才能加入聯盟,每個節點地位都是相同的,通過共識公約就可以實現資源可信地相互交流,所有加入聯盟鏈的圖書館共同維護這個區塊鏈網絡,共同維護管理且共享資源。而讀者節點被賦予一定權限可以訪問資源,但并不能參與共識管理,以保障資源的安全和質量。讀者節點都是地位平等的,相互交互信息和資源,交流讀書心得,讀者不再只是知識的獲取者,也是知識的傳播者,圖書館與讀者互動性增強,圖書館獲取讀者閱讀行為數據,實現個性化推薦。
各個圖書館組成的聯盟鏈實現各種資源的高效管理,提高讀者對資源的利用率。在區塊鏈上,各個館節點進行資源的新建、修改、查詢等操作,每增加一個資源節點,需要經其他圖書館節點的審核,達成一致共識才能發布,最后加入資源節點。目前,圖書館的資源主要分為自建資源和采購第三方資源。自建資源通常具備一定特色,且具有稀缺性,提供該資源的圖書館具備專業性,對于管理該資源應該具有更高的權限,能夠定制該資源的訪問權限和版權保護。在向聯盟鏈提供第三方資源時,應該由聯盟鏈的所有圖書館共同擔負采購資金解決版權使用,并在第三方同意的情況下按照相關合約存入區塊鏈中,以避免不必要的版權糾紛。
“區塊鏈+圖書館”生態系統面向所有讀者開放,讀者數據以公有鏈形式存儲。讀者的個人信息,包括姓名、出生年月、身份證號、學歷、個人興趣作為基礎數據,讀者在系統中與圖書館所發生的借閱圖書、閱讀數字資源、參與活動等作為業務行為數據,基礎數據與業務行為數據共同形成讀者數據塊后上鏈[7]。每位讀者在注冊區塊鏈系統時都會分配到私鑰,利用私鑰對個人信息進行加密,區塊鏈上其他用戶是看不到具體個人信息的。讀者利用私鑰參與圖書館的各類業務活動,這些業務行為在區塊鏈上是公開的,但并不知道具體是哪個讀者,保障了讀者隱私,同時也保證業務數據的公開性和公平性。這些數據都加蓋時間戳,形成讀者日志記錄,可追溯且不可篡改。系統可根據讀者與圖書館的互動行為計算讀者的活躍度并折算成積分,讀者利用積分享受圖書館的增值服務,讀者與圖書館形成良性循環。
4.4.1 智能合約管理
智能合約運行在和背書節點隔離的安全的Docker容器中,是實現一些特定業務邏輯的代碼。應用程序發起的交易需要經過所有網絡成員的同意,將事件提交到智能合約,通過智能合約初始化或管理賬本中的數據。
智能合約和傳統應用程序的區別在于:智能合約一旦發布在區塊鏈中就難以修改,具有可信任度高、不可抵賴等特點[8]。在本項目中,借閱規則、數字資源上傳下載規則、個性化推送資源規則采用智能合約制定,采取智能合約邏輯后,讀者、圖書館相互之間可以相互監督,保障公平公正,提高讀者對圖書館的信任度。
4.4.2 共識管理
共識管理是區塊鏈系統的關鍵,各個圖書館的資源通過區塊鏈相互鏈接,區塊是鏈式結構的基本數據存儲單元,聚合了所有相關交易信息,主要包含區塊頭和區塊主體兩部分。區塊頭主要由區塊號、父區塊哈希值、時間戳、默克爾樹根等信息構成;區塊主體主要由各種資源數據組成,每增加一個資源就創建一個區塊,經過審核驗證添加到區塊鏈中,之后向鏈上的所有節點進行廣播發布,確保每個節點都能接收到信息。但由于是分布式存儲系統,很有可能在鏈上同時創建兩個節點,這時就把區塊鏈做一個臨時分叉,之后如果又有新節點產生,就以先收到哪個區塊就接到哪個區塊上,同時放棄另一個區塊,然后全網廣播,確保只有一條資源鏈,保障信息的完整性、一致性和準確性[9]。
利用區塊鏈技術對圖書館業務系統進行深度改造,可以使圖書館業務開展更加高效、透明、規范,增加讀者對圖書館的信任感,促進圖書館從信息化到智慧化的根本轉變,讓圖書館信息化服務有質的提升。由于區塊鏈技術的限定性及具體實際應用的復雜性,建立“區塊鏈+圖書館”系統仍然面對很多問題和挑戰。但區塊鏈技術是時代進步發展的趨勢,圖書館應該加大力度勇于探索和實踐區塊鏈技術在圖書館業務中的融合創新,使圖書館對新興技術的研究創新再次走在前列。