區(qū)塊鏈導(dǎo)論區(qū)塊鏈系統(tǒng)框架及技術(shù)課件_第1頁
區(qū)塊鏈導(dǎo)論區(qū)塊鏈系統(tǒng)框架及技術(shù)課件_第2頁
區(qū)塊鏈導(dǎo)論區(qū)塊鏈系統(tǒng)框架及技術(shù)課件_第3頁
區(qū)塊鏈導(dǎo)論區(qū)塊鏈系統(tǒng)框架及技術(shù)課件_第4頁
區(qū)塊鏈導(dǎo)論區(qū)塊鏈系統(tǒng)框架及技術(shù)課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

區(qū)塊鏈系統(tǒng)框架及技術(shù)區(qū)塊鏈系統(tǒng)框架及技術(shù)Contents2.1數(shù)據(jù)層2.2網(wǎng)絡(luò)層2.3共識層2.4激勵層2.5合約層2.6應(yīng)用層區(qū)塊鏈導(dǎo)論1Contents2.1數(shù)據(jù)層2.2網(wǎng)絡(luò)層2.3共識層2.4激區(qū)塊鏈系統(tǒng)?區(qū)塊鏈支撐技術(shù):區(qū)塊鏈系統(tǒng)是由多種技術(shù)相互支撐構(gòu)成的系統(tǒng),包括數(shù)據(jù)區(qū)塊、時間戳、數(shù)字簽名、P2P網(wǎng)絡(luò)、共識算法等,此外還包括Merkle樹、UTXO模型(UnspentTransactionOutput)等。區(qū)塊鏈導(dǎo)論2區(qū)塊鏈系統(tǒng)?區(qū)塊鏈支撐技術(shù):區(qū)塊鏈系統(tǒng)是由多種技術(shù)相互支撐構(gòu)區(qū)塊鏈系統(tǒng)?系統(tǒng)架構(gòu):系統(tǒng)層次由高到低分別是應(yīng)用層、合約層、激勵層、共識層、網(wǎng)絡(luò)層以及數(shù)據(jù)層。下圖為區(qū)塊鏈基礎(chǔ)架構(gòu)模型。區(qū)塊鏈導(dǎo)論可編程貨幣可編程金融可編程社會應(yīng)用層腳本代碼算法機制智能合約合約層發(fā)行機制分配機制激勵層PoWPoSDPoS

