區(qū)塊鏈培訓(xùn)課件_第1頁
區(qū)塊鏈培訓(xùn)課件_第2頁
區(qū)塊鏈培訓(xùn)課件_第3頁
區(qū)塊鏈培訓(xùn)課件_第4頁
區(qū)塊鏈培訓(xùn)課件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

了解區(qū)塊鏈了解區(qū)塊鏈1主題NO.1NO.2NO.3NO.4什么是區(qū)塊鏈區(qū)塊鏈技術(shù)特點(diǎn)區(qū)塊鏈應(yīng)用場景開發(fā)區(qū)塊鏈應(yīng)用主題NO.1NO.2NO.3NO.4什么是區(qū)塊鏈區(qū)塊鏈技術(shù)特2113

簡單地說,區(qū)塊鏈就是一種去中心化的分布式賬本數(shù)據(jù)庫。去中心化,即與傳統(tǒng)中心化的方式不同,這里是沒有中心,或者說人人都是中心;分布式賬本數(shù)據(jù)庫,意味著記載方式不只是將賬本數(shù)據(jù)存儲在每個節(jié)點(diǎn),而且每個節(jié)點(diǎn)會同步共享復(fù)制整個賬本的數(shù)據(jù)。同時,區(qū)塊鏈還具有去中介化、信息透明等特點(diǎn)。簡單地說,區(qū)塊鏈就是一種去中心化的分布式賬本數(shù)4區(qū)塊鏈培訓(xùn)ppt課件5區(qū)塊鏈培訓(xùn)ppt課件6227去中心化不可篡改可追溯去中心化:在區(qū)塊鏈的網(wǎng)絡(luò)中分布著眾多的節(jié)點(diǎn),節(jié)點(diǎn)和節(jié)點(diǎn)之間地位平等,可以自由連接進(jìn)行數(shù)據(jù)交換,不存在中心節(jié)點(diǎn)。不可篡改性:利用密碼學(xué)的技術(shù)保證區(qū)塊鏈上的數(shù)據(jù)不可被篡改,主要是兩個點(diǎn):哈希和非對稱加密。可追溯性:區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)保證了從第一個區(qū)塊(創(chuàng)世區(qū)塊)開始所有的數(shù)據(jù)形成了一條鏈,在鏈上的任何記錄都可以通過鏈的結(jié)構(gòu)追溯到本源(也就是創(chuàng)世區(qū)塊的信息)。核心技術(shù)點(diǎn)區(qū)塊鏈?zhǔn)且詤^(qū)塊結(jié)構(gòu)存儲數(shù)據(jù),多方參與、多方維護(hù),通過密碼學(xué)、P2P網(wǎng)絡(luò)、共識算法等保證數(shù)據(jù)可靠的傳輸、存儲、訪問的技術(shù)體系。去中心化不可篡改可追溯去中心化:在區(qū)塊鏈的網(wǎng)絡(luò)中分布著眾多的8P2P網(wǎng)絡(luò)密碼學(xué)共識算法保證區(qū)塊鏈落地應(yīng)用的技術(shù)基石P2P網(wǎng)絡(luò)密碼學(xué)共識算法保證區(qū)塊鏈落地應(yīng)用的技術(shù)基石9中心化網(wǎng)絡(luò)傳統(tǒng)的網(wǎng)絡(luò)是中心化的網(wǎng)絡(luò),所有的機(jī)器、通訊都要走過一個中心化的節(jié)點(diǎn)完成通訊,一旦這個節(jié)點(diǎn)出現(xiàn)了問題整個網(wǎng)絡(luò)就癱瘓了。就像現(xiàn)在如果電信、移動、聯(lián)通的基站出現(xiàn)問題周圍的網(wǎng)絡(luò)通訊將會受到影響P2P網(wǎng)絡(luò)傳統(tǒng)的網(wǎng)絡(luò)是中心化的網(wǎng)絡(luò),所有的機(jī)器、通訊都要走過一個中心化的節(jié)點(diǎn)完成通訊,一旦這個節(jié)點(diǎn)出現(xiàn)了問題整個網(wǎng)絡(luò)就癱瘓了。就像現(xiàn)在如果電信、移動、聯(lián)通的基站出現(xiàn)問題周圍的網(wǎng)絡(luò)通訊將會受到影響中心化網(wǎng)絡(luò)傳統(tǒng)的網(wǎng)絡(luò)是中心化的網(wǎng)絡(luò),所有的機(jī)器、通訊都要走過10非對稱加密技術(shù)非對稱加密技術(shù)完全可以解決簽名問題。非對稱加密算法的加密和解密使用不同的兩個密鑰.這兩個密鑰就是我們經(jīng)常聽到的”公鑰”和”私鑰”。公鑰和私鑰一般成對出現(xiàn),如果消息使用公鑰加密,那么需要該公鑰對應(yīng)的私鑰才能解密;同樣,如果消息使用私鑰加密,那么需要該私鑰對應(yīng)的公鑰才能解密。Merkle樹每一個區(qū)塊都有MerkleTree,區(qū)塊上所有的交易都會被存儲在MerkleTree上。區(qū)塊和區(qū)塊之間也是相互鏈接的,每一個區(qū)塊都知道上一個區(qū)塊的Hash值。那為什么這樣的區(qū)塊結(jié)構(gòu)能實(shí)現(xiàn)數(shù)據(jù)不可篡改呢?假設(shè)我要篡改Tx3,那我們將要篡改Hash3的值,接下來改變了Hash3就要改變Hash23,以此類推一直要改變MerkleRoot的Hash值。因?yàn)閰^(qū)塊的HASH中包括了該區(qū)塊MerkleTreeRoot的HASH值,所以一旦你改變了區(qū)塊的HASH,就必須要修改之后所有區(qū)塊的哈希值。同時這樣的修改還要被網(wǎng)絡(luò)中超過共識算法要求的節(jié)點(diǎn)接受。這就造成了篡改數(shù)據(jù)樹的成本極高,幾乎是不可能的。非對稱加密技術(shù)非對稱加密技術(shù)完全可以解決簽名問題。非對稱加密11區(qū)塊鏈培訓(xùn)ppt課件12密碼學(xué):哈希函數(shù)哈希函數(shù),輸入可以是任意信息或者文件,輸出是固定長度的比特串。例如256bit的1/0串,這個輸出叫做這個信息的“哈希值”或者“摘要”(digest)。SHA256就是一個哈希函數(shù)。密碼學(xué):哈希函數(shù)哈希函數(shù),輸入可以是任意信息或者文件,輸出是13密碼哈希函數(shù)有幾個特點(diǎn)特點(diǎn)是輸入值稍微變化后,結(jié)果就會有很大的不同,完全無法預(yù)測不同輸入間的規(guī)律逆向計算不可行,只能使用試錯法(窮舉法),解空間2的256次方密碼哈希函數(shù)有幾個特點(diǎn)14POW共識算法也就是常見的比特幣網(wǎng)絡(luò)的共識算法,它通過哈希算力作為工作量證明去競爭記賬權(quán)。POW的幾個缺點(diǎn):性能比較低;消耗大量的資源,尤其是算力;出塊比較慢,10分鐘左右。但它也優(yōu)點(diǎn),抗容錯性很好,只有超過51%的節(jié)點(diǎn)攻擊網(wǎng)絡(luò),網(wǎng)絡(luò)才會失敗,容錯性50%。POS共識算法相對POW,POS是用所謂的權(quán)益計算法。相對POW來說它有幾大改進(jìn):不再消耗資源;提高性能,2分鐘左右出塊;同樣容錯性也是50%。POW共識算法也就是常見的比特幣網(wǎng)絡(luò)的共識算法,它通過哈希算15PBFT共識算法PBFT也就是所謂的拜占廷容錯,它的性能非常非??欤梢赃_(dá)到秒級出塊甚至比秒級還要快,但是它的容錯性相對差一些,一般是33%左右。PXOS共識算法PXOS假設(shè)的前提是沒有惡意參與者,簡單說就是節(jié)點(diǎn)不會發(fā)送錯誤的信息,但有可能漏發(fā)信息。在這種前提下容錯性50%,性能也是很快的,基本上秒級出塊。DPOS共識算法POS實(shí)現(xiàn)2分鐘左右出塊是比較大的提高,但距離業(yè)務(wù)的要求還有一定距離,所以在此基礎(chǔ)上進(jìn)行優(yōu)化產(chǎn)生了DPOS,簡單來說DPOS不要求每個節(jié)點(diǎn)記帳,而是有代理節(jié)點(diǎn)來記帳,這比較像現(xiàn)實(shí)生活當(dāng)中的議會制度,大家選出代表幫忙記帳,這樣參與記帳的節(jié)點(diǎn)會相對集中,性能也就會提高。所以在DPOS情況下基本可以做到秒級出塊,容錯性也是50%。PBFT共識算法PBFT也就是所謂的拜占廷容錯,它的性能非16工作量證明根據(jù)之前說過SHA256的性質(zhì):輸入變化輸出不可預(yù)測,找到這個特殊數(shù)字唯一的辦法就是窮舉。換言之,你很容易就證明了他們進(jìn)行了海量的計算。而這個特殊數(shù)字就叫做工作量證明(proofofwork)。這就意味著,所有的工作量證明就對應(yīng)了交易列表(賬本Ledger),如果你修改了一個交易,哪怕只是其中一個字符,就會完全改變哈希值,就得重做工作量證明。工作量證明根據(jù)之前說過SHA256的性質(zhì):輸入變化輸出不可預(yù)17區(qū)塊鏈培訓(xùn)ppt課件18修改任何部分都意味著重新計算修改任何部分都意味著重新計算19區(qū)塊鏈分代區(qū)塊鏈分類主流區(qū)塊鏈技術(shù)平臺區(qū)塊鏈分代區(qū)塊鏈分類主流區(qū)塊鏈技術(shù)平臺20區(qū)塊鏈1.0比特幣以及相關(guān)的數(shù)字貨幣劃分為區(qū)塊鏈1.0。區(qū)塊鏈1.0是基礎(chǔ)的區(qū)塊鏈,實(shí)現(xiàn)了數(shù)字貨幣所需的所有特性。區(qū)塊鏈2.0以以太坊為代表的智能合約劃分為區(qū)塊鏈2.0,區(qū)塊鏈2.0的核心概念是智能合約,簡單說就是可編程的數(shù)字貨幣。雖然只是加了一個前綴,但卻是巨大的進(jìn)步。這意味著不僅僅價值本身,價值相關(guān)的商業(yè)規(guī)則也可以被數(shù)字化,是價值互聯(lián)網(wǎng)的一個巨大進(jìn)度。區(qū)塊鏈3.0在非貨幣和金融領(lǐng)域外,在其他領(lǐng)域里的區(qū)塊鏈的應(yīng)用劃分為區(qū)塊鏈3.0。區(qū)塊鏈1.0比特幣以及相關(guān)的數(shù)字貨幣劃分為區(qū)塊鏈1.0。區(qū)21公有鏈公有鏈?zhǔn)侨魏稳硕伎勺x取的、任何人都能發(fā)送交易且交易能獲得有效確認(rèn)的、任何人都能參與其中共識過程的區(qū)塊鏈。聯(lián)盟鏈聯(lián)盟鏈主要針對有競爭又需要合作的場景,技術(shù)上聯(lián)盟區(qū)塊鏈?zhǔn)侵钙涔沧R過程受到預(yù)選節(jié)點(diǎn)控制的區(qū)塊鏈。只有獲準(zhǔn)進(jìn)入聯(lián)盟的節(jié)點(diǎn)才可以參與其中。私有鏈私有鏈一般僅在一個公司或者組織內(nèi)使用,它更像一個分布式賬本。公有鏈公有鏈?zhǔn)侨魏稳硕伎勺x取的、任何人都能發(fā)送交易且交易能獲22比特幣比特幣BitcoinCore是一個代碼質(zhì)量高、文檔良好的開源軟件,從學(xué)習(xí)區(qū)塊鏈原理、掌握核心技術(shù)的角度來說,BitcoinCore是最佳切入點(diǎn),BitcoinCore是用C++寫的,而且用了一些C++11和Boost庫的機(jī)制,對學(xué)習(xí)者的C++水平提出了較高的要求。以太坊Solidity進(jìn)行的智能合約開發(fā)是切入?yún)^(qū)塊鏈開發(fā)最簡單的方式,沒有之一。以太坊的理想非常宏大,由于配備了強(qiáng)大的圖靈完備的智能合約虛擬機(jī),因此可以成為一切區(qū)塊鏈項目的母平臺,是馱住整個區(qū)塊鏈?zhǔn)澜绲拇鬄觚?。Fabric它是Hyperledger的第一個也是最知名的孵化項目。Fabric最早來自IBM的OpenBlockchain項目,到2015年11月,IBM將當(dāng)時已經(jīng)開發(fā)完成的44,000行Go語言代碼交給Linux基金會,并入Hyperledger項目之中。主流區(qū)塊鏈平臺比特幣比特幣BitcoinCore是一個代碼質(zhì)量高、文檔良233324金融服務(wù)供應(yīng)鏈文化娛樂防偽、溯源金融服務(wù)供應(yīng)鏈文化娛樂防偽、溯源25醫(yī)療體育公益物流醫(yī)療體育公益物流264427認(rèn)識HyperledgerFabricHyperledgerFabric的架構(gòu)設(shè)計HyperledgerFabric學(xué)習(xí)資源HyperledgerFabric的架構(gòu)設(shè)計認(rèn)識HyperledgerFabricHyperledg28Hyperledger是面向企業(yè)應(yīng)用的全球最大的分布式賬本開源項目,由Linux基金會支持,創(chuàng)建于2015年底。目前已有200多家科技、金融行業(yè)領(lǐng)軍企業(yè)加入成員,包括IBM、Intel、摩根、甲骨文、萬達(dá)、百度、騰訊等。大量基于超級賬本技術(shù)的企業(yè)界區(qū)塊鏈項目已經(jīng)成功落地。如今說到Hyperledger基本都是指的當(dāng)中IBM開發(fā)的Fabric平臺。而HyperledgerFabric項目自誕生之日起就吸引了全球眾多企業(yè)的密切關(guān)注,已經(jīng)先后發(fā)布了兩個大的版本,0.6實(shí)驗(yàn)版本(2016年9月),1.0正式版本(2017年7月),1.1正式版本(2018年3月20日)。HyperledgerFabric,也叫超級賬本。現(xiàn)在由Linux基金會管理,主要由IBM和DigitalAsset發(fā)起。IBM和DigitalAsset的客戶都是企業(yè)、政府部門。那么超級賬本的也是是針對企業(yè)應(yīng)用的開發(fā)的。Hyperledger是面向企業(yè)應(yīng)用的全球最大的分布式賬本29開放超級賬本的是Linux基金會2015年底宣布成立的,成立之后很快就吸引了大批的企業(yè)。到2016年底,加入的企業(yè)數(shù)達(dá)到120多家,大約四分之一是中國企業(yè)。現(xiàn)在的Fabric的代碼,主要是由IBM和DigitalAsset這兩家公司提供的。IBM把代碼貢獻(xiàn)出去之前,內(nèi)部叫Openblockchain,是IBM開源的blockchain項目,中國有很多企業(yè)在研究這個項目,包括中信,民生,華為,浪潮,騰訊,招商銀行等。談到Linux基金會的大家首先會想到LnuxGithub。Linux毫無疑問是應(yīng)用最廣的OS,Github是最大的開源社區(qū)里面,github上有無數(shù)的開源軟件,遍布全球的程序員每天都在Github上提交新項目,改進(jìn)代碼。開放超級賬本的是Linux基金會2015年底宣布成立30開放談到Linux基金會的大家首先會想到LinuxGithub。Linux毫無疑問是應(yīng)用最廣的OS,Github是最大的開源社區(qū)里面,github上有無數(shù)的開源軟件,遍布全球的程序員每天都在Github上提交新項目,改進(jìn)代碼。開源它的源代碼是開放的,Github上有鏡像,大家可以很方便地下載。開放談到Linux基金會的大家首先會想到LinuxG31支持多語言SDK目前支持go,java,js,python四種語言,基本是目前最流行的編程語言,絕大部分寫代碼的同學(xué)至少會其中的一種。這也就大大降低了使用Fabric的門檻,開發(fā)者不用再學(xué)習(xí)新的語言就可以開始寫程序做區(qū)塊鏈的應(yīng)用了??刹灏危蓴U(kuò)展Fabric中的CA,數(shù)據(jù)庫,共識算法等,都是可以插拔的。而且,F(xiàn)arbric的Chaincode通過docker實(shí)現(xiàn)。Chaincode是什么呢?這又要回到共識機(jī)制。共識機(jī)制就是所有參與者對每個合約的確認(rèn)過程。舉個簡單的例子,A轉(zhuǎn)賬給B100元:“A付款,B收款確認(rèn)”,這些信息被記錄在賬本上,這就是共識機(jī)制。代碼怎么實(shí)現(xiàn)這個動作呢?A轉(zhuǎn)賬的動作,B確認(rèn)的動作,都是在chaincode實(shí)現(xiàn)。類似于我們定義一個轉(zhuǎn)賬的接口,A實(shí)現(xiàn)付款的代碼,B實(shí)現(xiàn)確認(rèn)的代碼。這些代碼就是chaincode。支持多語言SDK目前支持go,java,js,py32Peer節(jié)點(diǎn)Ordering-ServiceCAPeer節(jié)點(diǎn),大部分代碼都在peer里面實(shí)現(xiàn).Ordering-Service完成共識機(jī)制的地方.CA成員管理.HyperledgerFabric的架構(gòu)設(shè)計Fabric三大核心組件Peer節(jié)點(diǎn)Ordering-ServiceCAPeer節(jié)點(diǎn)33區(qū)塊鏈培訓(xùn)ppt課件34節(jié)點(diǎn)(Peer)在Fabric中,Peer主要有三種類型:Endorser,Committer,Submitter。Endorser(背書節(jié)點(diǎn)):負(fù)責(zé)對交易提案進(jìn)行檢查背書,根據(jù)定義好的規(guī)則讀寫數(shù)據(jù),讀寫集,這個讀寫的數(shù)據(jù)叫statedb,或者叫worldstatedb。背書就是簽署,它做的具體事情就是根據(jù)約定,往事務(wù)里讀寫數(shù)據(jù),可以理解為執(zhí)行合同里的每個條款。注意這個數(shù)據(jù)沒有寫到賬本數(shù)據(jù),因?yàn)橘~本是共享的。Committer(確認(rèn)節(jié)點(diǎn)):負(fù)責(zé)檢查交易請求,驗(yàn)證endorsements和transaction結(jié)果,并且執(zhí)行交易,并維護(hù)區(qū)塊鏈和賬本結(jié)構(gòu)。Commiter會寫到共享賬本數(shù)據(jù)。Submitter:目前版本中還未公布其具體功能,可能會參與寫賬本。Peer是在網(wǎng)絡(luò)中具有一定功能的服務(wù)或者軟件。它在Fabric網(wǎng)絡(luò)中,主要負(fù)責(zé)接收交易請求。維護(hù)賬本,一般都是運(yùn)行在容器。節(jié)點(diǎn)之間通過gRPC進(jìn)行通信。節(jié)點(diǎn)(Peer)在Fabric中,Peer主要有三種35區(qū)塊鏈培訓(xùn)ppt課件36排序者(Orderer)Orderer負(fù)責(zé)對收到的交易在網(wǎng)絡(luò)中進(jìn)行全局排序。Order是接收transaction,產(chǎn)生block。并且負(fù)責(zé)共識機(jī)制的policy管理,有點(diǎn)類似比特幣里面的礦工。排序者(Orderer)Orderer負(fù)責(zé)對收到的交易在37CA節(jié)點(diǎn)負(fù)責(zé)對網(wǎng)絡(luò)中的成員身份進(jìn)行管理。目前采用的事數(shù)字證書機(jī)制,CA節(jié)點(diǎn)實(shí)現(xiàn)了PKI服務(wù)。PKI體系PKI(PublicKeyInfrastructure),它不是某一種技術(shù),而是綜合多種密碼學(xué)手段來實(shí)現(xiàn)安全可靠傳遞消息和身份確認(rèn)的一個框架和規(guī)范。一般情況下,包括如下組件:CA(CertificationAuthority):負(fù)責(zé)證書的頒發(fā)和作廢,接收來自RA的請求;RA(RegistrationAuthority):對用戶身份進(jìn)行驗(yàn)證,校驗(yàn)數(shù)據(jù)合法性,負(fù)責(zé)登記,審核過了就發(fā)給CA;證書數(shù)據(jù)庫:存放證書,一般采用LDAP目錄服務(wù),標(biāo)準(zhǔn)格式采用X.500系列。CA是最核心的組件,主要完成對公鑰的管理。密鑰有兩種類型:用于簽名和用于加解密,對應(yīng)稱為簽名密鑰對和加密密鑰對。用戶基于PKI體系要申請一個證書,一般可以由CA來生成證書和私鑰,也可以自己生成公鑰和私鑰,然后由CA來對公鑰進(jìn)行簽發(fā)。CA節(jié)點(diǎn)負(fù)責(zé)對網(wǎng)絡(luò)中的成員身份進(jìn)行管理。目前采用的事數(shù)字證38完成一個事務(wù)的具體工程事務(wù)就是合約、合同,完成這個合同不同的參與者需要完成不同的任務(wù)

右上角的紫色的框內(nèi)是簽署規(guī)則,根據(jù)這個規(guī)則,E0,E1,E2三方需要完成簽名。第一步就是客戶端根據(jù)規(guī)則向這個網(wǎng)絡(luò)中廣播一條消息

完成一個事務(wù)的具體工程事務(wù)就是合約、合同,完成這個合同不同的39E0,E1,E2收到消息就執(zhí)行背書

E0,E1,E2收到消息就執(zhí)行背書 40E0,E1,E2完成背書之后,通知客戶端

E0,E1,E2完成背書之后,通知客戶端 41客戶端收到大家的確認(rèn)之后就,就向Ordererservice發(fā)送請求。Orderservice對這個transaction進(jìn)行排序,之后寫到block中,并發(fā)送給committingpeers。這個block就是區(qū)塊鏈的block

客戶端收到大家的確認(rèn)之后就,就向

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論