国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

區(qū)塊鏈中密碼技術(shù)的案例化教學(xué)設(shè)計(jì)

2023-11-10 02:15:12張艷碩李澤昊
關(guān)鍵詞:數(shù)字簽名公鑰哈希

張艷碩 李澤昊 陳 穎

北京電子科技學(xué)院,北京市 100070

1 引言

區(qū)塊鏈[1]是建立在互聯(lián)網(wǎng)之上一個(gè)點(diǎn)對(duì)點(diǎn)的公共賬本,由區(qū)塊鏈網(wǎng)絡(luò)的參與者按照共識(shí)算法規(guī)則共同添加、核驗(yàn)、認(rèn)定賬本數(shù)據(jù)。 區(qū)塊鏈在當(dāng)下信息技術(shù)高速發(fā)展的背景下,用于多個(gè)場(chǎng)景、領(lǐng)域具有廣闊的應(yīng)用場(chǎng)景,能解決多行業(yè)、多領(lǐng)域痛點(diǎn),進(jìn)一步提升生產(chǎn)效率,具有很強(qiáng)的重要性和時(shí)代性。 區(qū)塊鏈的本質(zhì)[2]是一種加密數(shù)據(jù)結(jié)構(gòu),是一種基于多種密碼技術(shù)的全新技術(shù),涉及數(shù)學(xué)、密碼學(xué)、互聯(lián)網(wǎng)和計(jì)算機(jī)編程等很多科學(xué)技術(shù)問(wèn)題。

密碼學(xué)是區(qū)塊鏈的核心技術(shù)。 區(qū)塊鏈中包含的哈希算法、數(shù)字簽名、密碼協(xié)議等,都是密碼學(xué)研究的核心內(nèi)容。 研究對(duì)于區(qū)塊鏈中密碼技術(shù)的教學(xué),有助于讓更多學(xué)生更好地學(xué)習(xí)區(qū)塊鏈與相關(guān)的密碼技術(shù),對(duì)于培養(yǎng)區(qū)塊鏈和密碼學(xué)有關(guān)人才有著重要的作用。

當(dāng)下,區(qū)塊鏈中密碼技術(shù)的相關(guān)教學(xué)在區(qū)塊鏈不斷取得應(yīng)用和突破的背景下,具有越來(lái)越高的重要性,然而當(dāng)前對(duì)于區(qū)塊鏈中密碼技術(shù)的相關(guān)教學(xué)方案卻相對(duì)不足,缺乏案例化的教學(xué)實(shí)踐方案。

因此,對(duì)區(qū)塊鏈中的密碼技術(shù)進(jìn)行相對(duì)體系化的案例化教學(xué)設(shè)計(jì)能夠加強(qiáng)區(qū)塊鏈有關(guān)知識(shí)的教學(xué),讓更多不同層次的學(xué)生(特別是信息安全和密碼領(lǐng)域)了解區(qū)塊鏈的核心密碼技術(shù),有著重要的意義,也能為專業(yè)建設(shè)服務(wù)。 本文對(duì)現(xiàn)有區(qū)塊鏈中密碼技術(shù)給出案例化教學(xué)設(shè)計(jì)思路,隨后分別對(duì)區(qū)塊鏈中的哈希算法、數(shù)字簽名和密碼協(xié)議給出相關(guān)案例化教學(xué)方案。

2 區(qū)塊鏈中密碼技術(shù)的常見(jiàn)教學(xué)方法

區(qū)塊鏈中密碼技術(shù)當(dāng)前的典型教學(xué)多采取非案例化或不完全案例化的方式,是目前最廣泛使用的教學(xué)形式,當(dāng)下在各類課堂中被普遍采用。 當(dāng)前區(qū)塊鏈中密碼技術(shù)的典型教學(xué)方法一般從區(qū)塊鏈本身的概念入手,對(duì)其中涉及的密碼算法進(jìn)行簡(jiǎn)要介紹,能夠一定程度上達(dá)到教學(xué)效果,但在教學(xué)過(guò)程中也一定程度上存在不夠細(xì)致、針對(duì)性不夠強(qiáng)的問(wèn)題。 因此,可以通過(guò)漸進(jìn)式案例化教學(xué)[3]的方式,改進(jìn)當(dāng)前的區(qū)塊鏈密碼技術(shù)教學(xué)方法,提升教學(xué)質(zhì)量。

2.1 常見(jiàn)方法

區(qū)塊鏈中密碼技術(shù)的常見(jiàn)教學(xué)方法一般在涉及區(qū)塊鏈的相關(guān)課程中體現(xiàn)。 常見(jiàn)教學(xué)一般是從區(qū)塊鏈的定義和相關(guān)結(jié)構(gòu)入手,先為學(xué)生介紹區(qū)塊鏈的相關(guān)知識(shí),如區(qū)塊鏈的定義、結(jié)構(gòu)、性質(zhì),然后對(duì)其中涉及較多的密碼技術(shù)進(jìn)行介紹。

常見(jiàn)的教學(xué)案例一般是涉及區(qū)塊鏈內(nèi)容的教學(xué)。 教學(xué)時(shí),首先講解區(qū)塊鏈的基本知識(shí),從區(qū)塊鏈的應(yīng)用切入,引發(fā)學(xué)生學(xué)習(xí)興趣,然后開(kāi)始圍繞區(qū)塊鏈本身進(jìn)行講解。 在講解區(qū)塊鏈結(jié)構(gòu)時(shí),介紹時(shí)一般只談其性質(zhì)和功能,對(duì)于其原理和過(guò)程則進(jìn)行簡(jiǎn)單講解或直接忽略。

2.2 存在問(wèn)題

現(xiàn)有的常見(jiàn)教學(xué)方法一般著重以比特幣等虛擬貨幣為案例,主要講解區(qū)塊鏈相關(guān)知識(shí),并簡(jiǎn)要講解其涉及的密碼技術(shù)。 這種講解方式能夠一定程度上讓學(xué)生對(duì)區(qū)塊鏈的基礎(chǔ)概念有一定的了解,但是對(duì)于區(qū)塊鏈涉及的密碼算法、密碼技術(shù)的講解只是簡(jiǎn)要帶過(guò),并沒(méi)有深入講解,學(xué)生對(duì)其中所涉及的密碼技術(shù)的了解只停留在對(duì)其性質(zhì)和應(yīng)用層面的理解,缺乏對(duì)密碼算法的深入理解和掌握,基本不能理解相應(yīng)技術(shù)的原理和過(guò)程。

因此,我們更加需要一種能夠讓學(xué)生對(duì)區(qū)塊鏈和其中的密碼技術(shù)較為深入了解,并且能有方法可循,成體系的教學(xué)方案。

2.3 引入案例化教學(xué)

在這樣的背景下,我們可以采取設(shè)計(jì)案例化教學(xué)方案的方式進(jìn)行區(qū)塊鏈中的密碼技術(shù)教學(xué)。為完善區(qū)塊鏈中密碼技術(shù)的教學(xué),我們可以借助案例化的方式來(lái)進(jìn)行教學(xué)[4]。 通過(guò)案例化教學(xué),我們能夠讓學(xué)生對(duì)區(qū)塊鏈中密碼技術(shù)的學(xué)習(xí)更加深入、具體、體系化,提升其理解水平,加深學(xué)習(xí)印象。

