文|駱霄 周義方 解永剛
文章通過對現有各類不同區塊鏈技術的研究,將區塊鏈技術與高校共識進行了一次結合,從而設計了一套基于區塊鏈的高校共識管理平臺,將高校事務各環節進行區塊鏈信息保存維護,并對功能和運用場景進行了敘述,理論上提供了一種區塊鏈在高校場景中的使用案例說明,為高校管理使用區塊鏈技術提出了一種方案。
近年來區塊鏈的應用逐漸深入到了各個行業中,針對教育行業的研究也逐漸多樣化起來。《中國教育現代化 2035》提出要建立數字教育資源共建共享機制,完善利益分配機制、知識產權保護制度和新型教育服務監管制度。區塊鏈的功能在這樣的背景下也就有了用武之地,隨著區塊鏈在各行各業中的應用逐漸增大,“區塊鏈+”模型也成為現今主流的模型之一。隨著區塊鏈技術研究與應用的增多,2013年開始出現區塊鏈技術與教育行業的融合。
區塊鏈技術隨著版本的迭代更新,從最初的1.0的數字貨幣應用,到區塊鏈2.0就是對整個市場的去中心化,利用區塊鏈技術來轉換許多不同的資產。
而后區塊鏈3.0是價值互聯網的內核。區塊鏈能夠對于每一個互聯網中代表價值的信息和字節進行產權確認、計量和存儲,從而實現資產在區塊鏈上可被追蹤、控制和交易。
后期崛起的區塊鏈4.0和5.0在概念上有了大幅的提升,各行各業融合區塊鏈所蘊含的開放、共享、協同、互利等技術理念,在一定程度上實現了產業數據的集成與技術應用的創新。
區塊鏈技術在高校已經有了多樣化的實施方案,最具代表性的是伍爾夫大學,2018年開始,該學校管理就進行了區塊鏈改造。
清華大學于2018年6月成立清華x-lab區塊鏈實驗室,成為是國內首個依托高校服務區塊鏈方向創業團隊的加速計劃;2018年7月,清華大學成立了“行業可信區塊鏈應用技術聯合研究中心”。
在國內區塊鏈領域,浙江大學是能夠與清華相抗衡的第二勢力。各地方高校在此帶領下,也進入一輪又一輪的區塊鏈技術發展改造中。
一個高校的管理工作紛繁復雜,主要是為學生提供相關的教學服務和一些生活保障,服務主要是管理教學過程。這樣的服務基本是通過學校這個邏輯結構,將教師和學生結合起來,讓教師通過課程教學和其他學生行為管理工作,使學生達到學校培養目標這樣一個特定結果的綜合過程。在此過程當中,會產生各類信息內容,包括過程信息、個人檔案信息、考評數據和一些數據需求方所需要的證明材料和證書。參與的角色邏輯上包含教師、學生和數據需求方。角色所產生的個體總量來看,相互間的關系是比較多樣和復雜的。不同特定角色之間特殊的關系,可能會演化出多種服務模式,基礎的模式如圖1所示。

圖1 高校基本信息服務鏈結構
基于對教師、學生之間的關系而產生的多種用例情況,可以分析出基本的系統需要的架構模型,這種模型基本可以分為三層,如圖2所示。

圖2 基于區塊鏈的高校共識管理平臺架構圖
第一層為應用層,這一層作為網頁和相關軟件的人機交互使用,可以直接供參與者進行人機交互使用,開發邏輯分為Web版和終端版兩個,Web版可以實現多區域管理,終端版則可以成為桌面應用程序而配置到整個終端的服務中,對相應的同步起到自動化的作用。
第二層屬于業務層,這一層的功能對應用程序的支持服務、POST和REQUEST的頁面處理、對相關業務邏輯的管理功能的支持,這一部分包含了招生信息管理、教師信息管理、課程信息管理、學分信息管理、成績信息管理、過程信息管理、評價信息管理、證書信息管理、就業管理、學生信息管理和區塊業務鏈接等功能,采用Django的架構模型,對綜合服務數據庫進行操作用于綜合服務業務層的基礎業務封裝,把區塊鏈的交互通過封裝達成平衡。
第三層是共識數據層,這一層也是區塊鏈的基礎核心層,是對基本區塊鏈數據庫進行直接操作維護和更新的功能,也作為區塊鏈合約生成的基礎,產生共識區塊相關同步數據塊,并把相關數據鏈接上不同的區塊化數據。
在各項不同管理業務中,區塊鏈上鏈的邏輯基本是一致的,不同設計只是針對不同的操作過程,在此使用錄入成績這個功能模塊的操作邏輯做一個說明,如圖3所示。

