基于区块链技术的高校学生日常行为管理系统研究
2019-07-15朱林,刘跃
朱 林,刘 跃
(1.西南民族大学马克思主义学院, 四川 成都 610041;2.西南民族大学计算机科学与技术学院, 四川 成都 610041)
学生日常行为包含诸如上课迟到早退等出勤情况;使用违章电器和违反考场纪律等违反校纪校规行为;参加各种社团活动奖励、参加各种比赛奖励、获得各项证书情况及考试成绩等等,这些学生日常行为表现直接反应了学生思想政治状况、学习生活情况,为思想政治教育工作者在开展评奖评优、入党推荐等工作提供有价值的依据和参考. 重要的是,本班同学比辅导员老师更清楚同学间的日常行为信息,研究和设计安全且具有隐私保护特征的学生日常行为管理系统,学生日常行为同班同学都可以通过电子档案形式记录并存储,将会加大学生违纪的成本并从很大程度上起到约束学生不良行为的作用,对提升学生思想道德素养,规范日常行为具有重要意义. 但目前少有这方面的管理系统,究其原因是因为传统的管理系统采集数据困难、维护成本较高、数据容易遭受篡改导致威性不高.为了解决这一系列问题,本文提出基于区块链的高校日常行为管理系统,并对该系统进行详细分析和设计.
目前的管理系统多采用中心化管理模式并采用浏览器/服务器架构,前端以微软的Microsoft Visual Studio 为开发工具,后台数据库多为开源的MySQL 数据库.这种中心化模式可以较好的管理和维护数据,但仍然面临如下风险:
1)系统健壮性不够高:因为中心服务器一旦奔溃,将导致整个系统无法运行;
2)数据容易被篡改或丢失:当中心服务器数据库被外界攻击或者中心服务器管理人员恶意修改数据将破坏数据真实性和权威性.更重要的是如果中心化服务器没有做好数据备份,很容易导致数据全部丢失;
3)维护成本较高:中心化管理平台需要专门的数据库软硬件平台及专业维护人员,维护成本较高.
针对传统管理系统存在的问题和区块链在信息系统中的优点,本文提出基于区块链技术的学生日常行为管理系统,以解决传统信息系统面临的问题. 区块链技术具有分布式、去中心化、信息不可篡改、公开透明、数据集体维护、可靠数据管理、较低层本等特点为信息管理系统提供了新的技术和思路.针对思想政治工作面临的具体问题,研究和设计基于区块链的高校学生日常行为管理系统,为提高高校思想政治工作效率、透明和权威性提供有价值的参考.
目前将区块链技术应用于各大管理系统是信息系统领域研究的热点,应用最多的是档案管理系统[1-3],通过引入区块链技术为确保档案的真实性和不可篡改性,为电子档案建设和管理提供有价值的参考.其他研究包括孙韵秋所设计的高校学生管理系统[4],该系统首次引入时间戳服务OriginStamp 提高数据安全性,但是具体如何部署却较少涉及. 范吉立等人借助区块链技术实现物品共享交易服务系统[5],并使用以太坊完成部署,提供了新的较好的实现方案.但涉及思政工作的区块链相关研究还很少见,本文在孙韵秋和范吉立等人工作基础上,提出新的基于以太坊的学生日常行为管理系统,为约束学生日常行为,提高思政工作的效率提供有价值的参考.
1 相关技术介绍
1.1 去中心化系统
区块链技术本质是一种数据记录系统,只是这种数据记录系统采用去中心化的分布式记录数据.去中心化系统有三个部分组成:分布式传输、分布式记录和分布式存储.
分布式传输:分布式传输典型代表就是P2P 网络[6],区块链的底层采用P2P 网络,在P2P 网络中的任何一台电脑都处于对等位置,没有特殊的中心节点,网络拓扑结构采用扁平式. P2P 网络中的每一台电脑既是数据的存储者、数据的提供者也可以是数据的请求者.本文所设计的日常行为管理系统就可以将数据存储在班级每个同学的电脑中.
分布式记录:所谓分布式记录是指每个网络节点都参与记录信息,与此同时,每个节点也需要验证其他节点的记录是否正确.如果某项数据要写入区块链中,只有当大多数节点(占比达51%)都验证通过时,该数据才能被写入区块被大家承认.在本文所提系统中,如果某个同学获奖或者遭受处分,班上同学最清楚该事情的真实性,通过区块链技术提高数据记录的真实透明.
分布式存储:区块链技术可以保证每个节点存储所有区块链数据,这样避免基于中心化系统数据丢失威胁.全节点需要存储从创世区块起产生的每一个区块,而轻量级只需要保留部分区块. 本文所提的就是全节点形式,记录产生全部区块.
1.2 区块链简介
区块链本质上是一个去中心化的数据库且无人管理,最典型的应用就是比特币[7].广义来讲,区块链技术是一种全新的分布式基础架构与计算方式,区块链首先需要解决的是数据存储问题,它通过块链式数据结构来存储和验证数据;接着数据的修改和更新,区块链利用分布式节点共识算法来完成数据生成和更新数据;接着区块链需要保证存储数据的安全性,区块链利用经典密码学算法保证数据传输和访问的安全,最后区块链利用由自动化脚本代码组成的智能合约来编程完成上述操作的自动化处理,体系结构如图1 所示.
图1 区块链结构示意图Fig.1 Blockchain structure diagram
1.2.1 区块链分类
区块链可以分为共有链、私有链、联盟链三类.公有链是任何人都可以参与信息管理和维护,比如比特币;私有链只有授权的人才能使用,可以运用于单位内部管理,存在一定的中心化控制;联盟链介于公有链和私有链之间,可以视为部分去中心化,也就是若干个组织合作维护带有权限的访问,联盟链不单交易速度非常快,其中数据也实现一定的隐私保护.
1.2.2 区块链核心技术
区块链主要解决交易的信任和安全问题,核心技术可以分为四个部分:
分布式账本:所谓分布式账本意思是每个节点记录完整的账目,没有任何节点可以单独记录数据,避免了单一节点被控制而记录不真实数据,从技术上提高了数据的完整性和安全性.每个节点都可以参与监督交易的合法性.区块链的分布式存储独特性主要体现在两个方面:1)区块链每个节点存储完整的数据,便于数据备份,而传统的分布式存储将整体数据分成多个部分存储;2)区块链每个节点存储是独立的,地位相同.传统的分布式存储通过中心节点往其他备份节点同步数据.
非对称加密和授权技术:虽然区块链中所存储的数据是可以公开的,但是信息拥有者对应的账户身份信息是加密保护,因为必须确保数据和个人隐私安全.
共识机制:所谓共识机制就是记录节点之间如何达成共识,去认定记录一个有效的信息. 共识机制是区块链的灵魂,在P2P 系统中,互不信任的节点通过预设机制最终达到数据的一致性就是共识.目前广泛被认可的共识机制有三种:1)工作量证明机制(proof of work, PoW),这种机制是比特币的鼻祖中本聪设计,各节点基于各自的计算机算力求解SHA -256 数学难题,最快求出的获得区块记账权和比特币奖励;2)权益证明机制(proof of stake,PoS),由于PoW 计算数学难题需要消耗大量的算力,而且这种计算并无太大价值,造成资料浪费; 3)授权股份证明机制(delegated proof of stake, DPoS):该思路类似于“董事会决策”,每个节点将其持有的股份权益作为选票授予一个代码,获得票数最多且愿意成为代表的101 个节点进入“董事会”,按照时间表轮流对交易答辩产生新的区块,每个区块被签署前都需要验证前一个区块已经被受信任节点签署.与PoW 和PoS 不同的是,DPoS 共识机制中每个节点能够决定其新人的授权节点并由这些节点轮流记账产生新的区块,减少参与验证和记账的节点数量,实现快速共识验证. 例如本文所提的系统可以使用DPoS 共识机制,全体同学将持有的权益交给信任的同学,权益排名前20%同学负责记账,这样便于在较少计算量的情况下实现快速共识验证.
1.3 以太坊简介
以太坊(Ethereum)是一个有智能合约功能的区块链平台[8].智能合约可以理解为一段程序,可以自动化的执行一些预先定义好的规则和条款. 以太坊可以理解为一个区块链平台,在这个平台上人们可以根据自己需要方便快捷的构建出符合自己需要的区块链应用.
2 系统设计
本文最主要研究基于以太坊技术的学生日常行为管理系统,该系统主要有三个部分组成:基于以太坊的数据层、由智能合约和Web3 组成的中间件层,为用户提供新增和查询的应用层,具体如图2 所示.
图2 本文系统网络体系结构Fig.2 The Proposed Architeture of Network
2.1 数据层
高校学生日常行为管理系统数据层采用分布式P2P 数据存储环境,使用开源区块链系统以太坊进行搭建.以太坊是具有智能合约功能的公共区块链平台,可以通过该软件搭建本系统[10-11].
2.2 中间件层
系统的中间件由智能合约和Web3 组成.智能合约规定了用户操作规范,用户的全部操作按照合约内容严格执行,本文智能合约可以采用Solidity[9]编写.例如本系统的智能合约可以规定任何人都可以申请向区块写入信息,但是需要超过总人数51%才能被写入区块中.Web3 主要是实现应用层与以太坊和智能合约信息交互.
2.3 应用层
应用层中,系统通过Web 显示可视化界面,使用户与智能合约交互和查看区块链中数据.应用层的开发可以基于JavaScipt 实现,具体可以基于Truffle 框架[12]进行开发,该框架是以太坊中使用最普遍框架,可实现智能合约编译、部署到发布.
3 系统详细设计
3.1 系统总体设计架构
本文所设计的系统采用分层架构,具体可以分为应用交互层和区块链层,如图3 所示. 上层的应用层通过Web 界面显示各项操作按钮,通过这些操作可以完成用户与区块链之间的数据交换,区块链将学生提交信息封装为虚拟资产或交易,然后提交给各个节点校验(例如班上同学51%同学认可后)存储在区块链上.同时应用层也给学生提供查询功能,通过查询接口获取数据并在浏览器上显示.
底层区块链包括两个部分,首先是组成区块链网络的P2P 网络,该部分维持系统运行和处理各项查询和存储功能,另一部分是区块链用于存储已经生效的记录链.
图3 系统总体架构图Fig.3. The Arichitecture of The Proposed Scheme
3.2 系统详细设计
3.2.1 角色注册模块
本系统的角色可以分为学校管理员、辅导员、学生三个部分.学生通过系统并输入学生姓名、学号、身份证号、所在学院和班级信息,并生成公私钥对.为了便于学校验证学生合法性,学生注册完后需要生成一个虚拟资产提交给学校,具体流程如图4 所示. 教师注册过程与学生类似,学校不需要注册,具有审批权限.
3.2.2 信息写入区块链
如何将有效信息写入区块链中实现永久存储是本系统的关键,具体流程如图5 所示. 为了安全可控和隐私保护,系统将学生操作和信息阅读范围都限制在本班级中,其他人并不知道发起记录的人是谁. 如果某个学生需要将信息记录到区块链中,他需要向系统提交信息,并交由全班投票,如果投票通过,才能将信息记录到区块链中. 老师跟学生操作类似,但是老师可以查看和记录本学院的所有同学信息.
3.3 信息查询
学生可以通过浏览器查看本班级的信息记录,学生需要提供自己私钥来进行查询信息,这些信息只能查看都不允许修改.
图4 学生注册流程图Fig.4 The flow chart of student registration
图5 信息写入区块链流程Fig.5 The Writing information Process of Blockchain
4 总结
本文提出基于区块链技术的学生行为管理系统,解决传统中心化结构的信息系统面临的安全问题.本文所提基于区块链的学生行为管理系统不但可以实现学生行为由学生自己管理、监督和维护,同时可以保证数据公开透明且不可篡改.通过借用新的计算机技术来切实提高思想政治工作的效率和公开透明,对促进学生发展和提高学生思想政治水平具有积极意义.