馬曉東 朱佳 常超 梁婉瑩 湯庸



摘? ?要:文章旨在利用區塊鏈技術解決中心化存儲模式的弊端,基于中心化數據存儲模式下的學者網平臺,運用區塊鏈技術實現用戶行為數據信息的鏈上存儲,消除中心化數據存儲弊端的同時安全公開的存儲用戶行為信息,降低多方交互成本,提高多方交互效率。運用區塊鏈技術實現用戶積分交易,根據學生用戶行為分發相應積分,積分可查且永久存儲在該用戶賬號,保證了用戶積分記錄的透明存儲,保障了用戶的權益。此外,設計開發了區塊鏈瀏覽器,提供區塊信息查詢功能。
關鍵詞:學者網;區塊鏈;去中心化;數據存儲;積分管理
1 引言
隨著互聯網的不斷發展,人們進入了互聯網時代,各類平臺網站層出不窮,數據安全問題成為人們關注的重點。其中傳統的中心化數據庫存儲模式[1]是造成數據不安全的重要原因之一。在該模式下,數據由單一的機構或系統進行維護,多方交互需要各自構建一份自己的數據庫,受到服務攻擊時,中心化的數據存儲模式更是面臨全網遭受破壞的風險,數據安全無法得以保證。學者網[2]作為典型的中心化數據庫存儲模式下的綜合性學者社交網站,隨著學者網應用人數的增加,多方交互的成本增加,傳統的中心化存儲已經滿足不了市場需求?,F在匯總學者網的三個問題。
(1)數據不安全。學者網是基于中心化數據存儲模式的社交網站,數據信息存儲在學者網本地中心服務器中,學者網一旦遭受惡意攻擊,將會導致學者網數據遺失,且數據庫恢復困難。
(2)交互過程中效率低下,成本較高。學者網目前應用的對象是各大高校學者,多方參與下的學者網效率低下,多方交互成本較高。
(3)缺乏信任。學者網用戶行為數據信息不夠透明、易被人為修改,造成各用戶主體間缺乏信任。區塊鏈技術因為其去中心化的數據存儲模式、共識機制及智能合約成為了近些年的熱點[3],去中心化存儲模型如圖1所示。因此,針對學者網這種多方參與、應用頻率高、依賴于中心化且具有低效高成本特征的應用場景,使用區塊鏈技術可有效解決其弊端。
本文針對學者網此類應用場景的弊端,運用區塊鏈技術實現用戶行為數據存儲及積分管理。貢獻點主要有三點。
(1)創新性的將區塊鏈技術應用在學者網上,對學者網未來的擴展應用提供了實際素材。
(2)實現學者網用戶行為數據的鏈上存儲,有效解決多方交互帶來的低效高成本的同時克服中心化數據存儲的安全性低下等問題。
(3)運用區塊鏈技術實現鏈上積分交易,有效保障用戶利益的同時為區塊鏈技術在積分管理方面的應用提供參考。
2? 基于區塊鏈技術的去中心化應用
中心化存儲模式下的學者網存在著數據不安全、多方交互成本高且效率低下以及若干信任問題。本文專注于學生在學者網課程學習中的用戶行為,實現用戶行為數據上鏈及鏈上積分交易。用戶可通過學者網區塊瀏覽器進行區塊交易信息查詢。
2.1? 整體架構設計
整體設計由用戶、學者網、布比區塊鏈、學者網區塊鏈瀏覽器四部分組成。用戶使用學者網產生用戶行為數據,智能合約調用學者網數據接口定時提取用戶行為數據,將用戶行為數據存儲到區塊鏈上并實現對應區塊鏈賬戶的積分分發,區塊鏈將用戶行為數據及用戶積分永久的、不可篡改的存儲在區塊中,形成公開安全的分布式數據庫賬本,供全網可見。用戶借助學者網區塊鏈瀏覽器查詢詳細的賬戶及交易信息,區塊鏈接收到區塊瀏覽器的查詢需求返回對應交易記錄。整體架構如圖2所示。
2.2? 積分方案設計
積分方案依照學者網活躍度的計算方法設計,如表1所示。學者網課程管理中的學生活躍度等于特定時間段內用戶登錄數、用戶提問數和用戶回復數之和。故本文將區塊鏈積分分為固定積分和活躍積分,每日記錄用戶登錄次數最高的一次,對應固定積分1分。用戶提問和回復次數對應活躍積分,每次行為計活躍積分1分。根據用戶行為兌換積分,積分交易記錄公開、安全、不可篡改的存儲在區塊鏈上,從而有效提高課程管理用戶活躍度統計的透明度,保障用戶權益。課程管理者擁有定額的固定積分和活躍積分,課程內用戶產生行為,課程管理者就向課程內用戶發放相應積分。
2.3? 智能合約設計
根據整體架構對功能的業務邏輯進行編碼形成智能合約,并將其部署到區塊鏈上,可由所有節點達成共識和運行。智能合約實現了用戶行為數據的提取及上鏈處理等一系列操作,保證用戶行為數據安全的同時,定時將用戶信息存儲到區塊鏈中。業務規則包括獲取用戶個人信息、獲取用戶行為信息、獲取序列化交易操作碼、獲取簽名、提交交易等,接口如表2所示。
用戶信息合約實現學者網和區塊鏈的數據橋梁作用。通過獲取用戶個人信息來明確對應的區塊鏈賬號。為獲取用戶的行為,信息合約定時定期從學者網獲取用戶行為信息。序列化操作碼合約中的四種序列化交易的操作碼根據布比區塊鏈官網的數據結構組裝。簽名合約的數字簽名是區塊鏈交易過程中的重點,數字簽名的流程如圖3所示。
2.4? 系統流程設計
2.4.1? 用戶賬號
用戶賬戶分為學者網賬戶和區塊鏈賬戶兩種。首次注冊學者網賬號時,可以同時注冊得到區塊鏈賬號,已有學者網賬號而沒有區塊鏈賬號的用戶可以在區塊鏈讀入用戶信息時判斷并創建區塊鏈賬號。用戶學者網賬戶和區塊鏈賬戶均已存在后,區塊鏈讀入用戶行為,并進行區塊鏈上的數據存儲及積分交易操作。
2.4.2? 用戶行為
根據積分方案設計,課堂活躍度統計為用戶登錄數、用戶提問數、用戶回復數之和。用戶登錄指用戶登錄學者網某課程主頁,用戶登錄次數每日最多記一次,用戶登錄記錄信息包括用戶ID、登錄時間、課程名等。學者網為每個課程提供了互動交流頁面,用戶可以自行發問和作答。用戶提問和用戶回復以發生一次記一次的規則,其中用戶提問信息包括用戶ID、提問時間等,用戶回復信息包括用戶ID、回復時間、回復內容等。
2.4.3? 數據存儲及積分交易
數據存儲及積分交易作用在區塊鏈上就是提交序列化交易。故本文根據智能合約獲取到的用戶行為信息,組織序列化交易操作碼,實現用戶行為數據寫入到區塊鏈。數據存儲采用設置元數據的序列化交易方式。故以用戶登錄時間與用戶行為類型login結合的鍵值對組裝用戶登錄信息,組成元數據存儲的序列化交易操作碼,如表3所示。用戶提問信息和用戶回復信息則以行為時間與行為內容組成鍵值對的形式,組裝成元數據存儲的序列化交易操作碼,如表4所示。積分交易采用轉移資產的序列化交易方式,運用智能合約獲取用戶區塊鏈賬號及積分兌換規則,實現創世賬號向目標用戶的區塊鏈賬號分發積分。其中課程管理者賬號(資產發行方)作為活動分數資產的擁有者向發生行為的學者(資產接收方)進行轉移資產的操作,用戶積分交易的序列化交易操作碼,如表5所示。這樣就實現了鏈上信息存儲和積分交易,用戶行為數據被存儲于目標區塊賬號的元數據組中,用戶所獲活動積分被存儲于目標區塊賬號的資產列表中,用戶可以通過訪問區塊鏈賬號訪問到該用戶的歷史用戶行為數據及詳細的資產情況,也可以通過交易Hash值訪問到單筆交易的詳細情況。
3? 實驗分析
3.1? 實驗環境
結合學者網和區塊鏈技術,實現了用戶行為數據存儲和積分交易。底層區塊鏈采用布比區塊鏈,本地部署四個節點,配置節點文件使節點達成共識形成一個底層區塊鏈環境。另外采用js+html5+css3+vue+webpark簡單搭建了學者網區塊瀏覽器,實現前端頁面與區塊鏈智能合約的交互,方便了用戶提供區塊信息。實驗環境為:筆記本計算機、Windows操作系統、Intel Core i5處理器、內存8GB、硬盤460GB。
3.2? 實驗結果
以選取學者網平臺的《數學建模方法》課程為例,該課程綜合訪問量高,選課學生數據量大,互動交流頻繁,易于收集學生的行為。學者網課程管理的頁面如圖6所示,其中統計管理包括該課程的學生登錄統計、學生活躍度統計,其中活躍度等于用戶登錄數、用戶提問數、用戶回復數之和。
結合學者網和區塊鏈技術設計并實現的用戶行為數據存儲及積分管理,具體實驗步驟有五步。
(1)提取該課程所有選課學生信息,保存為json數據格式。運用智能合約根據用戶個人信息,創建區塊鏈賬號,獲得密鑰信息,并更新學者網本地數據庫用戶表。
(2)運用智能合約按特定時間間隔批量提取用戶行為數據,調用獲取用戶行為信息的接口實現有效的用戶行為信息抽取。根據提取出的用戶行為類型,完成積分數目及積分類型的計算。
(3)用戶區塊鏈賬號調用設置metadata接口,按照特定行為的組織形式,提交序列化交易,完成個人用戶行為數據的存儲。
(4)創世賬號作為資產轉移的發送方,根據步驟(2)中計算得到的積分數目及積分類型,向發生特定行為的區塊鏈賬號發送積分。
(5)開發區塊鏈瀏覽器,首頁面實時顯示最新區塊信息,如圖7所示。頁面還提供交易信息、區塊鏈賬戶信息查詢。
本文開發的區塊鏈瀏覽器實現了區塊信息查詢功能。基于Hash的查詢,可以細分為創建賬號、發行資產、轉移資產、設置metadata四個交易查詢?;谫~號的查詢,可返回該賬戶地址、交易總數、元數據組及資產列表等信息?;趨^塊頭的查詢,就可以返回區塊號、當前區塊高度、上一個區塊Hash地址及生成時間等信息。學者網學者提問行為切圖如8所示。
通過區塊鏈瀏覽器根據林茂森學者的區塊鏈賬號查詢到的結果如圖9所示。由圖9可知,該名學者發生的行為數據以“用戶發生行為時間,用戶發生行為數據信息”為鍵值對存儲于該用戶對應區塊鏈賬號的元數據組中,學者所獲積分信息存儲于對應區塊鏈賬號的資產列表中,其中每條資產信息包含了資產發起區塊地址、資產類型及資產數量。由于實驗使用單個課程為例,所以,該課程管理者(資產發行方)為創世賬號。故用戶通過查詢區塊鏈賬戶可以查詢到該賬戶所存儲的所有交易總數、元數據組及資產列表。
實驗表明,這種運用區塊鏈技術進行數據管理和積分管理的應用方案可以有效保障學者網數據的安全性。與此同時,通過區塊鏈技術實現了用戶行為的時刻監聽和追溯,有效地約束用戶行為,提高了課程內的交互質量和效率。將學者網活動積分轉成鏈上存儲,可以保證積分的公平發放,有效地保障了用戶的權益,提高用戶參與學者網的積極性。在多方交互過程中,各方通過區塊鏈訪問學者行為及積分數據,節省了第三方介入造成的成本開銷,提高了多方交互的效率。
4? 結束語
在當下高速發展且錯綜復雜的社會環境中,降低多方交互成本,提高交互效率與數據存儲安全是學者網這類中心化存儲模式下應用場景未來面臨的重要挑戰。本文結合學者網運用區塊鏈技術進行了去中心化的簡單應用。實驗表明,通過鏈上存儲數據信息,有效地保障了數據信息的安全性及透明度,減少了多方交互過程產生的中間成本,提升了交互效率的同時解決了信任問題保障用戶權益。另一方面,運用區塊鏈技術輔助學者網課程管理,有利于課程管理者監管和追溯用戶行為的同時提高用戶參與度,有利于學者網應用的進一步推廣,達到互利共贏的效果。但是,目前該應用僅運用學者網的課程管理進行了簡單的去中心化應用,未來可嘗試推廣到更多應用場景。
基金項目:
1. 國家自然科學基金廣東大數據中心項目重點項目(項目編號:U1811263);
2. 國家自然科學基金面上項目(項目編號:61772211)。
參考文獻
[1] 邵奇峰,金澈清,張召,錢衛寧,周傲英.區塊鏈技術:架構及進展[J].計算機學報,2018,41(05):969-988.
[2] 李丁丁,劉海,湯庸,陳啟買,陳凌瀟.基于協同理念的教學科研服務平臺—學者網的實踐探索[J].計算機教育,2018(07):114-117.
[3] 何蒲,于戈,張巖峰,鮑玉斌.區塊鏈技術與應用前瞻綜述[J].計算機科學,2017,44(04):1-7+15.
[4] Nakamoto S. Bitcoin: A peer-to-peer electronic cash system. White Paper, 2008.
[5] Zheng Z , Xie S , Dai H , et al. An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends[C]// 2017 IEEE International Congress on Big Data (BigData Congress). IEEE, 2017.
[6] Yang D , Zhao X , Xu Z , et al. Developing Status and Prospect Analysis of Blockchain in Energy Internet[J]. Zhongguo Dianji Gongcheng Xuebao/Proceedings of the Chinese Society of Electrical Engineering, 2017, 37(13):3664-3671.
[7] 周鄴飛.區塊鏈核心技術演進之路—共識機制演進(1)[J].計算機教育,2017(04):155-158.
[8] Gervais A, Karame G O, Glykantzis V, et al. On the Security and Performance of Proof of Work Blockchains[C]// Acm Sigsac Conference on Computer & Communications Security. 2016.
[9] Vukoli? M. The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication[M]// Open Problems in Network Security. 2015.
[10] Singh S, Singh N. Blockchain: Future of financial and cyber security[C]// International Conference on Contemporary Computing & Informatics. 2017.
[11] Shoker, Ali. [IEEE 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA) - Cambridge, MA, USA (2017.10.30-2017.11.1)] 2017 IEEE 16th International Symposium on Network Computing and Applications (NCA) - Sustainable blockchain through proof of exercise[C]// IEEE International Symposium on Network Computing & Applications. IEEE Computer Society, 2017:1-9.
[12] Li W, Andreina S, Bohli J M, et al. Securing Proof-of-Stake Blockchain Protocols[J]. 2017.
[13] 劉敖迪,杜學繪,王娜,李少卓.區塊鏈技術及其在信息安全領域的研究進展[J].軟件學報,2018,29(07):2092-2115.
[14] Luo Y, Chen Y, Chen Q, et al. A New Election Algorithm for DPos Consensus Mechanism in Blockchain[C]// 2018 7th International Conference on Digital Home (ICDH). 2019.
[15] Yin M, Malkhi D, Reiter M K, et al. HotStuff: BFT Consensus in the Lens of Blockchain[J]. 2018.
[16] 朱巖,甘國華,鄧迪,姬菲菲,陳愛平.區塊鏈關鍵技術中的安全性研究[J].信息安全研究,2016,2(12):1090-1097.
[17] Yuan Y, Wang F Y. Blockchain: The State of the Art and Future Trends[J]. Acta Automatica Sinica, 2016.
[18] Watanabe H, Fujimura S, Nakadaira A, et al. Blockchain contract: Securing a blockchain applied to smart contracts[C]// IEEE International Conference on Consumer Electronics. 2016.
[19] Lauslahti K, Mattila J, Seppala T. Smart Contracts – How Will Blockchain Technology Affect Contractual Practices?[J]. Social Science Electronic Publishing, 2018(57).
[20] Lian Y, Tsai W T, Li G, et al. Smart-Contract Execution with Concurrent Block Building[C]// Service-oriented System Engineering. 2017.
[21] Luu L, Chu D H, Olickel H, et al. Making Smart Contracts Smarter[C]// Acm Sigsac Conference on Computer & Communications Security. 2016.