王珊珊
[摘 要]作為下一代價值互聯(lián)網(wǎng)基礎(chǔ)協(xié)議之一,區(qū)塊鏈技術(shù)給高校校園管理帶來了顛覆性和革命性的轉(zhuǎn)變,能夠為高校創(chuàng)造智慧化的教學(xué)管理環(huán)境、優(yōu)質(zhì)的共享教育資源和創(chuàng)新性的教學(xué)管理模式。文章基于區(qū)塊鏈技術(shù)對校園教育管理系統(tǒng)的設(shè)計進行深入研究,結(jié)合區(qū)塊鏈技術(shù)視域下校園教育管理系統(tǒng)的實際需求,從系統(tǒng)總體架構(gòu)設(shè)計出發(fā),對功能模塊、安全性分析算法等進行深入分析,以期為校園教育管理系統(tǒng)設(shè)計的高質(zhì)量發(fā)展提供參考。
[關(guān)鍵詞]區(qū)塊鏈技術(shù);校園教育管理系統(tǒng);實際需求;設(shè)計
doi:10.3969/j.issn.1673-0194.2023.17.045
[中圖分類號]TP315 [文獻標(biāo)識碼]A [文章編號]1673-0194(2023)17-0162-05
0? ? ?引 言
近年來,“互聯(lián)網(wǎng)+”模式飛速發(fā)展,為學(xué)校教育管理提供了極大的便利,使得各類管理工作擺脫了時間和空間的束縛,各高校紛紛搭建起自己的校園管理系統(tǒng),以方便師生、行政人員、后勤人員、游客等身份的用戶使用。然而隨著校園教育管理系統(tǒng)的廣泛應(yīng)用,其設(shè)計中的不足也日益凸顯,線上系統(tǒng)的中心化管理和單點存儲模式很容易造成用戶信息的丟失或被篡改,尤其是對于師生來說,其賬戶安全關(guān)系到學(xué)分獲取、課程選取等專業(yè)學(xué)習(xí)安排,如果系統(tǒng)安全問題得不到解決,會造成用戶和系統(tǒng)之間缺乏信任,久而久之影響學(xué)校管理工作的順利進行。因此,各高校急需要構(gòu)建一種信任方案,以保障校園教育系統(tǒng)的可信度,區(qū)塊鏈技術(shù)因為其不可篡改以及容易追溯源頭的特性,非常符合當(dāng)下的設(shè)計需求,為此本文主要針對基于區(qū)塊鏈技術(shù)的校園教育管理系統(tǒng)設(shè)計展開探討[1]。
1? ? ?校園教育管理系統(tǒng)設(shè)計相關(guān)技術(shù)介紹
1.1? ?區(qū)塊鏈
區(qū)塊鏈在邏輯上是由區(qū)塊鏈接而成的鏈表,區(qū)塊主要分為區(qū)塊頭和區(qū)塊體,區(qū)塊頭包含前一個區(qū)塊的信息(哈希值、時間戳等),區(qū)塊體包含交易信息等,區(qū)塊加入到區(qū)塊鏈后,構(gòu)成了有向無環(huán)圖,這種圖不存在中央節(jié)點,因此鏈上的信息不容易被篡改。區(qū)塊鏈技術(shù)是一種新型的應(yīng)用模式,主要用于分布式數(shù)據(jù)存儲、點對點傳輸、共識機制和加密算法中。因為其本質(zhì)上是一種去中心化的分布式賬本數(shù)據(jù)庫,所以廣泛應(yīng)用于金融領(lǐng)域、物聯(lián)網(wǎng)和物流領(lǐng)域、公共服務(wù)領(lǐng)域、數(shù)字版權(quán)領(lǐng)域以及公益領(lǐng)域中。
區(qū)塊鏈的五個重要特征分別為去中心化、開放性、獨立性、安全性和匿名性。去中心化指的是區(qū)塊鏈技術(shù)不依賴額外的第三方管理機構(gòu)或硬件設(shè)施,各個節(jié)點能夠?qū)崿F(xiàn)信息自我驗證、傳遞和管理;開放性指的是區(qū)塊鏈技術(shù)的基礎(chǔ)是開源的,對所有人開放,整個系統(tǒng)信息高度透明;獨立性指的是區(qū)塊鏈技術(shù)有著協(xié)商一致的規(guī)范和協(xié)議,數(shù)據(jù)在驗證和交換過程中不需要其他人的干預(yù);安全性指的是區(qū)塊鏈技術(shù)能夠避免人為的數(shù)據(jù)變更,只要行為人不掌控全部數(shù)據(jù)節(jié)點的51%以上即可;匿名性指的是區(qū)塊鏈技術(shù)的各節(jié)點不須公開或驗證,信息傳遞可以匿名進行。
比特幣是區(qū)塊鏈的第一個應(yīng)用,因為其將區(qū)塊鏈技術(shù)作為底層技術(shù)并發(fā)展到極致,保證了價值一直處于高昂的狀態(tài)。而2013年,Eyal和Sirer提出了一種比特幣挖礦攻擊算法,使得區(qū)塊鏈?zhǔn)艿搅瞬恍〉墓簟W运酵诘V攻擊算法指的是當(dāng)新的區(qū)塊被發(fā)現(xiàn)后,算法可以將其保持私有,作為私鏈,然后繼續(xù)自私挖礦,即使私鏈長度小于公鏈,惡意礦池也不會放棄私鏈。這種自私挖礦相比于誠實挖礦,在收益上有著明顯的提高。自私挖礦攻擊算法能夠?qū)^(qū)塊鏈系統(tǒng)的穩(wěn)定性造成極大的破壞。本文主要針對自私挖礦攻擊算法,選擇了一種能夠抵御該攻擊的區(qū)塊鏈框架FISCO BCOS框架,從而增強系統(tǒng)的外部抵抗力,并利用此區(qū)塊鏈搭建了教育管理系統(tǒng),保障了用戶的信息安全、學(xué)分的可信和公開透明,保證了系統(tǒng)與用戶之間的信任。
1.2? ?區(qū)塊鏈框架
本文設(shè)計的基于區(qū)塊鏈技術(shù)的校園教育管理系統(tǒng)主要使用FISCO BCOS框架作為底層框架,這個框架是國內(nèi)企業(yè)主導(dǎo)研發(fā)、安全可控的企業(yè)級聯(lián)盟區(qū)塊鏈框架環(huán)境,不同于公有鏈,聯(lián)盟鏈保證了加入其中的成員需要進行身份驗證,極大地加強了用戶的信息安全[2];另一方面,由于聯(lián)盟鏈?zhǔn)怯邢驘o環(huán)圖,以此為基礎(chǔ)搭建的系統(tǒng),在各項交易任務(wù)的處理速率上,得到了大大的提高。FISCO BCOS框架主要分為接口層、管理層、鏈核心層、互聯(lián)核心層和基礎(chǔ)層,具體架構(gòu)情況如圖1所示。
1.3? ?Vue.js
Vue是一種構(gòu)建可視化界面的漸進式JavaScript框架,在本文設(shè)計的系統(tǒng)中主要用于搭建前端頁面。Vue的特點是能夠構(gòu)建交互式Web界面庫,實現(xiàn)視圖層和模型層之間的數(shù)據(jù)雙向綁定,使得開發(fā)代碼的維護難度能夠大幅度降低;另外,Vue.js可以利用其組件功能,封裝可重用的代碼,使得開發(fā)代碼工作量變得更加輕松,提高了代碼的重用率。
1.4? ?Django
Django是基于Python的開源Web應(yīng)用程序框架,在本文設(shè)計的系統(tǒng)中主要用于搭建系統(tǒng)后臺。Django的特點是能夠快速搭建高性能的Web網(wǎng)站,開發(fā)時采用MTV三層模式,即模型(Model)、模板(Template)和視圖(View)。Model層主要處理數(shù)據(jù)事務(wù)(與數(shù)據(jù)庫直接溝通),Template層主要處理如何在頁面中可視化數(shù)據(jù),View層主要處理前兩層之間的業(yè)務(wù)邏輯。
2? ? ?校園教育管理系統(tǒng)需求分析
2.1? ?系統(tǒng)總體業(yè)務(wù)描述
本文設(shè)計的基于區(qū)塊鏈技術(shù)的校園教育管理系統(tǒng)主要使用FISCO BCOS框架作為底層框架,在系統(tǒng)開發(fā)層面上,選擇Django框架作為系統(tǒng)后臺程序框架,選擇Vue.js作為系統(tǒng)的前端設(shè)計頁面。基于上述考慮,在系統(tǒng)總體業(yè)務(wù)方面,主要分為以下幾點:首先,超級管理員登錄后,能夠新建管理員賬號信息,管理員賬號主要用于子系統(tǒng)的管理(包括師生信息管理系統(tǒng)、政教管理系統(tǒng)、交互式教學(xué)平臺、后勤管理系統(tǒng)等),管理員主要負責(zé)系統(tǒng)信息的上鏈、賬號管理和信息審核等工作;其次,游客、校園合作方等校外人員可以在系統(tǒng)中注冊賬號,并體驗系統(tǒng)的部分功能,比如學(xué)校信息查詢、政務(wù)人員信息查詢、課程信息查詢等;最后,師生、行政人員、后勤人員等校內(nèi)人員擁有游客的所有功能,并在各自的子系統(tǒng)中擁有屬于各自身份認證的功能,比如師生可以查看自己的課程、學(xué)分、考試信息等,可以在學(xué)習(xí)平臺中瀏覽資料,可以在后勤管理系統(tǒng)中申請借取工具[3]。
2.2? ?系統(tǒng)功能需求分析
基于總體業(yè)務(wù)描述,基于區(qū)塊鏈的校園教育管理系統(tǒng)應(yīng)該具有以下功能:
(1)用戶管理:系統(tǒng)應(yīng)該實現(xiàn)用戶的注冊、登錄管理功能。用戶在未注冊時,只能瀏覽、查看一些系統(tǒng)體驗項目,部分頁面游客不能打開。用戶注冊后,需要錄入自己的身份信息,并得到管理員分配的權(quán)限,不同的身份認證擁有不同的系統(tǒng)使用權(quán)限。用戶賬戶一旦注冊完畢,只有用戶自己和管理員擁有賬號的修改權(quán)限。
(2)信息查詢:每個用戶都能在各自的子系統(tǒng)中查看相關(guān)內(nèi)容,不能跨系統(tǒng)查看權(quán)限之外的內(nèi)容。
(3)信息保障:本文利用區(qū)塊鏈技術(shù)構(gòu)建了去中心化的校園教育管理系統(tǒng),利用區(qū)塊鏈技術(shù)的不可篡改性和信息公開透明的特點,保障了系統(tǒng)信息的可信性。
(4)其他功能:校園教育管理系統(tǒng)能夠?qū)悠渌酉到y(tǒng),在用戶管理方面取消了各系統(tǒng)的獨立建庫,減少了系統(tǒng)信息的冗余,方便了用戶的統(tǒng)一管理。各子系統(tǒng)擁有各自的功能,保證了校園教育各類事項的全面管理,具體的功能在此不做詳述。
2.3? ?系統(tǒng)非功能需求分析
除了校園教育管理系統(tǒng)的基本功能外,還需要探討以下非功能需求。
(1)安全性:安全性是校園教育管理系統(tǒng)使用區(qū)塊鏈技術(shù)作為底層框架的核心原因。保證用戶個人信息不丟失、不被篡改,對于系統(tǒng)來說是尤為重要的,若當(dāng)前區(qū)塊鏈系統(tǒng)存在某些漏洞,則會造成不可預(yù)測的危害。因此,本文深入研究區(qū)塊鏈系統(tǒng)的安全性,并應(yīng)用區(qū)塊鏈技術(shù)構(gòu)建了良好的系統(tǒng)生態(tài)環(huán)境。
(2)可擴展性:校園教育管理系統(tǒng)是總系統(tǒng)平臺,其連接著各子系統(tǒng),系統(tǒng)內(nèi)的各個功能模塊時刻處于動態(tài)變化的過程中,因此系統(tǒng)需要具備可擴展性,從而能夠及時應(yīng)對相關(guān)功能模塊的變化,并作出相應(yīng)的調(diào)整。未來如果系統(tǒng)想要增加額外的功能,或引入更多的子系統(tǒng),可擴展性都能夠保證開發(fā)工作的順利進行[4]。
(3)響應(yīng)速率:引入?yún)^(qū)塊鏈技術(shù)作為系統(tǒng)的底層框架,以其有向無環(huán)圖的特點,保證了各類交易任務(wù)的處理速率都得到極大的提高,并且用戶的各種與數(shù)據(jù)庫相關(guān)的功能操作都能得到極快的反饋。
3? ? ?校園教育管理系統(tǒng)總體設(shè)計
3.1? ?系統(tǒng)總體架構(gòu)設(shè)計
校園教育管理系統(tǒng)總體架構(gòu)分為四層,包括用戶層、應(yīng)用層、業(yè)務(wù)層和區(qū)塊鏈層(如圖2所示)。
用戶層主要考慮瀏覽系統(tǒng)的用戶身份,包括注冊和登錄。應(yīng)用層是用戶在注冊并登錄后能夠使用的功能模塊,主要包括用戶信息查詢和修改、課程信息查詢和選取等。業(yè)務(wù)層主要為應(yīng)用層的功能實現(xiàn)提供技術(shù)支持,主要包括哈希數(shù)據(jù)上鏈、哈希時間鎖合約、系統(tǒng)安全支持、表單服務(wù)支持和消息服務(wù)支持。其中,哈希數(shù)據(jù)上鏈保證系統(tǒng)信息的可信程度,時間鎖合約為資產(chǎn)原子跨鏈交換環(huán)境的構(gòu)建提供支持,表單服務(wù)和消息服務(wù)實現(xiàn)了用戶和后臺的交互,系統(tǒng)安全支持技術(shù)讓校園教育管理系統(tǒng)時刻處于安全環(huán)境中,使其生態(tài)環(huán)境更加圓滿;區(qū)塊鏈層主要為FISCO BCOS框架、跨鏈框架WeCross和區(qū)塊鏈系統(tǒng)安全性分析算法[5]。
3.2? ?功能模塊設(shè)計
根據(jù)上文對校園教育管理系統(tǒng)的需求分析介紹可知,系統(tǒng)將功能模塊劃分為用戶管理、信息查詢、信息保障和其他功能四項。
(1)用戶管理功能。用戶以游客身份瀏覽系統(tǒng)平臺時,無法進行用戶管理,只有在注冊后,才能使用系統(tǒng)給予的完整用戶管理功能。用戶注冊登錄基本流程為:用戶在瀏覽器向服務(wù)器提出HTTP請求,提交相關(guān)身份信息;管理員核實并賦予相關(guān)權(quán)限,用戶信息存入數(shù)據(jù)庫,并返回注冊狀態(tài);用戶注冊完畢,提交登錄信息;服務(wù)器響應(yīng),將登錄信息與數(shù)據(jù)庫比對,并返回登錄狀態(tài);用戶登錄完畢后,可以在個人信息頁面管理自己的信息。在登錄狀態(tài)下,學(xué)生可以查看課程信息、選取課程、查看已修學(xué)分、查看考試成績、下載課程資料等;教師可以查看課程信息、查看學(xué)生考試信息、上傳課程資料、對學(xué)生課程學(xué)習(xí)情況進行評價和打分等。
(2)信息查詢功能。信息查詢主要包括個人信息查詢、課程信息查詢以及其他系統(tǒng)信息查詢。信息查詢的基本流程為:用戶在瀏覽器點擊響應(yīng)按鈕,提交POST請求到后臺服務(wù)器;服務(wù)器通過關(guān)鍵字比對等算法,在數(shù)據(jù)庫中查詢相關(guān)內(nèi)容,若內(nèi)容不存在則提示用戶,若內(nèi)容存在則返回相關(guān)信息。
(3)信任保障功能。信任保障功能主要利用區(qū)塊鏈的不可篡改和數(shù)據(jù)公開透明的特點,對相關(guān)數(shù)據(jù)進行存證。其中,本系統(tǒng)對數(shù)據(jù)采用哈希上鏈操作,使得鏈上的內(nèi)存能得到謹慎使用,并且還能夠提高數(shù)據(jù)上傳的運算速度。數(shù)據(jù)哈希上鏈的基本流程為:用戶在瀏覽器上提交數(shù)據(jù)上傳請求,后臺服務(wù)器收到請求后,使用哈希運算,通過調(diào)用SDK、調(diào)用智能合約的方式,實現(xiàn)數(shù)據(jù)的哈希上鏈,最終數(shù)據(jù)會進入到區(qū)塊鏈中,保障了用戶和系統(tǒng)之間的信任。
(4)其他功能。本系統(tǒng)主要對接學(xué)校的各類子系統(tǒng),因此用戶在上傳數(shù)據(jù)和瀏覽信息時可以經(jīng)由區(qū)塊鏈系統(tǒng)獲得子系統(tǒng)的相關(guān)權(quán)限和功能操作權(quán)限,方便了用戶的統(tǒng)一管理,系統(tǒng)的后臺業(yè)務(wù)邏輯也免去了數(shù)據(jù)處理的冗余流程。各子系統(tǒng)的相關(guān)業(yè)務(wù)功能模塊這里不再一一舉例。
3.3? ?區(qū)塊鏈系統(tǒng)安全性分析算法
系統(tǒng)的安全性主要受到內(nèi)部驅(qū)動力和外部抵抗力兩方面的影響。從內(nèi)部驅(qū)動力角度來看,通過對上傳數(shù)據(jù)哈希上鏈,封裝智能合約函數(shù),能夠?qū)崿F(xiàn)數(shù)據(jù)的公開透明和自動化執(zhí)行,避免了人為篡改;從外部抵抗力角度來看,本文采用的FISCO BCOS框架,能夠極好地抵抗自私挖礦攻擊算法對區(qū)塊鏈的攻擊,相較于公有鏈來說,聯(lián)盟鏈對想加入該區(qū)塊鏈網(wǎng)絡(luò)的用戶采取審核機制,只有經(jīng)過許可才能加入,降低了自私礦工加入校園教育管理系統(tǒng)實施攻擊的可能性。此外,F(xiàn)ISCO BCOS框架也不同于比特幣系統(tǒng),采用PBFT維持了網(wǎng)絡(luò)的一致性,使得自私挖礦攻擊算法對其不再適用,從而保障了系統(tǒng)的外部安全。
主要參考文獻
[1]鄭旭東,楊現(xiàn)民.基于區(qū)塊鏈技術(shù)的學(xué)生綜合素質(zhì)評價系統(tǒng)設(shè)計[J].現(xiàn)代遠程教育研究,2020,32(1):23-32.
[2]朱林,劉躍.基于區(qū)塊鏈技術(shù)的高校學(xué)生日常行為管理系統(tǒng)研究[J].西南民族大學(xué)學(xué)報(自然科學(xué)版),2019,45(3):290-295.
[3]王岳,陳晨,陳翀,等.高等教育領(lǐng)域區(qū)塊鏈技術(shù)應(yīng)用現(xiàn)狀研究:基于38所高等教育機構(gòu)的分析[J].中國教育信息化,2021(15):21-27.
[4]胡寧玉,趙青杉,馮麗萍,等.基于區(qū)塊鏈技術(shù)的高校學(xué)生檔案管理研究[J].忻州師范學(xué)院學(xué)報,2021,37(2):41-44.
[5]崔阿悅,朱聰惠,王星皓.基于區(qū)塊鏈的學(xué)生信息資源管理體系的研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2019(1):18-20.