基于区块链的数字化教育资源共享框架的设计与实现

2024-12-15 00:00:00高文涛韩燕宁
电脑知识与技术 2024年35期
关键词:链码资源共享合约

摘要:针对当前教育资源共享模式中存在的效率低下、安全性不足和透明度不高等问题,文章引入区块链技术,基于Hy⁃perledgerFabric平台设计并实现了一个高效、安全、透明的数字化教育资源共享框架。该框架结合星际文件系统(Inter⁃PlanetaryFileSystem,IPFS),解决了Fabric在处理大文件存储方面的瓶颈问题。通过编写链码,实现了数字化资源的上链存储、共享和下载功能,并采用JMeter对系统进行性能测试,验证了框架的可行性与性能表现。实验结果表明,该区块链平台能够有效提高资源共享效率,保障资源的安全性和透明度,为高校数字化教育资源的开放共享提供了有力的技术支撑。

关键词:区块链;HyperledgerFabric;IPFS;链码;数字化教育资源共享

中图分类号:TP311.13文献标识码:A

文章编号:1009-3044(2024)35-0039-05开放科学(资源服务)标识码(OSID):

0引言

随着数字化时代的到来,教育信息化正在从1.0时代迈向2.0时代,推动了数字化教育资源的建设和发展,实现数字化教育资源共享也成为我国教育领域创新的关键任务。然而,在“互联网+”背景下,数字化教育资源共享仍然面临一系列挑战,如资源产权保护困难、资源质量低下、资源库共建共享机制不完善以及安全性问题等。

2019年10月24日,习近平总书记在中共中央政治局第十八次集体学习会议上强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用[1]。区块链技术在金融领域的成功实践,引发了国内外学者对其在教育领域应用的广泛关注和研究[2-5]。国内针对区块链在教育领域的研究主要集中在数字化资源的流通共享、数据安全以及版权保护等方面[6-8]。刘丰源等[9]利用区块链的网络拓扑结构和共识验证技术,设计了一个包含资源存储层、资源评估层、资源互连层的教育资源共享框架;许智勇等[10]以MOOC平台为研究对象,构建了一个基于区块链技术的数字教育资源评价机制模型,旨在促进信息共享;李文峰等[11]则从资源发布、资源交易、运营管理、接口管理等多个层面出发,构建了高校数字化教育资源开放服务平台,以解决传统数字化资源平台面临的问题。然而,区块链技术在教育领域的应用目前还处于探索阶段,更多偏向于理论研究,缺乏具体的实践和应用。

区块链技术作为一种融合了分布式数据库存储、点对点传输、共识机制和加密算法等计算机技术的新型应用模式,为数字化教育资源的建设带来新的发展机遇,在实现数字化教育资源的分布式存储和开放共享方面展现出重要的实践价值。因此,本文将区块链技术与教育领域相结合,构建一个基于区块链的数字化教育资源开放和共享原型系统,进一步探索区块链技术在数字化教育领域的应用潜力。

1相关知识

1.1区块链

区块链技术作为比特币的底层技术,本质上是一个去中心化的数据库。它依赖于一个由众多节点组成的分布式网络,这些节点协同工作,共同维护数据库的完整性和一致性。区块链由一系列区块组成,每个区块都封装了一定数量的交易记录。这些区块按照时间顺序依次连接,形成一条连续的数据链,每个新生成的区块都包含前一个区块的哈希值[12]。

区块链技术融合了分布式存储、点对点传输、共识机制、密码学和智能合约等多种技术,具有去中心化、不可篡改、安全透明等特点。区块链网络通过多个节点共同参与数据维护,每个节点都持有完整的账本副本。区块链网络中的节点通过共识机制来达成一致,确认交易的有效性。常见的共识机制包括工作量证明(ProofofWork,PoW)、权益证明(ProofofStake,PoS)等。一旦交易被记录在区块链上,就无法被更改或删除。区块链的加密机制保障了数据的安全和隐私,所有交易被记录到区块链之前,都必须经过严格的加密和验证过程。智能合约则使得区块链能够执行复杂的业务逻辑和自动化操作,进一步提高了操作透明度。随着区块链的不断扩展,能够更加高效地记录和验证大量交易信息[13],进而有效解决当前资源共享网络中存在的安全性问题。

