文|駱霄 周義方 解永剛
文章通過對(duì)現(xiàn)有各類不同區(qū)塊鏈技術(shù)的研究,將區(qū)塊鏈技術(shù)與高校共識(shí)進(jìn)行了一次結(jié)合,從而設(shè)計(jì)了一套基于區(qū)塊鏈的高校共識(shí)管理平臺(tái),將高校事務(wù)各環(huán)節(jié)進(jìn)行區(qū)塊鏈信息保存維護(hù),并對(duì)功能和運(yùn)用場(chǎng)景進(jìn)行了敘述,理論上提供了一種區(qū)塊鏈在高校場(chǎng)景中的使用案例說(shuō)明,為高校管理使用區(qū)塊鏈技術(shù)提出了一種方案。
近年來(lái)區(qū)塊鏈的應(yīng)用逐漸深入到了各個(gè)行業(yè)中,針對(duì)教育行業(yè)的研究也逐漸多樣化起來(lái)?!吨袊?guó)教育現(xiàn)代化 2035》提出要建立數(shù)字教育資源共建共享機(jī)制,完善利益分配機(jī)制、知識(shí)產(chǎn)權(quán)保護(hù)制度和新型教育服務(wù)監(jiān)管制度。區(qū)塊鏈的功能在這樣的背景下也就有了用武之地,隨著區(qū)塊鏈在各行各業(yè)中的應(yīng)用逐漸增大,“區(qū)塊鏈+”模型也成為現(xiàn)今主流的模型之一。隨著區(qū)塊鏈技術(shù)研究與應(yīng)用的增多,2013年開始出現(xiàn)區(qū)塊鏈技術(shù)與教育行業(yè)的融合。
區(qū)塊鏈技術(shù)隨著版本的迭代更新,從最初的1.0的數(shù)字貨幣應(yīng)用,到區(qū)塊鏈2.0就是對(duì)整個(gè)市場(chǎng)的去中心化,利用區(qū)塊鏈技術(shù)來(lái)轉(zhuǎn)換許多不同的資產(chǎn)。
而后區(qū)塊鏈3.0是價(jià)值互聯(lián)網(wǎng)的內(nèi)核。區(qū)塊鏈能夠?qū)τ诿恳粋€(gè)互聯(lián)網(wǎng)中代表價(jià)值的信息和字節(jié)進(jìn)行產(chǎn)權(quán)確認(rèn)、計(jì)量和存儲(chǔ),從而實(shí)現(xiàn)資產(chǎn)在區(qū)塊鏈上可被追蹤、控制和交易。
后期崛起的區(qū)塊鏈4.0和5.0在概念上有了大幅的提升,各行各業(yè)融合區(qū)塊鏈所蘊(yùn)含的開放、共享、協(xié)同、互利等技術(shù)理念,在一定程度上實(shí)現(xiàn)了產(chǎn)業(yè)數(shù)據(jù)的集成與技術(shù)應(yīng)用的創(chuàng)新。
區(qū)塊鏈技術(shù)在高校已經(jīng)有了多樣化的實(shí)施方案,最具代表性的是伍爾夫大學(xué),2018年開始,該學(xué)校管理就進(jìn)行了區(qū)塊鏈改造。
清華大學(xué)于2018年6月成立清華x-lab區(qū)塊鏈實(shí)驗(yàn)室,成為是國(guó)內(nèi)首個(gè)依托高校服務(wù)區(qū)塊鏈方向創(chuàng)業(yè)團(tuán)隊(duì)的加速計(jì)劃;2018年7月,清華大學(xué)成立了“行業(yè)可信區(qū)塊鏈應(yīng)用技術(shù)聯(lián)合研究中心”。
在國(guó)內(nèi)區(qū)塊鏈領(lǐng)域,浙江大學(xué)是能夠與清華相抗衡的第二勢(shì)力。各地方高校在此帶領(lǐng)下,也進(jìn)入一輪又一輪的區(qū)塊鏈技術(shù)發(fā)展改造中。
一個(gè)高校的管理工作紛繁復(fù)雜,主要是為學(xué)生提供相關(guān)的教學(xué)服務(wù)和一些生活保障,服務(wù)主要是管理教學(xué)過程。這樣的服務(wù)基本是通過學(xué)校這個(gè)邏輯結(jié)構(gòu),將教師和學(xué)生結(jié)合起來(lái),讓教師通過課程教學(xué)和其他學(xué)生行為管理工作,使學(xué)生達(dá)到學(xué)校培養(yǎng)目標(biāo)這樣一個(gè)特定結(jié)果的綜合過程。在此過程當(dāng)中,會(huì)產(chǎn)生各類信息內(nèi)容,包括過程信息、個(gè)人檔案信息、考評(píng)數(shù)據(jù)和一些數(shù)據(jù)需求方所需要的證明材料和證書。參與的角色邏輯上包含教師、學(xué)生和數(shù)據(jù)需求方。角色所產(chǎn)生的個(gè)體總量來(lái)看,相互間的關(guān)系是比較多樣和復(fù)雜的。不同特定角色之間特殊的關(guān)系,可能會(huì)演化出多種服務(wù)模式,基礎(chǔ)的模式如圖1所示。
圖1 高?;拘畔⒎?wù)鏈結(jié)構(gòu)
基于對(duì)教師、學(xué)生之間的關(guān)系而產(chǎn)生的多種用例情況,可以分析出基本的系統(tǒng)需要的架構(gòu)模型,這種模型基本可以分為三層,如圖2所示。
圖2 基于區(qū)塊鏈的高校共識(shí)管理平臺(tái)架構(gòu)圖
第一層為應(yīng)用層,這一層作為網(wǎng)頁(yè)和相關(guān)軟件的人機(jī)交互使用,可以直接供參與者進(jìn)行人機(jī)交互使用,開發(fā)邏輯分為Web版和終端版兩個(gè),Web版可以實(shí)現(xiàn)多區(qū)域管理,終端版則可以成為桌面應(yīng)用程序而配置到整個(gè)終端的服務(wù)中,對(duì)相應(yīng)的同步起到自動(dòng)化的作用。
第二層屬于業(yè)務(wù)層,這一層的功能對(duì)應(yīng)用程序的支持服務(wù)、POST和REQUEST的頁(yè)面處理、對(duì)相關(guān)業(yè)務(wù)邏輯的管理功能的支持,這一部分包含了招生信息管理、教師信息管理、課程信息管理、學(xué)分信息管理、成績(jī)信息管理、過程信息管理、評(píng)價(jià)信息管理、證書信息管理、就業(yè)管理、學(xué)生信息管理和區(qū)塊業(yè)務(wù)鏈接等功能,采用Django的架構(gòu)模型,對(duì)綜合服務(wù)數(shù)據(jù)庫(kù)進(jìn)行操作用于綜合服務(wù)業(yè)務(wù)層的基礎(chǔ)業(yè)務(wù)封裝,把區(qū)塊鏈的交互通過封裝達(dá)成平衡。
第三層是共識(shí)數(shù)據(jù)層,這一層也是區(qū)塊鏈的基礎(chǔ)核心層,是對(duì)基本區(qū)塊鏈數(shù)據(jù)庫(kù)進(jìn)行直接操作維護(hù)和更新的功能,也作為區(qū)塊鏈合約生成的基礎(chǔ),產(chǎn)生共識(shí)區(qū)塊相關(guān)同步數(shù)據(jù)塊,并把相關(guān)數(shù)據(jù)鏈接上不同的區(qū)塊化數(shù)據(jù)。
在各項(xiàng)不同管理業(yè)務(wù)中,區(qū)塊鏈上鏈的邏輯基本是一致的,不同設(shè)計(jì)只是針對(duì)不同的操作過程,在此使用錄入成績(jī)這個(gè)功能模塊的操作邏輯做一個(gè)說(shuō)明,如圖3所示。
圖3 成績(jī)錄入模塊區(qū)塊鏈上鏈操作流程圖
當(dāng)進(jìn)入到成績(jī)錄入管理模塊時(shí),先要確定登錄賬號(hào)是否被實(shí)名認(rèn)證過,因?yàn)閷?shí)名認(rèn)證過的賬戶才可以分配到區(qū)塊鏈賬戶信息和token,這樣的分配使得用戶在系統(tǒng)內(nèi)可以用唯一的標(biāo)識(shí)信息加簽到其任意的操作和結(jié)果中。在錄入成績(jī)的時(shí)候,系統(tǒng)會(huì)按照基本邏輯驗(yàn)證錄入成績(jī)的結(jié)果和系統(tǒng)要求結(jié)果是否一致。特別是數(shù)據(jù)中的完整性和重復(fù)性的驗(yàn)證,完整性使得數(shù)據(jù)保證每一條都已經(jīng)被確認(rèn)過,重復(fù)性則使得數(shù)據(jù)內(nèi)容不會(huì)再出現(xiàn)分叉疊加的錯(cuò)誤。
當(dāng)數(shù)據(jù)完成驗(yàn)證進(jìn)入到下一步,就是在數(shù)據(jù)庫(kù)里面進(jìn)行更新操作。這個(gè)操作將基礎(chǔ)核心數(shù)據(jù)庫(kù)進(jìn)行修改以后,會(huì)把最原始的權(quán)威數(shù)據(jù)進(jìn)行鎖定,而后可以正常選擇上傳至區(qū)塊鏈結(jié)構(gòu)進(jìn)行數(shù)據(jù)區(qū)塊化同步。在W e b或者是本地桌面應(yīng)用中都可以進(jìn)行同步的設(shè)置,而后區(qū)塊發(fā)送至整個(gè)同步網(wǎng)絡(luò),賬本會(huì)追蹤區(qū)塊鏈內(nèi)所存儲(chǔ)的知識(shí)和技能情況,區(qū)塊鏈中所記載的數(shù)據(jù)會(huì)由于區(qū)塊鏈自身的特性得以永久保存且難以被篡改。是否所有數(shù)據(jù)都需要進(jìn)行區(qū)塊鏈結(jié)構(gòu)同步,其實(shí)是需要進(jìn)行判斷的,因?yàn)閰⑴c的數(shù)據(jù)越來(lái)越大和頻率過高,同步效率會(huì)降低。
共識(shí)算法有很多種,比較有特色的算法有POW、POS、DPOS、PBFT、POP等,其中PBFT指Practical Byzantine Fault Tolerance,使用拜占庭容錯(cuò)算法。鏈上所有人參與投票,結(jié)果按照拜占庭共識(shí)算法來(lái)處理。學(xué)校的共識(shí)環(huán)境中,基于確定性和吞吐率的特殊需求,教育區(qū)塊鏈一般采用基于投票的 PBFT 共識(shí)協(xié)議。
PBFT的算法機(jī)制如圖4所示,其信息傳遞流程按以下的步驟進(jìn)行:
圖4 PBFT信息傳遞流程
PBFT 共識(shí)機(jī)制不爭(zhēng)奪計(jì)算能力,減少了資源浪費(fèi),并且在整個(gè)網(wǎng)絡(luò)中,只有一個(gè)主節(jié)點(diǎn)負(fù)責(zé)生成新的塊,不會(huì)發(fā)生分叉。但是主節(jié)點(diǎn)的選舉是隨機(jī)的,一旦該節(jié)點(diǎn)出現(xiàn)故障將會(huì)觸發(fā)視圖轉(zhuǎn)換,增加共識(shí)的復(fù)雜性以及成本。同時(shí) PBFT 的容錯(cuò)率只有1/3,無(wú)法阻止所有的攻擊,安全性有待提高。除此之外,PBFT 共識(shí)機(jī)制可擴(kuò)展性低,當(dāng)節(jié)點(diǎn)到達(dá)一定數(shù)量時(shí),算法性能急劇下降。所以在前期運(yùn)算過程中該算法可以基本達(dá)到要求,而長(zhǎng)期同步率越發(fā)頻繁的事務(wù)出現(xiàn)以后,可能面臨著調(diào)整算法的問題。
也有很多人已經(jīng)在研究PBFT的改進(jìn)型算法研究。
系統(tǒng)開發(fā)基本使用Django架構(gòu),這個(gè)架構(gòu)使用一種MVT的架構(gòu)模式,和MVC類似,MVT的是Model(模型)、View(視圖)和Template(模板),其中的Model和MVC中的Model功能基本一致,都是用于把使用模型進(jìn)行封裝的。而MVT中的View則是對(duì)接收請(qǐng)求等業(yè)務(wù)進(jìn)行處理,和MVC中的Control類似,Template則是輔助把需要封裝的頁(yè)面顯示構(gòu)造內(nèi)容進(jìn)行重新編排,和MVC中的View功能類似。
使用Django的原因是本系統(tǒng)中的模型和操作要求在這個(gè)框架下都可以使用,并且Django的數(shù)據(jù)庫(kù)訪問組件是比較完整的,可以比較高效完成功能需求中對(duì)數(shù)據(jù)庫(kù)的操作。
其次是Django的效率由于依賴的外部組件較少,所以在耦合過程中不容易出現(xiàn)太多的過程差錯(cuò)。其使用的模板系統(tǒng)也比較人性化,可以對(duì)多種第三方模板有較好的支撐作用。
最后就是由于同步需要的處理緩存等相關(guān)需求是比較高的,Django在緩存處理單元也有著較好的支持,可以提供多種有效的緩存響應(yīng)模式。
比如在成績(jī)錄入的功能中,可以通過創(chuàng)建一個(gè)成績(jī)類(Class Record)來(lái)存放基本成績(jī)的創(chuàng)建和內(nèi)容屬性,這個(gè)類通過繼承Django下models這個(gè)父類,從而達(dá)到把父類的屬性繼承下來(lái)的功能,并把功能封裝進(jìn)成績(jī)類中,并且同時(shí),成績(jī)類可以通過裝飾器對(duì)成績(jī)類中的數(shù)據(jù)是否完全、內(nèi)容是否重復(fù)進(jìn)行自我引用,引用中進(jìn)行檢查。這個(gè)檢查也就達(dá)到對(duì)整個(gè)類功能的完善。
高校區(qū)塊鏈在部署中,各個(gè)不同功能實(shí)現(xiàn)節(jié)點(diǎn)屬于邏輯上的不同同步節(jié)點(diǎn),在實(shí)際的運(yùn)用中,服務(wù)器,除了使用應(yīng)用的各個(gè)角色都會(huì)在自己的功能下進(jìn)行實(shí)時(shí)同步,各個(gè)服務(wù)和服務(wù)提供設(shè)備也會(huì)進(jìn)行基于IPBFT的同步。他們邏輯上都是一個(gè)整體的區(qū)塊鏈環(huán)境中,其他節(jié)點(diǎn)可以通過同步數(shù)據(jù)對(duì)整個(gè)數(shù)據(jù)進(jìn)行同時(shí)同向地取得。見圖5。
圖5 基于區(qū)塊鏈的高校共識(shí)管理平臺(tái)系統(tǒng)部署圖
結(jié)合我國(guó)教育背景,推動(dòng)區(qū)塊鏈技術(shù)在我國(guó)教育領(lǐng)域現(xiàn)狀環(huán)境下發(fā)展是未來(lái)研究的方向。由于高校對(duì)信息和結(jié)果的使用權(quán)重是很重要的,比如一個(gè)人的學(xué)歷和學(xué)位信息,這樣重要的信息在都是采用國(guó)家認(rèn)證機(jī)構(gòu)來(lái)進(jìn)行認(rèn)證,但是由于屬地直接管理的權(quán)限,高校還是一個(gè)信息最直接的管理方,就像出現(xiàn)爭(zhēng)議等實(shí)際問題,作為數(shù)據(jù)來(lái)源方的高校仍然要進(jìn)行最終的審核和事務(wù)說(shuō)明,對(duì)于區(qū)塊鏈技術(shù)在信息加工上所能達(dá)到的結(jié)果,可以讓這樣繁瑣不可追溯的信息工作成為歷史。這樣的學(xué)習(xí)證書管理中心通過構(gòu)建一套低成本、自動(dòng)化、安全可信的證書認(rèn)證系統(tǒng),使學(xué)習(xí)證書認(rèn)證、鑒定與管理更加有效、安全。讓每一個(gè)參與者的每一個(gè)鏈條狀的信息證據(jù)鏈可信度提高。
通過本文的論述,對(duì)現(xiàn)有的基于區(qū)塊鏈的高校共識(shí)管理平臺(tái)的設(shè)計(jì)進(jìn)行了敘述,在今后的實(shí)際應(yīng)用過程中,也會(huì)對(duì)實(shí)際的結(jié)果進(jìn)行追蹤分析,對(duì)系統(tǒng)進(jìn)行改進(jìn),從而進(jìn)一步讓系統(tǒng)更加穩(wěn)定地對(duì)高校進(jìn)行服務(wù)。