陈巧坚
(宁波图书馆,浙江 宁波 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]。
利用区块链技术对图书馆业务系统进行深度改造,可以使图书馆业务开展更加高效、透明、规范,增加读者对图书馆的信任感,促进图书馆从信息化到智慧化的根本转变,让图书馆信息化服务有质的提升。由于区块链技术的限定性及具体实际应用的复杂性,建立“区块链+图书馆”系统仍然面对很多问题和挑战。但区块链技术是时代进步发展的趋势,图书馆应该加大力度勇于探索和实践区块链技术在图书馆业务中的融合创新,使图书馆对新兴技术的研究创新再次走在前列。