3 區(qū)塊鏈中密碼技術(shù)的案例化教學(xué)

3.1 案例化教學(xué)簡(jiǎn)介

案例教學(xué),是一種開(kāi)放式、互動(dòng)式的新型教學(xué)方式。 通常,案例教學(xué)要經(jīng)過(guò)事先周密的策劃和準(zhǔn)備,要使用特定的案例并指導(dǎo)學(xué)生,案例教學(xué)一般要結(jié)合一定理論,通過(guò)各種信息、知識(shí)、經(jīng)驗(yàn)、觀點(diǎn)的碰撞來(lái)達(dá)到啟示理論和啟迪思維的目的。 在案例教學(xué)中,通過(guò)使用編寫的案例來(lái)完成教學(xué),它在用于課堂討論和分析之后會(huì)使學(xué)生有所收獲,從而提高學(xué)生分析問(wèn)題和解決問(wèn)題的能力。 教學(xué)中可以通過(guò)分析、比較,提高學(xué)生的學(xué)習(xí)效果,也可以讓學(xué)生通過(guò)自己的思考或者他人的思考來(lái)拓寬自己的視野,從而豐富自己的知識(shí)。

本文的教學(xué)對(duì)象主要是已經(jīng)學(xué)過(guò)密碼學(xué)、有一定基礎(chǔ)的學(xué)生。 對(duì)于此類學(xué)生,通過(guò)本文的案例化教學(xué),讓其更加深入地理解密碼學(xué)在區(qū)塊鏈中應(yīng)用的方法和密碼技術(shù)在區(qū)塊鏈中發(fā)揮作用的原理,可以加深有關(guān)學(xué)生對(duì)密碼學(xué)和區(qū)塊鏈技術(shù)之間聯(lián)系的認(rèn)識(shí)和對(duì)有關(guān)技術(shù)的整體把握。本文也兼顧從未接觸密碼學(xué)的學(xué)生。 通過(guò)區(qū)塊鏈和有關(guān)應(yīng)用進(jìn)行引入,并簡(jiǎn)要講述有關(guān)密碼學(xué)原理和技術(shù),能夠起到科普,激發(fā)學(xué)習(xí)興趣的作用,從而為其深入學(xué)習(xí)密碼學(xué)及區(qū)塊鏈技術(shù)奠定基礎(chǔ)。

3.2 案例化教學(xué)的目的

案例化教學(xué)通過(guò)案例講解和學(xué)生實(shí)踐交流來(lái)實(shí)現(xiàn)教學(xué),在區(qū)塊鏈的主題下,案例化教學(xué)能夠鼓勵(lì)學(xué)員獨(dú)立思考,能引導(dǎo)學(xué)員變注重知識(shí)為注重能力,同時(shí)加深學(xué)生的學(xué)習(xí)印象,結(jié)合案例提升教學(xué)水平。 通過(guò)使用案例進(jìn)行教學(xué)[5],能夠讓教學(xué)的過(guò)程變得簡(jiǎn)單、有趣、生動(dòng),激發(fā)學(xué)生的學(xué)習(xí)興趣。

此外,案例化教學(xué)能夠通過(guò)案例的講解,讓教學(xué)的理論與具體實(shí)踐過(guò)程實(shí)現(xiàn)結(jié)合,完善教學(xué)過(guò)程中的理論與實(shí)踐。 缺乏案例的教學(xué)就失去了對(duì)實(shí)踐過(guò)程的分析和教學(xué),脫離實(shí)踐的教學(xué)也是不完備的,而案例化的教學(xué)恰恰可以彌補(bǔ)這一點(diǎn)。

因此,案例化教學(xué)具有非常重要的教學(xué)意義,應(yīng)該深入研究并做適當(dāng)推廣。

3.3 區(qū)塊鏈中密碼技術(shù)的案例化教學(xué)設(shè)計(jì)思路

區(qū)塊鏈?zhǔn)且粋€(gè)復(fù)雜的系統(tǒng),其中涉及多個(gè)領(lǐng)域的理論和技術(shù),其中密碼技術(shù)是區(qū)塊鏈的關(guān)鍵技術(shù)。 對(duì)區(qū)塊鏈中密碼技術(shù)進(jìn)行案例化教學(xué)時(shí),可以每次側(cè)重于不同的內(nèi)容進(jìn)行,如不同的密碼算法、密碼協(xié)議以及密碼應(yīng)用。 一次教學(xué)側(cè)重一種內(nèi)容的教學(xué),讓這種技術(shù)的教學(xué)更為深入和具體,提升學(xué)生的掌握程度。

在進(jìn)行案例化教學(xué)設(shè)計(jì)時(shí),需要結(jié)合案例進(jìn)行講解,因此需要結(jié)合有關(guān)技術(shù)編寫相應(yīng)的案例作為教學(xué)內(nèi)容。 而對(duì)應(yīng)的案例應(yīng)該生動(dòng)形象并能夠更好地解釋和反映相關(guān)技術(shù)中的關(guān)鍵內(nèi)容,從而實(shí)現(xiàn)更好的教學(xué)效果。 在編寫案例時(shí),應(yīng)該注意其與要講解的技術(shù)之間的緊密結(jié)合,其次,應(yīng)該注意其生動(dòng)性并使其適用于教學(xué)。

區(qū)塊鏈中的密碼技術(shù)多種多樣,對(duì)于區(qū)塊鏈中的密碼技術(shù)而言,案例化教學(xué)應(yīng)該圍繞其中的核心,以及容易理解的部分進(jìn)行分別設(shè)計(jì)。 區(qū)塊鏈中的核心密碼技術(shù)包括哈希算法、普通數(shù)字簽名和功能型簽名、密碼協(xié)議等多個(gè)部分組成。 下面分別是結(jié)合區(qū)塊鏈中的哈希算法、數(shù)字簽名技術(shù)和密碼協(xié)議及其中的幾類具體內(nèi)容的一些可行案例化教學(xué)方案。

4 區(qū)塊鏈中哈希算法的案例化教學(xué)

哈希算法是區(qū)塊鏈中常用且重要的密碼學(xué)技術(shù),在區(qū)塊鏈中密碼技術(shù)的案例化教學(xué)中具有重要地位。 可以先簡(jiǎn)單介紹哈希算法的基本定義和性質(zhì),然后簡(jiǎn)單講解幾種常用哈希算法作為案例,最后講解哈希算法在區(qū)塊鏈中的應(yīng)用案例。

4.1 哈希算法的基本定義和性質(zhì)

