基于IPFS+区块链双数据库高校教育资源共享平台设计与实现
2023-07-25杨孝天
杨孝天,马 冉,高 飞
(西藏大学信息科学与技术学院,西藏拉萨 850000)
现代信息技术的发展引发了新一轮的教育变革,随着区块链技术的不断发展,其应用范围逐渐扩大,区块链和高等教育耦合已成为不可阻碍的发展趋势[1]。我国高等教育受经济发展的影响,呈现东西部发展不平衡的现象[2],现存数字教育资源共享平台存在数据丢失、公信力差、资源版权纠纷等问题。该文以《基于区块链的高校优质教育资源平台框架构建》提出的建设一个基于“区块链”技术的高效优质教育资源平台[3]为指导,运用以太坊编写与部署智能合约,保留传统数据库模式,引入IPFS,结合区块链设计实现了一种新的、低信任、低成本、高效的双数据库高校教育资源共享平台,其中保留传统数据库面向企业,负责对平台进行维护和数据处理;引入IPFS+区块链[4-6]面向公众,保障教育资源在上传和共享过程中公开透明且高效存储,摒弃两类数据库的缺点,结合两类数据的优点,最终形成了安全性高、费用低、传输速率高、存储量大、扩展性强、易于维护和管理的新模式。
平台考虑到用户使用、用户管理、平台管理、资源管理等问题,设计了用户登录和游客登录两种模式,其中用户登录模式又细分为首页、用户管理、权限管理、资源管理、审核管理和发布管理六部分。实现对不同用户不同角色权限的合理分配和管理、保障教育资源上传和共享过程的公开透明、确保教育资源审核过程公正权威。
1 相关知识
区块链:区块链由中本聪提出,起源于比特币[7],是一个点对点网络,不受中心化机构的影响,节点间可以相互信任,对等网络中的组织和个人可以直接协同合作,可以在没有中心化机构的情况下进行全球协作。区块链既是一个网络也是一个数据库,由一连串的块构成,数据以区块的形式存储,数据的上传和更新直接记录于区块中,每个块被加密并被赋予唯一标识符,形成区块头,每一个区块头包含版本号、上一节点信息、默克尔根、时间戳、工作量等信息。区块链上所有节点都拥有区块链数据库的副本,通过共识机制确保数据库不被随意更改,一但块形成,块中的数据将会永久存储在区块链数据库中,区块链上所有节点共同工作、共同记账,共同维护区块链网络的安全。
Solidity 以太坊[8]:以太坊以区块链为基础,是可编程的,允许在以太坊虚拟机上编写智能合约并执行,通过编写智能合约对数据进行写入、处理,并与其他层进行对话,可以为不同的区块链应用提供服务,允许开发者在在以太坊虚拟机上部署自己的应用。
IPFS:IPFS 又称星际文件系统[9],基于分布式存储,融合区块链、大数据等技术,是未来构建Web3.0重要技术的支撑之一。IPFS 以Hash 作为标识进行位置寻址,通过Hash 实现数据共享,通过验证Hash来判别数据是否被更改,并且可以直接通过自己的计算机使用IPFS 访问世界任何地区的共享文件,而不需通过第三方应用上传与共享数据。IPFS 相较传统网络具有如下特点:IPFS 是分布式去中心化的存储结构,数据的上传下载不需要经过中心服务器;IPFS 采用分布式碎片化传输,可以有效提高上传和下载速度;IPFS 具有成本低的特点,因为其特有的传输方式,可以节约60%的网络带宽,并且采用哈希自动去重,降低存储成本;IPFS 安全性高:具有透明性高和不可篡改的特点,可以有效地防止黑客攻击;并且IPFS 具有可溯源的特点,文件上传都会经过碎片化,持有者可以通过碎片匹配程度确定数据版权属于谁。
2 平台设计与实现
2.1 系统架构
系统需要实现如下几个功能:
1)实现平台身份的认证:不同类型的用户对应不同角色,并赋予角色相应的管理权限。
2)实现教育资源的上传与共享:保障教育资源在上传、共享过程中公开透明,教育资源版权可追溯。
3)实现教育资源的审核与管理:杜绝重复、低质量教育资源的上传,优先推选优质资源。
在基于IPFS+区块链双数据库高校教育资源共享平台中,区块链+IPFS 记录、存储与共享的教育资源,由传统数据库维护平台运作,双数据库协同合作共同维护平台运作。
针对以上需求可以将系统细分为用户登录、角色划分、权限分配、资源管理、资源审核、发布管理六部分。总体系统框架如图1 所示。通过企业数据库对数据进行筛选匹配,通过用户列表生成当前登录用户,登录后通过角色划分分配对应角色,不同角色分配不同的权限,如果用户拥有相应权限可以通过权限列表实现对不同角色的权限授权。用户成功登录后便可对平台资源进行管理。
图1 总体系统框架图
若用户具备审核管理、资源管理、发布管理等相应权限,便可以通过审核管理完成对上传教育资源的审核,通过资源管理实现教育资源上传至区块链+IPFS 系统,通过发布管理实现教育资源的发布与共享。
资源管理模块中实现教育资源上传至区块链+IPFS 系统,具体架构图如图2 所示。
图2 IPFS+区块链资源上传架构图
1)用户首先与区块链和开发环境(前端、Fruffle、Ganache)建立连接。
2)用户发送文件到前端,将文件暂存于网页。
3)通过前端与IPFS交互,IPFS接收文件并存储。
4)IPFS 接收文件后返回对应的Hash 值到前端。
5)前端将返回的Hash 值添加到区块链。
6)用户通过IPFS 链接直接访问对应文件。
2.2 系统实现
系统通过引入区块链+IPFS 技术能够较好地解决教育资源在上传和共享过程中存在数据存储量大、传输速率慢、安全性低、数字资源确权难等问题,通过保留传统数据库可以实现数据结构整体化、提高数据共享性和可拓展性、实现企业对数据的集中控制和管理。该系统的具体实现可分为两个主要部分:一是IPFS+区块链的去中心化的应用程序,负责教育资源的上传与存储;二是传统的数据库应用,负责对平台数据的维护与管理。
IPFS+区块链去中心化应用程序流程图如图3所示(截图展示以文件上传为例),具体流程如下:
图3 IPFS+区块链去中心化的应用程序流程图
1)连接Truffle[10]框架,编写智能合约。
2)Truffle将智能合约写入Ganache:通过Ganache构建一个本地区块链网络,将智能合约写入本地区块链Ganache,并生成对应abi文件。
3)通过前端连接Metamask[11],并导入测试账户。
4)运行Dapp:通过React 实现将资源上传到网络。
5)用户通过React 将文件存储于IPFS,实现资源上传到IPFS。
6)IPFS 返回对应Hash:资源上传到IPFS 后会自动生成对应的IPFS 链接。
7)React 将资源的Hash 值上传到Ganache[12]。
8)用户通过Metamask 与Ganache 的连接来确认部署。
9)通过Metamask确认后,将合约部署到区块链。
10)将数据对应的Hash 值进行备份。
11)企业整合备份数据,完成资源上传与共享。
传统的数据库应用:实现数据库中信息的有效管理,完成信息的筛选、分类[13]。解决区块链作为数据库成本高、速度低、可编辑性差、维护难的问题。从用户使用情况将系统分为用户登录界面和游客登录界面。从功能管理方面将用户登录界面分为首页、用户管理、权限管理、资源管理、审核管理和发布管理六大模块,如图4 所示。
图4 高校教育资源管理系统结构图
其中,用户管理包含用户列表模块,实现添加用户、状态管理、删除和重新编辑等操作;权限管理模块分为角色列表和权限列表,角色列表负责对不同角色赋予不同的权限,权限列表则分别对系统所有模块进行权限设置(删除、置顶);资源管理模块分为撰写、草稿箱和资源分类三个模块,其中前两个模块完成资源上传于IPFS 和区块链,并将返回的Hash 值备份于企业数据库;审核管理模块分为审核和审核列表两个模块,审核模块负责审核所有提交发布的资源,具有审核权限的人员可以完成资源的审核,执行通过与驳回操作。审核列表罗列登录用户所发资源信息、资源审核状态及继续执行操作是发表还是撤回;发布管理模块记录已审核数据、未审核数据和被拒的审核数据。
资源管理、审核管理和发布管理处理逻辑流程如图5 所示。首先作者进行撰写和教育资源上传,资源上传成功后可以选择进行发布或保存至草稿箱继续撰写与完善;提交发布后资源会被上传到审核列表,交由具有审核权限的人员进行审核,审核通过后进入待发布列表,由作者本人确定是否继续发布;作者确定发布,资源将在平台成功发布,并保存在已发布模块,保存至已发布列表,反之则仍保存在待发布列表;如过审核失败,资源则会退回至作者草稿箱;受时间或质量等相关因素的影响,具有相应权限的管理员可以选择对资源进行下线操作,将文章从平台界面撤下。
图5 资源管理、审核管理和发布管理处理逻辑流程图
3 实验结果与实验分析
3.1 实验结果
实验结果部分截图如下:
1)登录界面,用户可以通过用户名和密码进行在平台登录截图如图6 所示。
2)首页布局截图如图7 所示。通过侧边栏完成模块的选择,主页统计用户浏览量最高和用户点赞量前六高的文件、连接以太坊钱包界面、显示账号登录等模块。
图7 首页布局截图
3)资源管理模块实现资源上传区块链+IPFS 数据库如图8 所示,展示成功上传并返回IPFS 链接的截图。
图8 教育资源上传至区块链成功截图
4)审核模块处理截图如图9 所示。可以选择对上传的教育资源执行通过与驳回操作。
图9 审核模块截图
5)游客登录模块,游客可以直接通过平台进行资源的浏览,游客模块截图如图10 所示。
图10 游客模块截图
3.2 实验分析
相较传统数据传输系统,IPFS+区块链模式在数据传输、数据保护方面性能更好,可以确保数据安全高效传输、存储、共享。表1 是针对IPFS+区块链作为数据传输系统与传统数据的传输系统对比。
表1 IPFS+区块链作为数据传输系统相较传统数据的传输系统对照表
结合IPFS+区块链,保留传统数据库的双数据库系统既保留了IPFS+区块链数据传输模型优点,又能更好地维护企业对平台的管理,如表2 所示。对比三类不同的数据库模型,可以直观地得出双数据库在经济、维护管理、拓展、安全性、存储和速率综合方面优于其他两种模式。
表2 双数据库与传统数据库和IPFS+区块链数据库对照表
4 结论
IPFS 是下一代互联网发展驱动,是一个可以重塑社会和经济的工具,它将会带人们进入一个更加去中心化的时代。IPFS 结合区块链可以实现数据的高效传输与存储,进而加快区块链产业落地,是未来发展的新趋势。但是单独使用IPFS+区块链作为数据库对企业和开发者而言存在数据组合分析难、不易于维护与管理等问题。该方案保留传统数据库,引入IPFS+区块链双数据库模式,通过实验与分析得出,双数据库模式既可以有效解决区块链的存储量速率低、大规模存放数据的问题,也便于企业对数据的检索组合及对平台的维护与管理。该系统结合区块链和IPFS 特性既可以做到解决数据上传与共享时数据透明、安全、去中心化、也可以有效解决大规模数据上链问题,同时也便于企业对平台的维护与管理,是一种新的、低信任、低成本、高效的高校资源共享模式。针对目前IPFS 和区块链的发展,该文为区块链+教育[14-16]落地提供一种新思路,也为向完全去中心化网络发展提供了一个过渡。