












摘" 要:目前,大學生參加高校信息類競賽是提高信息技術能力和拓寬視野的有效途徑,也有助于提升學生素質和就業競爭力。但是,當前各項競賽的監管機構難以對競賽全流程數據進行監管審核,競賽獲獎證書查詢方式也存在效率低、數據被篡改等問題。針對以上問題,使用區塊鏈技術設計并實現競賽證書管理系統,能夠讓監管機構、競賽舉辦方共同參與維護區塊鏈網絡,保證競賽過程數據可溯源、有監管,并提供可溯源的證書查詢方式。實驗結果表明,系統具備較高的實用性、可靠性,不僅能夠保證競賽數據安全不可篡改,也能夠讓監管機構有效參與審核。
關鍵詞:區塊鏈;證書管理;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—),女,漢族,廣西玉林人,助理實驗師,本科,研究方向:教育應用。