APP下载

基于区块链的证书管理系统的设计

2022-10-14高茂云周科

湖北第二师范学院学报 2022年8期
关键词:教育领域客户端合约

高茂云,周科

(1.武汉警官职业学院,武汉 430040;2.武汉理工大学计算机与人工智能学院,武汉 430070)

1 引言

区块链作为比特币、以太坊等加密货币的底层技术,因具有去中心化、去信任化、不可篡改、开放、匿名等优秀的特性受到全世界的广泛关注。区块链技术解决了目前中心化系统可靠性差、安全性低和成本高等问题,拥有广阔的应用前景。2016年10月,工信部颁布了《中国区块链技术和应用发展白皮书》[1],对区块链技术及其应用发展趋势进行了专题研究,总结了区块链在金融、教育、能源、文化娱乐等领域的应用前景。2019年10月24日,在中央政治局第十八次集体学习时,习近平总书记强调,“把区块链作为核心技术自主创新的重要突破口”,“加快推动区块链技术和产业创新发展”,进一步推动了区块链的发展。[2]2021年,区块链作为数字产业化的重要部分被写入“十四五”规划纲要中,各部门也积极探索区块链发展方向,出台相关政策,推动区块链相关产业创新发展。

在教育领域,区块链具有很大的应用潜力。北京邮电大学李青教授指出,将区块链应用到教育领域,有望打造更加开放并且更具公信力的教育系统。[3]然而整体来看,当前区块链技术在教育领域的应用探索还处在初步阶段,缺少成熟的应用案例,还需要进一步的研究和实践。[4]本文基于区块链技术可追溯、不可篡改、高度信任等特性,设计了一个基于区块链的证书管理系统,将学生的各类证书以数字资产的形式记录在区块链中,提供基于区块链的访问控制机制,实现高校证书的安全验证和有效追溯,保证证书的真实性和可靠性,是将区块链技术应用于教育领域的一次尝试,希望有助于构建更加安全可信的教育体系,推动区块链技术在教育领域的应用与创新。

2 系统设计

2.1 系统总体架构

系统架构分为四层,包括数据存储层、智能合约层、业务层和应用层[5],如图1,各层次之间耦合性低,便于系统的维护和扩展。

图1 系统层次结构图

(1)数据存储层:数据存储层主要包含两部分,一部分是区块链,本系统使用的是Hyperledger Fabric框架,实现证书信息的双重保护。[6]

(2)智能合约层:智能合约层主要包括与证书信息管理相关的智能合约,包括证书的添加、修改、删除、查询和追溯。业务层客户端可以通过gRPC远程服务[7]调用智能合约,更新账本状态。

(3)业务层:业务层主要包括用户管理、角色管理、菜单管理、证书上传、证书修改、证书删除、证书验证和证书追溯等功能模块的实现,为应用层提供接口服务。

(4)应用层:用户应用系统利用业务层提供的功能接口实现简洁易用的操作界面,提供良好的用户体验。区块链浏览器(HyperLedger Explore)是Hyperledger的一个开源项目,可以直观地查看区块链网络的活动状态,便于管理员对网络进行管理。

系统总体功能模块主要包括账号管理、证书管理、证书登记与验证和系统管理。系统功能模块结构图如图2所示。

图2 系统功能模块结构图

2.2 系统主要功能模块

(1)账号管理模块:账号管理包括登录注册和个人信息管理。用户进入系统前需要先登录系统以便确认用户身份,不同的身份拥有不同的权限。用户若有账号,则输入账号、密码和验证码进入系统,若没有账号,则需要先注册,注册时需要输入用户名、电话、邮箱和密码等信息,当输入的信息验证通过后则注册成功,然后可以通过注册的账号登录系统。

(2)证书管理模块:证书管理模块主要包括证书的查询、修改、删除和审核等功能,由证书管理员进行操作,证书管理模块的基本功能如图3所示。

图3 证书管理页面

管理员可以通过学生姓名、身份证号、证书编号和证书状态等信息查询系统中的证书,并管理证书。学生上传的证书需要管理员审核,只有审核通过后才能通过验证。对于审核通过的证书,如果发现证书造假或信息错误还可对证书进行修改或删除。证书的所有历史状态都会记录在区块链上,可以追溯证书,防止对证书的恶意修改。