圖3 成績錄入模塊區塊鏈上鏈操作流程圖
當進入到成績錄入管理模塊時,先要確定登錄賬號是否被實名認證過,因為實名認證過的賬戶才可以分配到區塊鏈賬戶信息和token,這樣的分配使得用戶在系統內可以用唯一的標識信息加簽到其任意的操作和結果中。在錄入成績的時候,系統會按照基本邏輯驗證錄入成績的結果和系統要求結果是否一致。特別是數據中的完整性和重復性的驗證,完整性使得數據保證每一條都已經被確認過,重復性則使得數據內容不會再出現分叉疊加的錯誤。
當數據完成驗證進入到下一步,就是在數據庫里面進行更新操作。這個操作將基礎核心數據庫進行修改以后,會把最原始的權威數據進行鎖定,而后可以正常選擇上傳至區塊鏈結構進行數據區塊化同步。在W e b或者是本地桌面應用中都可以進行同步的設置,而后區塊發送至整個同步網絡,賬本會追蹤區塊鏈內所存儲的知識和技能情況,區塊鏈中所記載的數據會由于區塊鏈自身的特性得以永久保存且難以被篡改。是否所有數據都需要進行區塊鏈結構同步,其實是需要進行判斷的,因為參與的數據越來越大和頻率過高,同步效率會降低。
共識算法有很多種,比較有特色的算法有POW、POS、DPOS、PBFT、POP等,其中PBFT指Practical Byzantine Fault Tolerance,使用拜占庭容錯算法。鏈上所有人參與投票,結果按照拜占庭共識算法來處理。學校的共識環境中,基于確定性和吞吐率的特殊需求,教育區塊鏈一般采用基于投票的 PBFT 共識協議。
PBFT的算法機制如圖4所示,其信息傳遞流程按以下的步驟進行:

圖4 PBFT信息傳遞流程
PBFT 共識機制不爭奪計算能力,減少了資源浪費,并且在整個網絡中,只有一個主節點負責生成新的塊,不會發生分叉。但是主節點的選舉是隨機的,一旦該節點出現故障將會觸發視圖轉換,增加共識的復雜性以及成本。同時 PBFT 的容錯率只有1/3,無法阻止所有的攻擊,安全性有待提高。除此之外,PBFT 共識機制可擴展性低,當節點到達一定數量時,算法性能急劇下降。所以在前期運算過程中該算法可以基本達到要求,而長期同步率越發頻繁的事務出現以后,可能面臨著調整算法的問題。
也有很多人已經在研究PBFT的改進型算法研究。
系統開發基本使用Django架構,這個架構使用一種MVT的架構模式,和MVC類似,MVT的是Model(模型)、View(視圖)和Template(模板),其中的Model和MVC中的Model功能基本一致,都是用于把使用模型進行封裝的。而MVT中的View則是對接收請求等業務進行處理,和MVC中的Control類似,Template則是輔助把需要封裝的頁面顯示構造內容進行重新編排,和MVC中的View功能類似。
使用Django的原因是本系統中的模型和操作要求在這個框架下都可以使用,并且Django的數據庫訪問組件是比較完整的,可以比較高效完成功能需求中對數據庫的操作。
其次是Django的效率由于依賴的外部組件較少,所以在耦合過程中不容易出現太多的過程差錯。其使用的模板系統也比較人性化,可以對多種第三方模板有較好的支撐作用。
最后就是由于同步需要的處理緩存等相關需求是比較高的,Django在緩存處理單元也有著較好的支持,可以提供多種有效的緩存響應模式。
比如在成績錄入的功能中,可以通過創建一個成績類(Class Record)來存放基本成績的創建和內容屬性,這個類通過繼承Django下models這個父類,從而達到把父類的屬性繼承下來的功能,并把功能封裝進成績類中,并且同時,成績類可以通過裝飾器對成績類中的數據是否完全、內容是否重復進行自我引用,引用中進行檢查。這個檢查也就達到對整個類功能的完善。
高校區塊鏈在部署中,各個不同功能實現節點屬于邏輯上的不同同步節點,在實際的運用中,服務器,除了使用應用的各個角色都會在自己的功能下進行實時同步,各個服務和服務提供設備也會進行基于IPBFT的同步。他們邏輯上都是一個整體的區塊鏈環境中,其他節點可以通過同步數據對整個數據進行同時同向地取得。見圖5。

圖5 基于區塊鏈的高校共識管理平臺系統部署圖
結合我國教育背景,推動區塊鏈技術在我國教育領域現狀環境下發展是未來研究的方向。由于高校對信息和結果的使用權重是很重要的,比如一個人的學歷和學位信息,這樣重要的信息在都是采用國家認證機構來進行認證,但是由于屬地直接管理的權限,高校還是一個信息最直接的管理方,就像出現爭議等實際問題,作為數據來源方的高校仍然要進行最終的審核和事務說明,對于區塊鏈技術在信息加工上所能達到的結果,可以讓這樣繁瑣不可追溯的信息工作成為歷史。這樣的學習證書管理中心通過構建一套低成本、自動化、安全可信的證書認證系統,使學習證書認證、鑒定與管理更加有效、安全。讓每一個參與者的每一個鏈條狀的信息證據鏈可信度提高。
通過本文的論述,對現有的基于區塊鏈的高校共識管理平臺的設計進行了敘述,在今后的實際應用過程中,也會對實際的結果進行追蹤分析,對系統進行改進,從而進一步讓系統更加穩定地對高校進行服務。