哈希函數(shù)是一公開(kāi)函數(shù),用于將任意長(zhǎng)的消息M 映射為較短的、固定長(zhǎng)度的一個(gè)值H(M),又稱為散列函數(shù)、雜湊函數(shù).我們稱函數(shù)值H(M)為哈希值、雜湊值、雜湊碼、或消息摘要。 哈希算法具有等長(zhǎng)性、單向性、抗碰撞性等性質(zhì)。當(dāng)前應(yīng)用較為廣泛且較為安全的哈希算法有SHA-256、SM3 等。

4.2 哈希算法在區(qū)塊鏈中的應(yīng)用

哈希算法在區(qū)塊鏈中的應(yīng)用場(chǎng)景豐富,大致包含用戶地址的生成、Merkle 樹(shù)、挖礦難度設(shè)置、數(shù)字簽名和軟件發(fā)布等方面[6][7]。 這些案例有趣而具有廣泛應(yīng)用,可以作為案例化教學(xué)的主要案例來(lái)源和教學(xué)內(nèi)容。

(1) 用戶地址生成

在以太坊等區(qū)塊鏈系統(tǒng)中,通常使用用戶地址來(lái)唯一區(qū)別所有的用戶。 而用戶地址在生成的過(guò)程中就使用了哈希算法。 以以太坊[8]為例,以太坊首先產(chǎn)生的256 比特隨機(jī)數(shù)做為用戶的私鑰,然后利用將私鑰和橢圓曲線ECDSAsecp256k1 計(jì)算公鑰。 計(jì)算得到公鑰后,就利用利用Keccak-256 哈希算法計(jì)算公鑰的哈希值。將得到的哈希值的后20byte 截出,就得到了用戶地址。

通過(guò)哈希算法得到用戶地址簡(jiǎn)單快捷,同時(shí)可以起到驗(yàn)證公鑰是否正確的作用。

(2) Merkle 樹(shù)

比特幣區(qū)塊包含了區(qū)塊頭部和一些比特幣交易。 一個(gè)區(qū)塊上所有交易的哈希值構(gòu)成了該區(qū)塊Merkle 樹(shù)的葉子結(jié)點(diǎn),Merkle 哈希樹(shù)的根節(jié)點(diǎn)保存在區(qū)塊頭里面,因此所有交易與區(qū)塊頭部綁定在了一起[9]。

通過(guò)Merkle 樹(shù),就得到了每個(gè)交易區(qū)塊的哈希值,并得到每個(gè)交易區(qū)塊唯一的Top Hash。這樣的結(jié)構(gòu)實(shí)現(xiàn)了區(qū)塊的不可篡改,保障了區(qū)塊鏈上數(shù)據(jù)的完整性。

(3) 挖礦難度設(shè)置

比特幣難度是對(duì)挖礦困難程度的度量[10],即指計(jì)算符合給定目標(biāo)的一個(gè)哈希值的困難程度。 difficulty =difficulty_1_target/current_target,difficulty_1_target 的長(zhǎng)度為256 比特,前32 位為0,后面全部為1,current_target 是當(dāng)前塊的目標(biāo)哈希,先經(jīng)過(guò)壓縮然后存儲(chǔ)在區(qū)塊中,區(qū)塊的哈希值必須小于給定的目標(biāo)哈希值,表示挖礦成功。

寓言是一種具有悠久歷史的文體,大多形制簡(jiǎn)短卻極具內(nèi)涵,因此中國(guó)語(yǔ)言學(xué)家嚴(yán)文井把寓言比作魔袋,而“一花一世界”“一葉一乾坤”是佛教對(duì)其的褒獎(jiǎng)。寓言是我國(guó)燦爛文化遺產(chǎn)的重要組成部分,流傳廣泛而飽含智慧。由著名的文學(xué)翻譯家夫婦楊憲益和戴乃迭先生共同翻譯的《中國(guó)古代寓言選》中共選錄寓言120篇,主要來(lái)自《列子》《莊子》《戰(zhàn)國(guó)策》《新序》《漢書》《淮南子》和《雪濤小說(shuō)》。120篇寓言的題目,其中46個(gè)通過(guò)直譯基本達(dá)到原語(yǔ)與目的語(yǔ)的完全對(duì)應(yīng)的效果,而對(duì)于另外74個(gè)題目的翻譯,譯者為了克服種種語(yǔ)際障礙而采取了若干變通的譯法。

通過(guò)設(shè)置目標(biāo)哈希值來(lái)確定挖礦難度,在工作量證明中起到了重要的作用[11]。 在使用工作量證明的比特幣系統(tǒng)中,就是使用這種方式來(lái)確定挖礦的難度。 礦工們使用高性能計(jì)算機(jī)不斷調(diào)整數(shù)值并計(jì)算哈希值,直到得到的哈希值前面的0 位滿足要求便挖礦成功,得到相應(yīng)的獎(jiǎng)勵(lì)。

4.3 區(qū)塊鏈中哈希算法的教學(xué)案例

為了讓學(xué)生更好地理解和掌握哈希算法在區(qū)塊鏈中的原理和作用,本節(jié)提出了一個(gè)案例化教學(xué)方案,主要包括以下幾個(gè)步驟:

(1) 介紹哈希算法的基本概念和特征,以及常見(jiàn)的哈希函數(shù)如SHA256、MD5 的基本知識(shí),以及哈希函數(shù)的歷史、基本設(shè)計(jì)和結(jié)構(gòu)等基礎(chǔ)知識(shí)。

(2) 演示如何使用在線工具或編程語(yǔ)言實(shí)現(xiàn)哈希函數(shù)的計(jì)算,并觀察不同輸入對(duì)應(yīng)的輸出結(jié)果。 在這一步中,可以借助圖1,讓學(xué)生明白,哈希函數(shù)存在單向性,即任意長(zhǎng)度的比特串可以生成一個(gè)固定長(zhǎng)度的比特串,而根據(jù)這一固定長(zhǎng)度的比特串反推任意長(zhǎng)度的原內(nèi)容幾乎是不可能的。

(3) 說(shuō)明哈希運(yùn)算在區(qū)塊鏈中的數(shù)據(jù)加密作用,展示每個(gè)區(qū)塊包含上一個(gè)區(qū)塊的哈希值以及自身數(shù)據(jù)的哈希值,形成一個(gè)不可逆轉(zhuǎn)和不可篡改的鏈?zhǔn)浇Y(jié)構(gòu)。

(4) 說(shuō)明哈希運(yùn)算在區(qū)塊鏈中的交易地址生成作用,展示如何通過(guò)公鑰私鑰對(duì)以及多重哈希運(yùn)算得到一個(gè)獨(dú)一無(wú)二且難以反推的交易地址。

(5) 說(shuō)明哈希運(yùn)算在區(qū)塊鏈中的Merkle 樹(shù)構(gòu)建作用,嘗試分多個(gè)內(nèi)容,分別結(jié)算哈希值,然后再將其中的兩個(gè)哈希值合并計(jì)算新的哈希,直到最后只有一個(gè)哈希值為止。 展示時(shí)可以結(jié)合圖2,展示如何通過(guò)并聯(lián)兩個(gè)子哈希來(lái)往樹(shù)上爬直到找到根哈希,從而快速定位每筆交易并核實(shí)交易數(shù)據(jù)是否被篡改。