1.2超级账本

超级账本(HyperledgerFabric,简称Fabric)是一个开源的企业级区块链框架,致力于提供一种可扩展、可靠且高效灵活的区块链解决方案。它采用了模块化的架构设计,涵盖了从节点管理到智能合约(链码)执行,再到可配置的共识和成员服务[14]。Fabric网络由多个节点构成,每个节点都是一个独立的参与方,共同维护一个共享账本。这个账本记录了所有的交易记录和当前状态数据,其真实性和完整性则是通过共识机制和独特的排序服务共同保障[15]。共识机制确保了所有参与方对交易的一致性认可,而排序服务则负责交易的顺序处理,保障了区块链的一致性和不可篡改性。

在Fabric网络中,存在记账节点(PeerNodes)和排序节点(OrdererNodes)两种节点类型[16]。其中,记账节点是网络中的核心节点,参与交易的验证和共识,负责处理链码的执行,并直接与账本数据交互;排序节点则负责为网络中的交易进行排序,不参与交易的验证或执行,而是将交易打包成区块并广播到网络中的所有记账节点,确保区块链的一致性。Fabric账本由两部分组成:世界状态(WorldState)和事务日志(TransactionLog)。世界状态是一个以键值对形式存储的数据库,提供了对账本当前状态的直接访问;而事务日志记录了所有导致当前世界状态的事务历史。

HyperledgerFabric为数字化教育资源的开放共享提供了一个功能强大、灵活安全的区块链平台。利用Fabric的功能和特性,可以实现数字化教育资源的数据透明、安全共享以及可靠追溯。

1.3IPFS

星际文件系统(InterPlanetaryFileSystem,IPFS)是一个分布式文件系统,解决了传统中心化存储中成本高昂、效率低下以及安全性不足等问题。与依赖HTTP协议的中心化存储模式相比,IPFS具有去中心化、分布式、内容寻址等特点。由于相同内容的文件在IPFS网络中只会生成一个唯一的哈希值,避免了数据冗余存储,从而也极大地节省了区块链的存储资源。用户可以根据内容的哈希值快速检索文件,而不需要中心化的服务器节点。IPFS通过其独特的分布式文件系统和内容寻址机制[17],提高了数据检索的效率,增强了数据安全性,为数字化教育资源的存储和访问提供了一个高效、安全、去中心化的存储方案。

2利用区块链构建数字化教育资源开放共享平台

2.1总体架构

本文提出的基于区块链的数字化教育资源开放共享平台的总体架构如图1所示,自下而上分为三个层次:数据管理层、智能合约层和Web应用层。

2.1.1数据管理层

数据管理层是平台的基础,通过区块链和IPFS共同实现教育资源的存储操作。区块链分为联盟链和私有链:联盟链由各高校节点组成,利用共识算法达成一致;私有链则用于处理数字化资源数据。IPFS负责存储视频、音频、文档、图片等各种格式的数字化教育资源,并将资源的唯一哈希值存储到区块链上,确保数据的不可篡改性和安全性。此外,数据管理层还负责记录教育资源的元数据和交易信息,为上层应用提供必要的数据支持。

2.1.2智能合约层

智能合约层定义了教育资源共享的具体规则和条件,该层包括资源上传、共享、下载以及状态更新等多个合约。智能合约一旦部署到区块链上,便能够在满足特定条件时自动执行相应的操作,从而实现资源交易的可追溯性,显著提升资源共享的效率和透明度。

2.1.3Web应用层

Web应用层是平台与用户交互的界面,由用户管理和资源管理两部分组成。该层根据用户角色分配相应的权限,并通过Web页面为用户提供一个直观的操作界面,方便用户检索、查阅和购买教育资源。同时,Web应用层还负责记录和管理资源的交易信息,并将用户的购买请求通过智能合约以交易的形式记录在底层区块链上。

2.2工作流程设计

利用区块链技术,可以促进高校间数字化教育资源的共享和流通,系统工作流程如图2所示。

