楊孝天,馬 冉,高 飛
(西藏大學信息科學與技術學院,西藏拉薩 850000)
現代信息技術的發展引發了新一輪的教育變革,隨著區塊鏈技術的不斷發展,其應用范圍逐漸擴大,區塊鏈和高等教育耦合已成為不可阻礙的發展趨勢[1]。我國高等教育受經濟發展的影響,呈現東西部發展不平衡的現象[2],現存數字教育資源共享平臺存在數據丟失、公信力差、資源版權糾紛等問題。該文以《基于區塊鏈的高校優質教育資源平臺框架構建》提出的建設一個基于“區塊鏈”技術的高效優質教育資源平臺[3]為指導,運用以太坊編寫與部署智能合約,保留傳統數據庫模式,引入IPFS,結合區塊鏈設計實現了一種新的、低信任、低成本、高效的雙數據庫高校教育資源共享平臺,其中保留傳統數據庫面向企業,負責對平臺進行維護和數據處理;引入IPFS+區塊鏈[4-6]面向公眾,保障教育資源在上傳和共享過程中公開透明且高效存儲,摒棄兩類數據庫的缺點,結合兩類數據的優點,最終形成了安全性高、費用低、傳輸速率高、存儲量大、擴展性強、易于維護和管理的新模式。
平臺考慮到用戶使用、用戶管理、平臺管理、資源管理等問題,設計了用戶登錄和游客登錄兩種模式,其中用戶登錄模式又細分為首頁、用戶管理、權限管理、資源管理、審核管理和發布管理六部分。實現對不同用戶不同角色權限的合理分配和管理、保障教育資源上傳和共享過程的公開透明、確保教育資源審核過程公正權威。
區塊鏈:區塊鏈由中本聰提出,起源于比特幣[7],是一個點對點網絡,不受中心化機構的影響,節點間可以相互信任,對等網絡中的組織和個人可以直接協同合作,可以在沒有中心化機構的情況下進行全球協作。區塊鏈既是一個網絡也是一個數據庫,由一連串的塊構成,數據以區塊的形式存儲,數據的上傳和更新直接記錄于區塊中,每個塊被加密并被賦予唯一標識符,形成區塊頭,每一個區塊頭包含版本號、上一節點信息、默克爾根、時間戳、工作量等信息。區塊鏈上所有節點都擁有區塊鏈數據庫的副本,通過共識機制確保數據庫不被隨意更改,一但塊形成,塊中的數據將會永久存儲在區塊鏈數據庫中,區塊鏈上所有節點共同工作、共同記賬,共同維護區塊鏈網絡的安全。
Solidity 以太坊[8]:以太坊以區塊鏈為基礎,是可編程的,允許在以太坊虛擬機上編寫智能合約并執行,通過編寫智能合約對數據進行寫入、處理,并與其他層進行對話,可以為不同的區塊鏈應用提供服務,允許開發者在在以太坊虛擬機上部署自己的應用。
IPFS:IPFS 又稱星際文件系統[9],基于分布式存儲,融合區塊鏈、大數據等技術,是未來構建Web3.0重要技術的支撐之一。IPFS 以Hash 作為標識進行位置尋址,通過Hash 實現數據共享,通過驗證Hash來判別數據是否被更改,并且可以直接通過自己的計算機使用IPFS 訪問世界任何地區的共享文件,而不需通過第三方應用上傳與共享數據。IPFS 相較傳統網絡具有如下特點:IPFS 是分布式去中心化的存儲結構,數據的上傳下載不需要經過中心服務器;IPFS 采用分布式碎片化傳輸,可以有效提高上傳和下載速度;IPFS 具有成本低的特點,因為其特有的傳輸方式,可以節約60%的網絡帶寬,并且采用哈希自動去重,降低存儲成本;IPFS 安全性高:具有透明性高和不可篡改的特點,可以有效地防止黑客攻擊;并且IPFS 具有可溯源的特點,文件上傳都會經過碎片化,持有者可以通過碎片匹配程度確定數據版權屬于誰。
系統需要實現如下幾個功能:
1)實現平臺身份的認證:不同類型的用戶對應不同角色,并賦予角色相應的管理權限。
2)實現教育資源的上傳與共享:保障教育資源在上傳、共享過程中公開透明,教育資源版權可追溯。
3)實現教育資源的審核與管理:杜絕重復、低質量教育資源的上傳,優先推選優質資源。
在基于IPFS+區塊鏈雙數據庫高校教育資源共享平臺中,區塊鏈+IPFS 記錄、存儲與共享的教育資源,由傳統數據庫維護平臺運作,雙數據庫協同合作共同維護平臺運作。
針對以上需求可以將系統細分為用戶登錄、角色劃分、權限分配、資源管理、資源審核、發布管理六部分。總體系統框架如圖1 所示。通過企業數據庫對數據進行篩選匹配,通過用戶列表生成當前登錄用戶,登錄后通過角色劃分分配對應角色,不同角色分配不同的權限,如果用戶擁有相應權限可以通過權限列表實現對不同角色的權限授權。用戶成功登錄后便可對平臺資源進行管理。

