區(qū)塊鏈基本知識(shí)_第1頁(yè)
區(qū)塊鏈基本知識(shí)_第2頁(yè)
區(qū)塊鏈基本知識(shí)_第3頁(yè)
區(qū)塊鏈基本知識(shí)_第4頁(yè)
區(qū)塊鏈基本知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、區(qū)塊鏈基本知識(shí)區(qū)塊鏈基礎(chǔ)知識(shí)區(qū)塊鏈(BlockChain),是區(qū)塊(Block)和鏈(Chain)的直譯,其數(shù)據(jù)結(jié)構(gòu)如圖1所示,即每個(gè)區(qū)塊保存規(guī)定時(shí)間段內(nèi)的數(shù)據(jù)記錄,并通過(guò)密碼學(xué)的方式,構(gòu)建一條安全可信的鏈條,形成一個(gè)不可篡改、全員共有的分布式賬本。比特幣的區(qū)塊分為區(qū)塊頭和區(qū)塊體兩部分。區(qū)塊頭的大小為80字節(jié),包括4字節(jié)的版本號(hào)、32字節(jié)(256位)的上一區(qū)塊哈希值、32字節(jié)的Merkle根節(jié)點(diǎn)、4字節(jié)的時(shí)間戳、4字節(jié)的難度值和4字節(jié)的隨機(jī)數(shù)。區(qū)塊體包含10分鐘內(nèi)選定的交易記錄,第一筆交易(coinbase交易)是用于獎(jiǎng)勵(lì)礦工比特幣的特殊交易,由礦工自己添加進(jìn)區(qū)塊。區(qū)塊N區(qū)抉新區(qū)塊圖1區(qū)塊鏈的

2、數(shù)據(jù)結(jié)構(gòu)示意圖基本概念區(qū)塊鏈?zhǔn)呛芏喱F(xiàn)有技術(shù)交叉融合在一起的集成創(chuàng)新。因此,要了解區(qū)塊鏈,首先要了解區(qū)塊鏈到底集成了哪些技術(shù)。P2P網(wǎng)絡(luò)如圖2所示,P2P(Peer-to-Peer)網(wǎng)絡(luò)是一種端到端的網(wǎng)絡(luò)。P2P網(wǎng)絡(luò)分為結(jié)構(gòu)化(例如基于Chord的P2P網(wǎng)絡(luò))和非結(jié)構(gòu)化的P2P網(wǎng)絡(luò)(例如Gnutella)。比特幣的區(qū)塊鏈采用的是非結(jié)構(gòu)化P2P網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)沒(méi)有中心化的硬件或管理機(jī)構(gòu),任一節(jié)點(diǎn)既是服務(wù)端,也是客戶端。任何節(jié)點(diǎn)只要安裝相應(yīng)的客戶端軟件,就能接入P2P網(wǎng)絡(luò)(例如BT軟件),參與區(qū)塊鏈的記錄和驗(yàn)證,不超過(guò)1/3節(jié)點(diǎn)的損壞、退出甚至被植入惡意代碼,都不會(huì)影響整個(gè)系統(tǒng)的運(yùn)作。IllIIICl

3、earingHouseliltIIImt丿totbitUH通過(guò)去中心化賬本來(lái)替代中心機(jī)構(gòu)認(rèn)證資產(chǎn)所有權(quán)。多個(gè)機(jī)構(gòu)共同運(yùn)行和檢驗(yàn),來(lái)防止欺詐和人為操控金融系統(tǒng)在機(jī)構(gòu)之間使用一個(gè)中心化的賬本來(lái)追蹤資產(chǎn)的流動(dòng)圖2傳統(tǒng)中心化系統(tǒng)和P2P網(wǎng)絡(luò)的拓?fù)鋵?duì)比加密算法和數(shù)字簽名加密技術(shù)分為對(duì)稱、非對(duì)稱和哈希(Hash)加密。對(duì)稱加密是指用同樣的密鑰來(lái)進(jìn)行加密和解密,非對(duì)稱加密是指用一個(gè)密鑰對(duì)來(lái)進(jìn)行加密和解密,哈希加密主要是通過(guò)對(duì)數(shù)據(jù)進(jìn)行哈希運(yùn)算,用固定的哈希結(jié)果值驗(yàn)證信息是否被篡改。非對(duì)稱加密在非對(duì)稱加密技術(shù)中,對(duì)外公開、分發(fā)出去的密鑰叫做公鑰,不能公開、自己留存的密鑰叫做私鑰。公鑰加密的,對(duì)應(yīng)的私鑰才能解密。