圖2 Merkle 樹(shù)

(6) 說(shuō)明哈希運(yùn)算在區(qū)塊鏈中的工作量證明作用,展示如何通過(guò)不斷修改隨機(jī)數(shù)Nonce 值來(lái)尋找符合目標(biāo)難度要求(即前導(dǎo)零個(gè)數(shù))的有效哈希值,并獲得挖礦獎(jiǎng)勵(lì)。 這一步可以通過(guò)程序進(jìn)行展示,將每一次計(jì)算嘗試得到的哈希值進(jìn)行顯示,通過(guò)改變前導(dǎo)零的個(gè)數(shù),對(duì)比不同的尋找到合適的Nonce 值的時(shí)間,從而讓學(xué)生體會(huì)前導(dǎo)零的個(gè)數(shù)對(duì)挖礦難度的影響。

5 區(qū)塊鏈中數(shù)字簽名技術(shù)的案例化教學(xué)

數(shù)字簽名[11]使用非對(duì)稱算法中的私鑰對(duì)數(shù)據(jù)進(jìn)行加密處理,驗(yàn)簽者通過(guò)公鑰進(jìn)行驗(yàn)證的方式,保障了數(shù)據(jù)的完整性和不可否認(rèn)性,與顯示中的簽名有相同的功能,在區(qū)塊鏈中具有非常重要且廣泛的應(yīng)用。 在進(jìn)行這一部分的案例化教學(xué)時(shí),可以采用先講解概念,然后介紹數(shù)字簽名的過(guò)程作為案例化教學(xué)的方式進(jìn)行教學(xué)。

5.1 數(shù)字簽名的定義與性質(zhì)

數(shù)字簽名可以理解為附加在數(shù)據(jù)單元上的一些數(shù)據(jù),或是對(duì)數(shù)據(jù)單元所做的密碼變換,這種數(shù)據(jù)或變換允許數(shù)據(jù)單元的接收者用以確認(rèn)數(shù)據(jù)單元的來(lái)源和數(shù)據(jù)單元的完整性,并保護(hù)數(shù)據(jù),防止被人偽造的一種技術(shù)。 數(shù)字簽名具有不可偽造、不可抵賴、不可復(fù)制、不可篡改的性質(zhì)。

5.2 區(qū)塊鏈中數(shù)字簽名主要流程及其應(yīng)用

數(shù)字簽名在其過(guò)程中使用到了哈希算法。在簽名前,簽名者擁有生成好的公、私鑰對(duì)。 簽名者需要將公鑰進(jìn)行公開(kāi),保護(hù)私鑰只有自己擁有。 簽名時(shí),首先對(duì)要簽名的消息做哈希運(yùn)算然后用私鑰對(duì)哈希運(yùn)算得到的結(jié)果進(jìn)行加密(即簽名),隨后,將消息和簽名的內(nèi)容一同發(fā)送給接收者。 接收者收到消息后,將消息做哈希處理,隨后將簽名內(nèi)容使用發(fā)送者的公鑰解密,并與自己計(jì)算得到的消息哈希值對(duì)比。 若為相同,則可以驗(yàn)證簽名的有效性。

如今,數(shù)字簽名廣泛應(yīng)用在區(qū)塊鏈中以及各大網(wǎng)站的驗(yàn)證、電子郵件、信息公告、軟件下載、公鑰證書、SSL/TLS 等場(chǎng)景。 在進(jìn)行案例教學(xué)時(shí),可以結(jié)合其中幾個(gè)場(chǎng)景,進(jìn)行更為生動(dòng)的教學(xué),也可以讓學(xué)生利用空余時(shí)間,自行搜集有關(guān)資料,尋找數(shù)字簽名的應(yīng)用,作為實(shí)踐和更為深入的案例教學(xué)。

5.3 區(qū)塊鏈中數(shù)字簽名的教學(xué)案例

在區(qū)塊鏈中,數(shù)字簽名是實(shí)現(xiàn)去中心化、安全交易和共識(shí)機(jī)制的重要基礎(chǔ)。 本節(jié)將通過(guò)一個(gè)簡(jiǎn)單的案例,介紹區(qū)塊鏈中數(shù)字簽名技術(shù)的原理和應(yīng)用。 在教學(xué)時(shí),可以讓學(xué)生進(jìn)行角色扮演,充分體會(huì)數(shù)字簽名的整個(gè)過(guò)程,進(jìn)一步深入理解區(qū)塊鏈中的數(shù)字簽名技術(shù)。

假設(shè)有兩個(gè)用戶A 和B,他們想要在區(qū)塊鏈上進(jìn)行一筆交易,即A 向B 轉(zhuǎn)賬10 個(gè)比特幣。為了保證交易的有效性和不可篡改性,他們需要使用數(shù)字簽名技術(shù)。 具體步驟如下:

(1) A 生成一對(duì)密鑰,即公鑰和私鑰。 公鑰是可以公開(kāi)的,用于驗(yàn)證A 的身份;私鑰是需要保密的,用于對(duì)信息進(jìn)行加密。

(2) A 構(gòu)造一個(gè)交易信息,包含交易雙方的地址、轉(zhuǎn)賬金額、時(shí)間戳等內(nèi)容,并使用私鑰對(duì)這個(gè)信息進(jìn)行加密,得到一個(gè)數(shù)字簽名。

(3) A 將交易信息和數(shù)字簽名一起廣播到區(qū)塊鏈網(wǎng)絡(luò)上。

(4) B 收到交易信息后,使用A 的公鑰對(duì)數(shù)字簽名進(jìn)行解密,得到一個(gè)原始信息,并與收到的交易信息進(jìn)行比較。 如果兩者相同,則說(shuō)明這個(gè)交易確實(shí)是由A 發(fā)出,并且沒(méi)有被篡改。

(5) B 驗(yàn)證通過(guò)后,就可以接受這筆交易,并將其記錄在自己的賬本上。

(6) 其他節(jié)點(diǎn)也可以通過(guò)同樣的方式驗(yàn)證這筆交易,并將其寫入新生成的區(qū)塊中。

(7) 最后,結(jié)合圖3,詳細(xì)講解區(qū)塊鏈中的數(shù)字簽名作用。 并引導(dǎo)學(xué)生進(jìn)行總結(jié)歸納。 區(qū)塊鏈中的數(shù)字簽名作用包括:①保證了信息發(fā)送者身份的真實(shí)性和不可抵賴性。 ②保證了信息內(nèi)容的完整性和不可篡改性。 ③促進(jìn)了去中心化、安全交易和共識(shí)機(jī)制。

圖3 數(shù)字簽名主要流程

在教學(xué)時(shí),通過(guò)講解案例,讓學(xué)生體會(huì)每個(gè)步驟不同的作用,進(jìn)一步理解數(shù)字簽名的思想和對(duì)應(yīng)的功能。 通過(guò)這一案例化教學(xué),能讓學(xué)生對(duì)數(shù)字簽名的基礎(chǔ)有一定了解,在此之上,學(xué)生能夠進(jìn)一步對(duì)區(qū)塊鏈中數(shù)字簽名的具體應(yīng)用和特點(diǎn)有較為深入的理解。

