孙尧 吴妍
(济宁职业技术学院 山东省济宁市 272103)
大数据时代,学生学习过程数据作为学习成效的重要参考,学习者在整个学习周期过程中要经历多个教育机构的学习,教育机构之间如何让学习者的学习数据共享,消除教育机构间的学生学习数据记录孤岛,同时保护学习者的数据隐私,成为当前教育信息化的重点研究方向。区块链技术具有一种去中心化,数据可追溯、数据防止篡改的数据存储技术,随着数字货币的全球流行,其背后的区块链技术被人们逐渐熟悉和掌握。除了金融领域外,“区块链+”概念,已经开始渗透到,工业生产领域,医疗领域,教育领域,社区管理领域等多个行业,区块链技术已经成为梳理产业链参与者关系以及打通数据价值流通的重要工具。
早期的区块链在教育领域的应用主要是对数字证书的相关认证,美国麻省理工学院等高校已经在使用区块链来存储和发布数字学位证书,能够防止认证造假。阿根廷CESYT 学院的学位认证项目等。美国几所大学合作构建的一个教育区块链系统可以连接大学和企业,并支持企业雇员的在职继续教育文献从宏观技术层面对区块链技术应用到教育领域的需求和过程进行了分析。2016 年2 月,日本的“索尼全球教育”(Sony Global Ed¬ucation)其实已宣布基于区块链技术,应用于教育行业领域。创始人铃木五十铃认为,学习者应获得更大自主权当获得某一门考试成绩后,第三方组织通过区块链技术上的学习数据,确定学习者的知识和技能是否掌握。国内对该领域研究包括:李志宏,邱亭谕等人提出了基于区块链技术的学分银行系统,文章是制定一套基于区块链技术的学分银行系统的实现机制并为学分银行的发展提供理论参考。
学习数据共享平台是学生在其学习生命周期中用于保存学生学习数据的软件平台,是分析学习者学习现状的重要依据平台,学习数据共享平台主要包括三方面需求:学习数据共享需求,学习数据访问隐私控制需求,学习数据安全存储需求。
学习者在学习生命周期过程中,经历不同学习机构教育,由不同学习机构的数据存储多样性造成了学习数据存储格式标准不同,数据结构异化,程序接口不统一造成了数据孤岛问题,学习记录数据之间没有实现共享互通,使得新教学机构不能全面评估新进的学习者学习境况,导致无法针对新进学习者进行正确的因材施教,从而造成在新学习机构中出现学习过程的“冷启动”问题,降低了学习者的学习效率。学习数据共享平台必须解决不同学习机构之间的学习数据共享问题,保障学习者在整个学习生命周期中的利益。
在学习数据利用过程中,学习数据是描述学习者学习过程的相关记录信息。如作业完成度,实验实践时间,网课学习记录,文献调研时间,期末考试成绩,获得的各类技能证书等,这些学习数据属于学习者个人数据,由于隐私泄露会触及法律问题,在不被允许情况下会对学习者造成身心伤害。因此在利用这些学习数据评估学习者学习成效,尊重学习者隐私和相关权利。确保在学习者控制授权的前提下对学习数据进行利用。
由于学习数据在不同学习机构流动的过程中,由于过程复杂性和参与机构和人员的多样性将会对学习数据造成篡改删除增加等威胁,严重影响了学习数据的真实可靠性,必须保障学习数据存储的安全性。
区块链技术在不可信节点分布式网络中利用加密算法、共识机制,以哈希链结构来组成的分布式存储账本。为确保分布式账本的安全性和一致性,以一种工作量证明算法作为共识机制,它是通过众多不可信节点来计算难题的方式获取对新区块的记账权利,从而保障区块链网络的去中心化。同时,获取记账的节点通过广播形式,将记录内容进行全链更新,保障整个网络存储数据的一致性。如果修改存储数据必须拥有51%全网算力,因此,对恶意篡改区块链中存储数据必须付出高昂的代价,保障了存储数据的安全性。
以太坊区块链技术具有智能合约功能,有助于执行对数据的控制访问协议开发制定。在学习者和学习提供者之间的逻辑关系,制定相关智能合约通过在区块链上部署策略,为学习数据资源共同利益相关群体提供数据控制访问工具,确保学习记录的隐私性。
对于数据存储安全问题,当学习者在学习平台上进行学习行为时,学习者学习数据在区块链中的存储区块以字符串的形式散列进行创建和存储在区块链上,可以通过外部学习系统对区块数据进行查询检索。为确保学习数据存储的安全性,每个数据区块创建时通过哈希加密算法和非对称秘钥技术,当对存储在区块上的学习数据进行访问操作时,需要持有私钥进行数据验证,如果两次哈希散列值不同,则操作拒绝响应。
共识机制是区块链技术中去中心化功能实现的核心机制,本文主要利用的共识机制包括POW 算法和PoA 算法等,广泛用于比特币、以太坊等主流公链中,用于实现去中心化的共识机制算法。POW 算法是工作量证明(Proofof-Work,POW)的缩写。此概念最早是在1993 由Cynthia Dwork 和Moni Naor 提出,在1999 年由Markus Jakobsson与Ari Juels 对工作量证明进行详细的解释。技术已广泛应用于加密货币应用领域如比特币。加密货币技术的底层是区块链技术,在区块链部署POW 算法是简明合适的设计。由分布式计算机通过竞争计算选出能最早找出答案的节点,将获得该区块的打包权(记账权)。将该节点猜测值(nonce)与元数据、散列值一起打包成块后广播,经过区块链大多数节点的确认完成后,拥有记录权的节点完成账本记录后将获取打包记录所赢得的加密货币奖励。PoW 算法优点:架构简明清晰并且高效可靠。如果想篡改数据必须投入超过全链运算量的51%攻击。这使得攻击成功的成本高,付出代价大。POA 算法与POW 算法是不同的,POW 将区块链网络中的节点分为两种一类是矿工节点,另一类是其他节点。POA 算法首先由矿工构造区块头选取N 持币节点,所有者参与后续的校验和生成块的过程。因此在整个过程中该算法不仅要求节点要有算力,而且跟旷工所拥有财富(币)有关。节点持有币越多的参与者获得参与者身份的概率越大,POA算法的维护取决于网络中的在线的旷工节点。在基于 POA共识算法的区块链网络中,所有的交易和区块均由验证人(Validator)处理。因此两种算法相比,POW 用于维护区块链系统性能不需要耗费大量计算资源,从而降低用POW 共识算法平台的运行成本。
学习数据共享平台体系是基于区块链技术将各学习机构自身应用系统的数据库作为分布式节点组成分布式数据网络。在通过各学习机构之间组建联盟链并形成统一协议基础上,通过系统访问隐私控制和各应用系统接口设计,来构建基于区块链的学习数据共享平台模型。
本文设计的学习记录共享区块链平台,学习机构需要通过他们管理节点加入区块链平台。学习者不需要维护一个节点,他们通过所在的学习机构注册到共享平台上。学习机构通过在区块链为学习者创建帐号并颁发一对用于公有和私有密钥。学习数据共享区块链平台功能模块包括四个功能部分:学习管理系统、学生行为采集系统、学习记录存储仓库、区块链节点,功能架构如图1 所示。
图1:基于区块链的学习数据共享平台功能架构
(1)学习管理系统:是一种课程管理系统,其主要功能是存放教学资源以及日常教学计划以及业务管理的教学机构的本地信息化系统。
(2)学习行为采集系统:对学生日常学习过程产生的行为数据进行存储记录。包括学生日常实验实训操作行为,实验实训过程记录,实验实训结果都将记录该采集系统中,并最终存储在学习记录存储仓库中。
(3)学习记录存储仓库:学习数据存储仓库采用非关系数据库技术如MongoDB,它是存储学习者在该学习机构中产生的学习数据主要的存储系统。为了使区块链和学习数据存储之间的实现不同学习机构的交互安全,学习数据共享平台上的所有节点通过存储沙盒进行数据通信。在安全机制框架中通过相关合约指定授权学习者或学习机构,在允许访问情况,通过该存储沙盒发出访问存储等操作请求,从而保障了数据交互可靠。
(4)区块链节点:该节点是用于教育机构本地信息系统与区块链公有链想连接的节点,节点支撑智能合约编程,可以在智能合约上实现创建、修改、监视和索引等服务,并提供唯一ETH 地址标识符,学习者能够通过该节点以安全的方式将个人学习数据在不同教育机构间转移。
为了实现学习者学习数据读写访问权限控制和隐私保护,基于区块链技术设计控制数据访问控制状态,利用区块链中的智能合约修改权限状态函数实现学习数据访问权限修改转换,本课题制定了三个智能合约分别为学习机构注册合约、学习者-学习机构合约以及索引合约如图2 所示。
图2:智能合约组关系
4.2.1 学习机构注册合约
学习机构注册合约作用是实现学习机构注册成为学习数据共享区块链平台上使线下学习机构成为该学习联盟链上一个机构节点,并参与学习数据平台的数据共享和访问。
4.2.2 学习者-学习机构合约
该合约包含学习者的基本信息,包括学习者身份验证的数据库参数。该合约赋予学习者通过维护权限列表来控制谁可以查看他们的学习数据,并能够通过该合约授予其他的学习机构的访问权限。
4.2.3 索引合约
索引合同是学习者-学习机构合约基础上的扩展性合约。索引合约采用哈希表技术将通过学习者-学习机构合约作为桥梁,构建学习者和学习机构映射关系,建立学习者索引目录,学习机构索引目录,该合约的目的是提供一种快速查找条目,便于查阅访问区块链上学习数据的访问权限。
对于基于区块链技术的学习数据共享存储平台的数据存储安全问题。假设学习数据共享平台的区块链的区块高度为α 的快照信息存储在客户节点高度为β 的区块中,他们之间有h 的距离差值, 如果攻击者利用分叉方式对本区块链进行替换时,攻击者的代价为从β 区块高度往后的所有区块都需要全网节点对它进行验证。假设一个稳定区块链情况下,本区块链节点算力为p 次哈希/秒,攻击节点算力为q 次哈希/秒,在t 秒内,攻击节点如果想取代诚实节点,要满足n∈[0,(t-h-1)/2],m=n+h+k,且1 ≤k ≤t-2n-h,其概率见公式(1):
在学生的学习数据安全存储保护场景中,攻击篡改学习数据往往发生在与利益相关数据范围内,一般距离数据存储时间相距很远,因此区块高度差值为万数量级,当最坏情况为攻击节点与诚实节点相同时,不可能完成大规模替换。另外,由于区块链的激励机制,假如攻击者篡改成功,它付出的代价远远大于诚实节点所产生区块的奖励收益,因此通过区块链相关机制可以达到了学习数据保护,确保学习数据存储安全性。
对于基于区块链技术的学习数据共享平台实现策略,鉴于各级地市各层次的教学机构信息化基础建设水平不同。可以通过政府公有云部署区块链技术来实现相应的技术服务从而达到不同教学机构的区块链技术部署。保障区块链技术普及化,实现基于区块链技术学习数据共享平台系统的开发和运行。
“即服务”的理念最早出现在云计算的应用框架中它包括三个部分设施即服务(IaaS)和平台即服务(PaaS)和软件即服务(SaaS)。基于平台即服务(PaaS)使用者可以方便地在线管理开发应用;基于软件即服务(SaaS)使用者可以使用网络软件,比本地软件更方便迅捷;利用设施即服务(IaaS)使用者对计算机基础设施获得获得完善的服务。区块链即服务(BaaS)概念最早是由IBM 和微软定义的,微软在2015年11 月推出了自己的 BaaS 平台,IBM 发布了Hyperledger Project。区块链技术蜕变区块链即服务,是在传统云技术基础上融入区块链技术,即区块链即服务是一种结合区块链技术和云计算技术相结合的基础设施技术,本质上是一种云模式下的区块链技术。本文从系统功能架构方向进行对区块链即服务核心技术框架的分析和描述。区块链即服务从技术系统架构层次上可分为三层:支撑云技术层,系统协议层,服务层。
5.1.1 支撑云技术层
支撑云技术是区块链即服务的硬件基础设施层,并具有云技术本身特点,虚拟化技术来动态分配硬件资源,超融合技术来进行分布式数据管理,提供海量数据的存储基础。
5.1.2 系统协议层
系统协议层相当于区块链操作系统,它是由区块链即服务中核心协议程序构建而成。 主要包括侧链技术与智能合约。智能合约是在区块链上执行的程序,可以智能地运行在区块链服务上,在满足限制条件后,自动执行合约。侧链技术使用主要的应用场景是在主区块链上拓展各类更应用领域业务并复用主链的电子货币,实现了价值的跨链传输。
5.1.3 服务层该层对面向用户的需求,抽象出具体的数据化的服务,通过可编程API 接口来定制服务,开发出的去中心化应用程序(Dapp)作为服务的具体形式,目前这些服务包含了:基于区块链即服务的去中心化的云平台通过数据加密可以为用户提供云安全服务;基于区块链技术将数据分片进行分布式存储,为大数据提供分布式数据云存储服务;利用智能合约进行访问控制策略实现不同用户的不同访问权限的用户权限服务;利用区块链即服务技术进行个人身份记录信息管理的身份管理服务;利用区块链技术中数据的不可篡改、全历史的特性,通过区块链即服务下的数据存储,可以为用户提供数据可信的大数据分析服务。
5.2.1 组织策略
利用区块链即服务作为基础信息化设施对学习数据共享平台进行构建,其组织架构是以教育管理机构为核心机构与区域中教育教学机构以及各教学数据资源管理机构等组成联盟体,联盟体内的各机构部署和覆盖区块链即服务,形成以教学管理机构为联盟权威节点,组织构建联盟区块链。区块链即服务框架下具体组织措施:
(1)以教育管理机构牵头,以联盟链中各节点机构为成员,成立学生数据共享治理委员会,共同对联盟链进行建设管理,维护联盟区块链的稳定运行。治理委员会定期开展会议,形成数据共享合作协议,商议开放数据范围,制定监督学生学习档案数据的分类工作。
(2)联盟链内部的机构制定相应的智能合约,建立智能合约群,将学习数据摘要等元数据存储在区块链上。从而实现了学生学习情况的档案数据筛选、保护、验证、恢复与共享、开放。采用将修改学习记录数据和学习记录摘要历史版本数据等背景元数据存储到区块链上的方式,利用智能合约实现了对数据修改操作责任人的追责和档案数据迭代版本回溯。制定基本的智能合约群框架,保障区块链即服务下的学习数据安全共享机制正常运行。
5.2.2 运行策略
各学习机构之间在区块链即服务的系统协议层内制定智能合约,打破数据孤岛,使得学习数据可以在联盟链中流动。联盟区块链区域,利用区块链即服务协议层中的POA 共识算法的作为共识算法,通过智能合约学生身份和学习相关数据的摘要信息,可以实现学生身份注册,学生档案数据恢复,并对学生数据进行保护,保障了学生数据的共享以及其他业务逻辑。采用侧链技术作为对外开放数据的窗口,在侧链上采用POW 算法作为共识算法,实现对联盟链上的学生数据的共享和保护。
5.2.3 运行成本分析
假设系统中每月需进行学习数据保护操作的次数为α,学习数据分享操作次数为β,对身份管理的相关的操作γ次,在现有的公有链上部署和实施相关的智能合约成本为cost每个月,见公式(2):
本文构建了在区块链即服务框架下的联盟链技术运行策略方案,可以将大多数智能合约部署于联盟链中,考虑到部署在联盟链中的相关智能合约的调用成本可以忽略不计,仅需考虑联盟链网络每月的运行成本记为 ω 联盟链每进行μ次数据存储操作时调用学习者-学习机构合约锚定联盟链中当前的区块快照信息,锚定频率可以动态调整,见公式(3):
本文根据现有学习数据平台缺陷,提出了基于区块链技术学习数据共享平台模型设计和关键技术。包括学习机构之间的数据共享,学习数据安全存储,基于智能合约如何实现学习者的数据隐私访问控制策略。通过该平台模型构建,全面评估学习者对知识的掌握,促进学校等相关学习机构间不再重复培养。在实现策略上采用基于区块链即服务作为学习数据共享模型的基础信息化设施,在平台的管理组织架构上以教育管理部门牵头组建共享数据联盟委员会构建联盟链,并给出了运行该平台所需要的运行成本。由于作者的精力有限,在学习数据共享平台模型研究中还有很多不足,如区块链的去中心化特性对现有教育机构生态结构的重构问题;终身学习与区块链下的学习数据共享平台如何更好的结合等问题都需要进一步研究。