首先,高校管理员负责对教师和学生进行身份认证,并根据其角色分配相应的操作权限。教师用户被赋予资源上传、查询和共享等权限,学生用户则拥有资源检索、查阅和下载等权限。身份认证通过后,教师将自行创作的教学资源上传至IPFS,并将返回的资源哈希值和其他属性信息上传至区块链进行存储。

教师可以在资源上传并存储至区块链后,选择将其发布共享并设置相应的资源币。学生随后可通过区块链平台检索并下载所需资源,使用资源币完成支付。交易完成后,交易信息将被打包成区块,并存储在区块链上。

区块链网络负责记录所有交易数据和用户行为,确保信息的真实性和完整性。通过共识机制,区块链网络确保所有高校节点能够同步数字化资源,实现去中心化的数据管理。此外,通过时间戳的方式记录用户行为,确保资源交易的不可篡改性和可追溯性,从而为交易双方提供安全保障。

2.3智能合约设计

智能合约(链码)是数字化教育资源开放共享平台的核心部分。智能合约一旦部署成功,便可自动执行预定的操作,如教师上传资源、学生检索和下载资源等,这些操作均需触发智能合约的执行。执行结果也会被记录在区块链上,供所有参与节点查阅和验证,从而确保了平台操作的透明性和可追溯性。

本文采用Go语言编写链码,以实现平台的业务逻辑。资源的数据结构是链码实现业务逻辑的基础,通过定义Resource结构体来存储数字化教育资源的基本信息,包括资源ID、资源名称、创作者ID、资源类型、资源简介、资源价格、资源哈希值以及资源创建时间等,Resource结构体设计如表1所示。

链码定义了在区块链网络上执行的操作,主要包括资源的上传、共享、检索以及下载等核心功能。

2.3.1资源上传合约

资源上传合约负责处理用户的资源上传请求。在链码调用之前,资源文件先被上传到IPFS并返回一个唯一的哈希值。链码通过uploadResource函数实现资源上传的功能,同时进行用户身份验证。之后,资源信息被封装成JSON字符串,并通过调用writeLedger函数将这些信息存储到链码的状态数据库中。

2.3.2资源共享合约

资源共享合约处理用户的资源共享请求,允许用户设定资源的访问权限,如是否共享可见。链码通过shareResource函数实现资源共享的功能,验证资源所有权并检查该资源是否已处于共享状态。若未共享,则获取当前时间戳,调用writeLedger函数将资源价格以及时间戳等信息写入账本,并将资源状态更新为共享状态。

2.3.3资源检索合约

资源检索合约负责处理用户的资源检索请求。链码通过queryResource函数实现资源检索功能,该函数接收资源ID作为参数,然后调用GetState函数从链码的状态数据库中检索相关资源信息,并将其转换为JSON格式返回,以便在页面上展示。

2.3.4资源下载合约

资源下载合约处理用户对资源的下载请求以及相关的资源交易逻辑,确保用户在支付相应价格后才能获取资源。链码通过downloadResource函数实现资源下载的功能,验证下载者的身份,并检查该用户的余额是否足以支付所请求资源的价格。之后,更新当前交易状态,调用writeLedger函数将购买的交易信息记录到账本中,扣除用户的余额并在账本中更新。最后,用户可以根据唯一的哈希值下载并查阅所需资源。

3基于区块链的数字化教育资源共享原型系统实现及测试

3.1系统环境设置

本文的硬件开发环境为Windows10操作系统,搭载16GB内存、1TB硬盘以及Intel(R)Core(TM)i7-10750H处理器,并在CentOS7上进行开发。

数字化教育资源开放共享平台采用HyperledgerFabric搭建区块链网络,结合IPFS技术,利用Gin框架和fabric-sdk-go编写RESTfulAPI服务,采用Vue.js和ElementUI库快速构建前端页面。平台开发流程如图3所示。

平台应用层通过Gin框架构建Web应用和API服务。InitRouter函数负责初始化路由信息并创建一个默认的Gin引擎实例。该实例通过调用不同的函数处理路由请求,并启动HTTP服务器以监听和响应客户端的请求,具体如算法1所示。

算法1初始化路由信息

