吳嘉婧 黃寶瑩 李全忠
[摘 要] 近年來,區(qū)塊鏈技術受到國家和社會的廣泛關注,被列為“十四五”規(guī)劃七大數(shù)字經(jīng)濟重點產(chǎn)業(yè)之一。目前,我國區(qū)塊鏈技術的發(fā)展屬于初級階段,缺乏原創(chuàng)的基礎算法、共識機制等核心技術。針對計算機專業(yè)的學生對這一新興技術的濃厚興趣,以及國家發(fā)展相關應用的迫切需要,區(qū)塊鏈技術課程結合密碼學等多門學科知識,探討了如何在本科階段開展區(qū)塊鏈原理與技術的教學,引導學生進行相關應用的開發(fā)實踐,并取得了較好的效果,為培養(yǎng)區(qū)塊鏈技術人才起到了一定的參考作用。
[關鍵詞] 區(qū)塊鏈原理與技術;本科教學;計算機專業(yè);教學實踐
[基金項目] 2020—2023年國家自然科學基金項目“通信—電力相依網(wǎng)絡彈性過程的建模、分析與優(yōu)化”(61973325);2022年度中山大學本科教學質(zhì)量與教學改革工程項目“面向計算機專業(yè)的區(qū)塊鏈技術本科教學設計與實踐”(67000-12220011)
[作者簡介] 吳嘉婧(1989—),女,江西吉安人,博士,中山大學計算機學院副教授,博士生導師,主要從事區(qū)塊鏈和圖挖掘技術研究;黃寶瑩(1999—),女,廣東茂名人,中山大學計算機學院2021級計算機技術專業(yè)碩士研究生,研究方向為區(qū)塊鏈;李全忠(1984—),男,廣東茂名人,博士,中山大學計算機學院副教授(通信作者),主要從事無線通信研究。
[中圖分類號] G642.0 [文獻標識碼] A [文章編號] 1674-9324(2023)07-0081-04[收稿日期] 2022-05-11
引言
區(qū)塊鏈是一種分布式賬本技術,具有去中心化、匿名性、不可篡改、數(shù)據(jù)可追溯等特點。2009年比特幣誕生,基于比特幣技術的思想而延伸拓展的區(qū)塊鏈技術得到了蓬勃發(fā)展,并在各行各業(yè)發(fā)揮著重要作用。
具體來說,區(qū)塊鏈利用塊鏈式數(shù)據(jù)結構驗證和存儲數(shù)據(jù),使用分布式節(jié)點公式算法生成和更新數(shù)據(jù)。除此之外,區(qū)塊鏈還通過智能合約提供相應的服務,不依賴于第三方。智能合約是一段存儲于區(qū)塊鏈上的代碼,它能夠根據(jù)被調(diào)用的函數(shù)自動執(zhí)行,實現(xiàn)各種復雜邏輯。在交易結算速度方面,區(qū)塊鏈比傳統(tǒng)的金融交易更快。因為區(qū)塊鏈上的交易利用了多個節(jié)點共同維護的可信任賬本,無須通過銀行系統(tǒng)的層層審查,這種點對點的直接交易模式大大提高了區(qū)塊鏈的交易速度。同時,由于區(qū)塊鏈生成區(qū)塊需要一定的工作量,而且區(qū)塊要經(jīng)過所有節(jié)點的驗證才能加入鏈上,所以惡意篡改區(qū)塊數(shù)據(jù)幾乎是不可能的。更重要的是,區(qū)塊鏈數(shù)據(jù)是對所有人公開的,除了用戶個人的私鑰等隱私信息外,每個人都可以查詢區(qū)塊鏈上的交易信息,實現(xiàn)交易流程完全透明化。因此,區(qū)塊鏈技術能夠滿足我們對不可篡改、可擴展性等需求,可以有效解決網(wǎng)絡空間的信任和安全問題。
習近平總書記在十九屆中央政治局第十八次集體學習時強調(diào),區(qū)塊鏈技術的集成應用在新的技術革新和產(chǎn)業(yè)變革中起著重要作用,加快推動區(qū)塊鏈技術和產(chǎn)業(yè)創(chuàng)新發(fā)展[1]。美國、日本和歐盟中的一些國家與地區(qū)在積極推動區(qū)塊鏈技術的研發(fā)和應用推廣。區(qū)塊鏈作為一種數(shù)字技術,有助于促進我國數(shù)字經(jīng)濟的發(fā)展,而且它與其他技術融合創(chuàng)新,還能夠推動產(chǎn)業(yè)數(shù)字化的深度轉(zhuǎn)型升級[2]。雖然區(qū)塊鏈在我國各個領域都有應用落地,但核心技術創(chuàng)新、底層平臺開發(fā)等仍落后于其他國家,大多數(shù)應用依賴于國外的開源項目。“十四五”規(guī)劃要在區(qū)塊鏈的技術、平臺、應用和監(jiān)管四大方面進行創(chuàng)新,加快數(shù)字中國的建設步伐,助推社會主義現(xiàn)代化建設。
為了培養(yǎng)區(qū)塊鏈技術的后備人才,近年來,清華大學、復旦大學等高校開設了區(qū)塊鏈課程。與其他計算機專業(yè)課程不同,區(qū)塊鏈課程涉及分布式計算、密碼學等學科的原理,對學生的基礎知識掌握情況有較高的要求[3-4]。因此,本文總結了對計算機專業(yè)本科生進行區(qū)塊鏈技術教學時面臨的困難,通過采用課堂講授、實踐輔助、專題研學相結合的方式,設計了相應的教學方案。
一、區(qū)塊鏈技術教學面臨的問題
(一)區(qū)塊鏈課程教學資源較少
一方面,雖然區(qū)塊鏈技術的誕生已有14年了,但是相關研究是近幾年才開始興起的,而且我國自主發(fā)展區(qū)塊鏈技術的起步時間相對較晚,雖然已經(jīng)出現(xiàn)了派盾、成都鏈安等嶄露頭角的區(qū)塊鏈安全公司,但其體量較小,創(chuàng)新能力不高,與國外的Etherscan、Coinbase等企業(yè)仍有很大的差距。另一方面,與其他人工智能、計算機視覺等計算機前沿領域相比,我國研究區(qū)塊鏈技術的高校和研究所相對較少,課程發(fā)展時間短,直到2017年才有高校開設了區(qū)塊鏈課程。另外,研究人員的數(shù)量和成果產(chǎn)出也都處于不足的狀態(tài),自主研發(fā)的區(qū)塊鏈算法和技術寥寥無幾。總的來說,目前國內(nèi)缺乏比較全面、完整的區(qū)塊鏈研究體系,導致區(qū)塊鏈技術人才培養(yǎng)缺乏相應的教學資源。
當前,知識豐富、內(nèi)容質(zhì)量較好的區(qū)塊鏈原理和技術書籍,大多是由國外的高?;蜓芯繄F隊編纂,但是學生在閱讀英文版教材方面存在一定的困難。雖然最近國內(nèi)也出現(xiàn)了一大批介紹區(qū)塊鏈的網(wǎng)課和書籍,但質(zhì)量參差不齊,大多是圍繞加密貨幣進行說明,過于強調(diào)區(qū)塊鏈技術在金融方面的應用,而忽略了它在計算機專業(yè)方面涉及的原理,如加密算法、博弈論等。這些都不適合作為計算機專業(yè)本科課程的教材。
(二)學生缺乏必要的基礎知識
區(qū)塊鏈是一種跨學科的產(chǎn)物,它涉及的學科種類繁多,包括密碼學、數(shù)據(jù)機構、分布式系統(tǒng)與存儲、信息安全等。密碼學是一門研究如何隱秘地傳遞信息的學科,常被認為是數(shù)學和計算機科學的分支,和信息論密切相關。在區(qū)塊鏈中,哈希算法和非對稱加密算法是必備的兩種加密算法,它們可以保證數(shù)據(jù)的不可篡改性。區(qū)塊鏈的本質(zhì)是分布式數(shù)據(jù)庫,它的數(shù)據(jù)結構類似單向鏈表,使用了梅克爾樹進行數(shù)據(jù)存儲。除此之外,分布式系統(tǒng)也是區(qū)塊鏈技術中的重要一環(huán),每個參與系統(tǒng)的節(jié)點只要根據(jù)共識機制,達到工作量的要求,便能取得數(shù)據(jù)庫的記賬權,且記錄可以追溯查詢。然而,在面向計算機專業(yè)本科生開設區(qū)塊鏈技術課程時,學生通常沒有全部學習過以上所提及的相關課程,因此對一些加密算法、分布式計算的基本概念的掌握不足,難以理解區(qū)塊鏈的整個運行過程。這不僅會使學生學得吃力,無法跟上教師的課堂節(jié)奏,還會進一步讓他們對學習產(chǎn)生畏難情緒,導致課程的教學效果不佳。因此,教師要因材施教,選擇合適高效的教學方式,從而激發(fā)學生的學習積極性,提高教學效果。
(三)課程聯(lián)系區(qū)塊鏈應用困難
“紙上得來終覺淺,絕知此事要躬行?!保ㄋ巍り懹巍抖棺x書示子聿》)學生只有把理論知識轉(zhuǎn)化為實踐,在實際操作中加深對所見所學的理解,才能真正掌握一門學科。傳統(tǒng)的計算機課程往往配備了相應的實驗課,比如計算機網(wǎng)絡、數(shù)字電路與技術等。目前,在高校的教學方案中,區(qū)塊鏈一般只設理論知識的傳授,沒有安排配套的實驗課程,而且一般是作為專業(yè)選修課開展。歸根結底,高校區(qū)塊鏈實驗課程難以開展的原因包括實驗課教材少、合適的實驗教學平臺少。參與區(qū)塊鏈公鏈活動需要花費一定的加密貨幣,這對教學活動來說花費過高。但是,如果只是以傳統(tǒng)的方式教育學生學習理論知識,往往會降低學生的學習興趣,難以真實體驗區(qū)塊鏈技術的應用場景和發(fā)展?jié)摿?。因此,我們希望找到一個可以搭建聯(lián)盟鏈或私有鏈的平臺,用于開展各種教學活動。同時,從國內(nèi)市場來看,區(qū)塊鏈應用存在數(shù)量少、范圍小的問題。雖然早在2018年,由深圳市稅務局主導、騰訊提供底層技術和能力的全國首張區(qū)塊鏈電子發(fā)票在深圳開出。但與傳統(tǒng)的計算機應用相比,區(qū)塊鏈在國內(nèi)的衍生產(chǎn)品比較少,而且其應用沒有達到廣泛普及。學生對區(qū)塊鏈的印象仍停留在比特幣、以太坊等加密貨幣上,對新技術缺乏足夠的了解。因此,如何克服課程難以聯(lián)系區(qū)塊鏈實際應用的困難,是本課程要解決的重點問題。
二、教學設計和方案實踐
針對區(qū)塊鏈技術教學所面臨的困難,“區(qū)塊鏈原理與技術”課程從課堂講授、實踐輔助、專題研學三個方面入手,提出了相應的教學措施,并在本科生課堂中進行了實踐。
(一)課堂講授
對于“區(qū)塊鏈原理與技術”課程,學生只有掌握了區(qū)塊鏈的基礎知識,才能為以后做科研打下堅實的基礎。本課程選取了中山大學區(qū)塊鏈與智能金融研究中心最新編寫的《區(qū)塊鏈原理與技術》作為參考教材,講授區(qū)塊鏈的基本概念,詳解以比特幣和以太坊為代表的區(qū)塊鏈技術。這兩種技術是目前區(qū)塊鏈上最為成熟、生態(tài)最為活躍的加密貨幣,以它們作為基礎展開對區(qū)塊鏈技術的教學,將會激發(fā)學生的求知欲。本課程采取了循序漸進的教學方式,先從底層的密碼學基礎和數(shù)據(jù)結構開始,再介紹區(qū)塊鏈成為去中心化技術所憑借的重要手段——共識機制。除此之外,筆者還介紹了區(qū)塊鏈的挖礦和分叉原理,讓學生可以了解區(qū)塊鏈的持續(xù)運作,以及用戶多的原因。在這部分,筆者還介紹了區(qū)塊鏈存在的一些問題,如法律法規(guī)的完善、漏洞攻擊和隱私保護等。
筆者在教學過程中,盡量將煩瑣的原理轉(zhuǎn)化為生動的流程圖,用生活中的事物類比說明。比如,在介紹以太坊的智能合約時,以飲料自動售賣機為例:智能合約的觸發(fā)事件好比買飲料時的投幣操作;合約程序的自動執(zhí)行,其實是售賣機按步驟提供顧客所需的飲料的過程,整個過程不依賴于第三方,而且彼此信任。這種方法可以令課堂更具趣味性,也利于學生理解區(qū)塊鏈的各種知識點,避免了學生因畏難情緒產(chǎn)生消極的學習態(tài)度。
(二)實踐輔助
作為計算機專業(yè)的課程,區(qū)塊鏈在國內(nèi)的教學實驗平臺較少,因此只有少數(shù)高校開設了實驗課。為了使學生進一步理解區(qū)塊鏈在各行業(yè)中的應用需求,培養(yǎng)學生的區(qū)塊鏈思維,“區(qū)塊鏈原理與技術”課程與微眾銀行合作,進行了三次開發(fā)課程的講授,并且以期末大作業(yè)的形式,促使學生參與實踐開發(fā),自主設計和使用區(qū)塊鏈技術解決實際應用中的問題。實驗使用了微眾銀行提供的基于區(qū)塊鏈的供應鏈金融平臺——FISCO BCOS進行開發(fā)。FISCO BCOS平臺是國內(nèi)龐大且活躍的開源社區(qū),該平臺已成功支持政務、金融、農(nóng)業(yè)、公益、文娛、供應鏈、物聯(lián)網(wǎng)等重點應用領域的數(shù)百個區(qū)塊鏈應用場景的落地。在實踐課中,首先,筆者邀請了微眾銀行的專家進行線下授課,給學生介紹了FISCO BCOS的使用文檔,主要內(nèi)容為鏈的部署、智能合約的開發(fā)基礎等。其次,筆者展示了一些區(qū)塊鏈在生活中的應用實例,旨在啟發(fā)學生深入思考和設計。最后,收集了一百多位學生的區(qū)塊鏈作品,整體完成效果較好。通過這次實踐作業(yè),學生初步掌握了區(qū)塊鏈的開發(fā)技術,獨立完成了需求分析、功能設計、代碼開發(fā)的一系列應用開發(fā)步驟,并切身體會到區(qū)塊鏈在未來各行各業(yè)中的發(fā)展?jié)摿?。學生紛紛對這次實踐教學給予了較高的評價,部分學生也挖掘了自己在區(qū)塊鏈開發(fā)方向的興趣,進入FISCO BCOS平臺實習。
(三)專題研學
為了解決學生基礎知識薄弱的問題,筆者在課前分享部分先導課程的技術論文和博客,以便更好地開展課堂教學。另外,“區(qū)塊鏈原理與技術”課程的教學目標之一是使學生了解區(qū)塊鏈的前沿理論和研究成果,啟發(fā)學生的科研能力。因此,筆者選取了部分區(qū)塊鏈領域的學術論文,包括加密貨幣、數(shù)據(jù)分析與反欺詐、攻擊與防治、區(qū)塊鏈與物聯(lián)網(wǎng)等專題,帶領學生對區(qū)塊鏈技術進行深入挖掘和探索。例如,陳偉利等人[5]發(fā)現(xiàn)Mt. Gox交易所存在嚴重的市場操縱行為,認為加密貨幣市場必須加強監(jiān)管。吳嘉靖[6]的工作則通過網(wǎng)絡嵌入解決了以太坊平臺釣魚詐騙檢測的問題,為以太坊社區(qū)的良好發(fā)展提供了幫助。為了進一步調(diào)動學生參與教學活動的積極性,筆者讓學生自由結組,每組4~5人,各選一篇區(qū)塊鏈論文加以精讀和討論。筆者提供的論文涉及區(qū)塊鏈底層架構、智能合約、數(shù)據(jù)挖掘等前沿問題。在學期最后幾周的課堂上,各組通過制作的PPT來分享論文內(nèi)容和個人見解,并通過問答環(huán)節(jié)與其他同學進行交流。學生通過學習文獻和匯報交流,對區(qū)塊鏈的發(fā)展現(xiàn)狀和存在的不足有了更深的體會,比如,區(qū)塊鏈各個層面的安全問題等。此外,筆者布置了一些閱讀筆記和課后思考作業(yè),這有助于學生開拓研究思路,積累一定的科研基礎知識,為以后的區(qū)塊鏈學術研究或開發(fā)工作打好基礎。
區(qū)塊鏈技術作為一門新興技術,越來越受到學界與工業(yè)界的關注。建設區(qū)塊鏈工程課程,是主動應對新一輪科技革命和產(chǎn)業(yè)變革對地方高校人才培養(yǎng)的機遇與挑戰(zhàn),是服務國家及區(qū)域產(chǎn)業(yè)發(fā)展戰(zhàn)略的重要舉措。本文先從高校區(qū)塊鏈課程的開展現(xiàn)狀出發(fā),分析了在當前教學過程中遇到的教學資源少、學生基礎知識薄弱等困難,然后基于這些教學困難,采用了課堂講授、實踐輔助、專題研學相結合的方式,詳盡地闡明了本課程的教學實踐過程。自2018年面向本科生開設本課程以來,累計課堂學習人數(shù)超過1 000人,覆蓋軟件工程、保密管理、計算機科學與技術等專業(yè),深受學生的好評。同時,學生的出勤率較高,積極參與課堂互動,也在實際的開發(fā)和科研中靈活運用了課堂上學到的相關知識。筆者認為,本文所總結的教學方案具有一定的積極效果,能夠為其他高校開設區(qū)塊鏈專業(yè)課程提供借鑒。
參考文獻
[1]以理論突破推動區(qū)塊鏈核心技術自主創(chuàng)新[EB/OL].(2019-11-11)[2022-04-16].http://www.qstheory.cn/dukan/hqwg/2019-11/11/c_1125217541.htm.
[2]劉權,劉宗媛,周澤宇,等.“十四五”時期中國區(qū)塊鏈發(fā)展重點及趨勢[J].科技與金融,2021(6):7-12.
[3]陳思捷,王浩然,嚴正,等.區(qū)塊鏈價值思辨:應用方向與邊界[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