然而,區(qū)塊鏈對(duì)數(shù)字簽名的應(yīng)用并不局限于這類普通的簽名,區(qū)塊鏈中還有對(duì)功能型簽名技術(shù)的應(yīng)用。 對(duì)于現(xiàn)有水平較高的學(xué)生,可以結(jié)合區(qū)塊鏈中的功能型簽名技術(shù),進(jìn)行更深層次的案例化教學(xué)。

5.4 區(qū)塊鏈中的功能型簽名技術(shù)和教學(xué)案例

除普通簽名外,區(qū)塊鏈中還運(yùn)用了一些特殊的帶有屬性的簽名技術(shù)[12]。 一些區(qū)塊鏈系統(tǒng)采用群簽名、環(huán)簽名或盲簽名的方式,保障區(qū)塊鏈中的某些功能和性質(zhì)。 對(duì)于學(xué)有余力的學(xué)生,可以針對(duì)這些內(nèi)容進(jìn)行進(jìn)一步升入教學(xué),讓學(xué)生更加深入、多樣地理解區(qū)塊鏈中的簽名技術(shù)。 對(duì)于這一部分的教學(xué),可以采用以簡(jiǎn)單講解、概念理解為主的教學(xué)方式,旨在讓學(xué)生對(duì)于區(qū)塊鏈中特殊的簽名技術(shù)有一定的了解和把握。 可以圍繞下面的資料,對(duì)環(huán)簽名、盲簽名的知識(shí)進(jìn)行簡(jiǎn)要介紹。 介紹時(shí)可以結(jié)合當(dāng)前現(xiàn)有的先進(jìn)技術(shù)。

5.4.1 環(huán)簽名

環(huán)簽名[13]最初由Rivest 等人提出,環(huán)簽名中只有環(huán)成員沒(méi)有管理者,不需要環(huán)成員間的合作。

對(duì)于環(huán)簽名,有一個(gè)有趣的案例故事,可以作為背景教學(xué)的引入:我們可以假設(shè)Bob 是一個(gè)內(nèi)閣成員,他想向記者揭露首相貪污的情況,他要使記者確信此消息來(lái)自一個(gè)內(nèi)閣成員,同時(shí)又不想泄露自己的身份(保證匿名性),以免遭到首相報(bào)復(fù)。 對(duì)于這樣一個(gè)問(wèn)題,顯然普通簽名和群簽名是無(wú)法解決的,那么該怎么做呢?

為解決這樣的問(wèn)題,無(wú)管理者,無(wú)需成員合作的環(huán)簽名就誕生了。 其主要流程為生成、簽名、驗(yàn)證。 具有正確性、無(wú)條件匿名性、不可偽造等性質(zhì)。 在區(qū)塊鏈中,環(huán)簽名也具有很多場(chǎng)景也具有廣泛應(yīng)用。 在區(qū)塊鏈的交易中,部分有不可追蹤性和不可鏈接性的要求。 不可追蹤性的意思是對(duì)每個(gè)交易輸入,所有可能的交易發(fā)起者都是等可能的,而對(duì)于不可鏈接性則表示對(duì)任意兩個(gè)交易輸出,不能證明他們是否發(fā)送給同一用戶。 為了解決這一問(wèn)題,CryptoNote 采用了一次性公私鑰對(duì)的方式,發(fā)起者可以根據(jù)接受者的長(zhǎng)期公鑰生成新的一次性公鑰,新公鑰只有接受者能計(jì)算出對(duì)應(yīng)的私鑰,并且不能被其他用戶關(guān)聯(lián)到接受者的長(zhǎng)期公鑰.這樣,在保證了同一接受者每次交易存在不同接受地址的同時(shí),發(fā)送者不需要接受者告知新公鑰,可以獨(dú)立構(gòu)造交易。

5.4.2 盲簽名

盲簽名的概念首先由David Chaum 于1982年提出,盲簽名實(shí)現(xiàn)了簽名者對(duì)發(fā)送者的消息進(jìn)行簽名,卻不能知道簽名者消息的具體內(nèi)容。 對(duì)于盲簽名的概念,可以用以下案例進(jìn)行教學(xué):寄件者將文件放入帶有復(fù)寫紙的信封,簽名者在信封上對(duì)文件進(jìn)行簽名而不知道文件的具體內(nèi)容,這就是盲簽名的思想。

盲簽名是為解決電子現(xiàn)金的匿名性問(wèn)題而提出的。 當(dāng)前的移動(dòng)網(wǎng)絡(luò)支付工具,如微信、支付寶等,在支付時(shí),對(duì)于支付的信息,并不能做到匿名,其中交易的提出者和接受者的信息是可查的。 而銀行通過(guò)使用盲簽名的方式發(fā)布電子現(xiàn)金,就可以做到這一點(diǎn),上圖4 為銀行通過(guò)盲簽名發(fā)布電子現(xiàn)金的流程結(jié)構(gòu)示意圖。

圖4 銀行通過(guò)盲簽名發(fā)布電子現(xiàn)金

在講解時(shí),可以講解區(qū)塊鏈中采用盲簽名的典型技術(shù)。 在區(qū)塊鏈中,混幣技術(shù)就是采用盲簽名的典型技術(shù)。 區(qū)塊鏈系統(tǒng)中地址是由用戶自行生成,與用戶的身份信息無(wú)關(guān),用戶創(chuàng)建和使用地址不需要第三方參與。 因此,相對(duì)于傳統(tǒng)的賬號(hào)(例如銀行卡號(hào)),區(qū)塊鏈地址具有較好的匿名性。 但是區(qū)塊鏈交易之間的關(guān)聯(lián)性可以被用于推測(cè)敏感信息,區(qū)塊鏈所有數(shù)據(jù)都存儲(chǔ)在公開(kāi)的全局賬本中,用戶在使用區(qū)塊鏈地址參與區(qū)塊鏈業(yè)務(wù)時(shí),有可能泄露一些敏感信息,例如區(qū)塊鏈交易在網(wǎng)絡(luò)層傳播軌跡。 而采用混幣技術(shù)的有關(guān)協(xié)議,如Blindcoin 協(xié)議,保證了沒(méi)有被動(dòng)對(duì)手可以在特定的混合中鏈接輸入/輸出地址對(duì)。 因此,Blindcoin 在同時(shí)參與混合的所有非惡意用戶集合內(nèi)實(shí)現(xiàn)k-匿名性。 除了混幣服務(wù)器的資源外,對(duì)可以同時(shí)參與混幣的用戶數(shù)沒(méi)有任何限制,因此參與者越多,匿名集就越大。 通過(guò)使用盲簽名方案隱藏參與者的輸入/輸出地址映射,實(shí)現(xiàn)了對(duì)混合服務(wù)的匿名性。

6 區(qū)塊鏈中密碼協(xié)議的案例化教學(xué)

