基于区块链技术的竞赛证书管理系统设计与实现

known 发布于 2025-08-25 阅读(424)

摘" 要:目前,大学生参加高校信息类竞赛是提高信息技术能力和拓宽视野的有效途径,也有助于提升学生素质和就业竞争力。但是,当前各项竞赛的监管机构难以对竞赛全流程数据进行监管审核,竞赛获奖证书查询方式也存在效率低、数据被篡改等问题。针对以上问题,使用区块链技术设计并实现竞赛证书管理系统,能够让监管机构、竞赛举办方共同参与维护区块链网络,保证竞赛过程数据可溯源、有监管,并提供可溯源的证书查询方式。实验结果表明,系统具备较高的实用性、可靠性,不仅能够保证竞赛数据安全不可篡改,也能够让监管机构有效参与审核。

关键词:区块链;证书管理;Hyperledger Fabric;竞赛监管

中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2025)03-0164-06

Design and Implementation of a Competition Certificate Management System Based on Blockchain Technology

LUO Junyu, XU Wei

(Yulin Normal University, Yulin" 537000, China)

Abstract: Currently, participating in the information technology competitions in colleges and universities is an effective means for college students to enhance the information technology capabilities and expand horizons, and it is also helpful to improve students quality and competitiveness in the job market. However, the supervision institutions of various competitions currently face difficulties in supervising and auditing the entire process of competition data, and there are also issues with the poor efficiency and the risk of data tampering of the competition award certificate query methods. To address the above issues, a competition certificate management system has been designed and implemented using blockchain technology, allowing supervision institutions and competition organizers to jointly maintain the blockchain network, ensuring that the competition process data is traceable and supervised, and providing a traceable certificate query method. The experimental results indicate that the system has high practicality and reliability, not only ensuring the security and immutability of competition data but also enabling supervision institutions to effectively participate in the audit process.

Keywords: blockchain; certificate management; Hyperledger Fabric; competition supervision

0" 引" 言

当前,信息科技前沿技术蓬勃发展,其中区块链技术以其去中心化、可溯源等特点被广泛运用在物联网、金融贸易等领域。我国2021年颁布的“十四五”规划纲要[1]将区块链列为数字经济重点产业之一,目前区块链技术正作为基础架构被各行各业广泛研究应用。但是在信息竞赛领域仍缺少落地应用和实践案例。

目前各类竞赛证书的查询验证方式大多依赖于赛事官方网站信息查询,例如全国大学生数据建模大赛需要下载获奖名单文件、全国大学生信息安全大赛和全国大学生物联网设计竞赛需要查阅静态页面、中国互联网+大学生创新创业大赛可以在线查询证书编号。然而查看网页信息、文件下载方式不仅效率低下,也存在网页文件被篡改、传输失败等问题。并且这些赛事网站都是由各个主办方的中心化的服务器部署,存在被攻击者篡改网页的风险。同时,这些竞赛的监管方式不透明,竞赛过程数据难以追溯,容易遭到来自内部的攻击。

陈泽虹等人[2]针对高校教务系统管理学生各类证书存在的信息记录不完整、难以追溯和易被篡改等问题,提出了基于Hyperleadge Fabric区块链技术的证书管理系统,能够让学生、学校方管理和查询证书,保证各类证书真实有效,但是缺少赛事官方和监督机构参与认证过程,存在学校单独管理、单独认证、单独上链的中心化问题。针对学历证书的存储存在单点故障以及交易吞吐量问题,刘东伟等人[3]提出了基于Hyperleadge Fabric区块链技术的学位证书存证系统,该系统相比Arenas等人[4]提出的方案具有更高的TPS交易量。针对竞赛过程存在的指标不全面不客观以及比赛过程数据被篡改问题,梁旭[5]提出了基于区块链的数字教育竞赛管理系统,该系统利用区块链特性防止竞赛相关评审数据被篡改,同时利用主观、客观权重模型的成绩评价方式保证成绩评价结果客观有效。

当前,针对当前大学生竞赛的获奖证书查证存在的缺少统一查询方式、竞赛网站信息容易被篡改、竞赛过程数据以及证书颁发监管困难的问题,本文提出了基于联盟链区块链技术的竞赛证书管理系统。底层利用区块链中联盟链的特点,保证放入区块的证书信息可溯源,区块链部署的去中心化防止单点故障或被攻击导致信息可用性下降,同时联盟链证书颁发机制保证区块链参与的节点可信。

另外,本系统能够让第三方企业、参赛学生进行证书查验,防止出现伪造证书进行欺骗的行为,方便用人单位和学生在招聘环节进行信息核实。同时,本文设计的系统能够让竞赛举办方、监管机构参与区块链共识环节,使得竞赛过程、证书颁发和监督合理合规。

1" 背景知识

在以下部分中,将详细介绍区块链所需的背景知识。区块链(Blockchain)的名称来源于其技术结构:即一系列区块的链。每个区块(Block)都通过加密哈希与前一个区块相连。其中区块是一种数据结构,允许存储一个时间段内产生的交易(Transaction)。交易由区块链网络中的节点创建和交换,交易可以用来交换加密货币,也可以在智能合约中执行任意代码。区块链参与的节点之间通过P2P网络和共识算法来维护一条主链,每个节点都拥有主链的副本。主链类似于一个总账本,这也是区块链也被称之为分布式账本的原因。

区块的结构如图1所示,主要分为区块头和区块体。区块头包含的主要数据为上一个区块的Hash值、时间戳、版本、Merkle树根[6]等信息,根据使用的共识算法不同,会包含随机值Nonce、目标Hash值等。区块体则包含一个时间段内的交易以及交易的Hash值。区块和区块之间通过Hash值联系,形成一个单向增长的链表结构。

1.1" 区块链技术

区块链分为联盟链、公有链、私有链三种类型。公有链是指任何节点都可以参与或退出的区块链网络。私有链是指仅只有被允许的节点才能够加入的区块链网络,区块链的运行是隐私的,仅在内部进行使用。联盟链是指由少数节点作为区块链的控制者,其余的节点作为参与者,具有一定中心化的区块链技术,联盟链的节点也同样是需要被认可才能加入。

1.1.1" 共识算法

共识算法包括工作量证明[7](Proof of Work),权益证明[8](Proof of Stake)、实用拜占庭容错[9](PBFT)、RAFT[10]等。不同的共识算法区别在于产生区块的方式不同。工作量证明通过消耗节点算力来产生新的区块,是比特币所使用的共识算法。权益证明是根据节点在网络中持有的代币数量来决定其产生新区块的概率,是目前以太坊所使用的共识算法。联盟链和私有链通常使用PBFT、RAFT算法。

共识算法的作用是让区块链所有的节点能够维护一个相同的主链。对区块链的任何操作必须通过节点间的共识算法进行,共识算法能够保证存在部分恶意的节点时也能够维护一致的账本。

1.1.2" 智能合约

智能合约是基于区块链技术的数字化合约,本质上是一段代码,代码的执行不需要人工干预,代码保存在区块链上,也具有不可篡改、去中心化的特点。智能合约代码通常由Solidity、Go等高级语言编写,在满足特定条件下自动触发执行,可以用于管理数字资产、支付、投票等方面的去中心化应用(Dapp)。

1.1.3" Hyperleadger Fabric超级账本

Hyperledger超级账本是由Linux基金会托管的开源区块链项目,其中Fabric是其中的开源联盟链项目,Fabric是其开源联盟链项目之一。Fabric网络的不同的联盟之间可以创建Channel以管理不同的账本,每个Channel可以部署链码(Chaincode),也就是智能合约。Fabric使用的共识机制是RAFT。

Fabric网络的交易过程:第一步客户端向背书节点发送交易提案;第二步背书节点模拟执行验证,将结果签名之后返回给客户端;第三步客户端将交易提案发送给排序节点,排序节点对交易提案排序形成交易并发送给记账节点;第四步,所有记账节点验证交易正确之后更新账本。其中客户端作用主要是交易的发起方,背书节点作用是对交易进行预先的验证,排序节点作用是对交易进行排序打包成区块,记账节点作用是验证区块并记录在区块链上。背书节点和排序节点也叫Peer,拥有完整的账本。排序节点仅仅对交易进行排序以及广播区块。Fabric网络中还存在MSP成员服务提供商,作用是为网络中每个节点颁发证书,形成不同组织。

2" 系统设计

本系统的参与者主要有竞赛举办方、竞赛监管机构、参赛人员、查询机构。

竞赛举办方经过认证之后可以部署客户端节点,使用本系统进行竞赛全过程管理,将竞赛各阶段数据上链,竞赛结果以及获奖证书上链。

监管机构经过认证之后,可以使用本系统与参与竞赛监管,具体来说在每个阶段结束之后对过程、结果数据进行审查,审查通过之后才将数据上链。

参赛人员经过认证之后可以使用本系统查询阶段竞赛结果和过程数据,对于获奖证书的查询则不需要认证。查询机构例如正在招聘的企业,可以使用本系统进行证书信息核实。

区块链网络结构如图2所示,监管机构和竞赛举办方需要部署不同组织的区块链网络节点。每个赛事举办方以及监管机构需要部署为单独的组织。监管机构与每个举办方形成一个独立的Channel,不同Channel使用不同的账本。

本系统功能模块划分如图3所示,包括两大模块:竞赛管理模块以及系统管理模块。其中竞赛管理模块根据使用者进一步细分为竞赛举办方模块、竞赛监管机构模块和竞赛证书查询模块。竞赛举办方模块的功能主要包括竞赛数据的上传、更新、删除、查询以及竞赛证书的颁发。竞赛监管机构模块的功能主要包括审核竞赛数据和结果、审核证书的颁发和撤销以及竞赛数据的溯源。竞赛证书查询模块的功能则包括证书的查询、下载和证书信息的核验。系统管理模块包含对底层区块链架构的管理以及上层系统的管理。区块链管理模块功能主要包括区块链节点及组织管理,区块链网络及交易监控,链码安装维护管理,区块链节点身份证书管理,区块数据查询。上层系统管理主要功能为用户管理、系统日志管理、数据管理、用户权限管理。

系统架构如图4所示,可以分为:应用层、逻辑层、接口层、智能合约层、区块链架构层。其中应用层包括竞赛管理模块,此模块是面向系统用户使用,包含竞赛数据监管、竞赛数据管理、证书管理模块等;区块链网络管理模块面向系统管理员,主要包括对区块链网络的监控和管理。第二层逻辑层是上层两个模块的具体实现逻辑,包括用户管理、竞赛证书管理、竞赛过程数据监管、链码管理、区块链组织节点管理、区块链信息监控。第三层为借口层,是逻辑层实现区块链交互时所调用的接口,主要是Fabric-SDK、Express框架接口、API接口。第四层是合约层,也就是链码的具体实现,链码功能主要包括竞赛数据的新增、审核、查询和更新,以及竞赛证书的验证、撤销和新增。第五层是区块链架构层,本系统基于Fabric区块链架构进行部署和交互。

当竞赛举办机构需要对区块数据进行操作,例如对竞赛数据进行新增、删除、修改等操作时,必须经过区块链共识机制才能实现,监管机构节点需要参与交易过程,实现全过程监管。以举办方新增竞赛数据为例,如图5所示,当竞赛举办方需要将竞赛数据发布到区块链上时,第一步竞赛举办方需要将新增的竞赛数据提交给监管机构的Peer节点进行背书,此时监管机构一方面对交易合法性进行审核,另一方面对竞赛数据进行审核,确认合规无误后进行交易背书。第二步举办方将数据存储到MySQL数据库中,并将经过背书的交易发送给排序节点,排序节点部署在网络任意位置。第三步,排序节点将交易打包成区块,发布到Channel中的所有Peer节点。第四步,举办方和监管机构的Peer节点将区块写入账本中。

当参赛选手或查询机构想查看证书数据时,可以登录本系统使用Fabric客户端从区块链中查询数据。

3" 链码设计

在Fabric中,智能合约被称之为链码。链码的设计目标是完成本系统的竞赛证书的查询、添加、撤销功能,以及竞赛数据查询、添加、修改、审核和撤销功能。本文使用Java语言编写链码。

表1展示了智能合约中保存的竞赛数据结构。由于竞赛数据文件多样且体积大,因此在区块链中仅保存本回合数据的Hash值,具体的数据文件保存在MySQL数据库中。

表2展示了竞赛证书的数据结构,主要包括唯一标识certID、最后一回合竞赛数据的ID、颁发日期、详细证书数据的Hash值。详细的数据保存在MySQL数据库中,区块链仅保存Hash值。

图6展示了竞赛数据的添加功能的Java链码示例。

4" 实验过程

本系统基于Hyperledger Fabric区块链架构实现。实验所使用环境为:CPU AMD 3600,内存16 GB,操作系统为CentOS 7。软件版本为:Fabric 2.4,Docker Compose 20.04,Java 1.8,Fabric Blocker Explorer 2.4。区块链网络结构设计为一个监管机构组织、一个竞赛举办方组织,每个组织下有一个Peer节点,网络中有一个Order排序节点。

竞赛举办方添加竞赛数据页面如图7所示,需要上传竞赛数据压缩包、竞赛结果数据压缩包,系统自动计算文件Hash值,之后填写日期、回合信息摘要等相关信息并提交。

监管方审核竞赛数据页面如图8所示,可以在页面下载竞赛数据压缩包并检查Hash值。

监管方通过审核之后,将Hash值等数据写入区块链中,监管方和举办方可以在区块链浏览器上查看区块数据,如图9所示。

参赛选手以及查询机构可以登录本系统进行查询,查询页面和结果如图10所示,需要输入证书编号下载证书查看。

5" 结" 论

区块链技术拥有去中心化、可溯源、不可篡改等特点,对于教育领域的证书溯源具有独特的优势。本文基于Hyperledger Fabric联盟链架构设计并实现了竞赛证书管理系统,最后对系统进行数据上链和查询的功能测试,结果表明能够有效对竞赛产生的数据进行全过程上链监管,同时也能够让参赛选手和查询机构快捷方便查询到证书信息。联盟链系统由监管方、竞赛举办方共同维护,既能保证竞赛全过程数据监管透明,也能保证竞赛数据安全保密。

参考文献:

[1] 刘权,刘宗媛,周泽宇,等.“十四五”时期中国区块链发展重点及趋势 [J].科技与金融,2021(6):7-12.

[2] 陈泽虹,刘境源,张滨,等.基于区块链技术的学生证书管理系统的设计与实现 [J].惠州学院学报,2024,44(3):28-34.

[3] 刘东伟,张学旺,郭晓金.基于区块链的学位证书存证系统设计与实现 [J].计算机工程与设计,2020,41(2):567-573.

[4] ARENAS R,FERNANDEZ P. CredenceLedger: A Permissioned Blockchain for Verifiable Academic Credentials [C]//2018 IEEE International Conference on Engineering, Technology and Innovation (ICE/ITMC).Stuttgart:IEEE,2018:1-6.

[5] 梁旭.基于区块链的数字教育竞赛管理系统研究与实现 [J].计算机应用与软件,2023,40(11):11-15.

[6] 邵奇峰,金澈清,张召,等.区块链技术:架构及进展 [J].计算机学报,2018,41(5):969-988.

[7] NAKAMOTO S. Bitcoin: A Peer-to-Peer Electronic Cash System [EB/OL].[2024-08-03].https://bitcoin.org/bitcoin.pdf.

[8] KING S,NADAL S. PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake [EB/OL].(2012-08-19).https://people.cs.georgetown.edu/~clay/classes/fall2017/835/papers/peercoin-paper.pdf.

[9] CASTRO M,LISKOV B. Practical Byzantine Fault Tolerance and Proactive Recovery [J].ACM Transactions on Computer Systems(TOCS),2002,20(4):398-461.

[10] ONGARO D,OUSTERHOUT J. In Search of an Understandable Consensus Algorithm [C]//2014 USENIX conference on USENIX Annual Technical Conference.Berkeley:ACM,2014:305-320.

作者简介:罗钧予(1996—),男,壮族,广西玉林人,教师,硕士,研究方向:区块链、网络安全;通信作者:徐维(1990—),女,汉族,广西玉林人,助理实验师,本科,研究方向:教育应用。

标签:  区块 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor