吳嘉婧 黃寶瑩 李全忠
[摘 要] 近年來,區塊鏈技術受到國家和社會的廣泛關注,被列為“十四五”規劃七大數字經濟重點產業之一。目前,我國區塊鏈技術的發展屬于初級階段,缺乏原創的基礎算法、共識機制等核心技術。針對計算機專業的學生對這一新興技術的濃厚興趣,以及國家發展相關應用的迫切需要,區塊鏈技術課程結合密碼學等多門學科知識,探討了如何在本科階段開展區塊鏈原理與技術的教學,引導學生進行相關應用的開發實踐,并取得了較好的效果,為培養區塊鏈技術人才起到了一定的參考作用。
[關鍵詞] 區塊鏈原理與技術;本科教學;計算機專業;教學實踐
[基金項目] 2020—2023年國家自然科學基金項目“通信—電力相依網絡彈性過程的建模、分析與優化”(61973325);2022年度中山大學本科教學質量與教學改革工程項目“面向計算機專業的區塊鏈技術本科教學設計與實踐”(67000-12220011)
[作者簡介] 吳嘉婧(1989—),女,江西吉安人,博士,中山大學計算機學院副教授,博士生導師,主要從事區塊鏈和圖挖掘技術研究;黃寶瑩(1999—),女,廣東茂名人,中山大學計算機學院2021級計算機技術專業碩士研究生,研究方向為區塊鏈;李全忠(1984—),男,廣東茂名人,博士,中山大學計算機學院副教授(通信作者),主要從事無線通信研究。
[中圖分類號] G642.0 [文獻標識碼] A [文章編號] 1674-9324(2023)07-0081-04[收稿日期] 2022-05-11
引言
區塊鏈是一種分布式賬本技術,具有去中心化、匿名性、不可篡改、數據可追溯等特點。2009年比特幣誕生,基于比特幣技術的思想而延伸拓展的區塊鏈技術得到了蓬勃發展,并在各行各業發揮著重要作用。
具體來說,區塊鏈利用塊鏈式數據結構驗證和存儲數據,使用分布式節點公式算法生成和更新數據。除此之外,區塊鏈還通過智能合約提供相應的服務,不依賴于第三方。智能合約是一段存儲于區塊鏈上的代碼,它能夠根據被調用的函數自動執行,實現各種復雜邏輯。在交易結算速度方面,區塊鏈比傳統的金融交易更快。因為區塊鏈上的交易利用了多個節點共同維護的可信任賬本,無須通過銀行系統的層層審查,這種點對點的直接交易模式大大提高了區塊鏈的交易速度。同時,由于區塊鏈生成區塊需要一定的工作量,而且區塊要經過所有節點的驗證才能加入鏈上,所以惡意篡改區塊數據幾乎是不可能的。更重要的是,區塊鏈數據是對所有人公開的,除了用戶個人的私鑰等隱私信息外,每個人都可以查詢區塊鏈上的交易信息,實現交易流程完全透明化。因此,區塊鏈技術能夠滿足我們對不可篡改、可擴展性等需求,可以有效解決網絡空間的信任和安全問題。
習近平總書記在十九屆中央政治局第十八次集體學習時強調,區塊鏈技術的集成應用在新的技術革新和產業變革中起著重要作用,加快推動區塊鏈技術和產業創新發展[1]。美國、日本和歐盟中的一些國家與地區在積極推動區塊鏈技術的研發和應用推廣。區塊鏈作為一種數字技術,有助于促進我國數字經濟的發展,而且它與其他技術融合創新,還能夠推動產業數字化的深度轉型升級[2]。雖然區塊鏈在我國各個領域都有應用落地,但核心技術創新、底層平臺開發等仍落后于其他國家,大多數應用依賴于國外的開源項目。“十四五”規劃要在區塊鏈的技術、平臺、應用和監管四大方面進行創新,加快數字中國的建設步伐,助推社會主義現代化建設。
為了培養區塊鏈技術的后備人才,近年來,清華大學、復旦大學等高校開設了區塊鏈課程。與其他計算機專業課程不同,區塊鏈課程涉及分布式計算、密碼學等學科的原理,對學生的基礎知識掌握情況有較高的要求[3-4]。因此,本文總結了對計算機專業本科生進行區塊鏈技術教學時面臨的困難,通過采用課堂講授、實踐輔助、專題研學相結合的方式,設計了相應的教學方案。
一、區塊鏈技術教學面臨的問題
(一)區塊鏈課程教學資源較少
一方面,雖然區塊鏈技術的誕生已有14年了,但是相關研究是近幾年才開始興起的,而且我國自主發展區塊鏈技術的起步時間相對較晚,雖然已經出現了派盾、成都鏈安等嶄露頭角的區塊鏈安全公司,但其體量較小,創新能力不高,與國外的Etherscan、Coinbase等企業仍有很大的差距。另一方面,與其他人工智能、計算機視覺等計算機前沿領域相比,我國研究區塊鏈技術的高校和研究所相對較少,課程發展時間短,直到2017年才有高校開設了區塊鏈課程。另外,研究人員的數量和成果產出也都處于不足的狀態,自主研發的區塊鏈算法和技術寥寥無幾。總的來說,目前國內缺乏比較全面、完整的區塊鏈研究體系,導致區塊鏈技術人才培養缺乏相應的教學資源。
當前,知識豐富、內容質量較好的區塊鏈原理和技術書籍,大多是由國外的高?;蜓芯繄F隊編纂,但是學生在閱讀英文版教材方面存在一定的困難。雖然最近國內也出現了一大批介紹區塊鏈的網課和書籍,但質量參差不齊,大多是圍繞加密貨幣進行說明,過于強調區塊鏈技術在金融方面的應用,而忽略了它在計算機專業方面涉及的原理,如加密算法、博弈論等。這些都不適合作為計算機專業本科課程的教材。
(二)學生缺乏必要的基礎知識
區塊鏈是一種跨學科的產物,它涉及的學科種類繁多,包括密碼學、數據機構、分布式系統與存儲、信息安全等。密碼學是一門研究如何隱秘地傳遞信息的學科,常被認為是數學和計算機科學的分支,和信息論密切相關。在區塊鏈中,哈希算法和非對稱加密算法是必備的兩種加密算法,它們可以保證數據的不可篡改性。區塊鏈的本質是分布式數據庫,它的數據結構類似單向鏈表,使用了梅克爾樹進行數據存儲。除此之外,分布式系統也是區塊鏈技術中的重要一環,每個參與系統的節點只要根據共識機制,達到工作量的要求,便能取得數據庫的記賬權,且記錄可以追溯查詢。然而,在面向計算機專業本科生開設區塊鏈技術課程時,學生通常沒有全部學習過以上所提及的相關課程,因此對一些加密算法、分布式計算的基本概念的掌握不足,難以理解區塊鏈的整個運行過程。這不僅會使學生學得吃力,無法跟上教師的課堂節奏,還會進一步讓他們對學習產生畏難情緒,導致課程的教學效果不佳。因此,教師要因材施教,選擇合適高效的教學方式,從而激發學生的學習積極性,提高教學效果。
(三)課程聯系區塊鏈應用困難
“紙上得來終覺淺,絕知此事要躬行。”(宋·陸游《冬夜讀書示子聿》)學生只有把理論知識轉化為實踐,在實際操作中加深對所見所學的理解,才能真正掌握一門學科。傳統的計算機課程往往配備了相應的實驗課,比如計算機網絡、數字電路與技術等。目前,在高校的教學方案中,區塊鏈一般只設理論知識的傳授,沒有安排配套的實驗課程,而且一般是作為專業選修課開展。歸根結底,高校區塊鏈實驗課程難以開展的原因包括實驗課教材少、合適的實驗教學平臺少。參與區塊鏈公鏈活動需要花費一定的加密貨幣,這對教學活動來說花費過高。但是,如果只是以傳統的方式教育學生學習理論知識,往往會降低學生的學習興趣,難以真實體驗區塊鏈技術的應用場景和發展潛力。因此,我們希望找到一個可以搭建聯盟鏈或私有鏈的平臺,用于開展各種教學活動。同時,從國內市場來看,區塊鏈應用存在數量少、范圍小的問題。雖然早在2018年,由深圳市稅務局主導、騰訊提供底層技術和能力的全國首張區塊鏈電子發票在深圳開出。但與傳統的計算機應用相比,區塊鏈在國內的衍生產品比較少,而且其應用沒有達到廣泛普及。學生對區塊鏈的印象仍停留在比特幣、以太坊等加密貨幣上,對新技術缺乏足夠的了解。因此,如何克服課程難以聯系區塊鏈實際應用的困難,是本課程要解決的重點問題。
二、教學設計和方案實踐
針對區塊鏈技術教學所面臨的困難,“區塊鏈原理與技術”課程從課堂講授、實踐輔助、專題研學三個方面入手,提出了相應的教學措施,并在本科生課堂中進行了實踐。
(一)課堂講授
對于“區塊鏈原理與技術”課程,學生只有掌握了區塊鏈的基礎知識,才能為以后做科研打下堅實的基礎。本課程選取了中山大學區塊鏈與智能金融研究中心最新編寫的《區塊鏈原理與技術》作為參考教材,講授區塊鏈的基本概念,詳解以比特幣和以太坊為代表的區塊鏈技術。這兩種技術是目前區塊鏈上最為成熟、生態最為活躍的加密貨幣,以它們作為基礎展開對區塊鏈技術的教學,將會激發學生的求知欲。本課程采取了循序漸進的教學方式,先從底層的密碼學基礎和數據結構開始,再介紹區塊鏈成為去中心化技術所憑借的重要手段——共識機制。除此之外,筆者還介紹了區塊鏈的挖礦和分叉原理,讓學生可以了解區塊鏈的持續運作,以及用戶多的原因。在這部分,筆者還介紹了區塊鏈存在的一些問題,如法律法規的完善、漏洞攻擊和隱私保護等。
筆者在教學過程中,盡量將煩瑣的原理轉化為生動的流程圖,用生活中的事物類比說明。比如,在介紹以太坊的智能合約時,以飲料自動售賣機為例:智能合約的觸發事件好比買飲料時的投幣操作;合約程序的自動執行,其實是售賣機按步驟提供顧客所需的飲料的過程,整個過程不依賴于第三方,而且彼此信任。這種方法可以令課堂更具趣味性,也利于學生理解區塊鏈的各種知識點,避免了學生因畏難情緒產生消極的學習態度。
(二)實踐輔助
作為計算機專業的課程,區塊鏈在國內的教學實驗平臺較少,因此只有少數高校開設了實驗課。為了使學生進一步理解區塊鏈在各行業中的應用需求,培養學生的區塊鏈思維,“區塊鏈原理與技術”課程與微眾銀行合作,進行了三次開發課程的講授,并且以期末大作業的形式,促使學生參與實踐開發,自主設計和使用區塊鏈技術解決實際應用中的問題。實驗使用了微眾銀行提供的基于區塊鏈的供應鏈金融平臺——FISCO BCOS進行開發。FISCO BCOS平臺是國內龐大且活躍的開源社區,該平臺已成功支持政務、金融、農業、公益、文娛、供應鏈、物聯網等重點應用領域的數百個區塊鏈應用場景的落地。在實踐課中,首先,筆者邀請了微眾銀行的專家進行線下授課,給學生介紹了FISCO BCOS的使用文檔,主要內容為鏈的部署、智能合約的開發基礎等。其次,筆者展示了一些區塊鏈在生活中的應用實例,旨在啟發學生深入思考和設計。最后,收集了一百多位學生的區塊鏈作品,整體完成效果較好。通過這次實踐作業,學生初步掌握了區塊鏈的開發技術,獨立完成了需求分析、功能設計、代碼開發的一系列應用開發步驟,并切身體會到區塊鏈在未來各行各業中的發展潛力。學生紛紛對這次實踐教學給予了較高的評價,部分學生也挖掘了自己在區塊鏈開發方向的興趣,進入FISCO BCOS平臺實習。
(三)專題研學
為了解決學生基礎知識薄弱的問題,筆者在課前分享部分先導課程的技術論文和博客,以便更好地開展課堂教學。另外,“區塊鏈原理與技術”課程的教學目標之一是使學生了解區塊鏈的前沿理論和研究成果,啟發學生的科研能力。因此,筆者選取了部分區塊鏈領域的學術論文,包括加密貨幣、數據分析與反欺詐、攻擊與防治、區塊鏈與物聯網等專題,帶領學生對區塊鏈技術進行深入挖掘和探索。例如,陳偉利等人[5]發現Mt. Gox交易所存在嚴重的市場操縱行為,認為加密貨幣市場必須加強監管。吳嘉靖[6]的工作則通過網絡嵌入解決了以太坊平臺釣魚詐騙檢測的問題,為以太坊社區的良好發展提供了幫助。為了進一步調動學生參與教學活動的積極性,筆者讓學生自由結組,每組4~5人,各選一篇區塊鏈論文加以精讀和討論。筆者提供的論文涉及區塊鏈底層架構、智能合約、數據挖掘等前沿問題。在學期最后幾周的課堂上,各組通過制作的PPT來分享論文內容和個人見解,并通過問答環節與其他同學進行交流。學生通過學習文獻和匯報交流,對區塊鏈的發展現狀和存在的不足有了更深的體會,比如,區塊鏈各個層面的安全問題等。此外,筆者布置了一些閱讀筆記和課后思考作業,這有助于學生開拓研究思路,積累一定的科研基礎知識,為以后的區塊鏈學術研究或開發工作打好基礎。
區塊鏈技術作為一門新興技術,越來越受到學界與工業界的關注。建設區塊鏈工程課程,是主動應對新一輪科技革命和產業變革對地方高校人才培養的機遇與挑戰,是服務國家及區域產業發展戰略的重要舉措。本文先從高校區塊鏈課程的開展現狀出發,分析了在當前教學過程中遇到的教學資源少、學生基礎知識薄弱等困難,然后基于這些教學困難,采用了課堂講授、實踐輔助、專題研學相結合的方式,詳盡地闡明了本課程的教學實踐過程。自2018年面向本科生開設本課程以來,累計課堂學習人數超過1 000人,覆蓋軟件工程、保密管理、計算機科學與技術等專業,深受學生的好評。同時,學生的出勤率較高,積極參與課堂互動,也在實際的開發和科研中靈活運用了課堂上學到的相關知識。筆者認為,本文所總結的教學方案具有一定的積極效果,能夠為其他高校開設區塊鏈專業課程提供借鑒。
參考文獻
[1]以理論突破推動區塊鏈核心技術自主創新[EB/OL].(2019-11-11)[2022-04-16].http://www.qstheory.cn/dukan/hqwg/2019-11/11/c_1125217541.htm.
[2]劉權,劉宗媛,周澤宇,等.“十四五”時期中國區塊鏈發展重點及趨勢[J].科技與金融,2021(6):7-12.
[3]陳思捷,王浩然,嚴正,等.區塊鏈價值思辨:應用方向與邊界[J].中國電機工程學報,2020,40(7):
2123-2132+2392.
[4]祁潔.計算機基礎課程中的教學設計案例分析[J].
電子技術,2022,51(3):238-239.
[5]CHEN W , WU J , ZHENG Z , et al. Market Manipulation of Bitcoin: Evidence from Mining the Mt. Gox Transaction Network[C]//Proceedings of the 2019 IEEE Conference on Computer Communications, 2019: 964-972.
[6]WU J,YUAN Q, LIN D,et al.Who Are the Phishers? Phishing Scam Detection on Ethereum via Network Embedding[J].IEEE Transactions on Systems, Man, and Cybernetics:Systems, 2022, 52(2):1156-1166.
Teaching Design and Practice of Undergraduate Courses on Blockchain Technology
for Computer Majors
WU Jia-jing, HUANG Bao-ying, LI Quan-zhong
(School of Computer Science and Engineering, SunYat-sen University, Guangzhou,
Guangdong 510006, China)
Abstract: In recent years, blockchain technology has received extensive attention from the state and society, and it has also been listed as one of the seven key industries of the digital economy during the 14th Five-Year period. At present, the development of blockchain technology in China is still in the initial stage, lacking original basic algorithms, consensus mechanisms and other core technologies. In view of the strong interest of computer students in this emerging technology and the urgent needs of national development related applications, this course combines the knowledge of cryptography, information security and other disciplines to discuss how to develop the principles and technologies of blockchain at the undergraduate level. The teaching guides students to develop and practice related applications, and has achieved good results, providing a certain reference for cultivating blockchain technical talents.
Key words: principles and technology of blockchain; undergraduate teaching; computer major; teaching practice