陈旭升
(北京联合大学,北京 100101)
区块链技术被视为继云计算、物联网、大数据之后的又一项颠覆性技术,受到各国政府、金融机构以及科技企业的高度关注。区块链是什么,在学术界没有标准定义,区块链可以理解成一群认同并遵守这个规则的人共同记录连续信息的方式。从概念上看,区块链具有三方面含义:一是区块链是一种数据块;二是用于记录数据;三是一种记录方式和结构。通俗理解区块链就好像是数据库的一个账本,记载着所有交易及交易过程。
区块链作为IT 基础设施,具备五个基本特征:去中心化,不存在中心化的硬件或监管机构,交易无需中介;自治性,采用基于协商一致的规范和协议,所有节点均能在去信任的环境中自由安全通信,运转无需人工干预,人为干预不起决定作用;安全可信,采用非对称加密技术对交易数据加密,并采用工作量证明机制等保证数据不可篡改、不可撤销;公开透明,每个节点都可有一份完整的区块链,区块链的数据对全网公开,可通过公开的接口查询,区块链软件也是开源的,打破了信息不对称;匿名性,区块链上的交易无须知道双方实际身份,也很难将账户与账户所有人关联起来
区块链有三个版本,最终区块链3.0 版本超越了货币、经济和市场等应用范围,是新的高效的活动组织模式和社会治理模式。区块链3.0 通过去中心化的社会公共项目,将更深入地影响人们的生活,并形成区块链自洽组织和区块链自洽公司,以至区块链大社会。
按照面向的服务群体范围不同,区块链被分为三类:公有区块链、联合(行业)区块链、私有区块链三类。依据区块链的分层架构,利用区块链的不同版本和类型,可以构建多种应用,信息资源共享是其重要的应用之一。
区块链技术,简称BT(Blockchain technology),也被称之为分布式账本技术,简单地说,“区块链技术是一种公开透明的、去中心化的数据库”。区块链技术的应用空间非常巨大,区块链技术因其安全、便捷的特性首先得到了银行与金融业的关注,目前走入了各个应用行业中。
高校图书馆集成管理系统是一个自动化系统,以后台数据库为中心,其安全稳定运行依赖于后台中心数据库。在支持客户机/服务器(Client/Server)访问模式下,重点部署浏览器/服务器(Browser/Server)模式访问,支持多种浏览器。一个系统内必须涵盖采访、编目、典藏、流通、期刊、管理等所有业务,是完整的一体化整合业务系统,继而此系统还可以兼顾智慧图书馆的需要,展现新书推介,电子图书借阅、浏览,论文查重等功能。
高校图书馆集成管理系统管理的数据信息要被信任、需要保证安全,并且数据和电子信息要有回溯性,电子信息的提供者还有信息产权的问题。区域链技术实质上是一种新型的数据库技术,区块链主要解决了交易的信任和安全问题,区块链上的区块都标有时间戳记,提供了数据和信息的回溯功能,区块链技术适用于高校图书馆集成管理系统,区块链技术针对如上问题提出了多个技术创新。
第一个称为分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证,避免了单一记账人被控制或者假记录的可能性,保证了账目数据的安全性。传统的中心化记账方案,没有任何一个节点可以单独记录账目,这种分布式账本更适合于多校区图书馆业务的集成化管理,也适用于馆际互借的相关业务工作。
第二个称为非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
第三个称为共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能,保障了数据的真实性与可靠性。
第四个技术特点叫智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以图书借阅过期处罚为例,如果说每个人的信息都是真实可信而且全面,那就很容易地在标准化的管理系统中,去进行自动化的赔偿。
最后区块链每条记录从后向前有序链接起来,很容易就具备了数据回溯功能,能更好地保障图书馆资源的知识产权。区块链将操作数据、原始数据与电子图书信息数据动态地融合成一个整体,有效地解决了数据相分离的问题,维护了图书馆数据及信息管理的完整性。
把区域链技术应用于图书馆系统已经有了相应开端,早在2017 年美国政府就拨款10 万美元进行研究,希望将区块链技术应用于图书馆系统。我国借助区域链的概念和技术,产生了一个叫书巢的私人图书馆。书巢去中心化,所有会员都可以随时免费借阅。
应用区块链技术架构高校图书馆集成管理系统,主要包含点对点网络设计、加密技术应用、分布式算法的实现、数据存储的使用等4 个方面,其中点到点网络可以借助已有网络环境,只是把点到点的方式应用在已有网络上,其他3 个方面也依靠区块链技术实现。本架构采用区块链3.0、联合(行业)区块链标准。
如图1 所示,从架构设计上来说,高校图书馆集成管理系统可以简单地分为三个层次,协议层、扩展层和应用层。其中,协议层又分为存储层和网络层,它们相互独立但又不可分割。
协议层,是最底层的技术。这个层次通常是一个完整的区块链产品,类似于我们电脑的操作系统,它负责维护网络节点,提供API 函数供上层调用。这个层次是一切的基础,构建了网络环境、搭建了数据通道、制定了节点规则。
协议层分成了存储层和网络层。数据存储可以单独来设计,设计的原则无非是性能和易用性。系统的整体性能,主要取决于网络或数据存储的输入/输出(I/O)性能,网络上I/O 性能的优化空间不大,但是本地数据存储的I/O 是可以优化的。比如可以选择读写性能好的数据库,如谷歌的LevelDB。
分布式算法、加密签名等要在实现点对点网络数据传送的过程中加以使用,是在协议层中的网络层次上实现。
存储层区块上借阅信息的数据结构完成借阅后,借阅人会收到一张借书单,他需要将这段借阅记录写在他的借书单上,至少要包含“输入值”和“输出值”;“输入值”用于记录图书、电子资料的有效来源,“输出值”记录着图书、电子资料发往的对象。
刚刚创建的借书单立马被标记成为“未确认”的借书单,最终成功连接到区块链里的借书单才会被标记为“有效”。
这个层面在高校图书馆集成管理系统中,针对的是功能扩展的实现,比如采访、编目、典藏、流通、期刊、阅览、管理等可以用功能扩展实现,还可以提供文档、图书、电子书、视音频等信息存储及分享。特别值得一提的就是大家听得最多的“智能合约”的概念,这是典型的扩展层面的应用开发。所谓“智能合约”就是“可编程合约”,或者叫作“合约智能化”,其中的“智能”是执行上的智能,也就是说达到某个条件,合约自动执行,比如图书丢失的自动赔付、电子文献的自动产权的生成等,目前还没有比较成型的产品,但不可否认,这将是区块链技术重要的发展方向。
扩展层使用的技术可以包括很多,分布式存储、机器学习、虚拟现实、物联网、大数据等技术,都可以使用。
应用层提供的是应用程序,是人机对话的接口,通过相关的应用程序来访问及使用高校图书馆集成管理系统。应用程序除了提供常规的客户端访问程序作为补充外,最重要的提供基于互联网的浏览器端(Browser)访问程序,另外提供第三方的应用访问程序。
编程语言有C/C++、Nodejs/Javascript、Python、Go,针对不同的编程语言,在具体的编码或架构设计上可能有所差别,甚至很大,但是协议层所使用的技术并没有太大的变化。
本文从区块链和区块链技术的概念入手,介绍了区块链和区块链技术的特点及内容,阐述了区块链技术在高校图书馆集成管理系统上的适用性,最后本文对区块链技术在高校图书馆集成管理系统上的架构设计进行了探讨,希望本文能够为高校图书馆集成管理系统的应用研究提供一些参考和帮助。