孙华林 盛昀瑶 王莹
摘要:该文介绍了区块链概念、分类及Fabric框架技术,分析了非学历在线教育之现状及面临的问题,给出了基于Fabric构建非学历在线教育学习成果认证系统的设计和原型实现过程,对构建终身学习型社会具有一定的理论指导意义和实际应用价值。
关键词:区块链;在线教育;成果认证
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2019)35-0232-03
近两年,被金融市场“比特币”概念带火的区块链技术因具有“可追溯、防篡改、去中心化[1]”等特点,受到各国政府及企业的高度关注,其在金融、政务、物流、审计等领域的应用越来越广泛。区块链可排除被中心化代理控制的风险,其发展及应用在不久的将来可能会颠覆各行业传统的运行模式。教育界也开始考虑应用区块链构建教育信息化基础设施,解决教育问题,提供创新服务[2]。国外,2015年秋季麻省理工学院的媒体实验室采用区块链研发了学习证书平台在区块链上共享学历证书信息。国内,沈忠华认为区块链的“去中心化、可追溯”可解决教育评估过程中易受教育机构行政部门约束(如评估材料造假)等难题。上述研究一定程度上解决了传统学历教育中存在的一些问题。研究者一直关注区块链在各行业包括传统的以“学校为中心”的学历教育的应用研究。但在教育领域,随着以慕课为代表的全球开放教育资源运动的持续深入发展,人类学习呈现出模式数字化、内容多样化、机会民主化、场所分散化的日益多元的去中心化特征,研究者对这种去中心化的在线教育领域的研究不多,尤其是在线教育如何构建“可信”的“学习过程档案及学习成果认证”的研究方面。本文将基于Fabric区块链框架,解决“去中心化、缺少政府信用支撑”的在线教育在构建终身教育体系时面临提供“学习者真实学习轨迹与过程记录、学习成果认证”等一系列问题,对构建终身学习型社会具有重要的理论指导意义和实际应用价值[2]。
1 区块链及其开发框架
1.1区块链概念及分类
区块链技术是基于块链式数据结构来验证与存储数据、采用分布式节点共识算法来生成和更新数据、利用密码学原理保证数据访问安全、采用智能合约编写脚本来操纵数据的一种全新的分布式基础架构和计算范式,它具有“可追溯、防篡改、去中心化”的特征[3]。
根据应用场景不同,区块链一般可以分为公有链、联盟链和私有链3种类型。公有链顾名思义,就是链上的每一个节点都是“公共的、开放的”,网络上的任何组织或用户都可以访问这个节点;私有链和公有链之“开放节点”特征恰恰相反,其链上的节点仅仅向有权限的用户开放,其他没有权限的用户不能查看或操作私有链上的节点中的数据;联盟链是介于公有链和私有链之间的一种“去中心化”被弱化的区块链类型,一般是由利益攸关方组成的联盟发起和创建,联盟链中的每一个节点都代表某个组织,这些组织都是通过充分的授权才能进入联盟链,成为其中的一分子[4-5]。
1.2区块链主流开发框架介绍
1.2.1比特币Bitcoin
比特币是区块链技术的第一个应用场景,也让区块链技术从此名声大噪,对区块链技术崛起有着举重若轻的作用,这里不再详述。
1.2.2以太坊Ethereum架构
这是区块链2.0的典型应用代表,是一种面向所有公众的公有链。其采用五层架构,从上到下分别为数据层、网络层、共识层、激励层和智能合约层。数据层是基础层,主要负责数据存储及数据安全,采用leveldb实现数据存储,基于哈希函数和非对称加密保证交易安全;网络层采用点对点技术实现链中节点的互联;智能合约层为开发者提供可编程特性,其实现了区块链的数据透明、不可篡改及永久運行的三个特性。以太坊中智能合约运行环境是以太坊虚拟机(EVM),运行在EVM中的Code被沙箱封装起来只能有限制的调用。目前基于以太坊的合约项目已达到数百个,比较有名的有Augur、TheDAO、Digix、FirstBlood等。
1.2.3 Corda架构
Corda是由R3CEV推出的一款分布式账本平台,主要是为金融机构特别是银行打造的一个系统。从区块链的严格意义上来讲Corda并不是真正意义上的区块链,它是一个“受区块链启发的”技术平台。Corda采用UTXO模型、网络是基于P2P的分布式网络,没有广播,只是基于点对点的消息交流方式,网络中的每个节点都执行称为CorDapps的应用程序的JVM run-time environment。
1.2.4蚂蚁区块链Baas
蚂蚁区块链BaaS的全称即Blockchain as a Service,也就是大家熟悉的阿里云区块链服务。因基于云平台开放区块链技术,架构平台具有高性能、高可靠和高容错性,在隐私保护方面也做得很好。蚂蚁区块链BaaS主要的应用场景是企业级联盟链,采用三层技术架构(分别为底层BaaS Core、中间层BaaS Plus和顶层BaaS Marketplace),主要有联盟链管理、身份认证、自动化部署、区块链服务、业务配置等五个核心功能。
1.2.5 Fabric架构
Fabric是由IBM和DAH主导开发的一个区块链框架,是超级帐本的项目成员之一。它是一种“松耦合”架构,架构中的共识机制、身份验证等模块采用组件化设计思想,允许开发人员根据应用需求选择相应的模块来实现功能。Fabric是一种采用了Docker容器技术的分布式智能合约平台,允许开发者将编写的智能合约代码放在容器中运行,因此开发人员在智能合约编码阶段可以使用Java、Python、C#等所有开发语言来实现。
2 非学历在线教育之现状及困境
2.1现状
在传统的学历教育及非学历技术培训市场,信息化教学正在颠覆人们受教育的方式。各种依托网络的在线资源如面向“公众”的MOOC课程及面向“小众”的SPOC课程如雨后春笋般涌现出来,传统的线下教学如以学校、各类培训机构为中心的“中心化”教育模式逐步向网络在线模式转变[2]。这种转变为学习者带来了教育选择多样化、培训内容多样化、受教育机会均等化、降低学习者学习成本等好处,学习者可以因地制宜、根据自己的时间、特点选择线上教育资源。近两年出现了诸如中国大学慕课网、职教云等一系列在线资源平台,为广大学习者提供了几千门在线优质课程,有力地推动了教育的机会均衡发展。
2.2面临的问题
网络在线开放教育虽然为学员提供了大量的优质课程,有力地推动了新时期的新的学习方式变革,也存在着“信任危机”问题。传统的线下学历教育因有政府的信誉支撑,学历教育过程中的“过程材料、学习成绩”及发放的学历证书不会产生“信任危机”,而缺少“政府信誉支撑”的网络在线开放教育面临提供“学习者真实学习轨迹与过程记录、学习成果认证”等一系列信任问题,基于区块链技术构建“可信的学习过程档案”势在必行。
3 Fabric框架技术在非学历在线教育中的运用
3.1 Fabric及其架构
3.1.1 Fabric框架技术
Hyperledger是由Linux基金会主导的区块链开源项目,项目包含了面向多个领域的区块链开源框架,其中Fabric是这些开源框架中最著名的一个。根据区块链的分类性质,Fabric框架是一种适合构建跨多个组织的去中心化应用的企业级解决方案,可以归类为联盟链,这种联盟链和以太坊等公有链在设计上有区别,那就是引入了身份验证、权限控制及数据隐私保护机制,以适应企业级应用的限制性要求[6]。
Fabric分布式账本采用不可篡改的区块链数据结构保存信息,可以将学习者的各个学习环节记录到区块链中,保证了溯源信息的透明与可信。
3.1.2 Fabric架构
Fabric是联盟链,其架构核心为Identity,Ledger及Transac-tions,Smart Contact几个部分[7]。Identity即身份管理戚员管理,只有有权限的org组织才被允许加入区块链网络;Smart Con-tract即智能合约,体现为一段业务逻辑代码一链码;Fabric不仅提供了方便的、可以根据不同需求来设置共识协议的方法,还提供API方便应用开发,服务端ChainCode开发可采用Go、Java或者Node.js,客户端应用可以使用Java SDK。Fabric整体架构如下图1所示。
3.2基于Fabric的非学历在线教育学习成果认证系统设计
如图2所示,非学历在线教育学习成果认证系统分为Fab-ric区块链网络平台、Application应用组件及智能合约部分。区块链网络平台设计了CA、Endors及Order三个节点和一个DataStore服务。CA节点负责证书管理,如果某组织org1中的p节点没有加入channel通道中,那么Order在下发区块的时候,就不会向org1组织中的节点分发这个区块;DataStore服务可以实现对分布式账本的各种操作,Application应用组件部分基于Fabric-Node.js-SDK采用gRPC远程过程调用访问区块链平台进行各种数据操作,智能合约部分采用编码实现和外界数据交换接口功能。
3.3系统最小原型的实现
3.3.1系统需求
基于Fabric的非學历在线教育学习成果认证系统功能需求分析将主要分为账户管理、学习管理、区块链管理及加密传输管理4个模块。
账户管理主要实现组织机构用户注册功能。学习者在网上学习前系统首先采用非对称秘钥进行区块链节点的合法性检验,验证通过的节点才有被允许加入区块链网络的权限。学习管理模块对学习的资源、学员信息、培训机构、学习过程记录等进行统一管理。区块链管理模块是整个系统的核心,系统中学员的学习过程、成绩等资料将被记录到节点区块中,这一过程具体采用的是监听机制,即当监听到系统中有学员学习成果信息后,成果信息将被记录在最近的节点中,然后这个节点通过区块链广播的方式向整个链发送自己记录的区块数据。
3.3.2基本数据存储(CouchDB)
系统有培训机构信息、学员信息、课程信息、讲师信息、学员学习过程记录5个基本数据表。
培训机构信息包括机构名称、地址、用于标识机构唯一身份的ID、公钥publicKey、私钥privateKey及标识学员身份的stu-dentID;学员信息包括学员姓名、性别、身份证号和标识学员唯一身份的studentID;课程信息主要包括课程ID、开课时间、结束时间、学时、课程简介、开课讲师ID;学员学习过程记录信息包括主键ID、开始学习时间、结束学习时间、学员标识studentID、学员状态、培训机构ID、机构签名信息、学习课程ID、是否完成学习、获得成果信息列表等信息。
3.3.3系统简单实现过程
编写并部署智能合约函数,调用这个函数将培训机构信息、课程信息、讲师信息写入到分布式账本中,并生成区块记录。学员注册后可以选择某个培训机构中的课程资源进行学习,此时需要在学习过程记录中写入学习操作记录。当学员完成学习并有成绩等学习成果产生时,系统将会调用预先编译并部署完成的智能合约自动更新该学员的状态信息,并在分布式账本中记录相关操作然后生成区块。
4 结束语
本文采用Fabric框架构建了非学历在线教育学习成果认证系统原型,通过在“链”上发布与记录学习者的学习轨迹、过程记录及学习成果,保证了链上的数据不可篡改、伪造和公开透明,为学习者提供了可信的终身学习档案和学习成果认定,对构建终身学习型社会具有一定的理论指导意义和实际应用价值。
参考文献:
[1]樊文强.MOOC学习成果认证及对高等教育变革路径的影响[J].现代远程教育研究,2015(3):53-64.
[2]孙华林,盛昀瑶,苏宝莉.区块链+在线教育的现状分析与研究[J].湖南邮电职业技术学院学报,2019(6):16-18.
[3]李中振,高超越,刘敏,等.基于区块链技术的学籍管理系统[J].四川大学学报:自然科学版,2019(5):450-456.
[4]周利平,张景韶,苏理华.基于区块链技术的学分银行学习成果认证体系结构变更[J].湖北函授大学学报,2018,31(16):34-37.
[5]张伟远,张璇.推进终身学习和建立学分认证制度的最新发展与实践探索[J].终身教育研究,2017(2):11-16.
[6]叶柯.区块链在学分银行平台中的应用研究——基于Ethe-reum区块链的学分银行系统的研究与实践[J].宁波广播电视大学学报,2018(12):113-118.
[7]熊维祥.基于区块链技术的学分认证系统研究[D].北京:北京邮电大学,2018.
【通联编辑:谢媛媛】
收稿日期:2019-10-19
基金项目:2018年度CCF职业教育发展委员会职业教育科研课题“区块链视域下在线开放教育与传统教育学分互认体系构建研究”(项目编号:CCFV2018010);2018年度江苏高校哲学社会科学研究基金项目“区块链新技术视域下在线开放课程之学分链生态体系构建研究”(项目编号:2018SJA1845)
作者简介:孙华林(1977-),男,江苏徐州人,常州机电职业技术学院副教授,硕士,研究方向为教育教学信息化、云计算及大数据、区块链。