版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、北京大學(xué)肖臻老師區(qū)塊鏈技術(shù)與應(yīng)用公開課第一節(jié):緒論第二節(jié):密碼學(xué)原理crypto-currency一、cryptographichashfunction性質(zhì);1collisionresistance(hash碰撞)指H(x)=H(y),而x均對于哈希函數(shù),哈希碰撞是常見的,但是要人為的制造哈希碰撞幾乎是不可能的例子:H(m),m為message,如果m被人篡改,那么H(m)會發(fā)生改變。ps:哈希弱碰撞目前是無法被數(shù)學(xué)證明的,但與此同時,我們還沒有很好的辦法人為制造哈希碰撞。可是對于不同類型的哈希函數(shù)其安全性隨著計算機(jī)科學(xué)和數(shù)學(xué)方法的進(jìn)步,也是有可能被破解的,例如MD5性質(zhì)2hiding指哈希函
2、數(shù)的計算不可逆,對于給定x可以計算H(x),可是我們幾乎不可能從H(x)反推出x.digitalcommitment/digitalequivalmentofasealedenvelope由于預(yù)測本身可能會影響結(jié)果,需要一種方法在預(yù)測結(jié)果不能提前公開的情況下,保證預(yù)測結(jié)果的真實性。將預(yù)測x的哈希值公開,待到結(jié)果出現(xiàn)時再公開預(yù)測以檢驗預(yù)測與實際是否相符。在實際操作中,也有將x和隨機(jī)數(shù)一起做HASH以保證取值的分布足夠離散。比特幣中的哈希函數(shù)所需性質(zhì):性質(zhì)3puzzlefriendly指除了遍歷以外,沒有任何辦法可以做出哈希碰撞,這樣才可以作為挖礦證明,然而想驗證一個人的挖礦證明卻是非常快捷的,因
3、為只需要計算一次哈希函數(shù)值就可以了。比特幣中所使用的哈希函數(shù)為:SHA256SecureHashAlgorithm二、數(shù)字簽證1.publickeyprivatekeyasymmetricencryptionalgorithm非對稱力口密算法由于區(qū)塊鏈系統(tǒng)是完全公開的,所以并不需要公私鑰對進(jìn)行保密通信,而是進(jìn)行數(shù)字簽名,以驗證自己的身份,即私鑰加密,公鑰解密對于256位的公私鑰對,很難有兩個賬戶擁有完全相同的公私鑰對,所以很難通過產(chǎn)生公私鑰對再比對的方法來冒名他人。第三節(jié)數(shù)據(jù)結(jié)構(gòu)hashpointers區(qū)塊鏈(blockchain)是最基本的數(shù)據(jù)結(jié)構(gòu),他和普通的鏈表的區(qū)別在于,使用hashpo
4、inters取代了普通的指針genesisblock:創(chuàng)世紀(jì)塊,指第一個區(qū)塊mostrecentblock指最后一個產(chǎn)生的區(qū)塊在區(qū)塊鏈中,每一個block都含有一個Hashpointer指向前一個塊,而最后一個塊的指針就保存在系統(tǒng)中!Hashpointer的值是前一個塊的所有數(shù)據(jù)的hash函數(shù)的取值!所以無論區(qū)塊鏈中的哪一個塊發(fā)生了改變,都會導(dǎo)致之后所有的Hash全部改變,因此只需要檢驗最后一個Hash,即系統(tǒng)中的Hash來檢驗區(qū)塊鏈中數(shù)據(jù)是否被修改。在實際操作過程當(dāng)中,也不需要將整條區(qū)塊鏈完整的保存下來,而只需要將最后的若干長度的區(qū)塊鏈緩存下來,實時更新,進(jìn)行驗證。二、MerkletreeM
5、erkletree是另外一種給基本的數(shù)據(jù)類型,他與普通的樹的區(qū)別在于,使用Hashpointers取代了普通的指針Merkletree的指針從葉節(jié)點指向根節(jié)點,將左(右)節(jié)點的Hash值保存在當(dāng)前節(jié)點的左(右)Hash指針,最后將根節(jié)點的Hash值保存在系統(tǒng)中!對于Merkletree而言,其最原本的數(shù)據(jù)是保存在整棵樹的葉節(jié)點上的,而根莖部分都是保存了上一級的哈希值。Merkleproof:全節(jié)點保存了交易的全部信息,而輕節(jié)點只保存blockheader,為了向輕節(jié)點證明一個新的交易已經(jīng)被寫入Merkletree了!那么需要在樹中找到這個交易葉子,并且從葉子出發(fā)回到根節(jié)點,在這個過程中,輕節(jié)點
6、所在的本地主機(jī)需要不斷計算出當(dāng)前節(jié)點的Hash值,如果76途的Hash值正確,那么交易正常,。這樣一條路徑就是Merkleproof如果對交易按時間順序進(jìn)行排序,然后布置成Merkletree(sortedMerkletree),那么就可以用一種簡單的方法證明非法交易并不存在于區(qū)塊鏈中ps:Hash指針必須要先確立一個節(jié)點的值,才能去計算與之相關(guān)的區(qū)塊的值,因此這個類型的指針是不可以應(yīng)用在環(huán)形數(shù)據(jù)結(jié)構(gòu)當(dāng)中的。第四節(jié)協(xié)議帶權(quán)力中心的數(shù)字貨幣需要一個權(quán)力中心,權(quán)力中心發(fā)行貨幣的公鑰公開,用私鑰加密數(shù)字貨幣,這樣每個人都可以用公鑰驗證貨幣來自于權(quán)力中心。但是數(shù)字貨幣的本質(zhì)是文件,如果用戶大量復(fù)制數(shù)字
7、貨幣,每個貨幣都擁有被權(quán)力中心認(rèn)可的數(shù)字簽名,這樣就可以用偽造的數(shù)字貨幣進(jìn)行交易,也叫做doublespendingattack(雙花交易)處理方法:在數(shù)字貨幣上再額外添加唯一編號,這樣就可以區(qū)別每一張貨幣,防范雙花交易,但是這種方法必須由中央權(quán)力機(jī)構(gòu)來維護(hù)一個數(shù)據(jù)庫來實時存儲貨幣編號和持有人信息,即每一筆數(shù)字交易都必須由中心權(quán)力機(jī)構(gòu)確認(rèn)合法性。在去數(shù)據(jù)中心的數(shù)字貨幣系統(tǒng)中,需要使用區(qū)塊鏈技術(shù)來避免雙花交易。1 .鑄幣鑄幣交易是每個用戶都擁有的權(quán)力,即鑄幣權(quán),可以記作:-A(10)2 .轉(zhuǎn)賬由某個用戶交易個某組用戶貨幣的行為,可以記作:A告(5),AV(5)此時區(qū)塊鏈中有兩種哈希指針1).鏈接
8、交易的指針;2).說明貨幣來源的指針轉(zhuǎn)賬行為需要:轉(zhuǎn)賬方的簽名;收賬人的地址在驗證交易合法性的時候,需要上一筆交易的輸出和下一筆交易的輸入合起來來測試能否正常運行BitCoinScript區(qū)塊鏈的組成:1. Blockheaderversionhashofpreviousblockheader只算前個區(qū)塊的塊頭Merkleroothashtargetnonce2. Blockbodytransactionlist(交易列表)節(jié)點的分類1. fullmode全節(jié)點,也叫做fullyvalidatingnode2. lightnode只保存blockheader,因此輕節(jié)點不能獨立做驗證。dist
9、ributedconsensus分布式共識,即共享賬本可以被所有用戶承認(rèn)FLPimpossibilityresult:在一個異步的系統(tǒng)中,即使只有一個成員出錯,那么也不可能取得分布式共識。CAPTheorem(C:consistency一致性,A:Availability可用性,P:Partitiontolerance容錯性)CAP三條性質(zhì)只能同時滿足兩條我們需要找到這樣一個nonce使得H(blockheader)Garget成立,這樣該賬戶才能擁有往區(qū)塊鏈中寫入交易的權(quán)力。分叉攻擊:通過往區(qū)塊鏈中間插入合法交易來進(jìn)行回滾,因此區(qū)塊鏈應(yīng)當(dāng)只接受能延拓最長合法鏈的交易coinbasetrans
10、action是唯一鑄幣的方法。每產(chǎn)生一個新的交易,那么擁有投票權(quán)的賬戶可以擁有blockreward,即使用coinbasetransaction去鑄造bitcoino協(xié)議中規(guī)定初始鑄造數(shù)量為50BTC,但是每當(dāng)區(qū)塊鏈延長21W,鑄造數(shù)量減半,目前blockreward為12.5BTC.只有通過計算求解nonce才能獲得記賬權(quán),獲得記賬權(quán)就能得到blockreward,利用coinbasetransaction鑄造新的貨幣。因為區(qū)塊鏈的特殊性質(zhì),計算nonce是沒有任何捷徑的。因此尋找nonce的過程就被稱作挖礦,獲得記賬權(quán)的節(jié)點就被稱為礦工第五節(jié)實現(xiàn)Blockchain是一個去中心化的共享賬本以Bitcoin為例,Bitcoin是一個基于交易的賬本模式transaction-basedledgerUTXO:UnspentTransactionOutput未被花掉的交易的集合通過查詢UTXO來確認(rèn)新的交易中使用的貨幣是否在UTXO中,若在,則合法,否則不合法。因此全節(jié)點內(nèi)存中需要頻繁使用UTXO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年物流信息化建設(shè)合同3篇
- 二零二五年度商業(yè)地產(chǎn)租賃居間代理合同6篇
- 2025年度存量房買賣合同貸款擔(dān)保服務(wù)合同4篇
- 股份合作協(xié)議:四人合伙合同(2025版)3篇
- 地產(chǎn)公司二零二五年度勞動合同與員工帶薪休假及調(diào)休規(guī)定3篇
- 2025年度采石場綠色礦山建設(shè)咨詢合同3篇
- 二零二四年度醫(yī)療設(shè)備采購與設(shè)備更新淘汰合同3篇
- 二零二五版跨區(qū)域技術(shù)合作股權(quán)交易資金監(jiān)管與服務(wù)保障合同3篇
- 2025年度大棚蔬菜種植與農(nóng)業(yè)廢棄物資源化利用合同8篇
- 2025年度廠房設(shè)備搬遷與施工合同范本3篇
- 2024年安全教育培訓(xùn)試題附完整答案(奪冠系列)
- 神農(nóng)架研學(xué)課程設(shè)計
- 斷絕父子關(guān)系協(xié)議書
- 福建省公路水運工程試驗檢測費用參考指標(biāo)
- 《工程勘察資質(zhì)分級標(biāo)準(zhǔn)和工程設(shè)計資質(zhì)分級標(biāo)準(zhǔn)》
- 小學(xué)語文閱讀教學(xué)落實學(xué)生核心素養(yǎng)方法的研究-中期報告
- 眼內(nèi)炎患者護(hù)理查房課件
- 唯物史觀課件
- 2021-2022學(xué)年四川省成都市武侯區(qū)部編版四年級上冊期末考試語文試卷(解析版)
- 中國傳統(tǒng)文化服飾文化
- 大氣污染控制工程 第四版
評論
0/150
提交評論