共識層P2P網(wǎng)絡(luò)傳播機制驗證機制網(wǎng)絡(luò)層數(shù)據(jù)區(qū)塊鏈?zhǔn)浇Y(jié)構(gòu)時間戳哈希函數(shù)Merkle樹非對稱加密數(shù)據(jù)層3區(qū)塊鏈系統(tǒng)?系統(tǒng)架構(gòu):系統(tǒng)層次由高到低分別是應(yīng)用層、合約層、2.1數(shù)據(jù)層區(qū)塊鏈導(dǎo)論2.1數(shù)據(jù)層區(qū)塊鏈導(dǎo)論數(shù)據(jù)區(qū)塊?構(gòu)成:區(qū)塊鏈的數(shù)據(jù)區(qū)塊包括區(qū)塊頭和區(qū)塊體。具體如下圖所示。?區(qū)塊頭:包含當(dāng)前區(qū)塊的版本號、時間戳、當(dāng)前區(qū)塊的隨機數(shù)、Merkle根信息、以及前一區(qū)塊的哈希值和本區(qū)塊的哈希值等。?區(qū)塊體:主要包含交易計數(shù)和交易詳情的交易列表。區(qū)塊體中的Merkle樹會對記錄的各個交易進行簽名,來保證交易的不可偽造,通過Merkle樹的哈希值計算過程產(chǎn)生唯一的Merkle根。區(qū)塊鏈導(dǎo)論4數(shù)據(jù)區(qū)塊?構(gòu)成:區(qū)塊鏈的數(shù)據(jù)區(qū)塊包括區(qū)塊頭和區(qū)塊體。具體如下鏈?zhǔn)浇Y(jié)構(gòu)?區(qū)塊鏈采用鏈?zhǔn)浇Y(jié)構(gòu)記錄數(shù)據(jù),每個參與競爭記賬權(quán)的節(jié)點稱為礦工,礦工將當(dāng)前區(qū)塊與區(qū)塊主鏈上的最末端區(qū)塊鏈接,就形成了從初始區(qū)塊到當(dāng)前區(qū)塊的一條區(qū)塊鏈,這條區(qū)塊鏈記錄了所有的交易數(shù)據(jù),使得在該條區(qū)塊鏈之上的所有數(shù)據(jù)歷史都可以被追溯和查詢。區(qū)塊鏈導(dǎo)論5鏈?zhǔn)浇Y(jié)構(gòu)?區(qū)塊鏈采用鏈?zhǔn)浇Y(jié)構(gòu)記錄數(shù)據(jù),每個參與競爭記賬權(quán)的節(jié)鏈?zhǔn)浇Y(jié)構(gòu)?區(qū)塊鏈的鏈接模型如下圖。其中上一區(qū)塊的哈希值實際上是指上一個區(qū)塊頭部的哈希值,而計算隨機數(shù)規(guī)則決定了哪個礦工可以獲得記錄區(qū)塊的權(quán)力。?若不同地區(qū)的兩個礦工同時在當(dāng)前區(qū)塊主鏈上鏈接新的數(shù)據(jù)區(qū)塊時,系統(tǒng)約定在后續(xù)區(qū)塊鏈接時,將通過計算和比較,將數(shù)據(jù)區(qū)塊鏈接到長度最大的備選鏈上,形成新的主鏈。區(qū)塊鏈導(dǎo)論區(qū)塊鏈鏈接模型6鏈?zhǔn)浇Y(jié)構(gòu)?區(qū)塊鏈的鏈接模型如下圖。其中上一區(qū)塊的哈希值實際上時間戳?定義:時間戳表示數(shù)據(jù)在特定時間已經(jīng)存在的可驗證的數(shù)據(jù)。?意義:?區(qū)塊鏈中每個數(shù)據(jù)區(qū)塊頭都需要加蓋時間戳,來記錄區(qū)塊的寫入時間,保證每個區(qū)塊按順序依次鏈接,后一個區(qū)塊的時間戳可以對前一區(qū)塊的時間戳進行增強,為區(qū)塊鏈應(yīng)用于時間敏感的領(lǐng)域奠定了基礎(chǔ)。?保證區(qū)塊鏈數(shù)據(jù)的不可篡改和偽造。區(qū)塊鏈導(dǎo)論7時間戳?定義:時間戳表示數(shù)據(jù)在特定時間已經(jīng)存在的可驗證的數(shù)據(jù)哈希函數(shù)?定義:哈希函數(shù),也稱散列函數(shù),實現(xiàn)將任意長度的輸入轉(zhuǎn)換為固定長度的輸出。哈希函數(shù)值是指由固定長度的數(shù)字和字母組成的字符串,區(qū)塊鏈通常直接保存哈希函數(shù)值,而非原始數(shù)據(jù)。?特點:具有單向性、易壓縮、高靈敏、抗碰撞等特點,適用于存儲區(qū)塊鏈中的數(shù)據(jù)。區(qū)塊鏈導(dǎo)論8哈希函數(shù)?定義:哈希函數(shù),也稱散列函數(shù),實現(xiàn)將任意長度的輸入Merkle樹?定義:Merkle樹是數(shù)據(jù)結(jié)構(gòu)中的一種樹,可以是二叉樹,也可以是多叉樹,它具有樹結(jié)構(gòu)的所有特點。?Merkle二叉樹會將區(qū)塊鏈中的數(shù)據(jù)分組進行哈希運算,向上不斷遞歸運算產(chǎn)生新的哈希節(jié)點,除底層哈希節(jié)點外,其余哈希節(jié)點都包含兩個相鄰的哈希值。Merkle二叉樹的根保存在區(qū)塊頭中,其余部分保存在區(qū)塊體中。?意義:Merkle樹使得區(qū)塊頭只需包含該區(qū)塊記錄的所有交易經(jīng)過不斷遞歸運算最終形成的哈希值;同時使得節(jié)點在不了解整個區(qū)塊的情況下,對是否包含某一交易進行驗證,極大提高了區(qū)塊鏈的運行效率。其作用主要是快速歸納和校驗區(qū)塊數(shù)據(jù)的完整性。區(qū)塊鏈導(dǎo)論9Merkle樹?定義:Merkle樹是數(shù)據(jù)結(jié)構(gòu)中的一種樹,可非對稱加密?定義:非對稱加密也稱公鑰加密,需要兩個非對稱的密鑰,分別是公鑰和私鑰,其中公鑰對所有人公開,私鑰自己保存。?意義:?非對稱加密用于保證系統(tǒng)安全性及所有權(quán)驗證問題。常見的非對稱加密算法包括RSA、Elgamal、ECC等,區(qū)塊鏈系統(tǒng)中使用的是橢圓曲線加密算法——ECC。?非對稱加密除了對數(shù)據(jù)進行加密外,還可用于數(shù)字簽名認(rèn)證,通過私鑰簽名的交易可以使用對應(yīng)的公鑰對其進行驗證,從而對交易發(fā)起者進行驗證。區(qū)塊鏈導(dǎo)論10非對稱加密?定義:非對稱加密也稱公鑰加密,需要兩個非對稱的密2.2網(wǎng)絡(luò)層區(qū)塊鏈導(dǎo)論2.2網(wǎng)絡(luò)層區(qū)塊鏈導(dǎo)論網(wǎng)絡(luò)層?網(wǎng)絡(luò)層封裝了區(qū)塊鏈系統(tǒng)的組網(wǎng)方式、消息傳播協(xié)議和數(shù)據(jù)驗證機制等要素。?網(wǎng)絡(luò)層的設(shè)計是為了保證區(qū)塊鏈中各個節(jié)點間的通信,通過特定的協(xié)議和機制,使得每個節(jié)點都能參與記賬和數(shù)據(jù)校驗等。同時保證數(shù)據(jù)區(qū)塊是經(jīng)過大部分節(jié)點驗證后才記入?yún)^(qū)塊鏈中的。區(qū)塊鏈導(dǎo)論11網(wǎng)絡(luò)層?網(wǎng)絡(luò)層封裝了區(qū)塊鏈系統(tǒng)的組網(wǎng)方式、消息傳播協(xié)議和數(shù)據(jù)網(wǎng)絡(luò)結(jié)構(gòu)?區(qū)塊鏈系統(tǒng)一般采用P2P網(wǎng)絡(luò)來組織各個節(jié)點參與驗證和記賬。?P2P網(wǎng)絡(luò)是一種不需中心服務(wù)器、而是依靠節(jié)點間溝通的體系。P2P網(wǎng)絡(luò)示意如下圖所示。網(wǎng)絡(luò)中的每個節(jié)點地位平等,既產(chǎn)生信息,也接收信息,每個節(jié)點都承擔(dān)網(wǎng)絡(luò)路由、數(shù)據(jù)驗證等功能。P2P網(wǎng)絡(luò)示意圖區(qū)塊鏈導(dǎo)論12網(wǎng)絡(luò)結(jié)構(gòu)?區(qū)塊鏈系統(tǒng)一般采用P2P網(wǎng)絡(luò)來組織各個節(jié)點參與驗證網(wǎng)絡(luò)結(jié)構(gòu)?網(wǎng)絡(luò)節(jié)點根據(jù)存儲數(shù)據(jù)量的不同,可以分為全節(jié)點和輕量級節(jié)點。?全節(jié)點:存儲了從創(chuàng)始區(qū)塊以來的所有區(qū)塊鏈數(shù)據(jù),在進行數(shù)據(jù)校驗時不需依靠別的節(jié)點,僅依靠自身就可以完成校驗更新等操作,但全節(jié)點部署時硬件成本較高。?輕量級節(jié)點:存儲部分?jǐn)?shù)據(jù)信息,在需要別的數(shù)據(jù)時可以通過簡易支付驗證方式向鄰近節(jié)點請求所需數(shù)據(jù)來完成驗證更新。區(qū)塊鏈導(dǎo)論13網(wǎng)絡(luò)結(jié)構(gòu)?網(wǎng)絡(luò)節(jié)點根據(jù)存儲數(shù)據(jù)量的不同,可以分為全節(jié)點和輕量數(shù)據(jù)傳播協(xié)議?區(qū)塊鏈網(wǎng)絡(luò)交易信息的公布方式是廣播,存在兩種廣播機制:交易廣播和區(qū)塊構(gòu)造廣播。?交易廣播:指生成交易的節(jié)點將交易信息傳播給相鄰節(jié)點,相鄰節(jié)點驗證后繼續(xù)傳播給其相鄰節(jié)點,通過節(jié)點間的相互傳播,使得交易信息快速被網(wǎng)絡(luò)中的所有節(jié)點所接收,若多數(shù)節(jié)點(51%)接收,則交易通過;若交易信息有錯,不再進行廣播。?區(qū)塊構(gòu)造廣播:指找到正確隨機數(shù)后對其進行廣播,其他節(jié)點進行驗證,若大部分節(jié)點驗證通過,則確認(rèn)記賬權(quán),生成新區(qū)塊。區(qū)塊鏈導(dǎo)論14數(shù)據(jù)傳播協(xié)議?區(qū)塊鏈網(wǎng)絡(luò)交易信息的公布方式是廣播,存在兩種廣數(shù)據(jù)驗證機制?數(shù)據(jù)驗證機制是指節(jié)點對廣播的交易信息和區(qū)塊進行驗證的過程。區(qū)塊鏈沒有中心機構(gòu)進行交易信任校驗和保證,因此每一項交易都需要依靠全網(wǎng)節(jié)點的驗證來保證,至少經(jīng)過多數(shù)(51%)節(jié)點驗證的交易才能取得信任。?在比特幣系統(tǒng)中,每個節(jié)點都時刻監(jiān)聽區(qū)塊鏈網(wǎng)絡(luò)中廣播的交易數(shù)據(jù)與新區(qū)塊。節(jié)點會收集網(wǎng)絡(luò)中已經(jīng)廣播但未確認(rèn)的交易和區(qū)塊,按照預(yù)先定義的標(biāo)準(zhǔn),從不同方面驗證交易數(shù)據(jù)和區(qū)塊的有效性,并將有效的交易數(shù)據(jù)整合至當(dāng)前區(qū)塊中。區(qū)塊鏈導(dǎo)論15數(shù)據(jù)驗證機制?數(shù)據(jù)驗證機制是指節(jié)點對廣播的交易信息和區(qū)塊進行2.3共識層區(qū)塊鏈導(dǎo)論2.3共識層區(qū)塊鏈導(dǎo)論共識層?共識層封裝了各種共識算法。在分布式系統(tǒng)中,決策權(quán)越分散的系統(tǒng)達(dá)成共識的效率越低,但系統(tǒng)穩(wěn)定性高;決策權(quán)越集中的系統(tǒng)達(dá)成共識效率高,但穩(wěn)定性差。?區(qū)塊鏈共識技術(shù)的優(yōu)勢之一是在去中心化的系統(tǒng)中使節(jié)點間對區(qū)塊數(shù)據(jù)有效性保持一致。區(qū)塊鏈導(dǎo)論16共識層?共識層封裝了各種共識算法。在分布式系統(tǒng)中,決策權(quán)越分PoW共識?POW工作原理?工作量證明(ProofofWork,PoW)共識機制是通過節(jié)點間的算力競爭來保持共識及數(shù)據(jù)一致,即對于工作量的證明,是生成要加入到區(qū)塊鏈中的一筆新的交易信息(即新區(qū)塊)時必須滿足的要求。?在基于工作量證明(PoW)機制構(gòu)建的區(qū)塊鏈網(wǎng)絡(luò)中,節(jié)點通過計算隨機哈希散列的數(shù)值解爭奪記賬權(quán),求得正確的數(shù)值解以生成區(qū)塊的能力是節(jié)點算力的具體表現(xiàn)。工作量證明機制具有完全去中心化的優(yōu)點,節(jié)點可以自由進出。區(qū)塊鏈導(dǎo)論17PoW共識?POW工作原理?工作量證明(ProofofWorPoW共識?POW優(yōu)缺點?在比特幣系統(tǒng)中,判定競爭結(jié)果是通過工作量證明(PoW)的機制來完成的。PoW的主要特點是計算的不對稱性,工作端需要經(jīng)過長時間運算得到結(jié)果,而驗證端可以很容易通過結(jié)果對工作端所做工作進行檢驗。?PoW共識機制具有重要的創(chuàng)新意義,但要求的強大算力造成了大量資源浪費,而且交易確認(rèn)時間過長,不適合小額交易的商業(yè)應(yīng)用。區(qū)塊鏈導(dǎo)論17PoW共識?POW優(yōu)缺點?在比特幣系統(tǒng)中,判定競爭結(jié)果是通過PoS共識?POS原理?權(quán)益證明(ProofofStake,PoS)共識解決PoW共識機制需要強大算力造成的資源浪費問題,使用權(quán)益證明來替換工作量證明。?PoS要求用戶證明擁有某些數(shù)量的貨幣,節(jié)點對特定數(shù)量貨幣的所有權(quán)稱為幣齡,每次交易都將消耗特定數(shù)量的幣齡。?POS特點?PoS共識過程中挖礦難度與交易輸入的幣齡成反比。在挖礦過程中,消耗幣齡最高的區(qū)塊將被鏈接。?PoS共識過程依靠內(nèi)部幣齡,不需大量耗費電力和能源,很大程度上解決了PoW共識機制中資源浪費的問題,同時也縮短了共識時間。但依據(jù)權(quán)益來選擇會導(dǎo)致首富賬戶的權(quán)力過大,甚至支配記賬權(quán)。區(qū)塊鏈導(dǎo)論18PoS共識?POS原理?權(quán)益證明(ProofofStake,DPoS共識?股份授權(quán)證明(DelegatedProofofStake,DPoS)共識機制中節(jié)點可以自主的選擇其信任的節(jié)點,利用權(quán)益人股票的權(quán)力來公平民主的解決共識問題。所有的網(wǎng)絡(luò)參數(shù),包括交易費用、生成塊的時間以及交易大小,都可以通過選出來的代理人來調(diào)整。?比特股(Bitshare)是一類采用DPoS機制的加密貨幣,其引入了見證人的概念。見證人可以創(chuàng)造區(qū)塊,比特股持有者選出的N個見證人可以視為N個礦池,每個礦池的權(quán)利完全平等,若這些見證人(礦池)提供的算力不穩(wěn)定、計算機宕機,持股人可以隨時通過投票更換見證人。?DPoS是目前看到的最快、最高效、靈活的共識模型,減少了參與驗證和記賬的節(jié)點數(shù)量,實現(xiàn)了快速的共識驗證。19區(qū)塊鏈導(dǎo)論DPoS共識?股份授權(quán)證明(DelegatedProofof2.4激勵層區(qū)塊鏈導(dǎo)論2.4激勵層區(qū)塊鏈導(dǎo)論激勵層?激勵層:激勵層提供一定的激勵措施鼓勵節(jié)點參與區(qū)塊鏈的日常運作以及共識驗證工作。為了鼓勵節(jié)點參與區(qū)塊鏈的運作,例如數(shù)字貨幣等區(qū)塊鏈一般會使用特定數(shù)量貨幣的獎勵給區(qū)塊創(chuàng)建者。?激勵層將經(jīng)濟因素集成到區(qū)塊鏈技術(shù)體系中。在公有鏈中,區(qū)塊鏈系統(tǒng)遵循著激勵機制獎勵獲得記賬權(quán)的節(jié)點,讓整個系統(tǒng)朝著良性循環(huán)的方向發(fā)展。在私有鏈或聯(lián)盟鏈中,不一定需要進行激勵。區(qū)塊鏈導(dǎo)論20激勵層?激勵層:激勵層提供一定的激勵措施鼓勵節(jié)點參與區(qū)塊鏈的2.5合約層區(qū)塊鏈導(dǎo)論2.5合約層區(qū)塊鏈導(dǎo)論應(yīng)用模式?合約層:合約層是區(qū)塊鏈2.0新出現(xiàn)的拓展架構(gòu),但卻是區(qū)塊鏈延伸各種應(yīng)用功能的必要支撐,極大地提升了區(qū)塊鏈的可拓展性。合約層由合約虛擬機與智能合約兩部分組成。?合約虛擬機:是區(qū)塊鏈中智能合約的運行基礎(chǔ),為合約代碼提供了沙盒式的執(zhí)行環(huán)境。合約虛擬機本身一般不存儲到區(qū)塊鏈上,而是與區(qū)塊鏈并行存儲到各個節(jié)點計算機中。每個校驗節(jié)點都會運行合約虛擬機,并將其作為區(qū)塊有效性校驗協(xié)議的一部分。區(qū)塊鏈導(dǎo)論21應(yīng)用模式?合約層:合約層是區(qū)塊鏈2.0新出現(xiàn)的拓展架構(gòu),但卻應(yīng)用模式?智能合約:是一種旨在以信息化方式傳播、驗證或執(zhí)行合同的計算機協(xié)議。以太坊是應(yīng)用智能合約最早且最成功的區(qū)塊鏈,大多數(shù)合約虛擬機都是仿照以太坊虛擬機(EthereumVirtualMachine,EVM)設(shè)計。以Solidity語言實現(xiàn)方法為例合約層的整體運作流程如下圖。合約地址調(diào)用Solidity代碼編譯Bytecode載入合約虛擬機區(qū)塊鏈導(dǎo)論合約層運作

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論