密碼協(xié)議是指兩個(gè)或兩個(gè)以上的參與者為完成密碼通信中某項(xiàng)特定任務(wù)而約定的一系列步驟。 在區(qū)塊鏈技術(shù)涉及到眾多密碼協(xié)議和一些有關(guān)思想,如零知識(shí)證明、密鑰管理等。 本節(jié)以零知識(shí)證明和密鑰管理為例,對(duì)區(qū)塊鏈中的密碼協(xié)議進(jìn)行案例化教學(xué)。

6.1 區(qū)塊鏈中的零知識(shí)證明

6.1.1 零知識(shí)證明簡(jiǎn)介

零知識(shí)證明[14]是一種能夠在不透露任何有用信息的情況下,讓驗(yàn)證者相信證明者擁有某個(gè)知識(shí)或滿足某個(gè)條件的協(xié)議。 零知識(shí)證明有三個(gè)基本特征:完整性,可靠性和零知識(shí)性。 零知識(shí)證明可以分為交互式和非交互式兩種類型,前者需要多輪通信,后者只需要一次通信。

6.1.2 區(qū)塊鏈中的零知識(shí)證明

區(qū)塊鏈?zhǔn)且环N分布式的、不可篡改的、去中心化的數(shù)據(jù)存儲(chǔ)和交易技術(shù),它可以實(shí)現(xiàn)公開(kāi)透明、安全可信、無(wú)需第三方中介的價(jià)值傳輸。 然而,區(qū)塊鏈的公開(kāi)性也帶來(lái)了隱私保護(hù)的挑戰(zhàn),因?yàn)槿魏稳硕伎梢圆榭磪^(qū)塊鏈上的交易記錄和賬戶余額,這可能暴露用戶的身份信息、財(cái)務(wù)狀況、商業(yè)機(jī)密等敏感數(shù)據(jù)。 為了解決這個(gè)問(wèn)題,零知識(shí)證明被引入到區(qū)塊鏈領(lǐng)域[15]。

在區(qū)塊鏈系統(tǒng)中,零知識(shí)證明可以用來(lái)實(shí)現(xiàn)隱私交易、隱私智能合約、隱私身份認(rèn)證等功能[16]。 例如,在Zcash 這種基于零知識(shí)證明技術(shù)的加密貨幣中,用戶可以隱藏交易雙方和金額等細(xì)節(jié),只向網(wǎng)絡(luò)公布一個(gè)簡(jiǎn)潔非交互式零知識(shí)參數(shù)(zk-SNARKs)作為有效性和正確性的憑據(jù)。這樣既保護(hù)了用戶隱私,又保持了網(wǎng)絡(luò)安全和透明度。 除了Zcash 之外,還有許多其他項(xiàng)目也在探索和應(yīng)用零知識(shí)證明技術(shù),如Ethereum、Monero、Algorand 等。

6.1.3 區(qū)塊鏈中零知識(shí)證明的教學(xué)案例

在對(duì)于區(qū)塊鏈中零知識(shí)證明的教學(xué)中,可以通過(guò)先講解簡(jiǎn)單案例,再結(jié)合區(qū)塊鏈中實(shí)際應(yīng)用的方式進(jìn)行。 下面是一個(gè)可行的教學(xué)設(shè)計(jì)。

(1) 首先介紹一個(gè)案例場(chǎng)景:有一個(gè)缺口環(huán)形的長(zhǎng)廊,出口和入口距離非常近(在目距之內(nèi)),但走廊中間某處有一道只能用鑰匙打開(kāi)的門,A 要向B 證明自己擁有該門的鑰匙(如圖5)。

圖5 環(huán)形長(zhǎng)廊

(2) 在此基礎(chǔ)上,向?qū)W生提出問(wèn)題,即A 要如何向B 證明自己擁有該門的鑰匙?

(3) 介紹不采取零知識(shí)證明的方法。 如果不需要采用零知識(shí)證明,那么A 很容易向B 證明他確實(shí)擁有門的鑰匙。 即A 和B 一起走到C處,然后A 在B 的觀察下,打開(kāi)位于C 和D 中間的門,走出環(huán)形長(zhǎng)廊,這樣B 就完全可以相信A擁有打開(kāi)門的鑰匙。

(4) 介紹采用零知識(shí)證明的方法。 B 看著A 從入口進(jìn)入走廊,然后又從出口走出走廊,這時(shí)B 沒(méi)有得到任何關(guān)于這個(gè)鑰匙的信息,但是完全可以證明A 擁有鑰匙。 在這個(gè)案例中,A并沒(méi)有給B 看到鑰匙,或者透露關(guān)于鑰匙的任何信息,但是B 完全有理由相信A 的確擁有這把鑰匙,這樣就構(gòu)成了一個(gè)零知識(shí)證明。 這就意味著A 對(duì)B 完成了零知識(shí)證明。

(5) 引導(dǎo)學(xué)生對(duì)上述兩種方法進(jìn)行對(duì)比分析,總結(jié)零知識(shí)證明所具有的特點(diǎn)。

此示例簡(jiǎn)單明了,很好地講述了零知識(shí)證明的原理和定義,作為一個(gè)零知識(shí)證明的案例化教學(xué)設(shè)計(jì)較為合適,學(xué)生能夠?yàn)閰^(qū)塊鏈中使用到的這種類型的密碼協(xié)議有一個(gè)深刻的初步理解。區(qū)塊鏈中的零知識(shí)證明也有一樣的原理和思想。對(duì)于有一定經(jīng)驗(yàn)的學(xué)生,還可以結(jié)合區(qū)塊鏈中Zcash 等零知識(shí)證明的應(yīng)用案例進(jìn)行講解。

6.2 區(qū)塊鏈中密鑰管理的教學(xué)案例

6.2.1 密鑰管理簡(jiǎn)介

密鑰管理就是對(duì)加解密等所使用的密鑰進(jìn)行管理的行為,涉及密鑰的全生命周期,即包括密鑰的產(chǎn)生、檢驗(yàn)、分發(fā)、傳遞、保管、使用、銷毀的全部過(guò)程[17][18]。 現(xiàn)代密碼體制要求加密算法是可以公開(kāi)評(píng)估的,整個(gè)密碼系統(tǒng)的安全性并不取決于對(duì)密碼算法的保密或者是對(duì)加密設(shè)備等的保護(hù)。 在這種背景下,決定整個(gè)密碼體制安全性的因素將是密鑰的保密性。

6.2.2 區(qū)塊鏈中的密鑰管理

區(qū)塊鏈中的密鑰管理方法主要有兩種:一種是基于智能合約[19]或腳本的多重簽名方法,另一種是基于安全多方計(jì)算(MPC)的門限簽名方法。 多重簽名方法是指通過(guò)設(shè)計(jì)一個(gè)規(guī)則,比如說(shuō)需要三個(gè)人同時(shí)簽名或者兩個(gè)人同時(shí)簽名,將這些簽名傳遞給一份智能合約或腳本,然后執(zhí)行相應(yīng)的操作。 門限簽名方法是指通過(guò)將一個(gè)私鑰分成多個(gè)碎片,并分發(fā)給不同的參與者,在不需要拼接私鑰的情況下,通過(guò)運(yùn)行一個(gè)MPC 協(xié)議來(lái)產(chǎn)生一個(gè)合法的簽名。 區(qū)塊鏈中的密鑰管理方法各有優(yōu)缺點(diǎn),具體應(yīng)用時(shí)需要根據(jù)不同場(chǎng)景和需求進(jìn)行選擇。