圖1 總體系統框架圖
若用戶具備審核管理、資源管理、發布管理等相應權限,便可以通過審核管理完成對上傳教育資源的審核,通過資源管理實現教育資源上傳至區塊鏈+IPFS 系統,通過發布管理實現教育資源的發布與共享。
資源管理模塊中實現教育資源上傳至區塊鏈+IPFS 系統,具體架構圖如圖2 所示。

圖2 IPFS+區塊鏈資源上傳架構圖
1)用戶首先與區塊鏈和開發環境(前端、Fruffle、Ganache)建立連接。
2)用戶發送文件到前端,將文件暫存于網頁。
3)通過前端與IPFS交互,IPFS接收文件并存儲。
4)IPFS 接收文件后返回對應的Hash 值到前端。
5)前端將返回的Hash 值添加到區塊鏈。
6)用戶通過IPFS 鏈接直接訪問對應文件。
系統通過引入區塊鏈+IPFS 技術能夠較好地解決教育資源在上傳和共享過程中存在數據存儲量大、傳輸速率慢、安全性低、數字資源確權難等問題,通過保留傳統數據庫可以實現數據結構整體化、提高數據共享性和可拓展性、實現企業對數據的集中控制和管理。該系統的具體實現可分為兩個主要部分:一是IPFS+區塊鏈的去中心化的應用程序,負責教育資源的上傳與存儲;二是傳統的數據庫應用,負責對平臺數據的維護與管理。
IPFS+區塊鏈去中心化應用程序流程圖如圖3所示(截圖展示以文件上傳為例),具體流程如下:

圖3 IPFS+區塊鏈去中心化的應用程序流程圖
1)連接Truffle[10]框架,編寫智能合約。
2)Truffle將智能合約寫入Ganache:通過Ganache構建一個本地區塊鏈網絡,將智能合約寫入本地區塊鏈Ganache,并生成對應abi文件。
3)通過前端連接Metamask[11],并導入測試賬戶。
4)運行Dapp:通過React 實現將資源上傳到網絡。
5)用戶通過React 將文件存儲于IPFS,實現資源上傳到IPFS。
6)IPFS 返回對應Hash:資源上傳到IPFS 后會自動生成對應的IPFS 鏈接。
7)React 將資源的Hash 值上傳到Ganache[12]。
8)用戶通過Metamask 與Ganache 的連接來確認部署。
9)通過Metamask確認后,將合約部署到區塊鏈。
10)將數據對應的Hash 值進行備份。
11)企業整合備份數據,完成資源上傳與共享。
傳統的數據庫應用:實現數據庫中信息的有效管理,完成信息的篩選、分類[13]。解決區塊鏈作為數據庫成本高、速度低、可編輯性差、維護難的問題。從用戶使用情況將系統分為用戶登錄界面和游客登錄界面。從功能管理方面將用戶登錄界面分為首頁、用戶管理、權限管理、資源管理、審核管理和發布管理六大模塊,如圖4 所示。