4、反之亦然。如圖3所示。明文加蜜密文解密88p88f(block)目標(biāo)閾值丿302829413028294230282943工作量證明機(jī)制示意圖除了工作量證明機(jī)制(PoW)這類共識(shí)機(jī)制之外,還有股權(quán)證明機(jī)制(PoS)、授權(quán)股權(quán)證明機(jī)制(DPoS)、拜占庭容錯(cuò)機(jī)制(BFT)、實(shí)用拜占庭容錯(cuò)機(jī)制(PBFT)這些在不可信環(huán)境下的共識(shí)機(jī)制以及要求在可信環(huán)境下的共識(shí)機(jī)制,例如PaxOS和Raft。表1是做了簡(jiǎn)單的對(duì)比。ePeke00zetcncoibSHe一ftaRwTFBP性一-致一弱性致一弱性等對(duì)等對(duì)等對(duì)配適身敗數(shù)失點(diǎn)許在允的/21V313/4/3占E亠思許允不許允許允無(wú)無(wú)無(wú)有有無(wú)無(wú)有有無(wú)表1共識(shí)機(jī)制

5、的簡(jiǎn)單對(duì)比表運(yùn)行機(jī)制接入網(wǎng)絡(luò)和驗(yàn)證節(jié)點(diǎn)通過(guò)安裝相應(yīng)的軟件(例如比特幣核心),接入?yún)^(qū)塊鏈。節(jié)點(diǎn)啟動(dòng)以后,主要是在P2P網(wǎng)絡(luò)上發(fā)現(xiàn)鄰居節(jié)點(diǎn)、鏈接鄰居節(jié)點(diǎn)、傳遞P2P消息和下載區(qū)塊鏈驗(yàn)證。節(jié)點(diǎn)可以選擇下載全量的區(qū)塊鏈進(jìn)行驗(yàn)證,或者是只下載區(qū)塊頭,通過(guò)Merkle樹節(jié)點(diǎn)來(lái)進(jìn)行簡(jiǎn)單支付驗(yàn)證(SPV)。錢包軟件可以分為移動(dòng)錢包、桌面錢包、互聯(lián)網(wǎng)錢包和紙錢包,都支持保存用戶的私鑰,錢包也可以根據(jù)私鑰是否是種子產(chǎn)生的,而分為決定性錢包和非決定性錢包,關(guān)鍵區(qū)別在于私鑰的備份和易恢復(fù)性。區(qū)塊鏈的存儲(chǔ)和接受比特幣的區(qū)塊鏈?zhǔn)褂肂erkeleyDB(文件數(shù)據(jù)庫(kù))作為錢包數(shù)據(jù)庫(kù),使用LevelDB(鍵值數(shù)據(jù)庫(kù))存儲(chǔ)區(qū)塊的

6、索引和UTXO(UnspentTransactionOutput,未開銷的比特幣交易輸出)。節(jié)點(diǎn)在啟動(dòng)的時(shí)候,將整個(gè)區(qū)塊鏈的索引從LevelDB加載入內(nèi)存。當(dāng)收到一個(gè)新區(qū)塊時(shí),節(jié)點(diǎn)對(duì)新區(qū)塊中的所有交易進(jìn)行檢測(cè),驗(yàn)證交易格式、交易大小、交易簽名、UTXO是否匹配、交易簽名、腳本合規(guī)等方面。如果驗(yàn)證成功,檢查上一區(qū)塊頭與鏈頭區(qū)塊哈希值是否一致,如果是一致,則更新UTXO數(shù)據(jù)庫(kù)和回滾交易數(shù)據(jù)庫(kù),如果不是,則將該區(qū)塊放在孤兒區(qū)塊池中。當(dāng)節(jié)點(diǎn)發(fā)現(xiàn)網(wǎng)絡(luò)中存在另一條更長(zhǎng)的區(qū)塊鏈時(shí),就需要斷開現(xiàn)有的區(qū)塊并對(duì)區(qū)塊鏈進(jìn)行重組。如果驗(yàn)證不成功,會(huì)拋棄該區(qū)塊,繼續(xù)等待新區(qū)塊的到來(lái)(礦工會(huì)繼續(xù)計(jì)算新區(qū)塊的數(shù)學(xué)難題)。區(qū)