(3)证书登记与验证模块:证书登记与验证模块包括证书上传、证书验证和证书追溯。学生用户登录系统后可以输入证书的相关信息上传证书,证书信息包括证书名称、证书发布机构、证书编号、证书级别、证书颁发日期及附件等,附件可以是证书图片或相关证明文件,大小不能超过1MB,证书的编号不能和已有的编号重复,否则无法上传。上传的证书需要经过证书管理员审核,审核状态分为未审核、审核通过和审核不通过。审核通过的证书才能验证成功,用户可以查看自己提交的所有证书及其审核状态。证书追溯功能可以输入证书编号查询证书的交易记录,获得证书的所有历史状态。证书验证功能主要提供给企业用户使用,输入学生身份证号和证书编号可以验证证书是否属于该学生以及证书是否真实。

(4)系统管理模块:系统管理模块包括用户管理、角色管理、文件管理和菜单管理等功能,只有系统管理员才有权限操作。用户管理功能实现对用户的增删改查。角色管理功能可以为不同的角色分配不同的权限,防止越权现象的发生,从而提高系统的安全性。文件管理功能是对学生上传的证书附件进行查询或删除。菜单管理功能可以对系统菜单信息如菜单的名称和图标等进行修改,也可以删除或增加新的菜单,提高系统的可扩展性。

3 关键技术

3.1 区块链网络

本系统使用Fabric2.4.1的区块链网络,包括两个Peer节点,一个Order节点,并且创建了一个通道,两个Peer节点分别属于组织1和组织2,网络结构图如图4所示。

图4 Fabric网络结构图

在区块链浏览器可以查看网络状态及各个节点的名称,如图5所示。

图5 区块链浏览器网络状态图

Peer节点存储关键的数据,执行特定的程序。存储的数据包括账本、链码(智能合约),执行的程序主要包括背书以及链码的执行。账本的查询以及修改都需要通过链码来操作。客户端应用需要存取账本数据时,先连接Peer节点,通过Peer节点调用相关的链码。Order节点负责对客户端发送的交易请求进行排序和打包,配置了单节点Raft排序服务。通道是特定网络成员之间的私有通信层,每个通道都有一个单独的区块链账本,只能由受邀加入通道的组织使用,对网络的其他成员不可见。

交易执行的流程图如图6所示。

图6 交易执行流程图

首先客户端向所有的背书节点发送交易提案,默认所有peer节点都是背书节点,安装了智能合约。第二步,这些背书节点模拟执行交易并进行背书,即对交易进行签名,表示该交易没有问题。第三步,背书节点返回执行结果以及签名后的交易给客户端。第四步,客户端将背书后的交易发送给排序节点。第五步,排序节点对收集到的交易进行排序,判断Peer节点对交易的结果是否存在分歧,若一半以上的节点相同,则排序成功,即达成共识,并产生新的区块。第六步,排序节点广播区块给主节点。第七步,主节点验证区块并保存到账本副本中。第八步,各个Peer节点同步主节点的新区块。第九步,各个Peer节点验证新的区块并保存到账本副本中。

3.2 主要的智能合约

Fabric的智能合约也称为链码,提供了Go、Node.js和Java等多种语言的合约API,本系统使用Java编写智能合约,提供对证书操作的接口,包括添加证书、修改证书、查询证书等。客户端通过gRPC服务和Peer节点建立连接调用智能合约的函数,并将执行结果返回给客户端。智能合约的具体函数接口如表1所示。

表1 智能合约函数接口

关键功能:

(1)获取证书从创建到任何修改的记录

(2)新增证书

(3)删除证书

(4)修改证书

(5)根据证书id查询证书

(6)查询所有证书

4 结语

当前区块链技术正在快速发展,其应用领域由最初的金融领域快速扩展到各行各业。在教育领域,区块链同样具有很大的应用潜力,基于其去中心化、不可篡改、可追溯等特性,可以打造更加开放和具有公信力的教育系统。本文针对传统高校证书存储面临的数据封闭、防篡改性弱和安全性低等问题,提出使用区块链技术实现证书的存储和管理,设计了基于区块链的证书管理系统。采用Hyperledger Fabric作为底层区块链平台,搭建Fabric网络环境,利用Fabric区块链网络实现证书的安全存储,并设计了相关智能合约实现证书数据的查询和修改。根据证书管理系统的应用场景,设计了证书上传、证书审核、证书查询、证书修改、证书删除、证书验证及证书追溯等功能模块。提供基于区块链的访问控制机制,实现高校证书的安全验证和有效追溯,保证证书的真实性和可靠性,是将区块链技术应用于教育领域的一次尝试,希望有助于构建更加安全可信的教育体系,推动区块链技术在教育领域的应用与创新。

猜你喜欢

教育领域客户端合约
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
虚拟专用网络访问保护机制研究
基于文献计量的数据素养及其教育领域研究态势分析
新华社推出新版客户端 打造移动互联新闻旗舰
江江西率先突破高考、教师交流、民办教育深化综合改革
反差——阿伦德