6.2.3 區(qū)塊鏈中密鑰管理的教學(xué)案例

在這一部分的教學(xué)中,可以對(duì)密鑰管理的整個(gè)流程進(jìn)行一個(gè)詳細(xì)的介紹。 區(qū)塊鏈中的密鑰管理是保證數(shù)據(jù)安全和身份認(rèn)證的重要環(huán)節(jié),它涉及到私鑰、公鑰、地址、簽名等概念。 為了讓學(xué)生更好地理解和掌握區(qū)塊鏈中的密鑰管理,本節(jié)提出了一種案例化教學(xué)方案,具體步驟如下:

(1) 介紹區(qū)塊鏈中的密鑰管理的基本原理和流程,包括私鑰和公鑰的生成、存儲(chǔ)和使用,以及地址和簽名的作用和方法。

(2) 選擇一個(gè)具體的區(qū)塊鏈平臺(tái),如比特幣或以太坊,演示如何通過(guò)相關(guān)工具或軟件生成私鑰和公鑰,并將公鑰轉(zhuǎn)換為地址。 比如,在比特幣平臺(tái)上,可以使用比特幣核心客戶端或其他第三方軟件來(lái)創(chuàng)建一個(gè)新的比特幣賬戶,該賬戶會(huì)自動(dòng)生成一個(gè)私鑰和一個(gè)公鑰,并將公鑰通過(guò)哈希算法轉(zhuǎn)換為一個(gè)比特幣地址。

(3) 模擬一個(gè)簡(jiǎn)單的交易場(chǎng)景,如A 向B轉(zhuǎn)賬一定數(shù)量的數(shù)字貨幣,演示如何通過(guò)私鑰對(duì)交易進(jìn)行簽名,并通過(guò)公網(wǎng)廣播交易。 比如,在比特幣平臺(tái)上,A 可以使用比特幣核心客戶端或其他第三方軟件來(lái)創(chuàng)建一個(gè)新的交易,輸入B的比特幣地址和轉(zhuǎn)賬金額,并使用A 的私鑰對(duì)交易進(jìn)行簽名。 然后,A 可以將交易通過(guò)網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送到比特幣網(wǎng)絡(luò)中,并等待網(wǎng)絡(luò)確認(rèn)交易。在以太坊平臺(tái)上,A 可以使用以太坊錢包或其他第三方軟件來(lái)創(chuàng)建一個(gè)新的交易,輸入B 的以太坊地址和轉(zhuǎn)賬金額,并使用A 的私鑰對(duì)交易進(jìn)行簽名。 然后,A 可以將交易通過(guò)網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送到以太坊網(wǎng)絡(luò)中,并等待網(wǎng)絡(luò)確認(rèn)交易。

(4) 通過(guò)區(qū)塊瀏覽器或其他工具查詢交易的狀態(tài)和細(xì)節(jié),并驗(yàn)證交易的有效性和安全性。比如,在比特幣平臺(tái)上,A 和B 可以使用區(qū)塊瀏覽器或其他工具來(lái)查看交易是否已經(jīng)被網(wǎng)絡(luò)確認(rèn),并且是否已經(jīng)被記錄在區(qū)塊鏈上。 他們還可以查看交易的輸入輸出、手續(xù)費(fèi)、時(shí)間戳等信息,并使用B 的公鑰來(lái)驗(yàn)證交易的簽名是否正確。

(5) 分析區(qū)塊鏈中密鑰管理面臨的挑戰(zhàn)和風(fēng)險(xiǎn),如私鑰丟失或泄露、密鑰更新難題、量子計(jì)算威脅等,并探討可能的解決方案或改進(jìn)措施。

此外,還可以對(duì)區(qū)塊鏈應(yīng)用系統(tǒng)中出現(xiàn)的密鑰泄露事故進(jìn)行一些案例分析。 例如2013 年底,美國(guó)一家電視臺(tái)主持人在直播中接受比特幣禮券,不小心在鏡頭前面展示了密鑰的二維碼,結(jié)果不到一會(huì),禮券里的前就被人偷走了。 諸如此類的事故還有很多,通過(guò)講解這類故事,以有趣的形式,為學(xué)生講解密鑰管理的重要性,讓學(xué)生在生動(dòng)的教學(xué)過(guò)程中體會(huì)到區(qū)塊鏈中密鑰管理的流程,深入學(xué)習(xí)領(lǐng)會(huì)到其中的重要知識(shí)和內(nèi)涵。

7 區(qū)塊鏈中密碼技術(shù)實(shí)踐的案例化教學(xué)

7.1 區(qū)塊鏈的共識(shí)機(jī)制與實(shí)踐教學(xué)

共識(shí)機(jī)制[20]是區(qū)塊鏈實(shí)現(xiàn)共識(shí)的核心技術(shù),在區(qū)塊鏈系統(tǒng)中具有不可替代的作用。 區(qū)塊鏈中的共識(shí)機(jī)制是指一種規(guī)則或算法,用于讓所有節(jié)點(diǎn)在沒(méi)有中央權(quán)威的情況下,就某個(gè)數(shù)據(jù)或交易的有效性達(dá)成一致的意見(jiàn)。 常見(jiàn)的共識(shí)機(jī)制有工作量證明、權(quán)益證明、委托權(quán)益證明等。

對(duì)于不同階段的學(xué)生,可以通過(guò)一些實(shí)踐和實(shí)驗(yàn),提升他們對(duì)區(qū)塊鏈結(jié)構(gòu)和其中的密碼算法的理解,同時(shí)可以進(jìn)一步提高他們?cè)趨^(qū)塊鏈有關(guān)領(lǐng)域的實(shí)踐能力。 對(duì)于能夠進(jìn)行實(shí)踐的學(xué)生,一般他們具有較強(qiáng)的對(duì)區(qū)塊鏈的理解和認(rèn)識(shí),有一定的能力。 因此,可以圍繞區(qū)塊鏈中的共識(shí)機(jī)制這一主題,讓學(xué)生在實(shí)踐中嘗試實(shí)現(xiàn)共識(shí)機(jī)制,并在這個(gè)過(guò)程中感受共識(shí)機(jī)制和區(qū)塊鏈中密碼技術(shù)的聯(lián)系。

7.2 區(qū)塊鏈中密碼技術(shù)的實(shí)踐教學(xué)案例

下面本文以實(shí)驗(yàn)“共識(shí)算法的自主設(shè)計(jì)與實(shí)現(xiàn)”為例[21],從實(shí)驗(yàn)內(nèi)容和教學(xué)方式兩個(gè)方面,介紹實(shí)踐教學(xué)的內(nèi)容和方式。