7、塊鏈的工作量證明計(jì)算機(jī)制“礦工”角色的節(jié)點(diǎn)一直收集網(wǎng)絡(luò)中廣播的交易記錄,并致力于計(jì)算新區(qū)塊的數(shù)學(xué)難題,即工作量證明。如果其他節(jié)點(diǎn)發(fā)來(lái)的新區(qū)塊驗(yàn)證成功,節(jié)點(diǎn)除了更新UTXO數(shù)據(jù)庫(kù)和回滾交易數(shù)據(jù)庫(kù),節(jié)點(diǎn)會(huì)立即開始下一個(gè)新區(qū)塊的計(jì)算。新區(qū)塊的構(gòu)建優(yōu)先選取交易內(nèi)存池中優(yōu)先級(jí)高的交易記錄。優(yōu)先級(jí)的計(jì)算方式為:如果自己的工作量證明計(jì)算成功,節(jié)點(diǎn)會(huì)第一時(shí)間將這個(gè)區(qū)塊廣播至整個(gè)網(wǎng)絡(luò)中,其他節(jié)點(diǎn)收到該新區(qū)塊,如上所述,會(huì)進(jìn)行相應(yīng)的驗(yàn)證和存儲(chǔ)。用戶A其他用戶礦工A其他礦工生成占人鑰,形成新地址=數(shù)字簽容.發(fā)起交易+F消懇廠播消息f消息TOC o 1-5 h zi|計(jì)SMerkle根節(jié)點(diǎn)計(jì)算Mmr展抿節(jié)點(diǎn)皓希情r填

8、充區(qū)塊哈希值,埴充區(qū)塊k頭相關(guān)字毀k頭拒關(guān)字爭(zhēng)II計(jì)算數(shù)學(xué)難題H計(jì)算數(shù)學(xué)誰(shuí)題対王惟量還陰Q工作量證明廣擱消息廣播消息+“i“,廣播消邑崛1.i彳獲得按權(quán),廣攜肖.息iI驗(yàn)證二領(lǐng)取揑礦獎(jiǎng)勵(lì)|dI|簾血新區(qū)塊漣入形應(yīng)新IK塊,SLI形成新醫(yī)塊,鏈入I形跚區(qū)塊,鏈入n形成新區(qū)塊,鏈入3原區(qū)塊璉末尾Q原何塊鏈耒屋Q原區(qū)塊鏈末尾V原區(qū)塊旳末尾X原図塊鏈未尾圖8區(qū)塊鏈運(yùn)轉(zhuǎn)機(jī)制示意圖其他相關(guān)腳本語(yǔ)言區(qū)塊鏈采用的腳本語(yǔ)言并不是圖靈完備的語(yǔ)言,不支持循環(huán),只能進(jìn)行堆棧式操作。這種腳本語(yǔ)言的好處是,不允許礦工提交一個(gè)死循環(huán)的腳本,更注重的是安全方面的考量,但其擴(kuò)展能力有限。從以太坊為首的區(qū)塊鏈編程平臺(tái)支持圖靈完備

9、的編程語(yǔ)言,引領(lǐng)區(qū)塊鏈跨入2.0時(shí)代。由于支持循環(huán)等復(fù)雜操作,以太坊用Gas(燃料)機(jī)制來(lái)防止死循環(huán)的出現(xiàn),確保系統(tǒng)的安全。消息隊(duì)列比特幣區(qū)塊鏈釆用ZeroMQ(ZMQ)作為消息分發(fā)和消息隊(duì)列管理工具。與很多人熟悉的RabbitMQ相比,ZMQ不像傳統(tǒng)意義的消息服務(wù)器,更像一個(gè)底層的網(wǎng)絡(luò)通信庫(kù),在多個(gè)線程、內(nèi)核和主機(jī)盒之間彈性伸縮,在SocketAPI之上將網(wǎng)絡(luò)通信、進(jìn)程通信和線程通信抽象為統(tǒng)一的API接口。挖礦設(shè)備和算法演進(jìn)挖礦設(shè)備從支持復(fù)雜指令(CISC)、適合串行計(jì)算的CPU礦機(jī)時(shí)代,經(jīng)由基于眾核體系、適合并行簡(jiǎn)單計(jì)算的GPU挖礦和低功耗卻價(jià)格昂貴的FPGA挖礦,逐漸向集約高速的ASIC礦機(jī)和規(guī)模效應(yīng)的礦池演進(jìn)?;诠ぷ髁孔C明機(jī)制的算法,容易導(dǎo)致礦工算力集中的問(wèn)題。有人將這種“中心化”的責(zé)任歸咎于SHA256算法。此時(shí),基于SCRYPT算法的萊特幣(Litecoin)進(jìn)入了人們視線,其占用內(nèi)存多、計(jì)算時(shí)間長(zhǎng)、并行計(jì)算困難的特點(diǎn),限制了礦工的“軍備競(jìng)賽”。萊特幣的成功催生了更多算法的交叉融合,衍生出串聯(lián)算法(夸克幣)、并聯(lián)算法(HeavyCoin)和多用途算法(在工作量證明的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論