朱 林,劉 躍
(1.西南民族大學馬克思主義學院, 四川 成都 610041;2.西南民族大學計算機科學與技術(shù)學院, 四川 成都 610041)
學生日常行為包含諸如上課遲到早退等出勤情況;使用違章電器和違反考場紀律等違反校紀校規(guī)行為;參加各種社團活動獎勵、參加各種比賽獎勵、獲得各項證書情況及考試成績等等,這些學生日常行為表現(xiàn)直接反應(yīng)了學生思想政治狀況、學習生活情況,為思想政治教育工作者在開展評獎評優(yōu)、入黨推薦等工作提供有價值的依據(jù)和參考. 重要的是,本班同學比輔導員老師更清楚同學間的日常行為信息,研究和設(shè)計安全且具有隱私保護特征的學生日常行為管理系統(tǒng),學生日常行為同班同學都可以通過電子檔案形式記錄并存儲,將會加大學生違紀的成本并從很大程度上起到約束學生不良行為的作用,對提升學生思想道德素養(yǎng),規(guī)范日常行為具有重要意義. 但目前少有這方面的管理系統(tǒng),究其原因是因為傳統(tǒng)的管理系統(tǒng)采集數(shù)據(jù)困難、維護成本較高、數(shù)據(jù)容易遭受篡改導致威性不高.為了解決這一系列問題,本文提出基于區(qū)塊鏈的高校日常行為管理系統(tǒng),并對該系統(tǒng)進行詳細分析和設(shè)計.
目前的管理系統(tǒng)多采用中心化管理模式并采用瀏覽器/服務(wù)器架構(gòu),前端以微軟的Microsoft Visual Studio 為開發(fā)工具,后臺數(shù)據(jù)庫多為開源的MySQL 數(shù)據(jù)庫.這種中心化模式可以較好的管理和維護數(shù)據(jù),但仍然面臨如下風險:
1)系統(tǒng)健壯性不夠高:因為中心服務(wù)器一旦奔潰,將導致整個系統(tǒng)無法運行;
2)數(shù)據(jù)容易被篡改或丟失:當中心服務(wù)器數(shù)據(jù)庫被外界攻擊或者中心服務(wù)器管理人員惡意修改數(shù)據(jù)將破壞數(shù)據(jù)真實性和權(quán)威性.更重要的是如果中心化服務(wù)器沒有做好數(shù)據(jù)備份,很容易導致數(shù)據(jù)全部丟失;
3)維護成本較高:中心化管理平臺需要專門的數(shù)據(jù)庫軟硬件平臺及專業(yè)維護人員,維護成本較高.
針對傳統(tǒng)管理系統(tǒng)存在的問題和區(qū)塊鏈在信息系統(tǒng)中的優(yōu)點,本文提出基于區(qū)塊鏈技術(shù)的學生日常行為管理系統(tǒng),以解決傳統(tǒng)信息系統(tǒng)面臨的問題. 區(qū)塊鏈技術(shù)具有分布式、去中心化、信息不可篡改、公開透明、數(shù)據(jù)集體維護、可靠數(shù)據(jù)管理、較低層本等特點為信息管理系統(tǒng)提供了新的技術(shù)和思路.針對思想政治工作面臨的具體問題,研究和設(shè)計基于區(qū)塊鏈的高校學生日常行為管理系統(tǒng),為提高高校思想政治工作效率、透明和權(quán)威性提供有價值的參考.
目前將區(qū)塊鏈技術(shù)應(yīng)用于各大管理系統(tǒng)是信息系統(tǒng)領(lǐng)域研究的熱點,應(yīng)用最多的是檔案管理系統(tǒng)[1-3],通過引入?yún)^(qū)塊鏈技術(shù)為確保檔案的真實性和不可篡改性,為電子檔案建設(shè)和管理提供有價值的參考.其他研究包括孫韻秋所設(shè)計的高校學生管理系統(tǒng)[4],該系統(tǒng)首次引入時間戳服務(wù)OriginStamp 提高數(shù)據(jù)安全性,但是具體如何部署卻較少涉及. 范吉立等人借助區(qū)塊鏈技術(shù)實現(xiàn)物品共享交易服務(wù)系統(tǒng)[5],并使用以太坊完成部署,提供了新的較好的實現(xiàn)方案.但涉及思政工作的區(qū)塊鏈相關(guān)研究還很少見,本文在孫韻秋和范吉立等人工作基礎(chǔ)上,提出新的基于以太坊的學生日常行為管理系統(tǒng),為約束學生日常行為,提高思政工作的效率提供有價值的參考.
區(qū)塊鏈技術(shù)本質(zhì)是一種數(shù)據(jù)記錄系統(tǒng),只是這種數(shù)據(jù)記錄系統(tǒng)采用去中心化的分布式記錄數(shù)據(jù).去中心化系統(tǒng)有三個部分組成:分布式傳輸、分布式記錄和分布式存儲.
分布式傳輸:分布式傳輸?shù)湫痛砭褪荘2P 網(wǎng)絡(luò)[6],區(qū)塊鏈的底層采用P2P 網(wǎng)絡(luò),在P2P 網(wǎng)絡(luò)中的任何一臺電腦都處于對等位置,沒有特殊的中心節(jié)點,網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用扁平式. P2P 網(wǎng)絡(luò)中的每一臺電腦既是數(shù)據(jù)的存儲者、數(shù)據(jù)的提供者也可以是數(shù)據(jù)的請求者.本文所設(shè)計的日常行為管理系統(tǒng)就可以將數(shù)據(jù)存儲在班級每個同學的電腦中.
分布式記錄:所謂分布式記錄是指每個網(wǎng)絡(luò)節(jié)點都參與記錄信息,與此同時,每個節(jié)點也需要驗證其他節(jié)點的記錄是否正確.如果某項數(shù)據(jù)要寫入?yún)^(qū)塊鏈中,只有當大多數(shù)節(jié)點(占比達51%)都驗證通過時,該數(shù)據(jù)才能被寫入?yún)^(qū)塊被大家承認.在本文所提系統(tǒng)中,如果某個同學獲獎或者遭受處分,班上同學最清楚該事情的真實性,通過區(qū)塊鏈技術(shù)提高數(shù)據(jù)記錄的真實透明.
分布式存儲:區(qū)塊鏈技術(shù)可以保證每個節(jié)點存儲所有區(qū)塊鏈數(shù)據(jù),這樣避免基于中心化系統(tǒng)數(shù)據(jù)丟失威脅.全節(jié)點需要存儲從創(chuàng)世區(qū)塊起產(chǎn)生的每一個區(qū)塊,而輕量級只需要保留部分區(qū)塊. 本文所提的就是全節(jié)點形式,記錄產(chǎn)生全部區(qū)塊.
區(qū)塊鏈本質(zhì)上是一個去中心化的數(shù)據(jù)庫且無人管理,最典型的應(yīng)用就是比特幣[7].廣義來講,區(qū)塊鏈技術(shù)是一種全新的分布式基礎(chǔ)架構(gòu)與計算方式,區(qū)塊鏈首先需要解決的是數(shù)據(jù)存儲問題,它通過塊鏈式數(shù)據(jù)結(jié)構(gòu)來存儲和驗證數(shù)據(jù);接著數(shù)據(jù)的修改和更新,區(qū)塊鏈利用分布式節(jié)點共識算法來完成數(shù)據(jù)生成和更新數(shù)據(jù);接著區(qū)塊鏈需要保證存儲數(shù)據(jù)的安全性,區(qū)塊鏈利用經(jīng)典密碼學算法保證數(shù)據(jù)傳輸和訪問的安全,最后區(qū)塊鏈利用由自動化腳本代碼組成的智能合約來編程完成上述操作的自動化處理,體系結(jié)構(gòu)如圖1 所示.
圖1 區(qū)塊鏈結(jié)構(gòu)示意圖Fig.1 Blockchain structure diagram
1.2.1 區(qū)塊鏈分類
區(qū)塊鏈可以分為共有鏈、私有鏈、聯(lián)盟鏈三類.公有鏈是任何人都可以參與信息管理和維護,比如比特幣;私有鏈只有授權(quán)的人才能使用,可以運用于單位內(nèi)部管理,存在一定的中心化控制;聯(lián)盟鏈介于公有鏈和私有鏈之間,可以視為部分去中心化,也就是若干個組織合作維護帶有權(quán)限的訪問,聯(lián)盟鏈不單交易速度非???,其中數(shù)據(jù)也實現(xiàn)一定的隱私保護.
1.2.2 區(qū)塊鏈核心技術(shù)
區(qū)塊鏈主要解決交易的信任和安全問題,核心技術(shù)可以分為四個部分:
分布式賬本:所謂分布式賬本意思是每個節(jié)點記錄完整的賬目,沒有任何節(jié)點可以單獨記錄數(shù)據(jù),避免了單一節(jié)點被控制而記錄不真實數(shù)據(jù),從技術(shù)上提高了數(shù)據(jù)的完整性和安全性.每個節(jié)點都可以參與監(jiān)督交易的合法性.區(qū)塊鏈的分布式存儲獨特性主要體現(xiàn)在兩個方面:1)區(qū)塊鏈每個節(jié)點存儲完整的數(shù)據(jù),便于數(shù)據(jù)備份,而傳統(tǒng)的分布式存儲將整體數(shù)據(jù)分成多個部分存儲;2)區(qū)塊鏈每個節(jié)點存儲是獨立的,地位相同.傳統(tǒng)的分布式存儲通過中心節(jié)點往其他備份節(jié)點同步數(shù)據(jù).
非對稱加密和授權(quán)技術(shù):雖然區(qū)塊鏈中所存儲的數(shù)據(jù)是可以公開的,但是信息擁有者對應(yīng)的賬戶身份信息是加密保護,因為必須確保數(shù)據(jù)和個人隱私安全.
共識機制:所謂共識機制就是記錄節(jié)點之間如何達成共識,去認定記錄一個有效的信息. 共識機制是區(qū)塊鏈的靈魂,在P2P 系統(tǒng)中,互不信任的節(jié)點通過預(yù)設(shè)機制最終達到數(shù)據(jù)的一致性就是共識.目前廣泛被認可的共識機制有三種:1)工作量證明機制(proof of work, PoW),這種機制是比特幣的鼻祖中本聰設(shè)計,各節(jié)點基于各自的計算機算力求解SHA -256 數(shù)學難題,最快求出的獲得區(qū)塊記賬權(quán)和比特幣獎勵;2)權(quán)益證明機制(proof of stake,PoS),由于PoW 計算數(shù)學難題需要消耗大量的算力,而且這種計算并無太大價值,造成資料浪費; 3)授權(quán)股份證明機制(delegated proof of stake, DPoS):該思路類似于“董事會決策”,每個節(jié)點將其持有的股份權(quán)益作為選票授予一個代碼,獲得票數(shù)最多且愿意成為代表的101 個節(jié)點進入“董事會”,按照時間表輪流對交易答辯產(chǎn)生新的區(qū)塊,每個區(qū)塊被簽署前都需要驗證前一個區(qū)塊已經(jīng)被受信任節(jié)點簽署.與PoW 和PoS 不同的是,DPoS 共識機制中每個節(jié)點能夠決定其新人的授權(quán)節(jié)點并由這些節(jié)點輪流記賬產(chǎn)生新的區(qū)塊,減少參與驗證和記賬的節(jié)點數(shù)量,實現(xiàn)快速共識驗證. 例如本文所提的系統(tǒng)可以使用DPoS 共識機制,全體同學將持有的權(quán)益交給信任的同學,權(quán)益排名前20%同學負責記賬,這樣便于在較少計算量的情況下實現(xiàn)快速共識驗證.
以太坊(Ethereum)是一個有智能合約功能的區(qū)塊鏈平臺[8].智能合約可以理解為一段程序,可以自動化的執(zhí)行一些預(yù)先定義好的規(guī)則和條款. 以太坊可以理解為一個區(qū)塊鏈平臺,在這個平臺上人們可以根據(jù)自己需要方便快捷的構(gòu)建出符合自己需要的區(qū)塊鏈應(yīng)用.
本文最主要研究基于以太坊技術(shù)的學生日常行為管理系統(tǒng),該系統(tǒng)主要有三個部分組成:基于以太坊的數(shù)據(jù)層、由智能合約和Web3 組成的中間件層,為用戶提供新增和查詢的應(yīng)用層,具體如圖2 所示.
圖2 本文系統(tǒng)網(wǎng)絡(luò)體系結(jié)構(gòu)Fig.2 The Proposed Architeture of Network
高校學生日常行為管理系統(tǒng)數(shù)據(jù)層采用分布式P2P 數(shù)據(jù)存儲環(huán)境,使用開源區(qū)塊鏈系統(tǒng)以太坊進行搭建.以太坊是具有智能合約功能的公共區(qū)塊鏈平臺,可以通過該軟件搭建本系統(tǒng)[10-11].
系統(tǒng)的中間件由智能合約和Web3 組成.智能合約規(guī)定了用戶操作規(guī)范,用戶的全部操作按照合約內(nèi)容嚴格執(zhí)行,本文智能合約可以采用Solidity[9]編寫.例如本系統(tǒng)的智能合約可以規(guī)定任何人都可以申請向區(qū)塊寫入信息,但是需要超過總?cè)藬?shù)51%才能被寫入?yún)^(qū)塊中.Web3 主要是實現(xiàn)應(yīng)用層與以太坊和智能合約信息交互.
應(yīng)用層中,系統(tǒng)通過Web 顯示可視化界面,使用戶與智能合約交互和查看區(qū)塊鏈中數(shù)據(jù).應(yīng)用層的開發(fā)可以基于JavaScipt 實現(xiàn),具體可以基于Truffle 框架[12]進行開發(fā),該框架是以太坊中使用最普遍框架,可實現(xiàn)智能合約編譯、部署到發(fā)布.
本文所設(shè)計的系統(tǒng)采用分層架構(gòu),具體可以分為應(yīng)用交互層和區(qū)塊鏈層,如圖3 所示. 上層的應(yīng)用層通過Web 界面顯示各項操作按鈕,通過這些操作可以完成用戶與區(qū)塊鏈之間的數(shù)據(jù)交換,區(qū)塊鏈將學生提交信息封裝為虛擬資產(chǎn)或交易,然后提交給各個節(jié)點校驗(例如班上同學51%同學認可后)存儲在區(qū)塊鏈上.同時應(yīng)用層也給學生提供查詢功能,通過查詢接口獲取數(shù)據(jù)并在瀏覽器上顯示.
底層區(qū)塊鏈包括兩個部分,首先是組成區(qū)塊鏈網(wǎng)絡(luò)的P2P 網(wǎng)絡(luò),該部分維持系統(tǒng)運行和處理各項查詢和存儲功能,另一部分是區(qū)塊鏈用于存儲已經(jīng)生效的記錄鏈.
圖3 系統(tǒng)總體架構(gòu)圖Fig.3. The Arichitecture of The Proposed Scheme
3.2.1 角色注冊模塊
本系統(tǒng)的角色可以分為學校管理員、輔導員、學生三個部分.學生通過系統(tǒng)并輸入學生姓名、學號、身份證號、所在學院和班級信息,并生成公私鑰對.為了便于學校驗證學生合法性,學生注冊完后需要生成一個虛擬資產(chǎn)提交給學校,具體流程如圖4 所示. 教師注冊過程與學生類似,學校不需要注冊,具有審批權(quán)限.
3.2.2 信息寫入?yún)^(qū)塊鏈
如何將有效信息寫入?yún)^(qū)塊鏈中實現(xiàn)永久存儲是本系統(tǒng)的關(guān)鍵,具體流程如圖5 所示. 為了安全可控和隱私保護,系統(tǒng)將學生操作和信息閱讀范圍都限制在本班級中,其他人并不知道發(fā)起記錄的人是誰. 如果某個學生需要將信息記錄到區(qū)塊鏈中,他需要向系統(tǒng)提交信息,并交由全班投票,如果投票通過,才能將信息記錄到區(qū)塊鏈中. 老師跟學生操作類似,但是老師可以查看和記錄本學院的所有同學信息.
學生可以通過瀏覽器查看本班級的信息記錄,學生需要提供自己私鑰來進行查詢信息,這些信息只能查看都不允許修改.
圖4 學生注冊流程圖Fig.4 The flow chart of student registration
圖5 信息寫入?yún)^(qū)塊鏈流程Fig.5 The Writing information Process of Blockchain
本文提出基于區(qū)塊鏈技術(shù)的學生行為管理系統(tǒng),解決傳統(tǒng)中心化結(jié)構(gòu)的信息系統(tǒng)面臨的安全問題.本文所提基于區(qū)塊鏈的學生行為管理系統(tǒng)不但可以實現(xiàn)學生行為由學生自己管理、監(jiān)督和維護,同時可以保證數(shù)據(jù)公開透明且不可篡改.通過借用新的計算機技術(shù)來切實提高思想政治工作的效率和公開透明,對促進學生發(fā)展和提高學生思想政治水平具有積極意義.