funcInitRouter()*gin.Engine{

router:=gin.Default()

apiV1:=router.Group(\"/api/v1\")

{

apiV1.GET(\"/index\",v1.Index)

apiV1.POST(\"/uploadResource\",v1.UploadRe⁃source)

apiV1.POST(\"/queryResourceList\",v1.QueryRe⁃sourceList)

apiV1.POST(\"/shareResource\",v1.ShareResource)

apiV1.POST(\"/downloadResource\",v1.Download⁃Resource)

apiV1.POST(\"/queryDownloadList\",v1.QueryDown⁃loadList)

}

//静态文件路由

router.StaticFS(\"/web\",http.Dir(\"./dist/\"))

returnrouter

}

3.2系统功能测试

平台通过一系列功能测试,验证了数字化教育资源在高校师生间的共享流程,具体如下。

3.2.1资源上传测试

教师用户成功登录平台后,选择并上传原始资源文件到IPFS,同时将资源信息(包括类型、标题、简介以及返回的哈希值等)上链存储。资源上传页面如图4所示。

3.2.2资源共享测试

资源列表页面如图5所示。教师用户通过链码发布资源的共享状态并设置资源价格,使学生用户可以访问和查看。之后将资源的共享状态更新至区块链,经高校节点审核后,资源即可在链上流通。

3.2.3资源检索测试

学生用户通过平台浏览资源列表,包含已共享资源的ID、创作者ID、标题和类型等信息。通过关键词搜索或筛选资源类型,可检索所需的资源文件。例如,筛选“文档”选项后,页面将仅显示文档资源,如图6所示。

3.2.4资源下载测试

当学生用户检索到所需资源并支付资源价格后,链码自动更新资源的访问权限。学生用户可根据资源的哈希值查看或使用资源(如图7所示),从而确保资源交易的透明性和可信度。

3.3系统性能测试

本文采用JMeter对数字化资源的上链存储和下载性能进行测试。JMeter是一个功能强大的开源性能测试工具,支持多种协议[18]。通过配置HTTP请求的POST和GET方法及参数,可模拟数据的上传和下载操作。测试中设置不同并发用户数以模拟真实用户场景,确保平台的性能满足预期需求。

系统测试中使用JMeter聚合报告对测试结果进行分析,将吞吐量作为衡量的关键指标。以测试系统在不同并发用户数下处理1MB文件的性能表现为例,图8展示了不同并发用户数下的系统负载性能测试结果。

图8的测试结果表明,随着并发用户数的不断增加,资源上传和下载的TPS均呈现先增长后降低再逐渐稳定的趋势。在4000并发用户数的情况下,系统表现出良好的负载能力,资源上传和下载的TPS分别达到267条/s和381条/s。在低负载时,系统可处理较高数量的请求,但随着用户数增加,系统可能出现资源瓶颈,导致TPS下降。可通过增加服务器资源或优化网络配置等方式进一步提高系统的处理能力,提升用户体验。

本文进一步评估了在并发用户数为4000的条件下,不同大小的资源文件(1MB、5MB、20MB、50MB和100MB)在上传和下载过程中的性能表现,以验证区块链结合IPFS技术在教育资源共享方面的适用性。测试重点分析了IPFS网络中文件的上传和下载延迟以及区块链交易确认的时间。图9展示了不同文件大小对资源共享性能的影响。

图9(a)所示为IPFS网络中不同大小的文件上传和下载时延对比。结果表明,随着文件大小的增加,IPFS时延也随之增长,且下载时延普遍高于上传时延。这是因为IPFS将文件分成多个小块进行分布式存储和传输,因此从IPFS下载大文件时,需要从多个节点进行检索并重组成完整文件,从而导致下载时延增加。

图9(b)所示为不同文件大小对应的区块链交易时延。可以看出,资源上传和下载的区块链交易时延相对稳定。上传过程中,需要将资源的相关信息写入区块链账本,因此交易时延相对较高;而下载过程主要涉及与区块链的交互查询操作,因此具有更低的时延。

4结束语

随着信息技术的飞速发展,数字化教育资源共享已成为推动教育公平和提高教育质量的重要手段。本文结合区块链技术和IPFS,为高校师生提供了一个安全、高效、去中心化的数字化教育资源开放和共享平台,解决了传统资源共享模式存在的“资源孤岛”问题,有效提升了资源共享的效率和安全性。平台利用HyperledgerFabric构建了一个原型系统,并对资源上传、共享、检索和下载等核心功能进行了测试,此外还对系统性能进行了评估。测试结果表明平台运行相对稳定,但在高并发的场景下也存在性能瓶颈。未来的工作将继续对平台进行持续优化改进,如区块链节点配置优化、智能合约性能提升等,建立一个更加完善的数字化教育资源共享区块链平台,为高校师生提供更高效、更安全、更便捷的教育资源服务。

参考文献:

[1]新华社.习近平主持中央政治局第十八次集体学习并讲话[EB/OL].[2023-10-20].https://www.gov.cn/xinwen/2019-10/25/content_5444957.htm.

[2]许涛“.区块链+”教育的发展现状及其应用价值研究[J].远程教育杂志,2017,35(2):19-28.

[3]杨现民,李新,吴焕庆,等.区块链技术在教育领域的应用模式与现实挑战[J].现代远程教育研究,2017,29(2):34-45.

[4]陈燕,杨帅“.区块链+未来高校”教育创新生态系统构建[J].现代教育技术,2022,32(4):21-30.

[5]雍玖,党建武,魏建国,等.以区块链技术创新应用助推的教育高质量发展路径探索[J].计算机教育,2024(5):102-106.

[6]马海峰,高永福,薛庆水,等.基于区块链的数字文凭认证及共享方案[J].计算机工程与设计,2024,45(2):376-382.

[7]刘东伟.基于区块链的学位证书登记与认证系统的方案设计与验证[D].重庆:重庆邮电大学,2019.

[8]翟社平,陈思吉,汪一景.基于区块链的数字版权存证系统模型研究[J].计算机工程与应用,2020,56(19):13-21.

[9]刘丰源,赵建民,陈昊,等.基于区块链的教育资源共享框架探究[J].现代教育技术,2018,28(11):114-120.

[10]许智勇,蒋晓欣,张恩诚,等.基于区块链技术的数字教育资源评价机制研究:以MOOC平台为例[J].中国教育信息化,2022,28(8):76-85.

[11]李文锋,李林勇,王鑫,等.基于区块链的高校数字化教育资源开放服务平台构建研究[J].现代计算机,2022,28(18):99-104.

[12]何蒲,于戈,张岩峰,等.区块链技术与应用前瞻综述[J].计算机科学,2017,44(4):1-7,15.

[13]黄超然,佟兴,张召,等.面向教育的区块链应用合约架构和数据隐私研究[J].华东师范大学学报(自然科学版),2022(5):61-72.

[14]杨武文,马玉鹏,王轶,等.基于Fabric和IPFS文件共享系统设计与实现[J].计算机技术与发展,2023,33(2):125-131,152.

[15]王瑜.基于超级账本Fabric的数据安全存储访问控制方案研究[D].西安:西安理工大学,2023.

[16]ANDROULAKIE,BARGERA,BORTNIKOVV,etal.Hy⁃perledgerfabric:adistributedoperatingsystemforpermis⁃sionedblockchains[C]//ProceedingsoftheThirteenthEuroSysConference.PortoPortugal.ACM,2018:1-15.

[17]张达.基于区块链和星际文件系统技术的高校师德档案信息数据共享平台建构策略[J].档案学研究,2024(2):126-133.

[18]周鸣爱.区块链测试技术研究[J].网络空间安全,2020,11(7):75-80.

【通联编辑:谢媛媛】

基金项目:国家自然科学基金资助项目(项目编号:62106176)

猜你喜欢
链码资源共享合约
交通运输数据资源共享交换体系探究与实现
一种新压缩顶点链码
计算机应用(2017年6期)2017-09-03 10:23:54
卫康与九天绿资源共享
教育部第一批“国家级精品资源共享课”公布
基于链码特征的几何图形快速识别算法*
测量学精品资源共享课建设的探索
无损链码技术的分析与比较
边界链码在字母与数字混合识别中的应用
合约必守,谁能例外!——对“情势变更”制度不可寄于过高期望