区块链的教育数据信息智能化存储系统

区块链的教育数据信息智能化存储系统

摘要:教育领域信息化的建设重点是分布式网络信息存储的准确性和一致性,本文提出了一个基于区块链技术的可用于教育数据信息存储系统设计,主要针对教育数据高可靠性要求,保障教师—学生间数据信誉。首先对传统存储系统的安全漏洞进行严格分析,随后对本文所设计的系统使用模拟和分析方式演示系统的可靠性,证明了基于区块链技术采用加密协议实现教学数据信息存储解决了传统教育数据存储安全性低的问题。

关键词:区块链;存储系统;加密协议;分布式网络

1引言

随着云计算、移动互联网技术的发展,在线教育系统越来越受到学校和学生的重视,提升在线教育数据信息的可靠性是发展在线教育的核心技术,目前主流的在线教育平台是基于分布式网络搭建的,专家们通过区块链技术解决网络数据的同步性以及数据流可靠性。利用P2P网络的信誉分数来衡量教学过程在一些研究成果中得到了证实,在对等网络中实现了教学数据共享,其目的是为网络用户提供安全可靠的数据信息,如教学过程中如何快速、准确处理双方过多的交互数据,是系统设计的关键[1-2]。对于教学系统的评估可采用多维度,用户可以根据一系列因素(例如画面质量和语音通信质量)对系统进行评分。所有主要的教育平台都使用传统的客户端-服务器模型,过程数据在中央服务器上集中存储、计算和分发,所有客户端都可以请求从中央服务器查看此数据。在线教育系统是一维系统,交互双方仅仅需要将各自的数据信息留存即可,这样既可以提高效率,又可以减小网络负载。但是在系统设计过程中如何量化服务指标是需要研究的重点[3]。基于对等网络的教育系统几乎与对等网络发展历史一样,对等网络上的在线教育系统都有不同的目标。选择可靠的资源,确保对教育方和受教方共享文件的内容质量进行评级。在线教育系统的安全是系统运行的核心,攻击教育系统可以为攻击者带来巨大利益,系统安全的计算因实现而异,但是,每个用户的信誉是收到的所有信誉反馈的总和。要证明和防止的最具挑战性的攻击可能是不公平的评级攻击,在此攻击中,攻击者提供的评分无法反映其对评分者的真实看法,从而降低了同行的声誉。通过将用户的评级与网络上较高信任的用户留下的评级进行比较,描述了针对此类攻击的一种可能的防御方法[4]。

2系统设计

2.1系统实现原理

本文提出了一种基于区块链的通用教育系统,重点关注该系统在对等网络上的应用,区块链技术是一种新颖的点对点方法,可以将一系列交易或事件以不可变的方式链接在一起。文献[5]中提出虚拟货币实施,在比特币中,用户使用交易的方式类似于现实生活中的交易。当用户创建交易时,他会将其广播给网络中的所有对等方,一组称为矿工的特殊对等方,收集广播事务,并尝试将其合并到满足加密哈希功能的块中。生成块的过程需要大量的计算和概率,给定一个建议的块,每个矿工都有一个固定且独立的概率,可以成功产生一个满足每个计算时间单位的哈希函数的块。虽然很难生成一个块,但验证正确的块却不容易。块还通过将前一个块的哈希值与每个后续块的哈希值链接在一起而链接在一起。因此,攻击者必须控制相当大一部分计算能力(通常为51%)才能产生一个错误的块,并且伪造回过去的数据非常困难。区块(及其交易)的集合在比特币中称为分类账,任何同行都可以公开检查[6-8]。因此,对等方可以从任何时间点查看并验证任何交易。这些矿工检查交易是否有效(例如,发送方有足够的信息可以发送),然后将所有有效交易打包到一个区块中。所有节点都有区块链的完整副本,并保持最新,区块必须包含前一个区块的加密哈希,这是用于将区块链中的每个区块与其前一个区块进行密码链接的方法,一直返回到第一个创世区块。组装完该块后,网络上的所有矿工都将面临寻找随机数的挑战,因此当前块的哈希值一开始就包含固定数量的零,此过程通常称为挖掘。采矿是网络上所有矿工之间的竞争,第一个找到现时数并将此已确认区块到网络的矿工会收到一定数量的比特币。

2.2系统设计

本文所设计的在线教育数据存储系统有两个目标—抵御对教育数据存储系统的攻击,并提供基于区块链技术的通用在线教育数据存储系统。在对等网络环境中,建议通过从交易中删除人的意见来解决教育数据量化问题。本文所设计系统将仅存储一维数据,每个用户将1表示正交易,将0表示不满意交易。本文将教育数据交互归类为发送由发件人的私钥向请求它的用户签名的数据(例如文件)。在接收到正确的文件后,用户将发送一个包含评价分数,时间戳和所接收文件的哈希值的事务。然后,使用接收者的私钥对该数据进行加密,然后将其发送给矿工。这确保了用户留下的评价值是基于真实交易的,这是当前信誉系统中的主要问题。由于存在加密证明,用户已发送请求的文件,并且用户已收到该文件,因此现在不再可能进行不公平的分级攻击[9]。如图1所示为将发送给矿工的数据交互格式的示意图。矿工通过联系参与交易的每个用户来检查交易的有效性,并请求签名的证据,其中包含文件哈希和矿工发送的随机数。这是为了证明每个用户都发送/接收了文件,但是这样做的缺点是要求用户仍然在线,以便矿工验证评价数据。然后,矿工将这些经过验证的数据组合成其他数据存储的一部分,然后以与当前比特币实施相同的方法进行确认。如图2所示为功能实现的部分伪代码,说明了矿工如何验证数据存储有效性。为确保此系统在部署初期不会受到51%攻击的影响,通过使用合并挖掘来利用比特币网络的功能。合并挖掘允许比特币网络上的所有矿工在我们的信誉系统中使用其哈希功能。这不会降低比特币网络的散列能力,但会增加系统的总散列能力,从而提高系统的安全性,因为现在要执行攻击者的51%攻击,就需要控制攻击者的大部分计算能力。防止一台机器上的多个身份的能力是防止Sybil攻击的关键,再加上进入网络的昂贵成本,使得除最强大的对手之外,所有其他人都无法对Sybil攻击网络。为了减少网络上的恶意交易,本文提出了一种评价数据证明系统,在该系统中,信誉低或没有的用户将少量货币(比特币)放到三重签名的钱包中。三重签名钱包是用三组密钥创建的钱包,一组来自发送者,一组来自接收者,而一组来自公正的第三方。当低信誉的用户想要共享文件时,他们通过向专门为此交易设置的钱包中发送少量货币来证明自己是诚实的。这意味着如果用户不诚实行事并发送恶意文件,则钱包中存储的金额将被发送到网络中的池中,以用作矿工发现区块的奖励。选择此选项是为了阻止任何用户尝试从此功能中获利。如图3所示为本系统数据存储过程中使用的POS树结构,树中的每个节点都存储为一个页面,这是重复数据删除的单位。该节点以检测到的模式终止,除非它是某个级别的最后一个节点。类似于B+树,索引节点为每个子节点包含一个条目,每个条目都包含一个子节点的标识符和相应的拆分键。为了保证数据的安全性,采用与B+树相同的策略,即遵循由拆分密钥引导的路径,从子节点的标识符是子节点的加密哈希值(例如,从SHA-1哈希函数派生而来)而不是内存或文件指针的意义上来说,POS-Tree也是Merkle树,从节点标识符到存储指针的映射在外部维护。为了选择用户,系统希望从以下位置下载文件:例如,用户找到托管该文件的所有对等方,然后客户端使用来自区块链的数据以及朋友对等方评估数据计算每个对等方的评价值。仅要求客户端计算一小部分对等方的评价会减少客户端所需的计算资源。一旦用户计算出匹配度最高的客户端,他们就可以建立连接。以上详细介绍了系统实现原理及相关功能设计,因此在教育数据存储方面该系统有广泛的应用,如在在线教育、协同教学等方面。其中在线教学利用区块链技术实现教学过程中文档的协作编辑;而协同教学利用系统可处理共享数据集的功能,为教学人员即可以执行学生行为分析,又可以改善教学课件,如图4所示为基于区块链教育数据存储应用示例图,主要解决过程数据共享的问题。

2.3系统性能分析

在本节中,将对存储系统性能进行分析,通过模拟和计算来减少网络的限制。比较我们提出的解决方案与当前实施情况,并将结果与其他网络进行比较。一种增加每秒事务数的简单解决方案是删除最大块大小,这将增加网络每秒能够计算的事务数量,例如增加到5MB的块大小将允许每秒50个事务。如图5所示为增加的块大小如何增加每秒的事务数量。增加每秒交易量的另一种方法是减少要开采每个区块所需的时间。当前,计算工作证明的难度使得每十分钟确认一次阻止,这可以减少到5分钟,甚至一分钟,以增加网络每秒能够处理的事务。两种增加块大小的方法都会增加用户所需的资源,例如更多的存储空间来保存区块链,以及更大的带宽以更高的速率接收块。这也将进一步限制诸如移动设备之类的资源贫乏的节点的参与。使用以下公式随机选择单个矿工相比,计算了针对网络危害程度不同而随机选择一个恶意池(其中50%+为恶意池)的概率。然后,在py-thon中模拟该模型,然后将结果绘制在图上。如图6所示,此方法对网络中多达40%的恶意存储数据非常有效,并且通过允许资源贫乏的用户加入并增加每秒的事务处理数量来有效解决两个限制。证明了本文提出的网络能够处理两倍于提供教育数据存储的数量百分比。

3结束语

本文讨论了基于区块链的在线教育数据存储系统设计,分析了当前在可信教育数据存储过程中存在的问题,并设计了基于区块链技术的教育数据信息存储系统,以教育评价作为数据存储的维度,通过设计仿真实验对本文所提出的数据存储可信效率进行验证,证明了本文提出的网络能够处理两倍于提供教育数据存储的数量百分比。

作者:王宁 单位:西安航空职业技术学院 航空制造工程学院