7.2.1 實(shí)驗(yàn)內(nèi)容

下面是實(shí)驗(yàn)的具體內(nèi)容:

實(shí)驗(yàn)名稱:共識(shí)算法的自主設(shè)計(jì)與實(shí)現(xiàn)

實(shí)驗(yàn)內(nèi)容:通過(guò)自主設(shè)計(jì)實(shí)驗(yàn),體驗(yàn)典型共識(shí)機(jī)制的原理及運(yùn)作過(guò)程,感受區(qū)塊鏈系統(tǒng)的奧妙。

實(shí)驗(yàn)步驟:

(1) 工作量證明共識(shí)的實(shí)現(xiàn);

(2) 權(quán)益證明共識(shí)的實(shí)現(xiàn);

(3) 委托權(quán)益證明共識(shí)的實(shí)現(xiàn);

(4) 自由選擇或自主設(shè)計(jì)共識(shí)機(jī)制與實(shí)現(xiàn);

(5) 對(duì)實(shí)現(xiàn)的共識(shí)機(jī)制進(jìn)行驗(yàn)證和分析。

7.2.2 講解方式

在實(shí)驗(yàn)時(shí),需要進(jìn)行充分的講解,幫助和引導(dǎo)學(xué)生完成實(shí)驗(yàn)。 實(shí)驗(yàn)時(shí),需要注意讓學(xué)生思考以下一些問(wèn)題。 如:需要各類共識(shí)機(jī)制實(shí)現(xiàn)的關(guān)鍵是什么? 各類共識(shí)機(jī)制有什么優(yōu)缺點(diǎn)? 各類共識(shí)機(jī)制都使用了什么密碼算法,分別實(shí)現(xiàn)了什么功能? 通過(guò)思考這些問(wèn)題,可以讓學(xué)生進(jìn)一步理解區(qū)塊鏈的核心即共識(shí)機(jī)制與區(qū)塊鏈中密碼技術(shù)的聯(lián)系,最后,讓學(xué)生對(duì)實(shí)現(xiàn)的各類共識(shí)機(jī)制進(jìn)行對(duì)比分析,比較其中的不同密碼技術(shù)和共識(shí)機(jī)制對(duì)區(qū)塊鏈的性能帶來(lái)的不同影響。

此外,在教學(xué)時(shí),有一些需要注意的內(nèi)容。本實(shí)驗(yàn)旨在讓學(xué)生感受區(qū)塊鏈共識(shí)機(jī)制的原理和相關(guān)密碼技術(shù),屬于開(kāi)放性設(shè)計(jì)實(shí)驗(yàn)。 此實(shí)驗(yàn)面向?qū)^(qū)塊鏈有一定了解,有一定編程基礎(chǔ)的學(xué)生。 此實(shí)驗(yàn)的開(kāi)放性較強(qiáng),學(xué)生對(duì)現(xiàn)有共識(shí)機(jī)制通過(guò)自己的方法進(jìn)行實(shí)現(xiàn),也可以自己嘗試設(shè)計(jì)和實(shí)現(xiàn)一種共識(shí)算法。 在實(shí)驗(yàn)時(shí),要注意讓學(xué)生對(duì)比分析各類共識(shí)機(jī)制,并注意對(duì)其中的密碼學(xué)技術(shù)和原理進(jìn)行深入理解。

通過(guò)進(jìn)行這樣一個(gè)簡(jiǎn)單的實(shí)踐,可以讓學(xué)生進(jìn)一步深入理解區(qū)塊鏈的核心——共識(shí)機(jī)制的同時(shí),通過(guò)編程實(shí)踐,更加深入地理解密碼技術(shù)是如何在區(qū)塊鏈系統(tǒng)中發(fā)揮作用的。

8 總結(jié)

本文對(duì)于區(qū)塊鏈和其中的密碼技術(shù)進(jìn)行了簡(jiǎn)要介紹,并對(duì)其中的密碼算法、密碼協(xié)議、密碼應(yīng)用進(jìn)行了分類講述,提供了一些案例化教學(xué)方案,此外,對(duì)于不同學(xué)習(xí)階段和能力的學(xué)生,給出了不同的實(shí)驗(yàn)方案來(lái)進(jìn)行案例化實(shí)踐教學(xué)。

通過(guò)進(jìn)行區(qū)塊鏈中密碼技術(shù)的案例化教學(xué),可以讓學(xué)生深入學(xué)習(xí)區(qū)塊鏈和其有關(guān)的密碼算法,加強(qiáng)學(xué)生的密碼學(xué)綜合素養(yǎng),培養(yǎng)學(xué)生的邏輯思維能力。 區(qū)塊鏈及區(qū)塊鏈中的密碼算法在各大領(lǐng)域都有廣泛運(yùn)用,在未來(lái)的應(yīng)用或?qū)⒏訌V泛,對(duì)更多人進(jìn)行相關(guān)教學(xué)具有相當(dāng)?shù)闹匾浴?進(jìn)行案例化教學(xué)時(shí),著重講解不同的密碼算法和有關(guān)內(nèi)容,以生動(dòng)的講解,清晰地講解不同的密碼技術(shù)和內(nèi)容,并明確講解其與區(qū)塊鏈之間的聯(lián)系。 應(yīng)該對(duì)于不同的教學(xué)對(duì)象采用不同的教學(xué)方法,做到因材施教。 教學(xué)中要避免使用過(guò)于困難的材料,引用已有定理時(shí)確保學(xué)生都能夠理解,盡量讓教學(xué)生動(dòng)易懂,同時(shí)激發(fā)學(xué)習(xí)興趣,讓更多人了解區(qū)塊鏈和密碼學(xué)。

猜你喜歡
數(shù)字簽名公鑰哈希
淺析計(jì)算機(jī)安全防護(hù)中數(shù)字簽名技術(shù)的應(yīng)用
一種基于混沌的公鑰加密方案
基于數(shù)字簽名的QR碼水印認(rèn)證系統(tǒng)
HES:一種更小公鑰的同態(tài)加密算法
基于OpenCV與均值哈希算法的人臉相似識(shí)別系統(tǒng)
SM2橢圓曲線公鑰密碼算法綜述
基于維度分解的哈希多維快速流分類算法
基于格的公鑰加密與證書基加密
基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
基于數(shù)字簽名和HSM的數(shù)據(jù)庫(kù)篡改檢測(cè)機(jī)制
辰溪县| 祁连县| 贵南县| 彝良县| 梓潼县| 康平县| 大新县| 清苑县| 登封市| 南郑县| 会昌县| 广河县| 蒙山县| 台南市| 乌兰察布市| 聊城市| 通海县| 浦县| 广昌县| 东源县| 登封市| 射阳县| 西乌珠穆沁旗| 塔河县| 察隅县| 余江县| 苗栗县| 新密市| 咸阳市| 平顺县| 阳西县| 石河子市| 洛宁县| 开阳县| 嘉义县| 高阳县| 如东县| 滕州市| 扎鲁特旗| 酉阳| 文山县|