圖4 高校教育資源管理系統結構圖
其中,用戶管理包含用戶列表模塊,實現添加用戶、狀態管理、刪除和重新編輯等操作;權限管理模塊分為角色列表和權限列表,角色列表負責對不同角色賦予不同的權限,權限列表則分別對系統所有模塊進行權限設置(刪除、置頂);資源管理模塊分為撰寫、草稿箱和資源分類三個模塊,其中前兩個模塊完成資源上傳于IPFS 和區塊鏈,并將返回的Hash 值備份于企業數據庫;審核管理模塊分為審核和審核列表兩個模塊,審核模塊負責審核所有提交發布的資源,具有審核權限的人員可以完成資源的審核,執行通過與駁回操作。審核列表羅列登錄用戶所發資源信息、資源審核狀態及繼續執行操作是發表還是撤回;發布管理模塊記錄已審核數據、未審核數據和被拒的審核數據。
資源管理、審核管理和發布管理處理邏輯流程如圖5 所示。首先作者進行撰寫和教育資源上傳,資源上傳成功后可以選擇進行發布或保存至草稿箱繼續撰寫與完善;提交發布后資源會被上傳到審核列表,交由具有審核權限的人員進行審核,審核通過后進入待發布列表,由作者本人確定是否繼續發布;作者確定發布,資源將在平臺成功發布,并保存在已發布模塊,保存至已發布列表,反之則仍保存在待發布列表;如過審核失敗,資源則會退回至作者草稿箱;受時間或質量等相關因素的影響,具有相應權限的管理員可以選擇對資源進行下線操作,將文章從平臺界面撤下。

圖5 資源管理、審核管理和發布管理處理邏輯流程圖
實驗結果部分截圖如下:
1)登錄界面,用戶可以通過用戶名和密碼進行在平臺登錄截圖如圖6 所示。
2)首頁布局截圖如圖7 所示。通過側邊欄完成模塊的選擇,主頁統計用戶瀏覽量最高和用戶點贊量前六高的文件、連接以太坊錢包界面、顯示賬號登錄等模塊。

圖7 首頁布局截圖
3)資源管理模塊實現資源上傳區塊鏈+IPFS 數據庫如圖8 所示,展示成功上傳并返回IPFS 鏈接的截圖。

圖8 教育資源上傳至區塊鏈成功截圖
4)審核模塊處理截圖如圖9 所示。可以選擇對上傳的教育資源執行通過與駁回操作。

圖9 審核模塊截圖
5)游客登錄模塊,游客可以直接通過平臺進行資源的瀏覽,游客模塊截圖如圖10 所示。

圖10 游客模塊截圖
相較傳統數據傳輸系統,IPFS+區塊鏈模式在數據傳輸、數據保護方面性能更好,可以確保數據安全高效傳輸、存儲、共享。表1 是針對IPFS+區塊鏈作為數據傳輸系統與傳統數據的傳輸系統對比。

表1 IPFS+區塊鏈作為數據傳輸系統相較傳統數據的傳輸系統對照表
結合IPFS+區塊鏈,保留傳統數據庫的雙數據庫系統既保留了IPFS+區塊鏈數據傳輸模型優點,又能更好地維護企業對平臺的管理,如表2 所示。對比三類不同的數據庫模型,可以直觀地得出雙數據庫在經濟、維護管理、拓展、安全性、存儲和速率綜合方面優于其他兩種模式。

表2 雙數據庫與傳統數據庫和IPFS+區塊鏈數據庫對照表
IPFS 是下一代互聯網發展驅動,是一個可以重塑社會和經濟的工具,它將會帶人們進入一個更加去中心化的時代。IPFS 結合區塊鏈可以實現數據的高效傳輸與存儲,進而加快區塊鏈產業落地,是未來發展的新趨勢。但是單獨使用IPFS+區塊鏈作為數據庫對企業和開發者而言存在數據組合分析難、不易于維護與管理等問題。該方案保留傳統數據庫,引入IPFS+區塊鏈雙數據庫模式,通過實驗與分析得出,雙數據庫模式既可以有效解決區塊鏈的存儲量速率低、大規模存放數據的問題,也便于企業對數據的檢索組合及對平臺的維護與管理。該系統結合區塊鏈和IPFS 特性既可以做到解決數據上傳與共享時數據透明、安全、去中心化、也可以有效解決大規模數據上鏈問題,同時也便于企業對平臺的維護與管理,是一種新的、低信任、低成本、高效的高校資源共享模式。針對目前IPFS 和區塊鏈的發展,該文為區塊鏈+教育[14-16]落地提供一種新思路,也為向完全去中心化網絡發展提供了一個過渡。