<nav id="w0g0m"><code id="w0g0m"></code></nav>
  • <xmp id="w0g0m">
    <xmp id="w0g0m"><nav id="w0g0m"></nav><menu id="w0g0m"><strong id="w0g0m"></strong></menu>
  • <xmp id="w0g0m">
  • <nav id="w0g0m"></nav>
    <menu id="w0g0m"><menu id="w0g0m"></menu></menu>
    1. 網站地圖
    2. 設為首頁
    3. 關于我們
    ?

    基于區塊鏈的學業信息管理系統構建研究

    發布時間:2023-07-07 16:28
    目錄
    摘要 I
    Abstract HI
    目錄 V
    Contents IX
    1緒論 1
    1.1研究背景及意義 1
    1.2國內外教育領域區塊鏈技術的研究綜述 2
    1.2.1國外研究現狀 2
    1.2.2國內研究現狀 3
    1.2.3現有研究不足 3
    1.3研究內容 4
    1.4論文結構安排 4
    2區塊鏈相關理論技術分析研究 7
    2.1區塊鏈的架構模型 7
    2.2區塊鏈數據結構分析 9
    2.3Hyperledger Fabric 區塊鏈平臺分析 11
    2.4區塊鏈相關理論技術研究 15
    2.4.1加解密算法研究 15
    2.4.2共識機制 16
    2.4.3P2P 網絡 20
    2.4.4交易過程 21
    2.5本章小結 22
    3聚類分析學生成績 23
    3」基于機器學習聚類分析的學生狀態 23
    3.2基于機器學習的聚類分析 24
    3.2.1聚類分析需求 24
    3.2.2聚類分析方法 24
    3.2.3機器學習聚類分析的關鍵問題 27
    3.3本章小結 28
    4基于區塊鏈的學業信息管理系統構建與設計 29
    4.1基于區塊鏈的學業信息管理系統構建 29
    4.1.1需求分析 29
    4.1.2區塊鏈學業信息管理系統架構設計 29
    4.2系統設計 30
    4.2.1加解密設計 30
    4.2.2用戶端設計 32
    4.2.3智能合約設計 34
    4.3本章小結 37
    5基于區塊鏈的學業信息管理系統實現與測試 39
    5.1系統實現 39
    5.1.1開發環境配置與網絡搭建 39
    5.1.2功能設計實現 41
    5.1.3Baas平臺設計實現 44
    5.2系統測試 47
    5.2.1測試環境 47
    5.2.2系統功能測試 47
    5.2.3系統性能測試 48
    5.3本章小結 51
    6基于區塊鏈的學業信息系統區塊鏈瀏覽器 53
    6.1瀏覽器設計 53
    6.2瀏覽器功能模塊 54
    6.2.1區塊模塊 54
    6.2.2交易模塊 54
    6.2.3節點模塊 54
    6.2.4鏈碼模塊 55
    6.3環境部署 55
    6.4功能實現 57
    6.5本章小結 61
    7總結與展望 63
    7.1總結 63
    7.2展望 63
    參考文獻 65
    致謝 69
    作者簡介及讀研期間主要科研成果 71
    Contents
    Abstract (Chinese)   .....I
    Abstract(English)  Ill
    Contents(Chinese) V
    Contents(English)   IX
    1introduction   1
    1 ? 1 Subject research background and significance 1
    1.2Review of research on blockchain technology in education field at home
    and abroad   2
    1.2.1Foreign research status 2
    1.2.2Domestic research status 3
    1.2.3Insufficient existing research 3
    1.3Research content 4
    1.4Thesis structure arrangement 4
    2Blockchain related theory and technology analysis 7
    2.1The architectural model of blockchain 7
    2.2Blockchain data structure analysis 9
    2.3Hyperledger Fabric blockchain platfbnn analysis 11
    2.4Blockchain related theory and technology research   15
    2.4.1Research on encryption and decryption algorithm 15
    2.4.2Consensus mechanism 16
    243 P2P network   20
    2.4.4Transaction process 21
    2.5The summary of this chapter 22
    3Cluster analysis of students* scores   23
    3.1Student status based on machine learning clustering analysis 23
    3.2Clustering analysis based on machine learning 24
    3.2.1Cluster analysis requirement 24
    3.2.2Cluster analysis method 24
    3.2.3Key problems to be solved in machine learning clustering 27
    3.3The summary of this chapter 28
    4Construction and design of academic information management system based on
    blockchain 29
    4.1Construction and design of academic information management system
    based on block chain 29
    41.1Demand analysis   29
    4.1.2Academic information management system based on block chain 29
    4.2System design   .....30
    4.2.1Encryption and decryption design 30
    4.2.2User-side design 32
    4.2.3Smart contract design 34
    4.3The summary of this chapter   37
    5Implementation and test of academic information management system based on
    blockchain     39
    5.1System implementation   .39
    5.1.1The development environment is configured with the network
    environment   39
    5.1.2Function design and implementation   41
    5.1.3Baas platform design and implementation * 44
    5.2System test 47
    521 Test environment     47
    5.2.2System function test 47
    5.2.3System performance test   48
    5.3The summary of this chapter   51
    6Blockchain browser for academic information system based on blockchain 53
    6.1Browser design   53
    6.2Browser function module 54
    6.2.1Block module 54
    6.2.2Trading module 54
    6.2.3Node module 54
    6.2.4Chain code module 55
    6.3Depolyment environment 55
    6.4Function realization 57
    6.5The summaiy of this chapter   61
    7Summary and prospect   63
    7.1Summary...   63
    7.2Prospect 63
    Reference   65
    Thanks.
    The authors introduction and the main scientific research results during the master's degree
    1緒論
    本章首先闡述課題的研究背景及研究意義,在互聯網技術飛速發展的背景下, 大數據信息面臨安全隱患,高等教育領域的數據保護問題亟待解決,通過將區塊鏈 技術與國內高等院校數據保護領域結合,探討構建安全可靠學業信息系統的必要 性,提出建立一個不易篡改、不易泄漏的高等院校安全網絡信息環境的重要意義。 其次,綜述國內外的研究現狀,探索現有研究在具體操作上的不足之處,在此基礎 上確定本文主要的課題。
    1.1研究背景及意義
    隨著計算機、大數據、物聯網等技術的飛速發展,信息儲存技術的發展,計算 機網絡的數據在快速的產生造成數據的爆炸式增長,形成了大量的數據資源。利用 這些資源提升了社會整體管理水平和質量,但是也應該看到,當下存在很多不法分 子通過泄露信息等方式,數據被過度采集與隱私安全保護問題頻發,不僅給人們的 生活帶來困擾,還擾亂社會治安,甚至危害國家安全。2020年6月10 S,鄭州西 亞斯學院出現大規模學生信息泄露事件,泄露信息內容高達二十余項其中涵蓋了 姓名、家庭住址、專業、父母聯系方式等-這些事件在破壞校園學生隱私權的同時, 也暴露出了當下教育行業的一個重要矛盾,即信息管理與隱私保護需求發展不平 衡的矛盾。因此,解決高等院校的學生學業信息的數據安全、個人隱私和資源共享 問題是一項任重道遠的任務,本文就將通過對技術完善的探討來解決這一問題。
    區塊鏈技術是一種運用密碼學、計算機、分布式等多種技術整合而來的技術, 區塊鏈的記賬方式的特點在于,它是通過與節點建立聯系通過指令將發生的交易 記錄在節點賬本中,賬本一起維護發起交易的驗證和存儲,整體呈現去中心化、安 全性高的特征。隨著比特幣⑴的發展,區塊鏈技術及應用也逐漸被人們所熟知。 2019年是區塊鏈里程碑的一年,區塊鏈技術正式被定位為國家戰略,為區塊鏈產 業的發展打開了巨大的想象空間,區塊鏈技術已經延伸到數字金融、數字政府、智 能制造、供應鏈管理、醫療、教育等多個主流行業。
    區塊鏈的分布式賬本技術在發展中不斷成熟。區塊鏈技術正在以勢不可擋的 勢頭席卷人類社會,這一技術的廣泛應用不僅可以完善人們在數據信息資源上的 漏洞,甚至可能將重塑各個行業的產業鏈[2】。作為一項新興的產業,技術的野蠻生 長帶來的是監管和技術上的漏洞。因此,探討完善區塊鏈的技術問.題也是題中之義。 目前區塊鏈技術處于進一步完善和發展的過程中,存在著一些需要改進的方面,各 個節點的存儲數據性能和安全方面參差不齊。目前將發起的交易儲存在節點的賬 本中,這些交易通過共識機制保證賬本記錄信息的一致性,然后利用哈希算法防止 了數據被篡改,這樣的設計讓區塊鏈技術具有了高可信、不可篡改等特點。但是這 樣的數據結構也存在問題,因為將數據儲存在不同節點上,需要確保不同節點上的 賬本數據的私密性⑶,任何一個節點上的賬本數據的被篡改泄露會導致其他所有節 點的數據保護沒有意義。通常對數據保護采用的是對數據加密,加密后只有密鑰的 用戶才可以訪問數據。
    目前國內院校信息被存儲在中心化的數據庫中,院校信息儲存方式顯得相對 落后,沒有及時更新使用最新最安全的教務系統,并且對自身數據的完整性與可靠 性上也需要別的權威機構來保證。所以,當存在不法分子對數據庫進行攻擊時,數 據庫中信息可能被篡改和泄露。在區塊鏈網絡環境中多個節點來維護賬本數據,運 用加解密、共識機制保證數據的完整性。因此可將學業信息存儲在區塊鏈網絡中, 確保數據的安全、完整以及不被攻擊者惡意篡改。
    本文基于“安徽協創物聯網技術有限公司”橫向課題資助,對教育領域內的信 息管理結合區塊鏈技術進行初步探索研究,根據學業數據可溯源、完整性、防篡改 等業務場景實際要求,本文以區塊鏈平臺為研究重點,以機械工程學院測控技術及 儀器專業的學生信息為基礎,構建一個基于區塊鏈技術的學業信息管理系統,實現 并且測試學業信息管理系統的可行性。
    1.2國內外教育領域區塊鏈技術的研究綜述
    1.2.1國外研究現狀
    2016年,區塊鏈技術達到了空前的熱度,教育界開始探索如何利用區塊鏈技 術促使進一步完善教育信息化建設,解決教育管理中數據儲存以及安全等問題⑷。 國內外學者開始對區塊鏈在教育行業的應用,基于區塊鏈為教育行業服務進行探 索實踐。當下,美國麻省理工學院已經成功開發出學位證書授予系統,該系統就是 基于區塊鏈技術的探索,學生可以在此平臺上查看學業信息、打印成績單、打印學 位證書等⑸;
    2017年美國霍博頓利用區塊鏈技術為學生提供基于區塊鏈的認證信息服務, 并且基于公有鏈上構建學歷等相關信息,保證了學生信息的真實性A〕,并且通過區 塊鏈共享信息。
    未來教育研究所(IFTF)和美國高考(ACT)基金會提出“學習即賺錢"(Learning As Earning)項目,該項目用來記錄學生學習的“學分”。該項目利用區塊鏈的分布 式存儲技術記錄學生各個階段的學習軌跡,為后期求職等選拔人才提供參考依據。
    塞普斯倪科依亞學院基于區塊鏈技術建立了通過區塊鏈的鏈式結構溯源學生 的學習情況的項目【I提升了學生管理行業的效率,提高了學業數據存儲的安全性。 122國內研究現狀
    北京航空航天大學蔡維德教授通過目前相關應用記錄版權信息中存在的缺陷 結合區塊鏈技術開發了北航鏈【%通過北航鏈系統解決了信息認證問題和相關溯源 以及法律工作問題〔9】。
    2018年兩會期間,全國人大代表的廣東代表團提交的《關于探索運用區塊鏈 技術進行學歷學位證書認證的建議》認為區塊鏈與眾不同的加密方法,或可有效防 止出現學術能力偽造現象。
    2019年召開的中國區塊鏈技術大會“區塊鏈司法應用與生態建設”論壇上, 相關專家指出傳統版權登記工作流程繁瑣流程,借助于區塊鏈技術能夠解決版權 登記等全部流程的解決方法,全方位實現對著作權人的保護。
    2021年9月根據教育部辦公廳發布《關于加強中小學生手機管理工作的通知》, 基于政策導向,首款區塊鏈電子學生證應運而生,家長可掃描二維碼綁定支付寶賬 號,設置固定的金額供孩子消費,可有效進行支付管控,還可以位置信息共享、隱 私數據保護、學生位置信息溯源等。將學生的定位、安全等信息匯集到了一個平臺 上,促進了信息技術與教育教學深度融合。
    1.2.3現有研究不足
    綜上可知當下國內外區塊鏈相關的研究及國內外學業信息管理系統構建研究 的狀況,現對目前的國內外平臺存在的一些問題進行分析。
    (1)共識算法選取問題
    目前大多數區塊鏈選取共識算法I®存在資源浪費的現象,如目前以太坊平臺 是當下基于區塊鏈技術構建落地應用,以太坊采用的是POW算法共識機制,但是 該共識機制存在缺陷,用戶在平臺上傳數據產生交易時,通過損耗大量的算力資源 來競爭將交易數據寫入區塊鏈的權益,這樣使得整個網絡造成資源浪費。本文通過 共識算法比較,選取kafka共識算法。
    (2)加解密算法選取問題
    目前系統加解密采用對稱加密方案,保證了效率,但是安全性不足,有的系統 采用非對稱加解密方案,提高了安全性,但是存在效率低下的問題。本文選擇對稱 加解密和非對稱加解密混合方案,通過對稱加密方案加密學業信息保證了效率,非 對稱加密方案加密對稱加密的密鑰,保證了學業信息的安全性。
    1.3研究內容
    本文首先針對區塊鏈的數據隱私保護方法開展研究,在通過AES對稱加密和 ECC橢圓曲線加密以解決以區塊鏈技術為基礎平臺應用的數據隱私問題,針對高 等教育領域的學業信息系統開展應用研究;解決傳統學業信息系統中存在數據易 被篡改的問題,研究提高區塊鏈教育平臺的穩定性、安全性、效率等性能的方法。 此次重點研究內容有:
    (1) 對區塊鏈技術的相關理論以及技術方面等進行研究,包括共識算法、加 解密算法、數據結構、P2P網絡、Fabric交易過程[由以及常用的隱私保護方法等。
    (2) 結合業務場景以及機器學習模型分析學生學業信息管理系統需求,設計 出以區塊鏈為底層的學業信息管理系統,將學業信息進行加密存儲。用AES加密 對學業數據,橢圓曲線ECC加密AES密鑰,在保證安全性的同時也保證了執行效 率。
    (3) 實現基于區塊鏈的學業信息管理系統,并對系統的吞吐量和延遲進行測 試。運用Fabric網絡〔"I搭建底層區塊鏈,同時將B/S架構運用在業務系統上,再 利用智能合約管理鏈上的數據以MVC模式開發出GoWeb業務功能。系統實驗環 境依靠Docker容器技術山〕進行部署,同時通過對吞吐量和延遲的數據測試結果進 行分析,并對以區塊鏈為基礎的學業信息系統的效果進行分析。
    1.4論文結構安排
    本文通過七個章節展開,具體安排如圖1所示:
     
    第1章緒論
    研究背景 及意義 國內外教育領域區塊 鏈技術的研究綜述 研究內容 論文結構安排
     
    第2章區塊鏈相關理論技術分析研究
    區塊鏈架 構模型 區塊鏈數據結 構分析 hyper ledger fabric^F 口分析 區塊鏈相關理 論技術研究
     
    第3章聚類分析學生成績
    基于機器學習聚類分析學生的狀態 基于機器學習聚類分析
     
    第4章基于區塊鏈的學業信息管理系統構建與設計
    基于區塊鏈的學業信息管理系統構建 系統設計
     
    第5章基于區塊鏈的學業信息管理系統實現與測試
    系統實現 系統測試
     
    第6章基于區塊鏈的學業管理系統區塊鏈瀏覽器
    瀏覽器設計 瀏覽器功能模塊 環境部署 功能實現
     
    第7章總結與展望
    總結 展望
     
    圖1章節安排
    Fig.l Chapter arrangement
    2區塊鏈相關理論技術分析研究
    本章首先分析區塊鏈相關技術理論和支撐技術,討論區塊鏈的數據結構,研究 區塊鏈中所涉及到的密碼學[⑶,共識機制,P2P以及交易過程等,并根據教育信息 平臺的特點,選擇適用于教育信息區塊鏈的相關支撐技術解決方案。
    2.1區塊鏈的架構模型
    區塊鏈技術是一種融合了 P2P技術"I、加解密、時間戳a】等技術的技術,區 塊鏈的架構由底層數據層、網絡、共識機制、激勵模式、智能合約[”]和實際應用組 成,其中數據層中包含了區塊鏈的數據形式、鏈式結構、哈希函數數據的加解密、 計算時間戳的算法等;網絡層則涵蓋了 p2p網絡、傳播機制和驗證機制等;共識層 主要涵蓋了 POW, POS等共識機制,共識機制是通過共識算法來使得各節點之間 數據的保持一致性;激勵層主要包括發行制度和分配制度。通過引入發行機制和分 配機制使得維護網絡持久運行的節點進行經濟獎勵卩7〕;合約層主要封裝了根據基 于區塊鏈網絡的實際業務邏輯來編寫鏈碼;應用層是基于區塊鏈的結合實際應用 場景系統。區塊鏈系統結構架構模型如圖2所示。
    可編程貨幣1 可編程金融 可編程社會
    應用層
     
    腳本代碼 算法機制 智能合約
    合約層
     
    發行機制 分配機制
    激勵層
     
    1 Pow | r PoS | DPoS |
    共識層
     
    | P2P網絡| 傳播機制 1驗證機制1
    網絡層
     
     
    |數據區塊| |鏈式結構| | 時間戳 ]
    |哈希函數| | Merkle樹| 非對稱加 |
     
    圖2區塊鏈基礎架構模型
    Fig.2 Student Achievement Clustering Chart
    區塊鏈技術的創新點主要包括將利用時間戳將區塊串成鏈式結構、采取分布式 技術、加解密方法、以及通過共識算法保障數據一致性,根據不同的業務邏輯來編 寫智能合約。
    分布式賬本[岡指的是所有節點都來維護一個記賬完整的賬本并且節點之間可 以相互監督記賬是否正確,也可以證明整個賬本的完整性。基于區塊鏈的分布式存 儲方案一些獨特性,一是傳統的是將數據分成很多分在不同節點存儲的分布式儲 存,而基于區塊鏈系統中的數據均采取分布式技術存儲,由于不同節點均保存了所 有的賬本數據,除非所有節點被破壞否則節點可以通過其他節點進行數據獲取來 恢復,不會造成數據丟失。二是通過共識機制使得區塊鏈網絡中賬本數據保證一致 性,以往的存儲方案中沒有依靠共識機制來形成一致性【⑼。
    智能合約是一段將原本的約定內容轉化成代碼并且自動執行的過程,這個過 程沒有人為因素干擾。例如若稅務系統采用區塊鏈平臺通過智能合約自動對用戶 的繳稅金額進行計算并且進行結算,不需要人工進行收繳稅款。智能合約是由 NickSzabo提出的,其闡述了智能合約本質,將需要完成約定通過代碼進行實現。 在買賣的合約中約定商家提供對應的商品,顧客給商家對應的貨款。合約內容是指 用戶通過智能合約的技術進行記錄執行。合約規定的內容是用戶都同意的約定在 容器中運行,并且通過運行來使得用戶承擔自己的責任。通常會把智能合約理解成 為運行在容器中的代碼,其實可以理解為是一個角色,他負責合約內部信息的調取, 查詢等各種功能,沒有個人的主觀情緒,像機器人一樣,按照規定達到用戶的需求。
    依據平臺用戶的開放權限程度〔20]可以將所有區塊鏈系統劃分為公有鏈、私有 鏈和聯盟鏈。
    比特幣底層技術就是根據公有鏈的原理進行設計,公有鏈的系統原理是對使 用者沒有任何的權限限制,用戶是平等的自愿加入,可以直接使用此平臺的相關功 能,可以進行獲取需要信息、支付費用,寫入信息等操作。公有鏈是完全開放的, 沒有對公有鏈進行監管的其他方,公有鏈具有公開透明等優點,用戶即使不知道對 方真實情況也相信公有鏈的屬性,用戶按照合約規則進行交易,系統將內容寫在鏈 上。寫入的這個過程也是公開透明的,由于系統中的節點好壞無法保證,由于平臺 使用沒有權限,所以在鏈上寫入也說公開的。因此需要對平臺進行維護,在維護方 面通過獎勵機制促使維護的技術人員維護平臺保證平臺平穩運行。但是公有鏈也 有明顯的缺點,平臺采用P0W共識機制,通過所以節點一起競爭獲得寫入鏈上權 利并且這是所有節點所認同的,沒有更好的手段來確認新寫的信息是大部分節點 認同的,在POW共識機制中,攻擊的成本十分昂貴,如此復雜的計算導致資源浪 費。
    私有鏈的范圍概念與公有鏈的范圍截然不同,私有鏈的范圍是限定的,在這個 限定范圍內的用戶通過智能合約進行交易,而且在這個范圍外的沒有權限查看這 個限定范圍內發生了具體哪些交易,通過這個使用權限可知私有鏈具有隱蔽性,適 合公司或者一個小組織進行使用。所以用戶若想加入這個平臺的小范圍內進行交 易必須要將自己的個人信息填寫明白,否則會被拒絕進入。
    因為私有鏈是一個小范圍的群體,不像公有鏈因為所有用戶都可以參與到這環 境中,所以他是不可控[21]的,需要使用POW共識機制,造成了資源浪費,私有鏈 的范圍的用戶數量都是可以控制的,不需要采用互相競爭的導致大量浪費資源的 共識機制,所以正常私有鏈選擇權益證明共識機制來決定區塊記賬的用戶。
    聯盟鏈是屬于完全開發的公有鏈和小范圍的私有鏈中間的一種區塊鏈網絡,聯 盟鏈是一些相互之間具有業務聯系的用戶在一個范圍內,聯盟鏈中也有成員管理 功能,通過成員管理來決定用戶的在聯盟鏈中的使用權限,并且進行身份認證,不 同的用戶在網絡中有自己相應的權限范圍,如本文構建的學業系統,教師通過身份 認定,確定自己獨有的權限,包括填寫學生所有信息,以及保存學生所有信息,但 是學生的只能查看自己的個人信息,這均有聯盟鏈中的成員管理【四決定的。聯盟 鏈和私有鏈在用戶的數量是類似的,所以聯盟鏈也是采取避免大量資源浪費的 POS等環保[23]的共識算法。
    基于以上論述,本文通過運用區塊鏈的基礎架構理論,構建基于區塊鏈的學業 信息管理系統。系統中數據層負責學業信息的管理,網絡層則負責基于區塊鏈平臺 學業信息管理系統的去中心化,共識層主要負責平臺發起交易的共識排序一致性, 合約層負責系統實際業務需求。通過區塊鏈技術搭建此系統具有可溯源,數據不可 篡改等特點。
    2.2區塊鏈數據結構分析
    比特幣通過利用P2P技術、加解密算法、時間戳等技術得以實現電子貨幣方 案,比特幣成功運行之后,每個區塊運用時間戳信息進行區塊鏈接,鏈接在一起形 成了鏈式數據結構,這種鏈式結構稱之為區塊鏈。區塊鏈本質上是一個在網絡節點
    中運用分布式技術的數據庫[24】。根據用戶權限范圍分為公有鏈、私有鏈和聯盟鏈, 如表1所示。在公有鏈上所有用戶都可訪問鏈上的數據信息,另外在公有鏈上用 戶本身將自己發起的交易進行共識,公有鏈的典型代表有比特幣等。私有鏈是由一 個確定管理機構具有進行鏈上記賬權限,這個確定的管理機構由于記賬權限少,私 有鏈呈現出信息私密性強的特點,只有范圍內有權限的人可以參與。聯盟鏈設定的 權限是部分成員可以參與的,這部分范圍內的成員訪問是帶有權限的,因此呈現出 合作效率高、花費成本低、同時兼顧私密性的特點。
    表1區塊鏈類別
    Tab.l Blockchain category
    屬性 公有鏈 私有鏈 聯盟鏈
    參與者 任何人 組織內成員 聯盟成員
    讀取權限 公開 受限 公開或受限
    共識機制 PoW、PoS 等 Solo、PBFS 等 Kafka、Raft
    效率
    代表 比特幣 Multi Chain Hyperledger Fabric
    區塊鏈數據結構包括區塊頭和區塊體兩個部分,區塊鏈的鏈式結構通過前后 區塊記錄的哈希值鏈接。如圖3所示為區塊鏈數據結構。
    可以看出,區塊頭涵蓋了區塊連接的信息、前一個區塊的信息、merkle根哈 希、時間戳等,以確保區塊正確的加入區塊鏈中。哈希算法是一種加解密算法,對 區塊內信息數據的變化會導致區塊哈希值改變,因此只需接收方驗證哈希值是否 相同。
     
    區塊體主要保存的是交易數據信息,區塊體以交易列表的長度開始,后面羅列 各條交易信息。一個區塊體中所有的交易信息經過merkle根運算得到區塊頭中的 由根節點、中間節點和葉節點組成的哈希樹[⑹。通過哈希樹的數據結構可知,根節 點的指針具有溯源的作用,保證了表中的數據不被篡改。如果有人想篡改數據,就 會導致上一級的指針不能匹配,那么他必須向上逐級更改指針一直到頂層,這個時 候頂層會檢測到有人意圖篡改數據,篡改數據行為就會被終止,所以任何篡改數據 行為幾乎變得不能實現。
    本文構建的學業信息管理系統中發生的交易,當通過區塊鏈的數據結構的特 性,區塊頭中包含前后區塊鏈接的哈希值等信息,每個區塊運用哈希值信息進行區 塊鏈接,鏈接在一起形成了鏈式數據結構,區塊通過鏈接形成區塊鏈。區塊體中則 包含構建基于區塊鏈的學業管理系統中的發起的交易信息。
    2.3Hyperledger Fabric區塊鏈平臺分析
    Hyperledger項目是Linux基金會推出的第一個采用區塊鏈技術的去中心化的 的企業級應用。Hyperledger技術為聯盟鏈的業務應用場景的構建提供了便捷。 Fabric是Hyperledger中針對企業應用的開源項目的。聯盟鏈中的成員管理服務使 得參與者具有權限管理,代表不能像公有鏈沒有任何權限管理任何人都可進入區 塊鏈網絡成為用戶并發起交易,聯盟鏈中的用戶通過權限管理進入區塊鏈的具有 信任認證。打消了原本用戶之間不任性的情況,現在具有信任認證用戶可以放心發 起交易。Fabric平臺具有最重要的特色就是可以插拔和擴展,由于Fabric的可插拔 功能⑴],可以更加便捷的構建系統場景oFabric基于區塊鏈技術的企業級開發系統, 為開發的技術人員提供了環境和SDK。®, Fabric采用模塊化開發區塊鏈應用并且 開發應用涉及到的共識機制也是支持可拔插的。由于這些特征Fabric平臺可以保 證合約可以平穩得運行,并且內部信息具有隱私保護性不會輕易被惡意攻擊者獲 取,另外fabric網絡經過caliper測試得性能和吞吐量也符合使用。
    如下圖Hyperledger Fabric結構圖4所示。在學業信息管理系統構建研究中, 用戶將提案發送背書節點〔27]進行模擬執行。其中提案包括用戶的身份信息、交易 形式、鏈碼標識等。背書節點對提案進行模擬執行,執行結束并返回結果。通過 Docker容器使得智能合約得以運行。排序服務節點采用共識機制保證交易的一致 性。Fabric區塊鏈的狀態通過鍵值對[均形式進行儲存和維護,所有節點都進行背書 和通過共識機制保持一致性。
     
     
    圖4 Hyperledger Fabric網絡結構圖
    Fig.4 Hyperledger fabric network structure diagram
    區塊鏈服務模塊是Hyperledger Fabric的中心,為功能開發提供支持。其中包 含了共識機制,分布式記賬,以及區塊鏈的鏈式結構如何形成。其中服務模塊涵蓋 了部署操作和調用鏈碼:
    1) 部署操作:通過在Docker容器中配置環境,可以成功的將智能合約安裝 部署至區塊鏈上,并且可以通過操作調用鏈碼并執行鏈碼。這個過程就是部署操作。
    2) 調用鏈碼操作:將部署的智能合約進行調用,調用后智能合約會自動執行 合約內容,包括請求數據或者記錄數據等。
    鏈碼服務模塊主要是支持鏈碼的部署安裝以及調用功能。鏈碼其實就是智能 合約,合約內容和功能是一個可以擴展的過程〔29],通過對合約的調用根據合約內 部的內容可以對分布式賬本進行記賬操作。當智能合約被成功安裝在Docker容器 中,任何時候用戶都可以通過調用來執行合約內容。Fabric實際運行時架構如下圖 5所示:
     
     
    [chaincode; PeerO { Peerl :> ■ ■-/
    rgl '、' * ; Ledger
    圖5 Fabric實際運行時架構
    Fig.5 Fabric actual runtime architecture
    圖中的架構圖中APP代表基于區塊鏈的應用程序的客戶端,通過在客戶端的 操作可以調用指定的鏈碼通過gRPC發起相關交易I"〕。通過接口使得peer節點向 背書節點發起請求進行模擬執行,執行之后返回結果,然后通過通過共識機制進行 排序保證一致性。圖中的CA是PKI體系中核心組件,PKI體系包括CA和RA組 件RA是驗證功能,將驗證結果返回至CA , CA是完成對證書的相關管理工作, 并將結果返回至用戶。MSP為用戶管理提供服務,不僅負責認定誰是網絡中的用 戶還負責用戶所代表的角色、對組織內用戶進行驗證識別等功能。圖中的Channel 是Fabric網絡中的通道,負責通道內的數據保密和隔離工作,在通道中所有的節 點信息共享的,如果客戶端發起請求交易,也必須滿足該通道的要求,驗證成功之 后才可以與賬本進行交互。如果是不在同一個通道中的成員,他們是不能進行數據 共享服務,因此對于數據的保密性來說,得到了提高。圖中的Orderer是排序節點, 具有以下功能:其一可以創建通道并且對通道中的配置文件進行更新,其二對于接 收到的交易信息進行排序,打包生成新的區塊,其三對通道中的數據信息進行維護 服務,最后提供廣播服務,廣播至全網所有節點。每一個聯盟鏈中都可以創建很多 組織,圖中的Orgl就是其中的一個。Peer節點是區塊鏈的基礎,他是負責賬本的 維護和智能合約相關功能,通過智能合約去對賬本信息進行訪問Peer節點可以分 為四個角色如下表2中。
     
    表2 Peer各類型節點相關功能表
    Leading
     
    Chain code是運行在容器中的鏈碼。可以通過peer節點調用來對操作賬本。 進行業務邏輯相關服務。網絡中的賬本是以哈希值為基礎鏈接在了一起,賬本記錄 了交易的相關信息。Fabric網絡中的一次完整交易的生命周期如下圖6所示:
     
    圖6 Fabric生命周期
    Fig.6 Fabric lifecycle
    包括如下7個步驟:
    1) 客戶端應用程序創建交易并將交易信息發送至背書節點。
    2) 背書節點模擬執行提案。
    3) 背書節點將模擬執行之后的結果返回到應用客戶端。
    4) 客戶端將結果發送到排序節點進行共識排序。
    5) 排序節點將經過共識機制具有一致性的交易創立為新的區塊。
     
    6)將區塊信息發送給提交節點。
    7)Commit Peer節點繼續執行如下的一系列操作:
    (a)檢查背書策略以及讀操作被修改的數據庫。
    (b)在區塊中指明哪些交易是有效和無效的。
    (c)在系統上將有效得到交易寫進狀態數據庫并把區塊加入區塊鏈中。
    (d)通過SDK使得應用客戶端提交的交易是否有效。
    智能合約就是一段在在容器中運行的鏈碼,通過客戶端觸發合約中的內容,鏈 碼自動運行=并且智能合約內部是公開透明的,具有公平性。在docker環境中query、 invoke等命令操作合約[辺。在Fabric區塊鏈引入了通道的概念,通常使用者只能
    獲取自身通道內的數據,除非合約有權限時可以通過調取另一個智能合約來訪問
    它所在通道的世界狀態。智能合約運行流程如圖7所示
     
    Fig.7 Smart contract run process
    通過運用區塊鏈的技術,本文構建的基于區塊鏈的學業信息管理系統底層網絡 環境采用聯盟鏈進行搭建,聯盟鏈是受完全控制的、具有更大的隱私性。具體業務 內容采用智能合約進行編寫,具有獨立性、可靠性、安全性等特點。
    2.4區塊鏈相關理論技術研究
    2.4.1加解密算法研究
    加密算法和非對稱加密算法被廣泛應用在現代密碼學中。從上世紀70年代開 始,密碼學應用于軍事、政府等部門,后來被廣泛應用在通信,金融,信息生活等 各方面。
    對稱加密是指通過使用同樣的密鑰進行加解密運算,發送方使用密鑰加密明 文得到密文,接收方使用相同的密鑰解密密文得到明文。對稱加密是一種具有機密 性、速度最快、最簡單、適合大文件等特征的加密方式,但是沒有非對稱加密加密 強度高。隨著對稱加密的發展,有著多種加密技術,主流的對稱加密包括DES加 密技術、3DES加密技術、AES加密技術等,DES是一種將以單位為64比特序列 進行加密成64位比特密文的加密算法,以64比特為單位的進行分組的密碼算法 稱為分組密碼。3DES是一種加強版本的DES算法,將DES重復3次得到的加解 密算法。AES是一種新型的對稱加密算法,分組長度是128比特,在AES算法中, 密鑰的長度有128、192和256三種比特形式,AES算法具有安全性、便捷性,適 用多種平臺上運行的特點。另外由于AES算法在技術人員不斷的驗證的情況下, 一旦發現它的缺陷,技術人員會立刻彌補這些缺陷。
    非對稱加解密[珂方式不同于對稱加密,非對稱加密提出了新的公鑰私鑰方案。 通過不一樣的密鑰進行加密解密過程,自己保存的密鑰稱為私鑰,私鑰不可以向外 傳播,公開的密鑰稱之為公鑰,可以發給所有需要它的人。非對稱是通過公鑰對信 息文件進行加密,之后將密文傳輸至接收方,接收方通過私鑰對信息文件進行解密。 由于加解密的雙方因為不需要通過網絡傳輸共享密鑰〔2。],所以提高了數據的安全 性。RSA【33〕是第一個非對稱的加密方法,直到現在依然被廣泛應用于數字簽名和少 量數據加密中。RSA算法中的優缺點很明顯,優點是安全性更高級別與此同時的 缺點是由于秘鑰長度問題,計算過程的運算量比較繁瑣,導致加密的效率比較低。 常見的非對稱加解密算法還有橢圓曲線加密(ECC)等。在RSA算法之后,出現了 橢圓曲線算法(ECC),橢圓曲線算法是通過橢圓曲線數學理論的非對稱加密算法 [3%橢圓曲線164位的密鑰得到的效果相當于RSA1024位密鑰安全效果。橢圓曲 線的主要優點是通過使用更簡潔的密鑰達到更高級別的安全性能、運算量小、運算 速度快、占用內存小等特點。在我國目前使用的身份證就是基于256位的橢圓曲 線加密算法,比特幣底層系統也采用橢圓加密算法作為非對稱加密算法。
    考慮到教育信息數據的特點,本文選擇AES加密方法對學業數據進行加密, 橢圓曲線ECC加密方法對AES加密密鑰進行加密,通過結合這兩種加密方式,既 提升了大量的教育信息數據的加密效率又保證了安全性。
    2.4.2共識機制
    共識機制就是保證所有節點的賬本記賬具有一致性。不會引起兩者的沖突[刑。 通過使用共識機制來保證事物上傳至區塊鏈的系統數據庫是一致的,可以利用共 識機制進行信息的認定和防止數據信息被篡改,由此可以看出在區塊鏈中共識機 制的核心地位。不同的共識算法在安全性和效率方面均不同,在構建區塊鏈系統時 根據不同場景的業務邏輯進行采用不同的共識機制,從而使得系統平穩運行。在區 塊鏈應用里需要解決的雙重支出和拜占庭將軍問題。在區塊鏈分布式存儲中,共識 算法實現不同的角色寫入的交易按照產生順序寫入賬本,在不同節點之間形成共 識[溝,確保每個賬本記錄的數據一致性。共識機制必須滿足安全性和活躍性,安全 性表示節點之間是相同的輸入序列和輸出結果,活躍性表示非故障節點能夠接收 每一筆交易。目前主要的共識方法有:
    1)工作量證明機制(POW)
    工作量證明機制(POW)是指在區塊鏈網絡中,用戶發起新的交易,將交易通 過生成merke哈希,進行計算難度值的過程。簡單的說就是將不同的值輸入進行 SHA256哈希運算。運算結束后判斷是否小于目標值,若小于則獲得賬本記賬的權 益。工作量證明完成。對于POW共識機制,具有權限的使用者需要進行計算并且 得到大家的對結果的確認才能完成賬本記賬,從而使用者將交易加入之前形成的 區塊鏈式結構完成記賬行為,所有使用者掌握百分之五十以上的算力即可保證區 塊鏈平穩運行。在POW共識機制中屬于完全的去中心化,在這個共識機制中節點 是通過算力相互競爭的,獲勝的節點具有記賬權力[37】,在這個節點相互競爭時存 在明顯的弊端:一是浪費了大量的資源并且沒有意義。二是雖然節點之間記賬成功 但是所有的節點都要運行嚴重影響了區塊鏈系統的效率。釆用POW共識機制的包 括以太坊和比特幣平臺,它們己經影響網絡的效率,如果新的平臺依舊采用這種共 識機制,由于這種機制導致效率低下,難以保證網絡的平穩運行。
    2)PoS股權證明
    POS支持節點增加代幣持有時間和數量,其挖礦的難易程度取決于持有貨幣的 時間和數量,持有的越多,計算的難度越低,這樣可以加快尋找隨機數的速度。 通過POS股權證明機制解決了資源浪費問題,使用POS股權證明的安全級別也越 來越高,攻擊者若想攻擊區塊鏈需要大量的代幣以及大量的時間,這無疑增加了攻 擊難度。針對POW共識機制的這些弊端出現了新的共識機制POS, POS共識機制 中沒有這種通過計算難度來競爭賬本記賬權力,而是根據用戶的權益多少來決定 記賬的概率。誰的權益多他就大概率是下個記賬人。POS共識機制具有明顯的優 點,由于他沒有巨大的計算,可以提高平臺的效率以及減少資源浪費【珂。之前使用 POW共識機制的平臺以太坊在后來也采用了 POS共識機制,足以見得POS具有 更好的應用性。在POS之上還有DPOS共識機制,此機制具有協同性等特點,此 機制算法中通過采用擁有權益的人可以推選見證人的這種方法使得平臺的效率更 大,比POS的優勢更大。
    3) PBFT
    PBFT是基于消息傳遞執行的實用拜占庭容錯算法。通過優化BFT算法,并將 算法的復雜的降低。PBFT算法可以解決是信息數據丟失和延遲等問題。該算法提 供了(“-1)/3的容錯性a】。執行過程如下。
    1) 請求:客戶端向領導節點發送請求提供時間戳。
    2) 預準備:主節點為請求信息分配訂單編號。并且主節點將預準備消息廣播給 其他所有節點,表示同意此請求編號。
    3) 準備:其他所有節點收到請求消息之后進行驗證是否來源主節點,驗證無誤 之后,將編號和簽名廣播給其他的成員。
    4) 提交:所有節點檢査接收到的準備階段的簽名消息是否正確,若準備階段消 息數量達到全部節點的三分之二,系統對該請求一致認可,對所有節點進行廣播提 交消息,同意此節點的請求業務。
    5) 回復:所有節點,若收到提交消息,依靠簽名檢查消息是否正確,若提交的 消息數量超過所有節點的三分之一,則完成請求業務,并建立回復消息回復給客戶 端。客戶端通過檢查是否收到超過三分之一的節點正確回復來判斷系統是否完成 了請求。
    4) Kaflca
    kafka是一個分布式高可用消息隊列[創,可以有序的管理消息并在多個冗余副 本間保證數據一致性。kafka集群的狀態由zookeeper管理,選舉leader節點共識 集群包括orderer節點(OSN)、kafka集群。本文關于kafka的具體配置如表3所 不0
     
    表3 kafka配置
    Tab.3 Kafka config.uration
    配置 端口 描述
    ConFig.uration Vlaue Description
    ordererO.example.com 7050 order集群執行交易排序
    orderer 1 .example.com 8050
    orderer2.example.com 9050
    kaflkaO 36768->9092 kafka集群進行交易分發
    kafka 1 36769->9092
    kafka2 36770? >9092
    kafl<a3 36771->9092
    zookeeperO 32776->3 888 zookeeperO群進行交易共識
    zookeeper 1 32775->3888
    zookeeper2 32772->3888
    caO 7054 ca集群進行身份認證
    cal 8054
     
    Kafka在Hyperledger Fabric中稱作共識,是一個分布式的消息處理系統,其運
     
    Fig.8 Kafka operation logic
    其中,OSN是排序節點,主要包括gRPC提供服務的接口、排序的插件和后端 進行交互、維護區塊鏈的結果。排序節點存在的意義是對接收到的交易進行一致性 排序。每一次通過交易量進行分批打包生成新的區塊,并通過RPC將信息返回至 應用客戶端。排序節點通過讀取所有排序節點間經過一致性排序的交易信息,基于 Zookeeper的paxos算法可以保證在排序集群中形成一個有效的輸出信息。其中 paxos算法中的參與者主要分為如下表中的三個角色,如表4所示。同時每個參與 者代表多個不同角色:
    表4 paxos算法角色表
    Tab.4 paxos Algorithm role table
    角色 功能
    Proposer 提出提案;
    Accqjtor 接受提案后可以接受提案;
    Learner 學習被批準的提案;
    Paxos算法主要包括prepare階段和accept批準階段»Porposer通過發出prepare 請求至Acceptor來提出方案,Acceptor收到請求后進行檢測并回復這個請求。
    考慮到這四種方法中,由于PoW共識機制中絕大多數的算力都是浪費的,PoS 系統還是需要挖礦,本質上沒有解決應用的痛點,PBFT-旦出現惡意記賬人可以 使系統出現分叉,而kafka是一個分布式高可用消息隊列,可以有序的管理消息并 在多個冗余副本間保證學業信息管理數據一致性,因此本文構建學業信息管理系 統中共識機制設計選用kafka共識方案。
    2.4.3 P2P 網絡
    P2P網絡環境是一種對等的網絡⑷],所有節點共同提供服務,不存在“特殊” 節點,P2P網絡中每一個用戶即代表一個客戶端的角色,同時也扮演了服務器的角 色。每個節點之間的功能是同樣的,數據在各個節點之間不經過中心服務器進行傳 輸共享,這樣保證了隱私數據的安全性。在P2P對等網絡結構中不存在任何中心 化以及層級結構。這樣對等網絡中的任何一臺機器出現問題都不會影響網絡其他 節點正常運行工作。區塊鏈正是利用了 p2p的去中心化的特點,通過將數據儲存在 所有參與的節點上,利用共識機制來維護區塊鏈網絡一致性。這樣的網絡不需要中 心化系統,根據區塊鏈網絡的特點,分布式儲存如果不法分子想要篡改賬本,必須 把每個節點的數據都篡改,這導致不法分子的難度增加。這樣對等的網絡使得區塊 鏈具有去中心化,可擴展等特點。
    本文將建立P2P網絡環境,使學業信息管理信息系統具有去中心化等特點。 通過使用P2P對等網絡將學業信息數據儲存在對等網絡所有參與的節點中,確保 即使其他有節點出現問題,其他節點也會儲存所有學業信息數據,以保證學業信息 數據的安全性。
    2.4.4交易過程
    交易可以改變區塊鏈中的賬本狀態[42】,輸入和輸出的過程形成了一組交易, 交易被驗證后會被打包進區塊中,不能更改。在Fabric網絡中,一個交易的執行過 程分為五個步驟,如圖9所示:
    第一步:創建交易。程序通過SDK向背書節點發起交易提案。
    第二步:背書節點對提案信息進行模擬執行并且驗證,將模擬執行結果返回給 程序。
    第三步:程序客戶端接收返回的結果,如果交易正確,程序將交易發送至排序 節點,進行排序。
    第四步:排序服務是排序節點通過共識機制對所有交易進行一致性排序,生成 新的區塊,并且對組織中領導節點進行廣播。
    第五步:交易驗證通過后將這個新的區塊追加到本地的區塊鏈,更改狀態進行 修改,并且告知其他節點對賬本全部修改。這是整個的交易流程。
     
    圖9交易流程
    Fig.9 Transaction process
    在學業信息管理系統中,教師填寫學生信息,學生查看個人信息,這個業務過 程事件向背書節點發起交易,需要進行以上5個步驟,將發起的交易追加到學業 信息管理區塊鏈平臺上,完成一次學業信息管理平臺的交易。
    2.5本章小結
    本章通過分析區塊鏈技術、區塊鏈的數據結構、hyperledger fabric聯盟鏈平臺、 加解密算法、共識機制、P2P網絡以及fabric網絡的交易過程,為后文構建基于區 塊鏈的學業信息管理系統提供技術支持,其中系統底層采用聯盟鏈進行搭建,學業 信息加密采用AES對稱加密和橢圓曲線ECC加密,共識機制進行一致性排序采用 kafka機制,去中心化網絡采用p2p網絡。
    3聚類分析學生成績
    本章通過對學生各個樣本進行分析,結合機器學習中聚類分析算法,利用 Kmeans算法對學生成績進行分類,之后根據區塊鏈中鏈碼的業務邏輯將學生分類 狀態上傳至區塊鏈中。
    3.1基于機器學習聚類分析的學生狀態
    聚類分析(ClusterAnalysis)是一種典型的無監督類型的學習算法,通過將每 個相似度高的子集劃分于同一簇內同時確保不同的簇內差異性顯著的分析方法。 聚類分析的特點的在于它能夠更加直白、客觀的觀照出樣本間的內在關系,同時降 低對數據的處理難度。
    學生聚類法分析的數據共兩類,平時成績綜合分數以及考試綜合成績,根據兩 類成績進行聚類分析,將K均值的分析結果劃分為三種學生狀態情況,通過訓練 機器學習模型來標記學生狀態情況,在教師端輸入學生狀態與其他信息共同寫入 區塊鏈賬本,部分成績如表5所示。
    表5學生成績數據
    Tab.5 Student score data
    部分學號 平時成績綜合分數 考試成績綜合分數
    Prod」 67 82
    Prod_2 70 79
    ProdJ 49 52
    Prod_4 73 76
    學生成績平時綜合分數根據出勤天數分T和課堂表現分A計算得出,當學期
    所有課程的總課時數為N, 學生出勤課時數為M, 則出勤率為M/N,平時綜合分
    為滿分80分,出勤天數分T=80*M/N;課堂表現分數滿分20分,課程課堂提問、 課上交流、學生問答等環節共K次,學生積極參與的次數為L,則課堂參與率為 L/K,課堂表現分A=20*L/K,平時成績綜合分為T+A。
    根據每學期為學生安排的課程、課程類型、課程學分數目、考試成績決定學 生成績;科目根據當前課程學分t和考試成績S計算加權成績,本學期總共安排 n門課程,其中i表示每一門課程(0<i<=n),考試綜合成績通過加權分數計算方
    式,具體如表6所示。 表6學生考試綜合分數
    Tab.6 Student exam score
    課程名稱 學分 考試成績 加權分數
    大學英語 2 95 (2*95+3 *90+3*95+1 *90+3 *95)
    高等數學 3 90 /(2+3+3+1+3)=93.33
    大學物理 3 95
    政治 1 90
    專業課 3 95
     
    3.2基于機器學習的聚類分析
    3.2.1聚類分析需求
    聚類是將數據集按照某個規定的計算標準(如距離)劃分成不同的簇,通常情況 下我們的研究對象樣本之間存在或多或少的相似性,在找出可以衡量這些相似性 指標的統計量后,利用該統計量作為將不同樣本劃分開來的標準,相似度高的樣本 統一劃分為各個類別,同時,做到各個類別間的樣本數據差異盡可能的大。把不同 的分離。將采集得到的學生成績通過聚類分析劃分為三類A、B、C,通過學生狀 態值進行當學期獎學金評定、評選活動中重要的呃評選標準之一;教師可以通過學 生狀態對學生進行更有針對性的指導,以及參加各種國家級、校級、省級等學生比 賽。
    3.2.2聚類分析方法
    聚類分析中計算距離與相似度,從不同的表達方式出發,包括閔氏距離和馬氏 距離。馬氏距離能夠在考慮到各個變量之間的內在關系后測量各個變量之間的相 似度,閔氏距離則沒有考慮各個變量之間的數據分布,因而也是它的局限性之一。
    (1)閔氏距離
    閔氏距離相對于其他距離度量更為復雜的原因在于,它能夠根據變參數p的 不同,表示某一類的距離。但由于p值在計算上較為麻煩,這也成為閔氏距離的缺 點之一。在給定m維向量樣本X,其中俎,Xj Ex, Xi=(Xii,x2i, ,xmi)T,
     
    xj=(.Xij,X2j, .......X-mj')7,樣本竝與樣本勺之間的閔氏距離公式為:
    dij = (Ekli |xki -xkj\py, p > 1
    當p=2時,閔氏距離可以表示為歐式距離:
    m
    dij =(工 \xki -xkj\2)2
    k=l
    當P=1時,閔氏距離可以表示為曼哈頓距離:
    當P=8時,閔氏距離可以表示為切比雪夫距離:
    dy = Max\xki - xkj\
    (2) 馬氏距離
    馬氏距離本質上是通過數據轉換,在觀察樣本對象的相關性后消除不同維度 間差異和相關性,使得距離測量在新的分布樣態上呈現出排除干擾后更客觀的分 布,然而,它同時也存在夸大了微不足道的樣本對象的現象。在給定一個樣本X 其中x =(切人枕,其協方差矩陣為S,樣本航與樣本可之間的馬氏距離可定義為: dq = - Xjf S-1^ - Xj))^ (3-5)
    當S為單位矩陣時,特征之間方差為1時,馬氏距離就是歐式距離。
    (3) 相關系數
    相關系數是度量相似度中一種典型的方法。通過下列定義公式,當相關系數趨 于1時,則代表樣本間的相關性較高,當相關系數趨于0時,則代表樣本間不相 關。相關系數的特點在于能夠反映任意兩變量之間的相依程度。樣本之間相關系數 定義如下:
    廠邇gj-虧) ,…、
    rij _ 1 (3-6)
    EkLl(Xki-九)2 琛=2(XkJ-可)2]2
    (4) 夾角余弦
    夾角余弦也是度量兩個樣本相似度中的一種典型方法,通過夾角余弦值趨于1或
    者趨于0進行判斷兩個樣本的相似性,夾角余弦越趨近于1,則表明樣本越相似,越
    趨近于0,則表明樣本差異性越大:
     
     
     
    Kmeans聚類即k均值算法。給定m*n維樣本集合x = %勺,….,電}, k均值
    聚類就是將n個樣本集合根據不同的類別(k<n)進行分類。作為一種基礎算法,
    Kmeans具有操作簡單、高效率的特點。主要是采用損失函數的最小化的方法來尋 求最優的劃分。釆用歐式距離來計算樣本之間的距離dixt.Xj}可定義為:
    dij =〉 g - xk;)2 = \\xt- xj\\2
    厶十=1
    最終損失函數為定義的樣本與其所屬類的中心距離總和:
     
    其中Xt = ( Xlb X2l 1諷)丁為第/個類的中心點,%=HM(CQ) = !)中 ?(C(i) = Z)代表為1或0的指示函數。W(C)為同類樣本的相似程度,所以k均值 聚類可以約為一個優化的求解問題
    C* = arg min "(C) = arg min〉
    c c 厶 z=l
    3.2.3 Kmeans聚類分析學生成績
    通過學院獲取當前200位學生的成績,通過上述公式計算得出200位學生的 平時綜合分數和考試綜合分數,通過Kmeans聚類劃分為三類,首先,通過代碼讀 取從教務部門獲取的學生數據,然后將數據進行轉換,,通過構造聚類器并且獲取 對應標簽展示全部數據的散點圖,如圖10所示,通過Kmeans分析過程將數據劃 分成三類簇,如圖11所示。
     
     
     
    圖10學生成績散點圖
    Fig. 10 Scatterplot of student performance
     
     
    圖11學生成績聚類圖
    Fig. 11 Student Achievement Clustering Chart
    3.2.4機器學習聚類分析的關鍵問題
    機器學習聚類分析通過選擇中心質點的方式依次更新新的質點,直到質點不
    再更新,完成最終簇劃分。通過可視化展示的簇劃分圖,教師可以清晰發現當前學 期的教學成果,通過不同類別學生簇個數反應當前階段某個成績段的情況,方便教 師更新自己下一步教學計劃以及更新教學重點:
    (1)學生劃分
    把200個學生對象根據平時綜合分數和考試綜合分數分為3個聚類使得相同 類別中的對象的相似度高:而不同類別中的相似度較小。
    (2)數據公平
    機器學習直接從教務部門獲取學生成績,不通過第三方部門獲取,保證數據的 真實可靠性。
    3.3本章小結
    本章通過引入機器學習中K-means聚類分析,為后文構建基于區塊鏈的學業 信息系統提供更好的業務支持,利用K-means對機械工程學院測控技術及儀器專 業的學生成績進行聚類分析,根據成績把學生分成三種狀態,便于教師對學生綜 合成績有更好的針對性,學生便于發現自己的問題所在。
    4基于區塊鏈的學業信息管理系統構建與設計
    本章首先分析學業信息管理模型的需求,然后進行區塊鏈技術分析以及區塊鏈 平臺的選擇建立學生學業信息管理模型,根據實際業務場景構建加解密設計、用戶 端設計、共識設計和智能合約設計。
    4.1基于區塊鏈的學業信息管理系統構建
    4.1.1需求分析
    本系統結合區塊鏈技術構建全新的學業信息管理系統,利用區塊鏈的去中心 化技術解決隱私泄露、篡改、不可溯源等現有弊端。結合學業系統的實際使用場景, 本系統新增了學生成績的聚類分析狀態級別的功能、通過加解密實現對學業數據 進行隱私保護的方法、通過數據上傳區塊鏈實現學生數據不可篡改且可溯源〔43】的 功能。基于區塊鏈構建的學業系統比以往學業管理系統具有更高的安全級別、可靠 級別、私密保護級別。安全方面主要體現在數據不可篡改和防止惡意的攻擊者進行 攻擊。可靠級別通過區塊鏈系統特征保證,不需要去證明他的可靠性[的。在私密保 護級別從區塊鏈的數據層,網絡層,共識層,應用層均保證了數據的隱私,因此基 于此應用系統的數據均可以被合法使用者放心的使用,但是合法之外的使用者不 能應用此系統進行查詢以及使用信息。基于區塊鏈技術構建系統的目的是實現學 生與學校之間數據信息具有安全性,溯源性的功能。基于區塊鏈構建的此系統具有 不同用戶不同的使用權限⑷】,不同的用戶需要登錄并且驗證之后,用戶才能使用 系統各個功能。基于區塊鏈的此系統由學校維護他平穩運行,使用期間老師復制將 學生的相關信息的上傳到此系統,上傳數據之后學生可以通過此系統相關功能查 看自己的個人信息以及成績信息。學業信息管理系統存儲學生基本信息和聚類分 析評價信息,構建的此系統合法用戶由學校管理者認定用戶的使用權限,根據使用 權限分為學校教師、學生。此系統只有教師可以添加,保存學生用戶的信息,從而 保證了數據的真實可靠性。
    4.1.2區塊鏈學業信息管理系統架構設計
    本文設計的基于區塊鏈的學業信息系統構建包括學生端、教師端,系統總體結
     
     
    構如圖12所示。學生的學業數據由學校的教師維護,教師負責學業數據的錄入、 更改、驗證。作為數據的擁有者,學生隨時可以查詢自己的學業數據。
    信息模型中教師端調用智能合約生成AES加密密鑰,然后在教師端通過輸入 學生信息,輸入學生的考試成績、四六級成績等,所有學生信息以及教師的AES 密鑰密文一起進行上鏈交易。由智能合約獲取學生信息、AES密鑰,合約內部通 過橢圓曲線加密算法(ECC)為學生生成ECC密鑰對。通過教師AES密鑰加密學 生信息生成密文C1,通過學生橢圓曲線ECC公鑰加密教師AES密鑰生成密文C2, 將學生學號作為唯一 id,密文Cl、C2上鏈。
    學生端輸入學號以及ECC私鑰,發起解密查詢智能合約,第一步從鏈上獲取 得到當前學生對應的由學生ECC私鑰加密教師AES密鑰的密文C2,第二步獲取 由教師AES密鑰加密的學生信息密文C1,獲取學生信息明文。
    琴業數據聚類分析模型尿遽弟兇皿'
    CouchDB數擔庫
    「數據阿
    梓業數據加司 矗業數據解闘
    4.2系統設計
    4.2.1加解密設計
    USERS
    教師
    學生
    Go 后 炳
    智能合約
    (鏈碼)
    交 易 提 案
    orderer— Kafka 集群
    ,Cjeader^Xi .
    、— ■
    Committed
    圖12系統總體結構圖
    Fig. 12 Overall system structure diagram
    加密方法結合系統具體的業務需求,系統設定兩個角色:教師、學生。基于區 塊鏈的學業信息管理系統的構建研究包括教師端對信息進行加密上鏈、學生端査 詢解密,學生信息中學號作為唯一鍵值上鏈。教師端在教師完成注冊后,系統為當
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    前教師生成AES密鑰,用來加密學生信息,保證學生信息的隱私安全,通過自己 的AES密鑰加密學生信息明文M得到密文C1上鏈;合約生成學生的ECC密鑰 對,通過ECC公鑰加密教師AES密鑰得到密文C2上鏈,學生的公鑰通過base64 可視化編碼之后上鏈。學生端使用橢圓曲線私鑰解密C2得到AES密鑰;通過AES 密鑰對密文C1進行解密。
    根據本文的加密方案,教師處理學生學業信息數據的步驟為:
    (1)教師在前端注冊之后便可使用平臺,填寫學生的信息數據A,利用合約中創 建的AES對稱加密,通過使用對稱密鑰,對學生學業數據進行對稱加密得到密文 Cl:Cl=EncAES(A,key)o
    (2)使用學生的橢圓曲線公鑰pubecc加密AES的對稱密鑰key得到密文 C2:C2=EncECC (key, pubecc)<>
    (3)教師端加密設計如圖13所示。
    ; -yi/fas i<. prt::卜敘“:沁 ip.'&K- v 孫0桿f •::!$ «曲-,&況冷舛祇卜,護譏*
    Me /Jdit «-{«,*<■ . »• (fen-- 孫u*〈ywsn.'t:遼火 ©mix d 陽 iv-1 .iw C pee
    碎}押: '-i ■:iccv: -f »:,p•■& : .T:o;w<>' '•站":.g 叭:8 < <j«/9,” “怒;t.! r:
    :< -S-W.i: . jfex' . 9?' . IS. . :崔爲埠®if 戲趙 疋:•.八斛譏•.斃?7 桜衣及!x 雀專墾.•事兀 9> . 13 .力 mN.•松 W
    ,a '
    ■:-Vjk* SiKJWSf^- r*SV;r- sr*tuf. 5»y\o*e • <'- 乂 5::
    Y外"£.;:345: 站"b.;訂緲陽樸;<X|3';<*C"**'33*AFVq5"*2:4*$Hvar;W“0«M.?》X:<JC j->7^glf.TSjnt6fRS/.V4•.-;:r Jn-.f M«« :
    冷丸-》V»?0;xl»«CL,":yX‘ : .sfku ;2«y, zl,:s,JC;J'-<«i.'Wt7r»4>b>a3* -.. .> Jtvs ifxc .
    G.'.F P'.XHl便-Vi J -.<■• . '." Ik:0P": set;OtJ
    圖13教師加密設計
    Fig」3 Teacher encryption design
    根據本文的解密方案,學生查看學業信息數據的步驟為:
    (1)學生査詢本人的學業信息數據,學生端獲取學業數據密文。
    ⑵學生通過使用個人的ECC的私鑰priecc進行解密C2,解密之后獲取AES 密鑰 key:key=DecECC(C2,priecc)。
    ⑶學生端使用對稱密鑰解密Cl獲取明文信息A:A=DecAES (Cl, key)。
    (4)學生解密設計如圖14所示。
    ?於•列“:,處* "d,冷3^«i rf-vxsxJ* txf'A < «wr: "t、 i . r .•- , < '• 't >)' •. ' " VK*1*
    ?•!.»;. ••■'iilisr.-、亠. 4"; X/ft: .r* JM * I. . U :5 a
    :<• ?«;/<<■ «<Sf;! ...•' «t ; .• ?•. -»K'. .1c >.!• if. - ::■: .-.• »',5i:f .»W,Si Kyi?; ',
    t-r« ;; f?E > .- | n?'.- ® 空赧.«» 夕勺詁経F 紳It績$弔》用 戒..心心弋:*::埼*掃:▼ *5
    M 松 犬字M 渣:沙[ “W X 穴竺魚 M •Si:. 6: 養;S 口八竄• 4:二空E# X ♦- Z;-: S r »:• | 3*. « '
    圖14學生解密設計
    Fig.l4 Student decryption design
    4.2.2用戶端設計
    通過結合教師端、學生端的需求,本文設計的系統可劃分為用戶管理模塊、教 師端、學生端查詢三個模塊。
    用戶管理模塊需要實現用戶注冊登錄功能。本文建立的系統用分為教師端和學 生端,用戶在首次登錄此區塊鏈平臺時需要對個人用戶進行注冊。注冊信息包括姓 名、密碼、電話號碼、地址以及選擇自身的身份信息等,提交完成后監管機構對信 息進行審核認證,注冊成功的用戶可以通過在前端填寫信息登錄系統,對系統進行 操作。用戶登錄頁面注冊流程圖如圖15所示:
     
     
    圖15用戶注冊
    Fig」5 User Registration
    教師端用于教師填寫學生信息,數據加密上鏈存儲。在教師端前端頁面,需要填寫 當前學生的個人信息,包括學號、姓名、性別等個人信息以及入學時間、專業名稱、 英語分數、數學分數、物理分數、政治分數、英語四六級分數、平時綜合分數、考 試綜合分數等學業相關信息、根據學生信息聚類劃分的簇、16位AES密鑰、以及 ECC公鑰,上述信息填寫完成觸發后端機器學習Kmeans聚類分析服務,將學生成 績信息發送到聚類數據庫,返回前端該學生聚類分析結果,點擊上鏈按鈕通過智能 合約將學生信息明文加密存儲在鏈上區塊賬本,節點共識完成后全網節點備份學
    生數據,完成數據上鏈操作。其中,以學生學號為唯一鍵值,返回當前交易信息執
    行成功后的交易哈希地址、區塊高度。教師端的操作流程如圖16所示。
     
     
    圖16教師端操作流程
    Fig. 16 Teacher side operation process
    學生端通過輸入自己的學號作為唯一簡直査詢鏈上賬本數據,通過輸入ECC 私鑰進行解密,最終返回該學生自己的詳細信息,當前學生的區塊鏈上節點、采用 的合約地址、觸發的合約方法、當前賬本信息存儲的區塊鏈地址、區塊高度。學生 端操作流程如圖17所示。
     
     
    圖17學生操作流程
    Fig. 17 Student operation process
     
    4.2.3智能合約設計
    智能合約即鏈碼,是以數字的方式運行在區塊鏈上的代碼。當符合合約的要求 時,鏈碼自動執行,避免了手動操作的繁瑣并且保障了發行者執行合約無法違約, 智能合約的設計主要包括結構體設計、功能接口設計和算法設計三部分。合約執行 的過程透明可追溯。教師執行的上鏈信息的字段如表7所示。
     
    表7上鏈字段
    Tab.7 Uplink field
    字段名稱 類型 說明
    id strings.ToLower(aigs[0]) 學生學號,唯一鍵值
    name strings.ToLower(args[l ]) 學生姓名
    sex strings.ToLower(args[2]) 學生性別
    nation strings.ToLower(args[3]) 民族
    identityid strings>ToLower(args[4]) 身份證號碼
    location strings.ToLower(args[5]) 地址
    enrolldata strings.ToLower(args [6]) 入學時間
    major strings.ToLower(args[7]) 專業名稱
    education strings.ToLower(args[8]) 學歷水平
    english strings.ToLower(args[9]) 大學英語成績
    hmath strings.ToLower(args[l 0]) 高等數學成績
    physics strings.ToLower(args[l 1]) 大學物理成績
    politics strings.ToLower(args[ 12]) 政治成績
    cet strings ToLower(args[l 3]) 四六級成績
    daliygrade strings. ToLower(args [14]) 平時綜合成績
    examgrade strings.ToLower(args[l 5]) 考試綜合成績
    statue strings.ToLower(args[l 6]) 聚類分析狀態
    aeskey strings.ToLower(args[l 7]) 教師AES密鑰
    本文智能合約使用Go語言編寫,用戶通過區塊鏈提供的Fabric-go-sdk模塊調 用鏈碼操作賬本獲取數據,接口設計如表8所示。
    表8智能合約接口
    Tab.8 Smart contracts interface
    接口定義 接口名稱 接口描述
    教師端加密上鏈 teacherTrans 加密信息并上傳區塊鏈
    通過自己學號以及自己ECC私鑰解密
    學生端解密査詢 stuQuery
    查詢學生信息明文
    本文基于區塊鏈的學生學業信息管理系統平臺中教師填寫學業信息數據智能 合約的時序圖如圖18所示,系統在調用鏈碼需要教師填寫學業信息,鏈碼通過學 業信息數據聚類分析模型進行學生個人狀態聚類分析,收到學生學業信息聚類模 型給出的分析結果后將分析結果添加到學生學業信息數據中并將學生的完整學業 信息數據通過加密模塊中將學業信息數據進行AES對稱加密,并且對AES的密鑰 釆用ECC公鑰進行加密處理,隨后調用存儲模塊將完整的加密數據上傳至 couchDB,并同時返回地址的相關信息,最后將學生學業數據的所有關鍵進行發送 到區塊鏈網絡中進行共識上鏈。
     
    圖18添加學業數據合約時序圖
    Fig.l 8 Add academic data contract sequence diagram
     
    學生查看信息的智能合約主要用于用戶査看自己的學業數據等以及對自己的 學業數據進行相應操作。查看個人學業數據智能合約的時序圖如圖19所示。系統 在調用査看個人學業信息數據鏈碼時,鏈碼首先會向構建的平臺發送用戶的關鍵 信息,平臺再根據用戶關鍵信息獲取學業數據,并且將相關信息返回給鏈碼,用戶 可根據構建的平臺返回的儲存學業數據地址等信息下載學業信息,下載學業信息 之后通過調用加解密模塊中的解密服務對加密的個人學業信息解密,解密之后鏈 碼會將解密后的個人學業信息數據返回至平臺客戶端,學生可以查看個人學業信
     
     
    圖19查看學業數據合約時序圖
    Fig. 19 View academic data contract timing chart
    4.3本章小結
    本章構建了基于區塊鏈的學業信息管理系統,底層采用hyperledger fabric聯 盟鏈平臺進行搭建網絡,對學業數據采用AES和橢圓曲線加密方案,系統的用戶 端設計包括教師和學生,具體的學業實際業務通過智能合約進行業務內容設計, 以達到區塊鏈學業管理系統的要求。為下文的系統實現與測試提供了系統整體設 計方案的基礎。
    5基于區塊鏈的學業信息管理系統實現與測試
    本章結合上述基于區塊鏈的學業信息管理模型設計,將理論應用到實際場景 中。首先介紹hyperledger Fabric為底層技術系統開發環境,對搭建步驟進行簡要 敘述,展示系統實現的功能模塊界面,最后對系統進行性能測試,對測試結果進行 分析。
    5.1系統實現
    5.1.1開發環境配置與網絡搭建
    本節首先搭建實驗硬件平臺,實驗環境為搭載了 IntelXeon十四核E5-2680V4 處理器的GPU工作站,服務器內存為64GB,硬盤為4T,顯卡為具有11GB內存 的GeForceRTX2080Ti,實驗硬件平臺如圖20所示。系統設計采用Hyperledger Fabric聯盟鏈架構,使用Docker容器搭建網絡運行環境,選取CouchDB作為區塊 鏈底層數據庫,智能合約選用Go語言編寫,應用程序的接口是由區塊鏈Fabric- go-sdk模塊提供的。系統前端的功能實現是通過Web頁面進行的,系統后端采用 go語言開發實現。
     
    圖20實驗硬件平臺
    Fig.20 Experimental hardware platform
    本節采用Fabric 1.4.4的kafka多節點搭建區塊鏈網絡,其中涵蓋3個orderer 節點、4個kafka節點、3個zookeeper節點【佝。通過使用Go語言編寫鏈碼,并且 在Fabric網絡中安裝鏈碼。本系統將劃分為兩個組織,學校端組織下存在教師節
     
    點、學生節點。區塊鏈網絡結構如圖21所示。
     
    Ordering Service
    ,: 慮蠢
    // B
    < •
    • •
    Orgl Peers • • •
    Org2 Peers Org3 Peers
     
    圖21區塊鏈網絡結構
    Fig.21 Blockchain network structure
    (1)部署Fabric環境
    本文將學校端命名為orgl,教師節點為peerO.orgl.example.com,學生節點為 peerl.orgl.example.com,所有節點部署couchDB數據庫,如圖22所示Docker容
    器圖。
     
    圖22 Docker容器圖
    Fig.22 Docker container diagram
    (2)部署智能合約
    通過部署智能合約(鏈碼)來實現具體的功能,將智能合約上傳到指定的文件 夾中,使用peer指令安裝鏈碼。如圖23所示通過智能合約實現加密、査詢等功能。
    u BrA-»t><e.e«4!%*'v-«**. *6SS - it;. ::ue -cd*iie <ct>tK)up.«!h/u< /QtthMb.£a«'>/hv»e" ie jSSr/f«3: xtipeftjz'yfitjtw 3«r,:fCi$«>^^2»»ttijna/e^ani>le.c»?;/«fi3er« viS.e»d«j:k .c«r;nsp/tU€ac&-t&/ttsc.a.e«'i/^!«,.^cn<ef t .pt*n -C nycfi^wcl r edvecc pevrAtJdte^ies pwrfi.o
    rq" ••ilsSuotCertFi'-t»s /er#ptc/|W4t»rQ.,-Cdf,iJ«tior4/o~Q:.*• •o'v'iv.iap/pre;s,*f**e"6.u»qJ.arp;.fu<s<tK;c<*.i"• -
    c fMs»:「teacwEmT:rW,%2“.劈”「挽煮'V%:滴22獅】⑴⑼"/港翻E泰串夫衍"閔》.•押9』9£:'."期?茲術及僅器暫業’.Z*「S7"/99 , 9/ &;爐》.5”?"鴻" ,hjfeccbaeTeuSzrir
    Chj.iictxSe mvtkc iu.tcaiful. jciull: iULus,:20: p«ylcd<J:"{x*;J\' : .'ai<xS_li'.*.V^ac»y\ :\°62刃YB "矗Dv:XS£kMreG:iH22J:4VUH3<b«V.fi«g«Z.T:4</t®frpM&n>mt4H4Yiw f?*P- 1?FfFuk'cRCA*?'jSAX14e^40q;J?x4Tfr2K2; ;nW«WX5«»yhr:e;it»r»1.-d47:>.er.«SO^r vb
    rS?MT*»{ »< K. 11 wSA. dii.S';"VAI ♦W«<.:vVH; v駆 f卜3't ”;翔巾、燈r * gU j聲丁旳餉in.'yeS4'4l stj i»:ftos )t Fern” “MIL 他9F j”
    ^5»wFZjJt?Qx9iPli»7fs?;!;*44!*.«vx£*<;J /'KrwqcJJCyrsVt iiisngvl p<D»KjXZa69;^^u»*sr*»>KSQHJ?vW-»Wj<*f?'^»cVUfn;8:8W<f!-,.,M«Pi*;rUddlAd!>no-:ab,>dSM\ $tvp-;e<c»':T
    L23USl:fiUCHt^lwQt^frftFWi&riitttKl:^C?«8UL^?;>US»dVZlMnf52it^t»^!>T0*n3^ah0»fev5T?j^7Mra;9yS^hUT\/lWtJV^^^X*1VAC*K;«CFS;^VU<t«79?FU3fllZyiUlkf,MJlKbkp7«fc$laCJsi»jBVH*2 i7-7tF!ktX'>CirtK3PS^/c2fq?<!Pi>«5^pf«)Z-aiftv»fcJ?f4&7^*U^4CfZr>ERvTka£cWV»»eCfi5(ir>«6P*9<t.$OtLSl»,ri^gUF:5vic=VS!S3LilVktl<0tL(jci.' i~ roct66S54d'243f8S: /opt/gcipaf)/^' f ?axf»Gb.£oe/h^s«?r ledger/fabrtc 'p^-rt :«i3i|?«»4;S9tji?4t>fgS:fnpt/gtjpdtr*/%? i/gi- lub.c.wHtyarf i—pw#
    -cct^6SS^4Z43fB5. »&pt/9ot«tn.^src/jittub.eon/h.yp^rledger/fBbrtc/peers ro3t^>sS9£}i£S!>fS$:/o?!,gape!?n/5;c/gt?•»«&.ctW/hy-Mrl^dger/fabrir/peers pesr "(rtnccde cue“ •- nycn^wel -n eCuecc -c st^wery', prod. >1 / l.»eti.SK«LK{
    :%S©U 諭tC以廿僚 jWWf 沁d 打竝 LRSP 沖廉Gp%t4?Pir.'g沁 w'WUAdM 咤少ySZM 心出7v® 停gwiU*ftiSkgx:i£S,九 JPWZOUFBrdjUiTK&illxtjgAESWDShjErtiFlUaEkdrXOtdgbq: <FtRiA<3Ap£:5DZr3j^.-WsrN0?*l!W4erZr^E»VTkRr<WF»GPS5^xBPTOK|.$St.5:»Tk^jUFj3Vi-nW^u«^,kll-SetlQo- J ' 怎寶學星:何岀» 1箔名:熱三i性缺 劣;乓族: 沁 I勢俟還罵泳 ^n62imill9:&W |地如 盜誨中象*次衍活瀉|入罕對刪:2X 69 6J =?空;浪擰歿積員嘆英專型 字歷真
    論本秘:天學粽淒;r 蠢慕數學:好f夫學欽謖.汨;菽治:霊f養謹冏汽^,SM i棗制烷合另:初!葦戌綜合分:詢i祜芒:.
    圖23節點智能合約部署圖
    Fig.23 Node smart contract deployment diagram
    5.1.2功能設計實現
    本文根據系統構建的需求分析并結合系統詳細的模塊設計,實現主要功能模 塊,接下來分別對主要功能模塊進行介紹。
    (1)注冊登錄頁面實現
    用戶第一次使用系統時,需進行注冊,本系統主要面向教師和學生兩類人群使 用。在注冊界面,用戶注冊內容涵蓋用戶身份、用戶名、密碼、郵箱、號碼、地址 等信息,用戶注冊成功的登錄頁面如圖24所示。
     
     
    圖24用戶注冊頁面
    Fig.24 User registration page
    (2)教師上傳學生信息頁面
    教師登入系統后,填寫學生學業信息,例如:學生學號、姓名、性別、民族、 身份證號碼、入學時間、專業名稱、學歷、各科成績、平時綜合分數、考試綜合分 數、學生成績的聚類分析結果以及自己的16位AES密鑰,填寫學生信息后,在前 端界面觸發后端機器學習聚類分析服務,將學生成績信息發送到聚類數據庫,返回 前端該學生聚類分析結果點擊學生信息上鏈按鈕,教師按鈕就會發起數據上鏈請 求,經過全網節點共識完成后數據上鏈,返回當前交易的區塊鏈地址、區塊高度。 如圖25所示。其中,學號作為唯一鍵值,不允許為空。
    學生舷 系統籃理 登趙哥~
    元箱入學生信總, 0
     
     
    圖25學生信息上傳頁面
    Fig.25 Student information upload page
    (3)學生査詢信息頁面
    學生端完成登錄后,通過輸入自己的學號以及ECC私鑰完成鏈上解密査詢如 圖26所示。
     
     
    Fig.26 Student query page
    學生點擊查詢學生信息按鈕后,學生節點發起鏈上數據解密查詢智能合約,返 回當前發起交易請求的學生節點、觸發的合約、調用的合約方法等信息,如圖27所 Zj\ o
     
     
     
    圖27學生信息
    Fig.27 Student info page
     
    (5) CouchDB 界面
    基于區塊鏈平臺的應用數據存儲在外部狀態數據庫CouchDB,通過CouchDB 存儲方案實現了學業數據的保存,采用couchDB數據庫具有提升了區塊鏈網絡的 運行速度的優點,如圖28所示。查看數據庫數據:
     
     
    5.1.3 Baas平臺設計實現
    區塊鏈服務簡稱BaaS,借鑒于hyperledger,支持Hyperledger Fabric,但更加 輕量級的架構實現⑷〕。
    Baas平臺支持動態創建Fabric,支持多種共識:solo、kafka、raft共識,提供 區塊鏈首頁統計分析功能,具備區塊鏈資源動態擴容、釋放功能,系統的總體架構 如圖30所示。系統的數據流圖如圖31所示。
     
     
    8aaS Admin
    平臺雌"
    圖31數據流圖
    Fig.31 Data flow
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    Baas提供當前區塊數據的可視化界面,將當前區塊鏈上生成的區塊信息展示 出來,點擊具體的區塊,能夠查看當前區塊的具體信息,包括當前區塊哈希值、時 間戳、區塊讀寫集等如圖32所示。
    葺守 Baas Admin
    淞奇燙
    金枚限養謖
    2021-08-05 1943
    共作啄蜜 前往1頁
    4 e456c172078559bacc54ic63*17e4fGae2d3efc6^dcce42c^oadcb0t!Wcedab
    ;> 3 b€1 - bOdcaSO-15fb3aed32f520d00oef 87e3fi252C851 d895! 8rf 15236938Cf23
    .、, 2 <55531950b26e51 M7da85660c548e2 361 ^B6C33«4b6&5df0e2a39z 14aa?8a 1 Qa
    1 20c5S0e7dC'e584of2at)30fbD493S9C5eec460d4&f-J1dd91&s39780D70<i3f8556
    C 7337cdG0633bd6728200b9778386bc6^ 111 aaD7602684d8762o85b7de 111 Wa
    圖32 baas區塊鏈界面
    Fig.32 Baas blockchain page
    通過Baas平臺可以執行數據的上鏈操作,如圖33所示,查詢界面如圖34所
    zK o
    操作鏈碼
    teachsrTrans
    invoke
    “as & 從: 霽, 皺”
    強僦"$灘0呂 凝踏請紛半冬歙£第磁-
    20:沁W 緻艘才援茨第卷或-• 林"9?
    鈴, 98 82 ■ 於•* > «0 * 的.
    A 寳secgiS畑» ■- N<?w Ary
    圖33 Baas上鏈界面
    Fig.33 Baas upload data page
     
    通過Baas平臺可以執行解密查詢數據等操作,如圖34所示。
    操作鏈碼
    •方法 stuQuery
    ,方法類型 Query
    沁軋3!、 New A?g
    §紀4 5742521M 208cl
     
    圖34 Baas查詢界面
    Fig.34Baas query page
    5.2系統測試
    5.2.1測試環境
    本文開發完成了基于區塊鏈的學業信息管理系統,并設計了可視化界面。系統 測試環境如表9所示。測試環境包括系統端與區塊鏈網絡端,現對系統進行功能
    和性能進行測試。 表9系統測試環境
    Tab.9 System test environment
    參數 配置
    操作系統 Ubuntu 16.04
    區塊鏈底層網絡 Hyperledger Fabric 1.4.4
    狀態數據庫 CouchDB
    5.2.2系統功能測試
     
    通過功能測試是為了驗證系統是否符合系統構建的初衷和實際業務邏輯的需 求,按系統構建的功能進行測試,驗證功能模塊能否達到用戶的要求,給目標用戶 提供良好的體驗。
    (1)基礎功能測試
    基礎功能測試是針對構建平臺的前端頁面而展開的測試,其測試效果如表10
     
    所示。 表10基礎功能測試結果
    Tab.l 0 Basic function test results
    測試事件 測試內容 測試結果
    所有鏈接是否跳轉到正確頁面
    頁面測試 所有鏈接的頁面是否存在
    系統是否存在孤立頁面
    表單格式顯示是否正確
    文本框是否對長度、字符類型有限制
    表單測試 表單必填項功能是否有效
    表單文件上傳功能是否正常
    表單按鈕功能是否正確
    (2)業務功能測試
     
    業務功能測試主要針對學業信息管理系統的主要實現的功能進行測試,確保
    每個模塊的功能實現,保障系統的正常操作和運行,業務功能測試結果如表11所
    不0
    表11業務功能測試結果
    Tab. 11 Business function test results
    測試模塊 測試內容 測試結果
    用戶模塊 用戶注冊、登錄 通過
    教師模塊 學生信息的添加與上鏈 通過
    學生端訪問模塊 通過個人關鍵信息査詢 通過
    5.2.3系統性能測試
     
    Caliper是對構建的區塊鏈平臺測試框架〔伺,它可以對給定的測試集通過自己 區塊鏈平臺測試。對系統性能進行綜合測試,將機械工程學院測控技術及儀器專業 本科2015-2020年五屆學生部分學業信息進行上傳測試。
    通過測試獲取測試結果。此框架可以對交易成功率、吞吐量、延遲量、資源消 耗進行測試。本節測試選取吞吐量和延遲進行測試。本文所有的測試用例均是通過 caliper生成,通過測試每次發送吞吐量連續發送60s的真實吞吐量確定系統功能,
     
     
    教師端測試報告如圖35所示,學生端測試報告36所示。
     
     
     
     
    圖35 Hyperledger caliper教師端測試報告
    Fig.35 Hyperledger caliper teacher side test report
     
     
    圖36 Hyperledger caliper學生端測試報告
    Fig.36 Hyperledger caliper student side test report
    通過改變發送速率的方式,測試了智能合約的加密上鏈與解密查詢a】。系統 的性能測試主要只要從兩個方面體現:不同發送速率下的事務延遲和事務吞吐量。 事務延遲是指單個用戶發送請求所需要等待的響應時間,包括查詢延遲和寫入延 遲;事務吞吐量是指系統每秒成功發送數據的數量,包括査詢吞吐量和寫入吞吐量 【切。本文對教師端加密上鏈、學生端解密査詢、進行測試,依次測試實際系統吞吐 量與每種合約方法執行過程中的最大延遲、最小延遲與平均延遲。具體的教師吞吐 測試如圖37,延遲測試38所示。學生的吞吐測試如圖39所示,延遲測試如圖40 所示。
     
     
     
    圖37教師端加密上鏈呑吐量測試
    Fig.37 Uplink throughput test of teacher side enciyption
     
    Fig. 38 Uplink delay test of teacher side encryption
     
     
    I—存葉蜃I
    /
     
    z
    z /
    /
    0 25 50 75 100 125 150 175 200 225 250
    student發送速率/tps
    圖39學生端解密上鏈吞吐量測試
     
    Fig. 39 Uplink throughput test of student side decryption
     
     
    Fig.40 Student end decryption uplink delay test
    教師端數據加密上鏈發送速率從0開始,每增加25測試一次,一直測試到 250,經過測試實際吞吐量也逐步增加至220.2TPS,若系統持續發送60s可以上傳 13212次上鏈請求,經過測試教師端上鏈發送過程中的最大延遲為0.16s,平均時 延0.01s;學生端解密查詢測試的發送速率也從0開始測試,發送速率每增加25測 試一次,一直增加到250,經過測試實際吞吐量也逐步增加至220.8TPS,若系統持 續發送60s可以解密査詢13248次,經過測試學生端解密發送過程中最大延遲為 0.07s,平均時延為0.01s。
    經過以上測試教師端60s內可以發送13212次上鏈吞吐量測試,滿足機械工 程學院測控技術及儀器專業教師在此平臺請求交易將學業信息發送上鏈的大批量 需求,教師端教師發送交易信息上鏈平均延遲0.01秒,平臺效率高,延遲可以忽 略不計,避免了教師上傳學業信息出現卡頓的現象。學生端60s內可以發送13248 次解密査詢,滿足機械工程學院測控技術與儀器專業學生在此平臺發送大量解密 査詢需求。學生發送解密查詢平均延遲0.01s,系統效率高,延遲可以忽略不計,避 免學生進行解密查詢出現延遲卡頓現象。
    5.3本章小結
    本章通過配置開發環境以及搭建基于區塊鏈網絡環境,實現前文所述的功能 模塊,利用Baas平臺支持動態創建了 Fabric,提供區塊鏈首頁統計分析功能。并 對搭建系統進行了功能和性能測試。其中性能測試釆用Caliper測試框架,測試 了系統的吞吐量和延遲。對機械工程學院測控技術及儀器專業學生數據進行了測 試,經過測試本實驗平臺教師端和學生端發送請求1分鐘內均可達到1萬次,滿 足機械工程學院測控技術與儀器專業在平臺上大批量使用需求,并且在大批量發 送信息的情況下延遲平均0.01秒,可以忽略不計,具有高效率,低延遲特性。
    6基于區塊鏈的學業信息系統區塊鏈瀏覽器
    本章對基于區塊鏈的學業信息管理系統的瀏覽器進行布置,通過瀏覽器的平 臺整體構建、瀏覽器的局部功能模塊設計、實驗環境安裝以及業務邏輯功能的構建, 以可視化進行展現,便于操作。
    6.1瀏覽器設計
    Fabric瀏覽器用來查看區塊鏈網絡上包括區塊數、區塊詳細信息、交易數目、 交易詳細信息內部信息,瀏覽器將區塊鏈網絡上的數據進行可視化。區塊鏈網絡本 身不能以可視化的形式展示,為了考慮用戶的便捷化而通過可視化的方式來展示 區塊鏈上數據信息。目前fabric瀏覽器大多是以web形式展示的。用戶不需要了 解區塊鏈的底層技術以及通過接口查看數據,極大的方便了客戶群體,通過web頁 面在fabric瀏覽器Fl】上査看該區塊鏈上的區塊、節點、和交易。通過區塊鏈瀏覽器 項目,能夠對區塊鏈內置鏈碼的使用以及網絡的內部結構詳細了解。
    本文采用Fabric瀏覽器向用戶提供可視化界面,需要配置安裝表12所示的軟
    件進行瀏覽器設計,安裝表13所示的軟件進行瀏覽器的數據庫設計。 表12軟件系統需求
    Tab. 12 Software System Requirements
    軟件系統 版本
    操作系統 ubuntul?16.04
    Git git version 2.7.4
    Curl curl 7.47.0 (x86_64-pc-linux-gnu)
    Docker 06.3-ce
    Docker-compose docker-compose version 1.25.0, docker-py version: 4.1.0
    Python version: 3.7.4
    OpenSSL version: OpenSSL 1.1.01 10 Sep 2019
    Go gol.12.9 linux/amd64
    Node 12.13.1
    Npm 6」4.8
     
    表13數據庫系統需求
    Tab. 13 Database System Requirements
    數據庫軟件 版本
    操作系統 Ubuntul ?16.04
    Mysql MySql &0
    Postgres psql (PostgreSQL) 13.3
    CouchDB latest
     
    6.2瀏覽器功能模塊
    在Fabric網絡中通過Peer指令可以查詢網絡中的信息,如peer channel list查 看當前Peer節點加入的通道。這些命令雖然可以獲取Fabric的系統信息,但是操 作不是非常方便,而且查詢的結果顯示并不友好。本文設計了獲取這些信息的Grpc 接口,以web網站的形式發布,以使操作更加便捷。
    6.2.1區塊模塊
    區塊鏈是由之前的區塊和當前區塊通過鏈式結構IM組成的,在這個鏈式結構 中通過發起交易并且成功寫入方可創建新的區塊。Fabric瀏覽器通過構建平臺的數 據結構進行可視化的。區塊頭一般包含前一個區塊的哈希值、時間戳、當前區塊的 哈希值等。區塊體中存在當前區塊的交易詳細信息等。通常用戶發起的交易會通過 —定時間打包上鏈。在區塊鏈瀏覽器中,區塊信息展示當前區塊的信息:區塊的鏈、 區塊高度、區塊生成時間、用戶發起交易數目、哈希值等。
    6.2.2交易模塊
    在區塊鏈里,交易指的是節點發起的上鏈請求。主要包含交易時間狀態、區塊 信息背書信息、智能合約等信息,主要瀏覽器可視化展示當前上鏈請求的發起節點、 節點所屬組織、上鏈請求的鏈、交易哈希、交易類型、鏈碼、時間戳等。
    6.2.3節點模塊
    Peer節點是一個物理概念,相當于整個fabric網絡中基礎,當用戶需要訪問賬 本數據時需要peer節點,peer通過指令操作鏈碼實現對賬本的數據進行記錄,查 詢等功能。Peer節點包括對交易模擬執行背書節點;負責驗證交易的合法性記賬節 點,并且將交易信息進行儲存。區塊鏈瀏覽器中主要將當前區塊鏈網絡的節點、節 點地址、節點類型、節點端口號等進行可視化。
    624鏈碼模塊
    Fabric每個通道可代表一項業務場景邏輯,一個聯盟中可以包含有多個通道;
    一個組織可以加入多個通道。每個通道可看做對應一套賬本的子鏈,通道上可發布 鏈碼。智能合約包括合約的名字、語言、版本以及鏈碼業務內容等
    6.3環境部署
    本節搭建的瀏覽器用于展示區塊鏈網絡執行的交易,完成了區塊鏈網絡環境 搭建,瀏覽器部署流程如圖41所示。
     
     
     
     
    Fig. 41 Browser deployment process
    (l)本文搭建完成的區塊鏈網絡通過docker鏡像啟動節點服務,節點安裝的 鏈碼在經過實例化交易完成后封裝成鏡像,實現一次實例化,多次安裝使用。本文 創建的區塊鏈教育信息溯源網絡采用Kafka共識算法,依賴超級賬本Hyperledger 發布的Kafka的docker鏡像組建排序集群;交易信息通過鏈外狀態數據庫索引存 證,需要依賴couchDB容器存數據。其中,具體的鏡像以及安裝的鏈碼鏡像和封
     
    裝的節點容器如圖42所示。
    心"“々U'Ra*,:<vw 1), ■*
    ".CMVAiM-K IV lHAut 辰"tv 5!A U1 *v-: >
    «W«t*
    ce-- -p«e- 0.&-a:.exa^-cls-.ccr:-eduet;-1 B-eJJ:a給",•yj‘3 ■511¥C<;^Sb2c<;l{»BiS»U>z;bedija!*elfcer>fi*t^ <.i4U<iatfe -s>w .idd.' I dim a$u 3 l 3咖
    »v-c*«r6 sras.»wni>U ,wdgVC-J.3
    •:tv - pee- 0 q?. e > «"«>'e ter - ¥dut-c< -1. b- 51 JUu: it. < '*6^1-53«'!:5.: • s*cs>Vaf:: rz»-al : JcZ 1 i ';iiirx.3C« £W aM." J 4g^l age UO } e«y&
     
    -jee- .«i<5 * tUv& txit«si '?• 2 5" a^i
    W: - c««i i;心審.e、ecp :* .如 +3-1 3
    •wv pw:O.- gi.<!■«•»)>.u.* tlu^^ l C IDcb^sif»el72v«<i*4ZfcE3ii»S:3<de!f3bS21J<5S31 J«e2«C»r6 'gixase 9«f aiu.' $ 4ay> 4S- mm ;5> i o/i.i «<;&
    Jev-i;w8.v: 3: .etrfnj>ie.<.t^-ecoeut.-l.#
    曲9*!\24"陽 ,丫卯lE^<?<,"5r; te>:^ Usest 75xn/h«sh 8 fterJ 柳 ® J says
    •AX<U*ogw"Mi? pwr ,;1t#», 、十.“沁 e»4 t &如, U> * <M“ <»(*»{■?■■>
    jeyt «-*<*»!••.<.«»
    ;沁3%»2 rj:;n>> *.妙::.irte:.: ttz ftaO star C S 4<t>4 ago US 1 *«ys e.< .s.e.sw
    ^er»7 2、
    *、計《4"砂*"如” p»-> .'.-I.-".• 's'*** ":”* _r*T « -X#y. tip ' «.-• ft.fi. »s
    $1心T"心 xe::. in <>1 .cx^ te ct>*
    !<■ iey • :t.«•: ti pt --I .:*"■、• ",»v, ftafii" •.*.»*»* K d»”、.wj« Up ?恐?、 r e ft.e:t5
    |&$3-*268.51 >Uf- .or g2 .務 v:s"ipi.e .to*
    i,": '•'*•' ' - •»** '•t m”r <* •<•*、.«■<: (>!■ ? 4"小 ?心."“一
    A.f> 9.*:%資 >
    !Sl!;!vitSr7aS:. rypfr<ta»ftr ^"crc-::a:r;t rrrtfii-tr i &蘆 3QC 他 t a»»s rorvtcr.
    *<jew2.”oX”.<g「
    ry;*:r2tge”f4bri w:e*r - '« wer" * 4»vs ago 2 Hhft fi.e i-.e:75
    Xrtf P1"%. 0* w A. f?h
    Z?妙W»": ~yp«>rU3<>e-^»»"U-k3f»aUTe$t «try4:g. - ° » 4sv£ ago i;p *» z*rs
     
    * -«r trvfctr-t.' •; 4?y$ d$o t;S 4; 5WS
    3.3-3.$:』的冷 'S35J/KE Sfg
    e«i8<5ntiO4» 冷;;f*3cv Kef* » latest /4c<ker•e'trypeifit. ~ & de “ 碎 悅*r 2;金 磁:八《.
    k ».a <afka;
    2yg5gc:* t vs;l*■.氓 r « . “fy. IfiS.ssi ^4c<ker -t:Xt yf«;int. ':超 VS «£> Vc «• Mr 9OS2-V:t.
    弼7曲 «»fkac
    ;沁 農琢*: ^VHerleiaes “w": 2e*ri«” • :3tn: '; -ertrvpciM.." •j <Sa>-i 網 Up *7 *8,S V 6-e.f:J2
    m .JSBIyTcp, e.3.C.8.i?;7; -2S3» TCf-. S.a.C.s. I???; -iSJ8/7r&
    44ffS«icbc43j * !( oe f lew >J«!>?ic-cc-<:nc6 Itnt ••,‘cx*«r?ai:「 s 如 s aca V& < 0*" <3i#*lCC,
    八Tp, 6.9.C.J 8S«4 'SWJ.'tC, .buerenS
    Bci>e66ZS'lS 7c ■ >dc<ker.e?:tf ypcint.-" V血ys斫 g 3 •sours 0 v.C.l:22
    7«« f.e.«.&:?2?78 >26»B/ttp. 6.S.C.&:3??7S->3SSS/111>
    ESssMSzeatc ■'yoerlei^erffsti^ic cc.£»«: »a:est 'tini ('exkc* «■■:- i shys »$« b& 2 Aaft SK-.-ltf,
    a.9.<5. >. ?«■« ZVut.tt!t>3
    sf'OCrl®<X}tr?f40r»C cvxbe:; ;<»:ect 'tin: /cxke• tn:" a isfi <jif- 如;ta/u 4M?/ttp.
    S.a.G 9.45#4 .'5?a:;Uf ;ou“:Cti:
    ryjXM U!39<?,/li4>' tt ccjfneirialvil C. »: "24 • >5$8S/tCp :WfC&g 'll” i jgkwn:" S秘滬0§O Up 2屜必 ijfs/nt,
    «宋M lex金紅 *¥IH?rlMgc"Cwri< tgetw" ';docknf erii /pcint * e 43y: «』S.C;5:-
    774 Bhnp, fc.5X.«:3:2n; c.8.t.J-i277i >»3S/:«.B iosJieepetr
    lt£T<«e:4d?9 *■ /perlei^i•- / fsbnt «t F -t '^acrtc ce-se ~ < <fee go W 2 itfi e -■ r:.c:7s
    54>»es4/Up ta8
    etudiiaUi^it ?ys»rUioer < fair>» ce: l»wsx 'st -t fasrico se ' t 伽:age Ws : Am FM “.
    |» 6»se‘4:t,:p Z3i
     
    圖42 Docker容器
    Fig. 42 Docker container
    lpostQres0yhj:/usr/local/pgsql/bin$ ?>sql Ctyoe | Access privileges
    P5d (13.3) Type "help" for
    postgres-» \l
    Name help.
    I Owner | list cf databases
    Encoding { Collate |
    febricexplorer | edu UTF3 | 2h_CN.UTF*S i zh_CN.UT?-8 |
    owner I postgres 1 UTF8 | zh_CN.UTF-8 I zh_CN.UTF-8 j
    postgres 1 posrgres ! UTrB | zh_CN.UTF-8 ! Zh_CN.UTF-8 j
    tenplateO I pastgres | UTF8 | Zh CN.UTF-S [ zh_CN.UTF-8 | =c/postgres
    1 1 1 1 I postgres=CTc/postgres
    tenplatel I postgres | UTFS | Zh CN.UTF-8 | zh_CN.UTF-8 | »c/pO5tgres +
    1 1 1 ~ 1 1 postgres-Clc/postgres
    (5 rows)
    postgres-ff \c faaricexplorer
    You are now connected to database "fabricexplorer'- as user "postgres". ,
    fabricexpioref=# \dt
    List of relations
    | Schema | Wane 1昭1 Owner
    public | blocks I table | edu
    public | chaincodes 1 table | edu
    p&blie | channel I table | edu
    public | orderer I table | edu
    public | Deer | table | edu
    public | peer_r -efjJZn code 1 table | edu
    public | wer_r ef^channel | table | edu
    public | transact ions j table | edu
    public | users I table 1 ecu
    public | write lock | table | edu
    (19 rows)
     
    圖43瀏覽器數據庫
    Fig.43 Explorer database
    (2)區塊鏈瀏覽器通過鏈下數據庫同步鏈上數據,通過創建區塊鏈數據庫存
    儲全部區塊數據,創建區塊表存儲區塊生成時間、區塊高度、區塊哈希等區塊數據, 創建鏈碼表存儲鏈碼安裝、實例化信息、名稱和版本等鏈碼數據,創建通道表存儲 通道信息,創建節點表存儲當前網絡內所有的節點信息,同時創建節點通道表和節 點鏈碼表,記錄節點加入的通道信息與安裝的鏈碼信息。具體的瀏覽器數據庫如圖
    43所示。
    (3)啟動瀏覽器后臺如圖44所示。
    :root@yhj:/opt/gopath/src/github.con/hyperledger/blockchain-explorer# ./start.sh
    、********************************依*************************************************
    **********************************
    ************************************************************* *********************
    圖44瀏覽器端口啟動圖
    Fig. 44 Node start explorer diagram
    6.4功能實現
    (1)登錄頁面
    用戶第一次使用區塊鏈瀏覽器界面需要輸入用戶名、密碼,用戶名與密碼配置 在啟動文件中,通過輸入用戶名、密碼信息登錄進入區塊鏈瀏覽器界面,查看當前 區塊鏈網絡的具體信息如圖45所示。瀏覽器登錄測試時,以導師的教師身份和學 生的身份分別進行登陸,輸入用戶名和密碼,登陸成功。
    ©
    Sign in
    :=first Network
     
    圖45系統登錄頁面
    Fig. 45 System login page
    (2)區塊信息
    成功后登錄區塊鏈頁面,如圖46所示。首頁中展示當前區塊鏈網絡內部執行 的區塊數目、當前網絡的節點數目、當前網絡內部節點執行的交易請求數目、當前 鏈上安裝的智能合約數據,通過點擊區塊査看區塊具體信息。
    Peer Name
    peerC.ofgl .example.com.7051
    peerl .org1 .exampte.corT; 8051
    peer0.org2.example.com:9D5l
    peer1.arg2 exampie.eom:*0051
     
    Channel Name: mychannel
    Datahash: 022e8a73b763272b05l3cdbb8af2et)26cd5aeb45511b02a658cd0464d1b949ad
    Number of Tx: 1
    節 0 hours ago
    圖46系統首頁
    Fig. 46 System home page
    查看鏈上區塊的信息,能夠查詢得出該區塊交易執行節點所在的通道、區塊高 度,當前區塊交易生成時間以及區塊內部存儲的交易數量,如圖47所示的當前區 塊哈希和上一個區塊的哈希,是用來保證區塊鏈式結構的完整性。
     
    圖47鏈上區塊信息
    Fig. 47 Block detail info page
     
     
    E «®OSS6R. TRANSACTK»< 心3£*-©5沁56 K®Z
    E MX»SFS_TRANSACTK»< ** •&-58 2> 8”
    3«icSS ENOORSER_T«ANSACTK*i X皿 2i»i^orrs^533e.2i7Z
    Ei«>C«SERv TRAN5ACTKX< 2<kZ1-?e-C?T2 •: 42 46 jObZ
    mye»w»we< ENDORSER TRANBACT5 2C2;^»-Cm- ifcMUScTZ
    s^chs»w»ai SNDGSS£«_T«A»«SAnK>. JCJt-tf^-MTOO 'SX235Z
    OfglMSP EfttX«SE«i_ JRAMSACTKX* - 202 UDIMJCTUU
    •nycnanrw: CNCXJHSE^.'JRASsSACTKW 2U2:^»-««r0C :"2 4JC2
    Oc0ttSC »»riui:-nvi ENfxmgs traxsactok 9X 2O2:-?»-OCTC'' '.t 14.887:
     
    圖48鏈上交易信息
     
    圖49區塊交易詳細信息
    Fig. 49 Block transaction detail info
    (3)鏈上交易信息
    通過點擊首頁交易按鈕可以查看鏈上所有的交易記錄,如圖48所示。點擊當 前交易的交易哈希査看當前交易類型、交易提交時間、交易提交的鏈碼、提交上鏈 交易請求的節點等具體信息,查詢出當前交易時間區間內部生成的交易區塊,交易 信息記錄交易生成過程中調用鏈碼操作鏈上賬本數據的過程,通過LSCC生命周 期鏈碼管理鏈碼狀態,安裝完成后,通過鏈碼執行當前交易,返回區塊成功生成的 交易id,當前節點所在組織的錨節點、證書管成員信息等。交易信息還會展示當前 區塊交易的讀寫集,可視化展示鏈上交易行為,具體如圖49所示。
    (5)節點信息
    信息通過點擊首頁節點按鈕可以查看鏈上所有的節點狀態,包括網絡節點名 稱、節點類型、節點所屬組織的成員管理提供節點等,如圖50所示。
    Peer Name Request Url Pee? Type MSPID
    peerO.org 1 .exampte. com:7051 rO.orgl .exawple.cofn:70S1 PEER OrglMSP
    peer Vo?g^ .exsmp!e.com 8D51 p&er1 orgl .exampie.conx805l PEER OrglMSP
    peerC.org2.exampte.com:&051 peer© org2.exanpie.con>:9051 PEER Org2MSP
    peeH <?^2 .con? • 100 51 1. org2. »xam pl ecofn: 10051 PEER Org2MSP
    oxarrt^e com. 7050 ordereri). example .c&m:7050 QRDERcR Onler«rMSP
     
    圖50區塊鏈節點
    Fig. 50 Blockchain peers page
    (5)鏈碼信息
    通過點擊首頁節點按鈕可以査看鏈上所有的鏈碼狀態如圖51所示。
    Chameode Name Channs: Name Path
    eca mychannei github.ccm/charnctxJe/caiiper
    oca mychannal
    eduecc mychannei github. com/chamcode/ecc
    eduecc mychan nel
    eduecc mychannei gjthub.convchainc<xJe/scc
     
    圖51區塊鏈鏈碼
    Fig. 51 Blockchain chaincode page
    6.5本章小結
    本章對前文構建的區塊鏈學業信息管理系統進行瀏覽器可視化設計,通過對 瀏覽器的平臺構建、功能模塊設計,將系統功能以瀏覽器可視化進行展現,避免 教師,學生操作底層鏈碼的問題,便于教師和學生的操作。
    7總結與展望
    7總結與展望
    7.1總結
    本文基于區塊鏈技術結合實際業務需求構建了學業信息管理系統模型,并且在 構建系統時結合多種加解密技術提出了一種具有強加密以及高效率的加密方案, 解決目前學校教師與學生之間中心化數據儲存的弊端。系統使用CouchDB數據庫 實現了區塊鏈存儲,最后通過GoWeb技術實現了 Web界面展示,系統測試功能和 性能結果符合預期。主要研究成果如下:
    (1)本文將學生成績經過K-means聚類分析之后與其余學生信息通過加解密方 案加密,加密方案采用AES對稱加密和橢圓曲線加密。加密之后上傳至區塊鏈網 絡中,利用caliper測試區塊鏈網絡吞吐量和延遲,實驗表明具有良好的可行性, 并搭建fkbric瀏覽器將數據進行可視化,便于用戶操作的平臺。
    (2)運用CouchDB數據庫儲存數據方案,通過使用CouchDB數據庫實現了學 業數據存儲與傳輸,明顯提升區塊鏈網絡的運行效率。
    (3)設計基于區塊鏈的學業信息管理系統的智能合約,智能合約是在系統運行過 程中自動運行用戶約定內容的一種方法,并儲存用戶發起的交易信息。
    (4)構建一種基于區塊鏈的學業信息管理系統,相對于傳統的中心化學業信息存 儲方式,不會因為某一個節點問題導致學生信息丟失,并利用區塊鏈網絡具有防篡 改、可溯源等優秀的特點,實現了平臺內發起的交易信息不可篡改并可溯源查詢。
    (5)設計一種面向學生成績的聚類分析模型,通過為學生進行狀態分類之后上傳 區塊鏈,教師對學生教學有更好的針對性。
    7.2展望
    目前,針對不同應用場景的區塊鏈學業信息管理系統方法還在不斷的探索和改 進中,現有的數據管理信息系統還不夠完善和成熟。本文的學業數據管理系統實驗 和測試結果顯示這種基于區塊鏈構建的平臺以及加解密的方法具有可行性,不過 依舊存在需要改進和提高的地方:
    (1)未來將會根據更全面的業務需求來更改智能合約,使得基于區塊鏈的學業信 息管理系統具有更多貼心化和全面化的服務,比如增加第三方用人單位通過授權 査看學生的信息、通過智能合約讓學業管理系統為教師提高學生成績有更好的針 對性等方式。
    (2)目前學業數據聚類分析模型只考慮了用戶平時表現和期末成績維度,未來 會嘗試將更多的維度納入到學業數據分析模型當中以進一步提高分類準確度。
    參考文獻
    [1]國家互聯網信息辦公室發布《區塊鏈信息務管理規定》[J].電子政務,2019, (02): 62.
    [2]王秀利,江曉舟,李洋.應用區塊鏈的數據訪問控制與共享模型[JJ.軟件學 報,2019,⑹:1661-1669.
    [3]喬光華,祝孔青,趙德忠等.基于區塊鏈的學歷認證和學位認證模式研究[J].經營與管 理,2018,(3):142-146.
    [4]焦通,JIAO Tong,申德榮,et.al.區塊鏈數據庫:一種可查詢且防篡改的數據庫[J].軟件 學報,2019,30(9):2671-2685.
    ⑸ 陳亞飛.基于區塊鏈智能合約的倉單交易平臺研究與實現[D].鄭州大學,2018.
    [6]管磊.P2P網絡監管中的網絡視頻節目信息發現技術研究[D].北京工業大學,2010.
    [7]譚海波,TANHaiBO,周桐,etal.基于區塊鏈的檔案數據保護與共享方法[J].軟件學報, 2019,30(9):2620-2635.
    [8]楊茜.基于區塊鏈的智能合約研究與實現[D].西南科技大學,201&
    [9]Wang Yun,Salazar Joelle K. Culture-Independent Rapid Detection Methods for Bacterial Pathogens and Toxins in Food Matrices[J]. Comprehensive reviews in food science and food safety,2016,15(1):183-205.
    [10]Jin J,Zhang X YiShi J L,etal. Application of AFP whole blood one-step rapid detection kit in screening for HCC in Qidong[J]. American Journal of Cancer Research, 2017,7(6):1384-1388.
    [11]史錦山,SHI JinShan,李藥,etal.物聯網下的區塊鏈訪問控制綜述[J].軟件學報,2019, 30(6):1632-164&
    [12]顧燕.基于區塊鏈的身份認證系統的設計與實現[D].北京郵電大學,2018.
    [13]Kreps J5 Narkhede N,Rao J. kafka:A distributed messaging system for log processing[C]//Proceedings of the NetDB.2011,11:1-7.
    [14]鄧少華.基于區塊鏈的學業信息隱私保護方法與系統[D].華中師范大學,2020.
    [15]段希楠,延志偉,耿光剛,等.區塊鏈共識算法研究與趨勢分析[J].科研信息化技術與應 用,2017,8(6):43-51.
    [16]周志華.機器學習Machine leaming[M].清華大學出版社,2016.
    [17]金義富.區塊鏈+教育的需求分析與技術框架[J].中國電化教育,2017,(09):62-6&
    [18]李青,張鑫.區塊鏈:以技術推動教育的開放和公信[J].遠程教育雜志,2017,35 (01) :36-44
    [19]謝輝,王健區塊鏈技術及其應用研究[J].信息網絡安全,2016,(09):192-195.
    [20]張波.國外區塊鏈技術的運用情況及相關啟示[J].技術應用,2016,(05):35-3&
    [21]張寧,王毅,康重慶,等.能源互聯網中的區塊鏈技術:研究框架與典型應用初探[J].中國電 機工程學報,2016,36(15):4011-4023.
    [22]鄭正堅.認證機構對電子證書信賴者法律責任研究[D].暨南大學,2005.
    [23]趙哲.基于區塊鏈的檔案管理系統的研究與設計[D].中國科學技術大學,2018.
    [24]巢燕.基于區塊鏈的電子證照管理系統的設計與實現[D].南京大學,201&
    [25]趙艷杰.基于區塊鏈的物聯網信息安全傳輸與存儲研究[D].湖南師范大學,2018.
    [26]楊茜.基于區塊鏈的智能合約研究與實現[D].西南科技大學,2018.
    [27]顧燕.基于區塊鏈的身份認證系統的設計與實現[D].北京郵電大學,201&
    [28]劉杰良.基于區塊鏈技術的投票系統的設計與實現[D].內蒙古大學,2017.
    [29]方興書.基于區塊鏈的可信學位査詢系統的關鍵技術實現[D].大連海事大學,2017.
    [30]安慶文.基于區塊鏈的去中心化交易關鍵技術研究及應用[D].東華大學,2017.
    [31]夏新岳基于區塊鏈的股權資產購買和轉贈設計與實現[D].內蒙古大學,2016.
    [32]李紅.基于ASP.NET的專業碩士管理信息系統的設計與實現[D].江西財經大學,2016.
    [33]SHOEWU O,IDOWU O A. Development of attendance management system using Biometrics[J]. The Pacific Journal of Science and Technology. 2012,13(1):300-307.
    [34]牛冠博.基于區塊鏈的醫療數據共享平臺研究與實現[D]?哈爾濱工業大學,2020.
    [35]SARASWATC,KUMAR A. An efficient automatic attendance system using fingerprint verification technique]J]. International Journal on Computer Science and Engineering. 2010,2(02):264-269.
    [36]李華媾.研究生學位管理信息系統的設計與實現[D].山東大學,2007.
    [37]劉向鋒.學位管理信息系統的設計與實現[D].山東大學,2006.
    [38]李世鐸.研究生學位管理信息系統開發[D].西安電子科技大學,2002.
    [39]HEIX, LIU Y, ROSS K W.IPTV over P2P streaming networks: the mesh-pull approach[J], IEEE Transactions on parallel and distributed systems,2007,18(4):460-473.
    [40]Zhou R,HWANG K. PowerTrust:A robust and scalable reputation system for trusted peer-to-peer computingfJ]. IEEE Transactions on parallel and distributed systems, 2007,18(4):460-473.
    [41]SAROIU S, GUMMADI P K, GRIBBLE S D. Measurement study of peer-to-peer file sharing systems[C]//Multimedia Computing and Networking 2002. International Society for Optics and
    Photonics,2001,4673:156-171.
    [42]LAMPORT L, SHOSTAK R, PEASE M. The Byzantine generals problem[J]. ACM Transactions on Programming Languages and Systems (TOPLAS), 1982,4(3):382-401.
    [43]LAUTER K. The advantages of elliptic curve cryptography for wireless security [J]. IEEE Wireless communications, 2004,11(1):62-67.
    [44]何英.基于區塊鏈的數字版權登記技術研%[D].重慶郵電大學,2019.
    [45]郭文卓.區塊鏈技術下的數字版權保護研%[D],西北大學,2019.
    [46]周李京.區塊鏈隱私關鍵技術研究[D].北京郵電大學,2019.
    [47]張國英.基于區塊鏈的數據溯源技術的研究[D].南京郵電大學,2019.
    [48]張弘.基于區塊鏈的物聯網管理系統設計與實現[D]?中國科學院大學(中國科學院沈陽計 算技術研究所),2019.
    [49]張凱倫.區塊鏈在電子文件管理中的應用分析[D].遼寧大學,2019.
    [50]郭雪梅.基于區塊鏈智能合約的網絡威脅情報共享機制及實現[D].北京郵電大學,2019.
    [51]WENBING Z. Optimisitic Byzantine fault tolerance[J]. Parallel Emergent Distributed Syst, 2016,(31):254-267.
    [52]YIXIN L,ZHEN W,JIA F,etal. An extensible consensus algorithm based on PBFT[C]// International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery, Cyber C. IEEE, 2019:17-23.
    【本文地址:http://www.bzhlmm.com//guanlilei/gongshangguanli/xixinguanli/8779.html

    上一篇: 秦皇島市供銷社系統信息管理研究

    下一篇:沒有了

    相關標簽: