區(qū)塊鏈技術(shù)金融應(yīng)用PPT全套完整教學課件_第1頁
區(qū)塊鏈技術(shù)金融應(yīng)用PPT全套完整教學課件_第2頁
區(qū)塊鏈技術(shù)金融應(yīng)用PPT全套完整教學課件_第3頁
區(qū)塊鏈技術(shù)金融應(yīng)用PPT全套完整教學課件_第4頁
區(qū)塊鏈技術(shù)金融應(yīng)用PPT全套完整教學課件_第5頁
已閱讀5頁,還剩627頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

區(qū)塊鏈金融第1章-區(qū)塊鏈介紹第2章-區(qū)塊鏈技術(shù)原理第3章-區(qū)塊鏈典型架構(gòu)第4章-共識算法與智能合約第5章-區(qū)塊鏈驅(qū)動金融第6章加密貨幣項目Libra第7章-區(qū)塊鏈其他應(yīng)用第8章-擴展學習區(qū)塊鏈技術(shù)演進全套PPT課件01區(qū)塊鏈簡介目錄1.1區(qū)塊鏈的起源1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.3區(qū)塊鏈的分類1.4區(qū)塊鏈的價值與應(yīng)用本章小結(jié)1.1區(qū)塊鏈的起源貨幣發(fā)展從貨幣的發(fā)展史來看,數(shù)字貨幣的出現(xiàn)是必然的,這種深刻的必然邏輯同時也說明了區(qū)塊鏈的誕生并非偶然。以物換物天然貨幣鑄幣紙幣電子貨幣數(shù)字貨幣1.1區(qū)塊鏈的起源電子貨幣和數(shù)字貨幣的概念及演進電子貨幣:互聯(lián)網(wǎng)的出現(xiàn),使得電子貨幣應(yīng)運而生,最早興起的是信用卡,不僅克服了紙幣易損壞等缺陷,還打破了地域限制,實現(xiàn)交易全球化。發(fā)展至今,我們已經(jīng)隨處可見微信支付、支付寶支付等無現(xiàn)金支付手段,據(jù)國內(nèi)支付機構(gòu)統(tǒng)計,微信支付數(shù)據(jù)已近9成。電子支付在人類發(fā)展史上具有劃時代的意義?,F(xiàn)有的電子支付主要以中心化支付體系為主,需要依賴第三方中介機構(gòu)來保障貨幣的高效流通。其本質(zhì)是法幣的電子化。1.1區(qū)塊鏈的起源電子貨幣和數(shù)字貨幣的概念及演進數(shù)字貨幣:中心化支付體系并非無懈可擊,一旦第三方機構(gòu)的中心服務(wù)器遭到惡意攻擊,其后果將是難以想象的。自2009年,以比特幣為代表的數(shù)字貨幣逐漸進入人們的視野,這是一種全新的清算支付系統(tǒng),其去中心化、分布式、點對點、不可篡改等優(yōu)越特性,深受世人追捧。支撐數(shù)字貨幣的底層技術(shù)就是今日發(fā)展得如火如荼的“區(qū)塊鏈”技術(shù)。1.1區(qū)塊鏈的起源信中說:“我一直在研究一種新的電子現(xiàn)金系統(tǒng),完全對等式,不需要任何可信第三方。”中本聰(SatoshiNakamoto)發(fā)在的郵件1.1區(qū)塊鏈的起源論文《比特幣:一種對等式電子現(xiàn)金系統(tǒng)》(Bitcoin:apeer-to-peerelectroniccashsystem)文章指出,比特幣系統(tǒng)是完全通過點對點(Peer-to-Peer,P2P)技術(shù)實現(xiàn)的、中間不需要通過任何的金融機構(gòu)來完成線上交易的電子現(xiàn)金系統(tǒng)。在P2P環(huán)境中,該系統(tǒng)又能夠防止傳統(tǒng)交易中的雙重支付(Doublespending,又稱“雙花”)問題,所有交易一旦被記錄到系統(tǒng)中將不可更改。1.1區(qū)塊鏈的起源論文《比特幣:一種對等式電子現(xiàn)金系統(tǒng)》(Bitcoin:apeer-to-peerelectroniccashsystem)Bitcoin系統(tǒng)的整體設(shè)計理念:新幣模擬貴金屬貨幣、去中心化、隱私保護以及分布式共享賬本,并詳細闡述了如何利用現(xiàn)有的P2P技術(shù)、分布式存儲、非對稱加密等技術(shù)來實現(xiàn)這樣一個顛覆傳統(tǒng)的技術(shù)方案。1.1區(qū)塊鏈的起源論文《比特幣:一種對等式電子現(xiàn)金系統(tǒng)》(Bitcoin:apeer-to-peerelectroniccashsystem)文章指出,區(qū)塊鏈,是一種數(shù)據(jù)結(jié)構(gòu),是比特幣系統(tǒng)的底層支撐技術(shù),在文章中,原本是分開來陳述的,即“區(qū)塊”+“鏈”,以“區(qū)塊”為存儲單元記錄一定時間內(nèi)各區(qū)塊節(jié)點的全部交易,區(qū)塊鏈間通過隨機散列(也稱哈希函數(shù))實現(xiàn)“鏈”接,后一區(qū)塊包含前一區(qū)塊的哈希值,如此,相繼鏈接的結(jié)果就形成了“區(qū)塊鏈”。1.1區(qū)塊鏈的起源2009年1月,開源客戶端1.0版本發(fā)表,中本聰挖出“創(chuàng)世區(qū)塊”,(GenesisBlock),并獲得第一筆50個比特幣獎勵。比特幣為計量單位,簡寫B(tài)TC,最小的比特幣計量單位為聰,Satoshi,1BTC=100000000Satoshi。創(chuàng)世區(qū)塊1.1區(qū)塊鏈的起源在創(chuàng)世區(qū)塊中,中本聰留下一句話:“TheTimes03/Jan/2009Chancelloronbrickofsecondbailoutforbanks.”“2009年1月3日,財政大臣正處于實施第二輪銀行緊急援助的邊緣?!盉lock0金融體系的“革命”1.1區(qū)塊鏈的起源522“披薩日”

比特幣與現(xiàn)實世界相遇1.1區(qū)塊鏈的起源2010年11月,SatoshiLabs公司創(chuàng)始人MarekPalatinus意識到獨立挖礦將很快無利可圖,于是他創(chuàng)建了一個可以讓挖礦者聯(lián)合挖礦(PooledMining),集中資源并按比例分紅的系統(tǒng)——SlushPool,這是世界上第一個比特幣礦池,這同時也說明了比特幣已經(jīng)被預見,未來將會成為可以與真實世界的貨幣相互兌換,將會有無限發(fā)展空間的虛擬貨幣。1.1區(qū)塊鏈的起源截至2021年2月9日,據(jù)統(tǒng)計數(shù)據(jù),全球近一個月比特幣算力排名前5的礦池有魚池(F2Pool)、幣印礦池(Poolin)、幣安礦池(BinancePool)、BTC.com、螞蟻礦池(AntPool),SlushPool排名第10。圖1.4展示了魚池幾家典型的礦場配置的計算設(shè)備。1.1區(qū)塊鏈的起源歷史上,比特幣價格共經(jīng)歷了3次暴漲暴跌。截至2021年2月9日,比特幣突破48000美元,按上海金交所實時數(shù)據(jù),金價格380元/克,一枚比特幣大約能換一斤半黃金。1.1區(qū)塊鏈的起源比特幣的總發(fā)行量上限為2100萬枚,每產(chǎn)生210,000個區(qū)塊,比特幣獎勵就會“減半”,按照這個速度,每隔4年比特幣區(qū)塊獎勵減半一次。比特幣系統(tǒng)的這種設(shè)計可以有效逐步降低比特幣的通脹率,防止惡性通貨膨脹的發(fā)生,體現(xiàn)了比特幣的獨特之處。

比特幣歷史減半時間及價格行情次數(shù)減半時間挖礦獎勵價格變化第一次2012-11-28502511美金260美金(23.6倍)第二次2016-07-102512.5430美金20000美金(46.5倍)第三次2020-05-1212.56.253150美金?1.1區(qū)塊鏈的起源比特幣的發(fā)展速度確實驚人,但實際上,在發(fā)展初期受到來自各方的壓力,僅僅為一些極客和投資家們所看好,而不被任何國家政府或央行所支持認可,甚至受到堅決的抵制。近年來,德國、日本、澳大利亞政府相繼認可比特幣的合法地位,但大部分國家仍處于觀望的態(tài)度,可見,比特幣帶來的風險依舊很大。目錄1.1區(qū)塊鏈的起源1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程1.2.2區(qū)塊鏈定義1.3區(qū)塊鏈的分類1.4區(qū)塊鏈的價值與應(yīng)用本章小結(jié)1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程區(qū)塊鏈技術(shù)的“前世今生”有人說,區(qū)塊鏈是一項顛覆性的新技術(shù)。區(qū)塊鏈并不能稱為一種新技術(shù),而是新的技術(shù)組合。其核心技術(shù)中,包括P2P技術(shù)、分布式存儲、非對稱加密、共識機制等都是在區(qū)塊鏈技術(shù)出現(xiàn)之前就已經(jīng)存在的了,中本聰只是將這些技術(shù)恰到好處地進行設(shè)計組合,進而呈現(xiàn)給世人這種顛覆應(yīng)用的技術(shù)。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程區(qū)塊鏈技術(shù)的史前元年紀要1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程以太坊之父——VitalikButeri(維塔利克·布特林)比特幣雜志(BitcoinMagazine)網(wǎng)站創(chuàng)辦者,是最早報道加密數(shù)字貨幣的雜志。2013年底,他發(fā)布白皮書《以太坊:下一代智能合約和去中心化應(yīng)用平臺》(ANext-GenerationSmartContractandDecentralizedApplicationPlatform)“V神之于以太坊,就如同林納斯之于Linux系統(tǒng)一樣。”——著名數(shù)字經(jīng)濟專家DonTapscott1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程我國的數(shù)字貨幣發(fā)展情況自2013年起,我國開始關(guān)注比特幣的發(fā)展動向;2014年,中國央行成立發(fā)行法定數(shù)字貨幣的專門研究小組,并論證其可行性;2016年1月,中國央行召開數(shù)字貨幣研討會,來自人民銀行、花旗銀行和德勤公司的數(shù)字貨幣研究專家分別就數(shù)字貨幣發(fā)行的總體框架、貨幣演進中的國家數(shù)字貨幣、國家發(fā)行的加密貨幣等專題進行了研討和交流,此次會議是央行發(fā)行數(shù)字貨幣計劃的開端。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程2016年7月,央行正式啟動研發(fā)計劃,并決定使用數(shù)字票據(jù)交易平臺作為法定數(shù)字貨幣的試點應(yīng)用場景,以借助數(shù)字票據(jù)交易平臺驗證區(qū)塊鏈技術(shù);同年10月,工信部發(fā)布《中國區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書(2016)》,總結(jié)了國內(nèi)外區(qū)塊鏈發(fā)展現(xiàn)狀和典型應(yīng)用場景,介紹了國內(nèi)區(qū)塊鏈技術(shù)發(fā)展路線圖以及未來區(qū)塊鏈技術(shù)標準化方向和進程。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程我國的數(shù)字貨幣發(fā)展情況2016年12月,央行將區(qū)塊鏈加入“十三五”規(guī)劃,區(qū)塊鏈與大數(shù)據(jù)、人工智能、機器學習、深度學習等新技術(shù),成為國家布局重點。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程人

物簡

介劉志鵬科幻作家,筆名長鋏,長期致力于區(qū)塊鏈技術(shù)推廣與理論研究,2011年創(chuàng)立巴比特,是中國區(qū)塊鏈社區(qū)早期的活躍宣傳者。吳忌寒比特大陸創(chuàng)始人,畢業(yè)于北京大學,是中國早期區(qū)塊鏈“布道者”,比特大陸是目前主要的比特幣礦機廠商之一。張楠賡嘉楠耘智公司創(chuàng)始人,中國區(qū)塊鏈研究中心常務(wù)理事,區(qū)塊鏈技術(shù)專家。2013年在北航讀研期間研發(fā)出可以挖比特幣的第一代礦機——FPGA南瓜機。李

林中國區(qū)塊鏈應(yīng)用研究中心常務(wù)理事,金融科技連續(xù)創(chuàng)業(yè)者。2013年創(chuàng)辦火幣集團,是全球數(shù)字資產(chǎn)金融服務(wù)的代表性企業(yè)。徐明星歐科集團創(chuàng)始人。2012年創(chuàng)辦OKExchange,成為具有全球影響力的中國數(shù)字資產(chǎn)交易平臺,2015年參與創(chuàng)建中國區(qū)塊鏈應(yīng)用研究中心,是中國區(qū)塊鏈的重要啟蒙者。肖

風中國萬向控股有限公司副董事長兼執(zhí)行董事,上海萬向區(qū)塊鏈股份公司董事長兼總經(jīng)理,萬向區(qū)塊鏈實驗室創(chuàng)始人,連續(xù)多年舉辦全球區(qū)塊鏈國際周及區(qū)塊鏈開發(fā)者大會,推動區(qū)塊鏈生態(tài)完善。中國區(qū)塊鏈行業(yè)領(lǐng)軍人物1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程以比特幣為代表的虛擬貨幣時代,代表了虛擬貨幣的應(yīng)用,其場景包括支付、流通等貨幣職能,目的是實現(xiàn)貨幣和支付手段的去中心化。區(qū)塊鏈1.01.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程在區(qū)塊鏈1.0的基礎(chǔ)上增加了可編程的“智能合約”,以太坊是這一階段的代表,它是一個開源的、具備圖靈完備的智能合約的公共區(qū)塊鏈平臺,通過其專用加密貨幣ETH提供去中心化的以太坊虛擬機來處理點對點合約。區(qū)塊鏈2.01.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程是價值互聯(lián)網(wǎng)的內(nèi)核。區(qū)塊鏈可以對每一個互聯(lián)網(wǎng)中代表價值的信息或字節(jié)進行產(chǎn)權(quán)確認、計量和存儲,從而實現(xiàn)資產(chǎn)可被交易、控制和追蹤。區(qū)塊鏈3.01.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程3.0時代,區(qū)塊鏈主要應(yīng)用于社會治理領(lǐng)域,包括身份認證、公證、仲裁、審計、物流、醫(yī)療等領(lǐng)域,涵蓋整個社會,解決了信任問題,不再依賴于第三方建立信用和信息共享,可以提高整個行業(yè)的運行效率和整體水平。區(qū)塊鏈3.0展望目錄1.1區(qū)塊鏈的起源1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.1區(qū)塊鏈發(fā)展歷程1.2.2區(qū)塊鏈定義1.3區(qū)塊鏈的分類1.4區(qū)塊鏈的價值與應(yīng)用本章小結(jié)1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義(1)該銀行中央賬本出現(xiàn)錯誤,資料全被黑客篡改;(2)該銀行內(nèi)部有人與Alice有仇,將Alice的財產(chǎn)占為己有;(3)該銀行被人收買,故意偽造交易,將Alice的錢轉(zhuǎn)到其他人的賬戶。傳統(tǒng)流程存在的問題:傳統(tǒng)的電子交易流程:1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義當Alice花費20,000元購買Bob家的衣服這個交易已經(jīng)確認后,這件事即Alice過賬20,000元給Bob,會被記錄在Alice、Bob、店員Charlie及其他所有顧客的賬本上。去中心化的電子交易處理模式:1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義如果Bob不承認收到Alice錢款,那么除了Bob外的所有其他人都可以為Alice作證,除非Bob說服51%或以上的人做他的幫兇,這個成本是極高的。同理,黑客成功更改、盜用或者偽造Alice的資料或者財產(chǎn)的風險也會大大降低。去中心化模式的優(yōu)勢1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義此外,Alice也無需擔心該銀行內(nèi)部有人與Alice有仇,或者有人被收買,因為Alice跟Bob的交易是點對點,交易過程無需依托該銀行,就能安全地完成,沒有了第三方中介,就不會產(chǎn)生額外的服務(wù)費用,對于Bob而言,交易成本降低,對于顧客而言,參與記賬就能夠獲得一定的折扣或者優(yōu)惠券作為獎勵。去中心化模式的優(yōu)勢1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈,是一個不斷增長的記錄列表,稱為塊,利用密碼學操作進行鏈接。每個塊包含前一個塊的加密散列值、時間戳和交易數(shù)據(jù)(通常表示為Merkle樹)。這樣的設(shè)計,使得區(qū)塊鏈可以抵抗對其數(shù)據(jù)的更改。因為一旦交易被記錄下來,任何給定塊中的數(shù)據(jù)都不能在不更改所有后續(xù)塊的情況下追溯更改。Wikipedia給出的區(qū)塊鏈定義:1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義中國信息通信研究院在《區(qū)塊鏈白皮書(2018年)》中給出的定義給出的區(qū)塊鏈定義:區(qū)塊鏈是一種由多方共同維護,使用密碼學保證傳輸和訪問安全,能夠?qū)崿F(xiàn)數(shù)據(jù)一致存儲、難以篡改、防止抵賴的記賬技術(shù)。本課程認為:區(qū)塊鏈是具有分布式存儲結(jié)構(gòu)的、利用哈希算法鏈接的賬本,每個賬本都是具有特定結(jié)構(gòu)的數(shù)據(jù)塊;基于共識算法決定記賬人;賬本中的交易由密碼學算法和哈希算法保證不可篡改且所有交易可追溯。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的七大主要特征:1356427不可篡改去中心化可追溯性講求共識匿名性安全可信可編程1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的主要特征——去中心化區(qū)塊鏈最基本的特征,不依賴于中心管理節(jié)點,能夠?qū)崿F(xiàn)數(shù)據(jù)的分布式記錄、存儲和更新。區(qū)塊鏈網(wǎng)絡(luò)中的所有節(jié)點都有記賬權(quán),交易雙方直接進行交易而不經(jīng)過任何第三方,這樣可以有效避免中心化機構(gòu)因失誤帶來的種種不良后果,如中心化服務(wù)器宕機、被黑客攻擊、中心化機構(gòu)存在惡意行為等。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的主要特征——不可篡改區(qū)塊鏈具有嚴格的不可篡改特性,一旦交易記錄打包成塊,任何單一節(jié)點都無法再更改既成事實。但是,如果區(qū)塊鏈系統(tǒng)算力過于集中,同盟起來的節(jié)點群可能會發(fā)動51%的攻擊,有能力強制更改之前的交易記錄,這意味著該系統(tǒng)不再安全。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的主要特征——可追溯性區(qū)塊鏈采用時間戳技術(shù),以鏈式結(jié)構(gòu)存儲數(shù)據(jù),為數(shù)據(jù)增加了時間維度,并且區(qū)塊上每筆交易都通過密碼學方法與相鄰兩個區(qū)塊相連,故任何一筆交易都是可以追溯到的。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的主要特征——匿名性匿名性使得用戶不具名地參與到區(qū)塊鏈系統(tǒng),節(jié)點使用一組“英文+數(shù)字”的代碼作為名稱,只要不主動披露給別人,就沒有人會知道該節(jié)點的所有者是誰,也就是說區(qū)塊鏈網(wǎng)絡(luò)是無需信任的,交易完全可以基于地址而非個人身份,并且同一個用戶可以不斷變換地址。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的主要特征——講求共識區(qū)塊鏈中應(yīng)用的共識算法最能體現(xiàn)民主性。每種區(qū)塊鏈系統(tǒng)都會基于某種共識算法進而生成區(qū)塊,就比特幣而言,采用的是工作量證明,其存在的問題是當人們意識到工作量越大越有可能挖到比特幣時,將會使用更多的GPU和CPU來提升算力,甚至在云端租借算力或加入礦池。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的主要特征——安全可信區(qū)塊鏈技術(shù)采用公鑰密碼算法對交易進行簽名,使得交易不能被偽造;哈希算法保證交易數(shù)據(jù)不能被輕易篡改,共識算法形成的強大算力可抵御敵手攻擊,因此具有極高的安全特性。此外,區(qū)塊鏈系統(tǒng)運作規(guī)則是公開透明的,即使沒有第三方權(quán)威機構(gòu)的信用背書,交易雙方也能夠?qū)崿F(xiàn)在無信任的環(huán)境中自由安全地交換數(shù)據(jù)。1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.2.2區(qū)塊鏈定義區(qū)塊鏈的主要特征——可編程分布式賬本的數(shù)字性質(zhì)意味著區(qū)塊鏈交易可以關(guān)聯(lián)到計算邏輯,并且本質(zhì)上是可編程的。因此,用戶可以設(shè)置自動觸發(fā)節(jié)點之間的交易算法和規(guī)則。比如,以太坊平臺提供圖靈完備的腳本語言,用戶可以借以構(gòu)建任何可以精確定義的智能合約或交易類型。目錄1.1區(qū)塊鏈的起源1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.3區(qū)塊鏈的分類1.3.1公有鏈1.3.2私有鏈1.3.3聯(lián)盟鏈1.3.4互聯(lián)鏈1.4區(qū)塊鏈的價值與應(yīng)用本章小結(jié)1.3區(qū)塊鏈的分類根據(jù)參與者的不同,區(qū)塊鏈被分為公有鏈、聯(lián)盟鏈和私有鏈三種基本類型。區(qū)塊鏈公有鏈私有鏈聯(lián)盟鏈1.3區(qū)塊鏈的分類1.3.1公有鏈公有鏈是指全世界任何人都可以隨時進入到系統(tǒng)中讀取數(shù)據(jù)、發(fā)送可確認交易、競爭記賬的區(qū)塊鏈。典型的應(yīng)用有比特幣、以太坊。數(shù)據(jù)完全公開去中心化依靠加密技術(shù)來保證安全公有鏈的三個主要特點:公有鏈是最早也是目前應(yīng)用最廣的區(qū)塊鏈,完全去中心化,無需任何機構(gòu)授予特權(quán),其共識機制主要采用工作量證明(PoW)、股份權(quán)益證明(PoS)、委托權(quán)益證明(DPoS)等。公有鏈上的信息公開透明,全網(wǎng)節(jié)點可以進行審計,比較適合于虛擬貨幣、共享經(jīng)濟、產(chǎn)權(quán)交易等應(yīng)用場景。公有鏈因無準入門檻的特點也被稱為非許可鏈。1.3區(qū)塊鏈的分類1.3.1公有鏈私有鏈是指其寫入權(quán)限由某個組織和機構(gòu)控制的區(qū)塊鏈,參與節(jié)點的資格會被嚴格限制。換句話說,私有鏈還存在一定的中心化控制,這是違背區(qū)塊鏈原有的“去中心化”理念的,僅使用了區(qū)塊鏈技術(shù)作為底層記賬技術(shù),記賬權(quán)歸私人或私人機構(gòu)所有,數(shù)據(jù)訪問和使用都有嚴格的權(quán)限管理。1.3區(qū)塊鏈的分類1.3.2私有鏈1.3區(qū)塊鏈的分類1.3.2私有鏈在實際應(yīng)用中,私有鏈一般用作企業(yè)、組織內(nèi)部審計。基于私有鏈的應(yīng)用包括迅雷鏈克等。安全、可追溯不可篡改自動執(zhí)行私有鏈的主要優(yōu)勢:防范內(nèi)外部數(shù)據(jù)攻擊相比于公有鏈更高效相比于公有鏈成本更低聯(lián)盟鏈是指有若干個機構(gòu)共同參與管理的區(qū)塊鏈,每個機構(gòu)都運行著一個或多個節(jié)點,其中的數(shù)據(jù)只允許系統(tǒng)內(nèi)不同的機構(gòu)進行讀寫和發(fā)送交易,并且共同來記錄交易數(shù)據(jù)。1.3區(qū)塊鏈的分類1.3.3聯(lián)盟鏈相比于公有鏈,聯(lián)盟鏈的交易成本大大降低,不需要高昂的激勵機制、數(shù)據(jù)讀取權(quán)限設(shè)置等級。由于私有鏈和聯(lián)盟鏈都需要授權(quán)加入和訪問,私有鏈和聯(lián)盟鏈也被稱為許可鏈。聯(lián)盟鏈適用于行業(yè)協(xié)會、高級機構(gòu)組織、大型連鎖企業(yè)對下屬單位和分管機構(gòu)的交易和監(jiān)管。1.3區(qū)塊鏈的分類1.3.3聯(lián)盟鏈它由某個群體內(nèi)部指定多個預選節(jié)點為記賬人,每個塊的生成由所有的預選節(jié)點共同決定,其他節(jié)點可以參與交易,但不參與記賬。聯(lián)盟鏈介于公有鏈和私有鏈之間,可視為“部分去中心化”,公眾可以查閱交易,但不能驗證交易,或不能發(fā)布智能合約,需要獲得聯(lián)盟許可。1.3區(qū)塊鏈的分類

公有鏈私有鏈聯(lián)盟鏈網(wǎng)絡(luò)結(jié)構(gòu)完全去中心(多)可信中心部分去中心(弱中心)節(jié)點規(guī)模無有限可控準入機制隨時機構(gòu)內(nèi)部節(jié)點特定群里或有限第三方記賬方任意參與節(jié)點機構(gòu)內(nèi)部節(jié)點預選節(jié)點數(shù)據(jù)讀取任意受限受限共識機制PoW或PoS等Paxos、RAFTPBFT、RAFT激勵機制代幣激勵無代幣激勵無代幣激勵代碼開放完全開源不開源部分開源或定向開源典型場景虛擬貨幣、支付審計、發(fā)行支付、結(jié)算公有鏈、私有鏈及聯(lián)盟鏈對比嚴格定義上,互聯(lián)鏈不能稱為區(qū)塊鏈的單一類型,它是各種不同的區(qū)塊鏈通過互聯(lián)互通協(xié)議而連接成的一個更大的生態(tài)區(qū)塊鏈,它們之間可以相互協(xié)作、通信、共識。針對特定領(lǐng)域的應(yīng)用可能會形成各自垂直領(lǐng)域的區(qū)塊鏈,通過跨鏈技術(shù)能夠?qū)⒉煌瑓^(qū)塊鏈的基礎(chǔ)設(shè)施(包括數(shù)據(jù)結(jié)構(gòu)和通信協(xié)議)相連,這樣形成的區(qū)塊鏈就是互聯(lián)鏈。與互聯(lián)網(wǎng)一樣,互聯(lián)鏈將會形成區(qū)塊鏈的全球網(wǎng)絡(luò)。1.3區(qū)塊鏈的分類1.3.4互聯(lián)鏈目錄1.1區(qū)塊鏈的起源1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.3區(qū)塊鏈的分類1.4區(qū)塊鏈的價值與應(yīng)用本章小結(jié)1.4區(qū)塊鏈的價值與應(yīng)用總體來說,區(qū)塊鏈技術(shù)的核心價值是去中心化信用機制,將信息互聯(lián)向信用互聯(lián)進行推進。321降低驗證成本,進而降低信任成本。減少中介依賴,顛覆現(xiàn)有的商業(yè)模式。降低網(wǎng)絡(luò)建立成本,加速產(chǎn)生“網(wǎng)絡(luò)效應(yīng)”。區(qū)塊鏈技術(shù)顛覆性價值的三個方面1.4區(qū)塊鏈的價值與應(yīng)用本質(zhì)上,區(qū)塊鏈就是一種基于機器和數(shù)學來構(gòu)建信任體系新型的信任構(gòu)建模式。其底層技術(shù)決定的,在一切需要數(shù)據(jù)共建共享,解決數(shù)據(jù)孤島,需要數(shù)據(jù)證明與歷史追溯的領(lǐng)域,都是值得被考慮的技術(shù)方案。1.4區(qū)塊鏈的價值與應(yīng)用目前,區(qū)塊鏈已經(jīng)被廣泛應(yīng)用于金融服務(wù)、物聯(lián)網(wǎng)、移動邊緣計算、智能化資產(chǎn)及共享經(jīng)濟等潛在可應(yīng)用的領(lǐng)域。金融領(lǐng)域是區(qū)塊鏈技術(shù)應(yīng)用發(fā)展最早、最快、最集中且最成熟的領(lǐng)域。麥肯錫曾作研究報告指出區(qū)塊鏈在金融業(yè)應(yīng)用的五大場景:1.數(shù)字貨幣2.跨境支付與結(jié)算3.票據(jù)與供應(yīng)鏈金融業(yè)務(wù)4.證券發(fā)行與交易5.客戶征信與反欺詐1.4區(qū)塊鏈的價值與應(yīng)用當前,我國區(qū)塊鏈應(yīng)用場景主要包括貿(mào)易、物流、文娛、社會公共服務(wù)、金融、政務(wù)、知識產(chǎn)權(quán)、社交、日常消費、工業(yè)、農(nóng)業(yè)、能源、教育、醫(yī)療等14個垂直行業(yè)(數(shù)據(jù)來源于第三方研究報告)應(yīng)用場景場景特征應(yīng)用成熟度貿(mào)易應(yīng)用方可分為網(wǎng)絡(luò)加入者、構(gòu)建者以及擴展者網(wǎng)絡(luò)構(gòu)建者是貿(mào)易行業(yè)區(qū)塊鏈網(wǎng)絡(luò)的核心,是區(qū)塊鏈市場的基本組成部分50%物流可深度應(yīng)用于物流行業(yè)中快遞報價、公益快遞、行業(yè)黑名單共享以及安全事件監(jiān)管等業(yè)務(wù)可保證貨物安全,優(yōu)化運輸路徑,解決物流企業(yè)融資問題75%文娛幫助文娛行業(yè)建立智能合約、透明點對點交易及信譽機制,促成高效動態(tài)定價機制為實現(xiàn)微計量與微變現(xiàn)服務(wù)提供可能15%1.4區(qū)塊鏈的價值與應(yīng)用應(yīng)用場景場景特征應(yīng)用成熟度社會公共服務(wù)可有效應(yīng)用于社會公共服務(wù)的身份驗證、鑒證確權(quán)、信息共享以及透明政府等場景可有效降低公共服務(wù)成本,提升其業(yè)務(wù)效率及安全性75%金融可深度應(yīng)用于金融行業(yè)供應(yīng)鏈金融、貿(mào)易融資、資金管理、支付清算、數(shù)字資產(chǎn)、延伸領(lǐng)域等環(huán)節(jié),為質(zhì)押、融資、項目管理等環(huán)節(jié)提供可信平臺服務(wù)100%政務(wù)可深度應(yīng)用于數(shù)字身份平臺、政府審計平臺、數(shù)據(jù)共享平臺、涉公監(jiān)管平臺、電子票據(jù)、電子存證、出口監(jiān)管等政務(wù)場景,大幅提升操作便捷度與記錄安全性75%知識產(chǎn)權(quán)時間戳、哈希算法、非對稱加密等技術(shù)可有效解決版權(quán)確權(quán)問題,智能合約和共識機制可有效輔助知識產(chǎn)權(quán)中多人協(xié)作、共識判斷等環(huán)節(jié)50%社交可分為即時通訊項目與社交平臺項目即時通訊項目操作簡潔且安全性強社交平臺項目獎勵與審查機制較健全0%1.4區(qū)塊鏈的價值與應(yīng)用應(yīng)用場景場景特征應(yīng)用成熟度日常消費結(jié)合物聯(lián)網(wǎng)技術(shù)可實現(xiàn)消費品供應(yīng)鏈端到端全程監(jiān)控基于區(qū)塊鏈的供應(yīng)鏈解決方案可有效增加消費品各環(huán)節(jié)造假成本,提升供應(yīng)鏈可信度15%工業(yè)可分為在企業(yè)內(nèi)部應(yīng)用、產(chǎn)業(yè)鏈協(xié)同以及產(chǎn)融協(xié)同區(qū)塊鏈可為工業(yè)場景提供可信安全維護及數(shù)據(jù)交換,為企業(yè)創(chuàng)造服務(wù)型收益15%農(nóng)業(yè)區(qū)塊鏈可有效應(yīng)用于農(nóng)業(yè)中農(nóng)場、物流、制造、零售商及消費者等場景,為農(nóng)業(yè)記錄產(chǎn)品質(zhì)量數(shù)據(jù)、IoT及GPS數(shù)據(jù),輔助路徑優(yōu)化、AI預測等智能化功能15%能源區(qū)塊鏈可有效提升能源行業(yè)分布共享、安全透明等指標,促進多方交易中的透明度;全球區(qū)塊鏈企業(yè)圍繞分布式交易、能源金融、碳交易等場景建立深度應(yīng)用0%教育區(qū)塊鏈可有效解決教育信息分散、利益分配不均、盜版資源泛濫等痛點,為行業(yè)提供兼具適用性、可靠性、安全性等性能的應(yīng)用平臺15%醫(yī)療區(qū)塊鏈可有效解決醫(yī)療行業(yè)效率、共享、管理、平臺及金融等環(huán)節(jié)痛點,搭建完整技術(shù)框架,高效應(yīng)用于數(shù)據(jù)加密、追蹤溯源、資產(chǎn)數(shù)字化等場景15%目錄1.1區(qū)塊鏈的起源1.2區(qū)塊鏈及區(qū)塊鏈技術(shù)含義1.3區(qū)塊鏈的分類1.4區(qū)塊鏈的價值與應(yīng)用本章小結(jié)本章小結(jié)本章從區(qū)塊鏈的起源引入,詳細介紹區(qū)塊鏈的發(fā)展歷程,包括史前元年紀要,三個發(fā)展階段,以及介紹區(qū)塊鏈在中國的發(fā)展現(xiàn)狀;其次,由生活中的實例給出區(qū)塊鏈的定義,以及分類;最后,分析了區(qū)塊鏈的應(yīng)用價值,概述其應(yīng)用場景。通過本章,使讀者對區(qū)塊鏈技術(shù)的前世今生,以及對其未來發(fā)展有初步的認識與理解。Thanks!區(qū)塊鏈金融02區(qū)塊鏈技術(shù)原理目錄2.1區(qū)塊鏈中的密碼學2.2對等網(wǎng)絡(luò)技術(shù)與分布式存儲2.3區(qū)塊鏈其它支撐技術(shù)目錄2.1區(qū)塊鏈中的密碼學2.1.1哈希算法2.1.2Merkle樹2.1.3公鑰密碼算法2.1.4消息認證碼2.1.5數(shù)字簽名技術(shù)2.1.6BloomFilter算法2.2對等網(wǎng)絡(luò)技術(shù)與分布式存儲2.3區(qū)塊鏈其它支撐技術(shù)2.1.1哈希算法哈希(Hash),一般也稱做散列、雜湊,是把任意長度的輸入(又稱為預映射)通過散列算法變換成固定長度的輸出,該輸出就是散列值。2區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)示意圖區(qū)塊頭中封裝了當前的版本號、前一區(qū)塊地址、時間戳、隨機數(shù)、當前區(qū)塊目標哈希值、Merkle樹的根值等信息。區(qū)塊頭實現(xiàn)了區(qū)塊鏈的“鏈”式結(jié)構(gòu)將每個區(qū)塊鏈接,并且為區(qū)塊體數(shù)據(jù)提供了完整性的保證。區(qū)塊體中主要包含交易計數(shù)和交易詳情。區(qū)塊體中的Merkle樹將會對每一筆交易進行數(shù)字簽名,確保每一筆交易都不可偽造且沒有重復。所有的交易通過Merkle樹的Hash過程產(chǎn)生一個唯一的Merkle根記入?yún)^(qū)塊頭。2區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)項目的更新時間大小(字節(jié))版本號(Version)區(qū)塊版本號更新軟件后,它指定了一個新的版本號4上一區(qū)塊哈希值(hashPrevBlock)前一區(qū)塊的256位哈希值新的區(qū)塊上鏈時32Merkle根節(jié)點(hashMerkleRoot)基于一個區(qū)塊中所有交易的256位哈希值接受一個交易時32時間戳(Timestamp)從1970-01-0100:00UTC開始到現(xiàn)在,以秒為單位的當前時間戳每幾秒就更新4難度值(Bits)壓縮格式的當前目標哈希值當挖礦難度調(diào)整時4隨機數(shù)(Nonce)從0開始的32位隨機數(shù)產(chǎn)生哈希(每次產(chǎn)生哈希隨機數(shù)時都要增長)4區(qū)塊頭各數(shù)據(jù)項2區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)父哈希:00000079f..e4dMerkle根:2e11a...e12a時間戳:2020-12-59:00:00難度:84188791...Nonce:21843678區(qū)塊體所有交易信息當前頭哈希:000000531...e25父哈希:000000531..e25Merkle根:c5296...fk13時間戳:2020-12-59:05:20難度:84188791...Nonce:40053678區(qū)塊體所有交易信息當前頭哈希:00000071a...46b頭哈希:當前區(qū)塊頭的哈希值父哈希:當前區(qū)塊的前一區(qū)塊(父區(qū)塊)的區(qū)塊頭哈希值,達到鏈接前一區(qū)塊的目的難度:PoW機制中相關(guān)數(shù)學題難度指標Nonce:該區(qū)塊數(shù)學難題答案,可供其他節(jié)點驗證答案。Merkle根:通過密碼學計算出的值,用于檢驗交易的真實性,一致性。2區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)前一區(qū)塊哈希:用來與前一區(qū)塊相關(guān)聯(lián),起到了鏈接的作用。時間戳:表示該區(qū)塊的生成時間本區(qū)塊的交易數(shù)量該區(qū)塊內(nèi)的交易數(shù)據(jù)比特幣中的區(qū)塊結(jié)構(gòu)圖2.1.1哈希算法哈希函數(shù),H(·)將可變長度的數(shù)據(jù)塊M作為輸入,產(chǎn)生固定長度的哈希值h=H(M)。2.1.1哈希算法哈希函數(shù)具有下列性質(zhì):

單向性:對任意給定的散列值h,找到滿足H(x)=h的x在計算上是不可行的(抗原像攻擊);

抗碰撞性:抗弱碰撞性:對任何給定的分組x,找到滿足y≠x且H(x)=H(y)的y在計算上是不可行的;

抗強碰撞性:找到任何一對滿足y≠x且H(x)=H(y)的(x,y)在計算上是不可行的。2.1.1哈希算法常用的哈希算法包括MD系列(MD2、MD4、MD5、RIPEMD等)和SHA系列(SHA0、SHA1、SHA2、SHA3等)哈希算法也被稱為散列算法,它是一個廣義的算法,也可以認為是一種思想,它沒有一個固定的公式,只要符合散列思想的算法都可以被稱為是哈希算法。Hash算法可以提高存儲空間的利用率和數(shù)據(jù)的查詢效率,也可以做數(shù)字簽名來保障數(shù)據(jù)傳遞的安全性。2.1.1哈希算法SHA(SecureHashAlgorithm,安全哈希算法)是美國國家標準技術(shù)研究所發(fā)布的國家標準,規(guī)定了SHA1、SHA224、SHA256、SHA384和SHA512單向哈希算法。SHA系列算法主要適用于數(shù)字簽名標準(DigitalSignatureStandard,DSS)里面定義的數(shù)字簽名算法(DigitalSignatureAlgorithm,DSA)。2.1.1哈希算法下面簡要介紹SHA256算法:SHA-256算法的輸入是最大長度小于264bit的消息,輸出為256bit的消息摘要,輸入消息以512bit的分組為單位進行處理,如圖所示。算法處理流程:(1)消息位填充。(2)初始化散列緩沖區(qū)。(3)處理512bit的數(shù)據(jù)塊消息。(4)輸出2.1.1哈希算法哈希算法在區(qū)塊鏈中的應(yīng)用

標識區(qū)塊:標識方式有兩種,即區(qū)塊頭哈希值和區(qū)塊高度

生成錢包地址:對公鑰進行哈希得到錢包地址,常用的哈希算法是SHA-256和RIPEMD160,用于接收和存儲資產(chǎn)的一段字符串,就像我們用的銀行卡號一樣。

壓縮交易和交易存在性驗證:Merkle樹的構(gòu)建以及SPV驗證(簡單支付驗證),將在后面討論。

計算工作量證明:礦工不斷嘗試隨機數(shù),加上上一區(qū)塊的哈希值和10分鐘內(nèi)打包的所有有效交易作為輸入,經(jīng)過SHA-256哈希計算得到一個256位的字符串哈希值。2.1.2Merkle樹Merkle樹,也稱為哈希二叉樹,其葉子節(jié)點上的值通常為數(shù)據(jù)塊的哈希值,而非葉子節(jié)點上的值,是將該節(jié)點的所有子節(jié)點的組合結(jié)果的哈希值。

Merkle樹一般用來進行完整性驗證處理。在處理完整性驗證的應(yīng)用場景中,Merkle樹會大大減少數(shù)據(jù)的傳輸量及計算的復雜度。Merkle根計算示例2.1.2Merkle樹完整性驗證:為驗證傳輸數(shù)據(jù)的完整性,只需驗證Merkle樹的根節(jié)點是否一致,一旦數(shù)據(jù)發(fā)生改變,根節(jié)點的哈希值將完全改變。若L3數(shù)據(jù)被篡改,Merkle樹可輕松定位(因為Hash1和Hash1-0都發(fā)生了變化,且定位時間復雜度僅為O(log(n))驗證某條交易是否存在:若要驗證數(shù)據(jù)塊是否在區(qū)塊內(nèi),如驗證L1數(shù)據(jù),除了Merkle樹根外僅需知道Hash0-1和Hash1,便可通過哈希計算驗證交易是否包含在區(qū)塊中。2.1.2Merkle樹在比特幣中使用Merkle樹來匯總區(qū)塊中的所有交易,為整個交易集提供全面的數(shù)字指紋,提供高效的流程來驗證交易是否包含在區(qū)塊中。此外,Merkle樹極大地提高了區(qū)塊鏈的運行效率和可擴展性,使得區(qū)塊頭只需包含根哈希值而不必封裝所有底層數(shù)據(jù),極大地節(jié)省了存儲空間;并且Merkle樹可支持SPV,即在不運行完整區(qū)塊鏈網(wǎng)絡(luò)節(jié)點的情況下,也能夠?qū)灰讛?shù)據(jù)進行存在性驗證。2.1.3公鑰密碼算法公鑰密碼算法依賴于一個加密密鑰和一個與之相關(guān)的不同的解密密鑰,這些算法都具有下述重要特點:加密和解密時使用的密鑰不同,公鑰加密的信息只能用相應(yīng)的私鑰解密,反之亦然;發(fā)送方擁有加密/解密密鑰,而接收方只擁有另外一個密鑰;僅根據(jù)密碼算法和加密密鑰以及若干密文來恢復明文在計算上是不可行的;僅根據(jù)密碼算法和加密密鑰來確定解密密鑰在計算上是不可行的。2.1.3公鑰密碼算法公鑰密碼體制的五個組成部分:組件描述明文算法的輸入。它們是可讀信息或數(shù)據(jù)。加密算法加密算法對明文進行各種轉(zhuǎn)換。公鑰、私鑰算法的輸入。這對密鑰中一個用于加密,一個用于解密。加密算法執(zhí)行的變換依賴于公鑰或者私鑰。密文算法的輸出。它依賴于明文和密鑰,對給定的消息,不同的密鑰產(chǎn)生的密文不同。解密算法該算法接收密文和相應(yīng)的密鑰,并產(chǎn)生原始的明文。2.1.3公鑰密碼算法公鑰密碼體制的應(yīng)用:加密/解密:發(fā)送方用接收方的公鑰對消息加密。

數(shù)字簽名:發(fā)送方用其私鑰對消息“簽名”。簽名可以通過對整條消息加密或者對消息的一個小的數(shù)據(jù)塊加密來產(chǎn)生,其中該小數(shù)據(jù)塊是整條消息的函數(shù)。

密鑰交換:通信雙方交換會話密鑰。有幾種不同的方法可用于密鑰交換,這些方法都使用了通信一方或雙方的私鑰。2.1.3公鑰密碼算法公鑰密碼體制在區(qū)塊鏈中的應(yīng)用:其最突出的應(yīng)用就是錢包地址的創(chuàng)建以及交易生成和驗證。由公鑰生成的錢包地址用于接收比特幣,而私鑰則用于支付時的交易簽名。在支付比特幣時,比特幣的所有者需要在交易中提交自己的公鑰和由私鑰創(chuàng)建的數(shù)字簽名,這樣,比特幣網(wǎng)絡(luò)中所有節(jié)點可以通過該公鑰和簽名對提交的交易進行驗證,從而確定支付者對所交易的比特幣的所有權(quán)。比特幣地址創(chuàng)建過程2.1.4消息認證碼消息認證碼(MessageAuthenticationCode,MAC),是經(jīng)過特定算法后產(chǎn)生一小段信息,用于確認某段消息的完整性以及用作身份認證,檢查消息在傳遞過程中是否發(fā)生更改,也可以檢查消息來源。2.1.5數(shù)字簽名技術(shù)數(shù)字簽名通過對消息的摘要進行非對稱加密,以防止消息被篡改并認證身份。數(shù)字簽名必須具有下列特征:它必須能驗證簽名者、簽名日期和時間。它必須能認證被簽的消息內(nèi)容。簽名應(yīng)能由第三方仲裁,以解決爭執(zhí)。2.1.5數(shù)字簽名技術(shù)數(shù)字簽名基本過程,其中消息由Bob發(fā)送給Alice:2.1.5數(shù)字簽名技術(shù)數(shù)字簽名算法DSA是建立在求離散對數(shù)困難性以及ElGamal和Schnorr最初提出的方法之上的。2.1.5數(shù)字簽名技術(shù)橢圓曲線數(shù)字簽名算法在2009年修訂的FIPS186加入了基于橢圓曲線密碼的新數(shù)字簽名方法,稱其為橢圓曲線數(shù)字簽名算法(ECDSA)。2.1.5數(shù)字簽名技術(shù)在區(qū)塊鏈中的應(yīng)用在比特幣和以太坊區(qū)塊鏈系統(tǒng)中,都是運用橢圓曲線數(shù)字簽名對交易進行驗證,一是證明該筆交易的發(fā)起人是本人,二是證明交易的信息沒有被偽造。另外,一些比特幣衍生的許多加密貨幣注重交易的隱私、分權(quán)和擴展性問題,采用環(huán)簽名、多重簽名等技術(shù)來保障用戶的數(shù)字資產(chǎn)隱私。2.1.6BloomFilter算法布隆過濾器(BloomFilter)是1970年由BurtonHowardBloom提出的,是一種巧妙的數(shù)據(jù)結(jié)構(gòu),由一系列的隨機映射函數(shù)和一個很長的二進制向量構(gòu)成,主要用途是檢索某個元素是否在一個集合中,但這是概率性的,也就是說該元素一定存在或可能存在。BloomFilter不適合“零錯誤”的應(yīng)用場景,而是在能容忍低錯誤率的情況下,以極少的錯誤率換取空間上的高效。2.1.6BloomFilter算法工作原理當一個元素被加入集合時,通過k個散列函數(shù)將這個元素映射成一個位數(shù)組中的k個點,并置為1。檢索時,只需要看這些點是不是都為1就知道集合中是否有它:如果這些點有任何一個0,則被檢索元素一定不在集合中;如果都是1,則該元素可能存在于集合中。2.1.6BloomFilter算法工作原理1)位數(shù)組初始狀態(tài)時,設(shè)置一個m位的位數(shù)組,每一位均置為0。2.1.6BloomFilter算法工作原理2)元素查詢?yōu)榱吮磉_一個包含n個元素的集合S={x1,x2,…,xn},BloomFilter使用了k個相互獨立的哈希函數(shù)hi(·)(1≤i≤k),它們分別將集合中的每個元素映射到{1,2,…,m}的范圍中。對于任意一個元素x,第i個哈希函數(shù)的位置hi(x)就會被置為1。2.1.6BloomFilter算法工作原理2)元素查詢在判斷y是否屬于這個集合時,我們對y進行k次哈希,如果hi(y)的k個位置均為1,那么就可以認為y是集合中的元素,否則,y一定不是這個集合中的元素。例如,y1不是集合中的元素,而y2或者屬于這個集合,或者是一個誤判。2.1.6BloomFilter算法在區(qū)塊鏈中的應(yīng)用在比特幣網(wǎng)絡(luò)中,輕節(jié)點查找自己賬戶地址相關(guān)的UTXO(UnspentTransactionOutput,未花費的交易輸出)時,通過以Bloomfilter的形式告訴全節(jié)點自己的地址信息,全節(jié)點返回結(jié)果可能相關(guān)的UTXO,通過bloomfilter過濾不屬于該地址的UTXO,既保護了隱私,又節(jié)省了帶寬。在以太坊中,用bloomfilter數(shù)據(jù)結(jié)構(gòu)來存儲日志,以太坊的每個區(qū)塊頭包含當前區(qū)塊中交易日志的布隆過濾器,可以允許用戶從鏈外高效訪問日志數(shù)據(jù),并對交易或者區(qū)塊進行過濾,然后持續(xù)的獲取結(jié)果。目錄2.1區(qū)塊鏈中的密碼學2.2對等網(wǎng)絡(luò)技術(shù)與分布式存儲2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)2.2.2基于區(qū)塊鏈的分布式存儲2.3區(qū)塊鏈其它支撐技術(shù)2.2對等網(wǎng)絡(luò)技術(shù)與分布式存儲傳統(tǒng)客戶端/服務(wù)端(C/S)模式優(yōu)勢:數(shù)據(jù)一致,易控制易管理;缺陷:易出現(xiàn)單點失敗,可擴展性差。對等網(wǎng)絡(luò)(P2P)所有人享有自由、平等、互聯(lián)的功能,任意節(jié)點之間都能共享文件、傳遞消息。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)對等網(wǎng)絡(luò)(Peer-to-Peer,P2P)定義:網(wǎng)絡(luò)的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲能力、網(wǎng)絡(luò)連接能力等),這些共享資源通過網(wǎng)絡(luò)提供服務(wù)和內(nèi)容,能被其他對等節(jié)點直接訪問而無需經(jīng)過中間實體。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)P2P網(wǎng)絡(luò)拓撲結(jié)構(gòu)網(wǎng)絡(luò)拓撲結(jié)構(gòu)是指組成網(wǎng)絡(luò)的通信節(jié)點和主機被通信線路鏈接的具體形狀,可以描述組成網(wǎng)絡(luò)的主機、物理連線之間的構(gòu)成及組織關(guān)系。P2P包括4種形式:中心化拓撲全分布式非結(jié)構(gòu)化拓撲全分布式結(jié)構(gòu)化拓撲半分布式拓撲2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)中心化拓撲中心化拓撲是傳統(tǒng)的C/S模式的延伸。在這種拓撲結(jié)構(gòu)中,存在一個中心服務(wù)器(如目錄服務(wù)器),所有其他節(jié)點(PeerA~D)和中心節(jié)點建立相應(yīng)的連接關(guān)系,并將自身的IP地址、共享文件等索引信息保存在中心服務(wù)器,這樣,中心服務(wù)器擁有全網(wǎng)的資源索引信息。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)全分布式非結(jié)構(gòu)化拓撲在這種網(wǎng)絡(luò)中,不存在中心服務(wù)器節(jié)點,所有節(jié)點都是對等的,是一種扁平化、非結(jié)構(gòu)化的網(wǎng)絡(luò)。當一個節(jié)點發(fā)起內(nèi)容查詢請求時,系統(tǒng)將該請求以泛洪(flooding)方式傳遞給其他節(jié)點,每個節(jié)點收到請求后遍歷資源索引列表,查看是否可以提供資源服務(wù)。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)全分布式結(jié)構(gòu)化拓撲這類P2P網(wǎng)絡(luò)主要采用分布式散列表(DistributedHashTable,DHT)來組織網(wǎng)絡(luò)中的各節(jié)點,因此該拓撲結(jié)構(gòu)網(wǎng)絡(luò)也稱為DHT網(wǎng)絡(luò)。在DHT構(gòu)建的網(wǎng)絡(luò)中,每個數(shù)據(jù)對象及存儲單位用鍵值來唯一標識,即<key,value>對,關(guān)鍵字用于標識文件名或文件描述信息,值可以表示存放文件的節(jié)點,這樣,通過<key,value>對就構(gòu)成一張路由表,通過查詢key值就可以知道存放相應(yīng)文件的節(jié)點。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)全分布式結(jié)構(gòu)化拓撲該網(wǎng)絡(luò)搜索的基礎(chǔ)應(yīng)用接口由Put(key,value)和Get(key)兩個函數(shù)組成,前者用于將數(shù)據(jù)保存到DHT路由表,后者是從路由表中讀取某個特定的key對應(yīng)的value值,接口Lookup(key)則表示根據(jù)key值查詢對應(yīng)的value值。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)半分布式拓撲結(jié)構(gòu)半分布式拓撲結(jié)構(gòu)結(jié)合了中心化拓撲和全分布式非結(jié)構(gòu)化拓撲的特點,也可稱為混合式拓撲,其引入了“超級節(jié)點”的概念。所謂超級節(jié)點(SuperNodes或Hubs),是指一些在處理、存儲、帶寬等方面性能優(yōu)良的節(jié)點,以各個超級節(jié)點為中心,存儲P2P網(wǎng)絡(luò)中部分節(jié)點的資源索引信息,多個超級節(jié)點之間以全分布式非結(jié)構(gòu)化拓撲的形式進行組網(wǎng)。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)半分布式拓撲結(jié)構(gòu)當某一普通節(jié)點向其連接的超級節(jié)點發(fā)起內(nèi)容查詢請求時,超級節(jié)點先遍歷本地數(shù)據(jù)庫,同時將查詢請求轉(zhuǎn)發(fā)給其他超級節(jié)點。其他超級節(jié)點將查詢結(jié)果返回該超級節(jié)點進行整理,最后,該超級節(jié)點將查詢結(jié)果返回給普通節(jié)點。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)P2P網(wǎng)絡(luò)技術(shù)特點P2P的特點主要表現(xiàn)在以下幾個方面非中心化可擴展性健壯性隱私保護高性價比負載均衡2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)P2P網(wǎng)絡(luò)的關(guān)鍵技術(shù)資源搜索策略多源傳輸網(wǎng)絡(luò)監(jiān)控技術(shù)2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)區(qū)塊鏈網(wǎng)絡(luò)主要介紹內(nèi)容包括:比特幣網(wǎng)絡(luò)以太坊網(wǎng)絡(luò)2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)比特幣網(wǎng)絡(luò)比特幣發(fā)展至今,采用的其實就是混合式P2P網(wǎng)絡(luò)。比特幣網(wǎng)絡(luò)中的節(jié)點主要有四大功能:錢包、挖礦、區(qū)塊鏈數(shù)據(jù)庫、網(wǎng)絡(luò)路由。不同的比特幣節(jié)點有著不同的分工,節(jié)點種類有:全節(jié)點輕錢包節(jié)點比特幣核心節(jié)點礦工節(jié)點2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)全節(jié)點除了網(wǎng)絡(luò)路由,還包含完整的區(qū)塊鏈數(shù)據(jù)庫,包括所有交易數(shù)據(jù),能夠自己完成交易的驗證。輕錢包節(jié)點也稱輕節(jié)點,通常安裝在資源受限的移動設(shè)備或者PC上,具有網(wǎng)絡(luò)路由和錢包功能,只存儲與自己錢包地址相關(guān)的交易,驗證交易時需要向全節(jié)點請求相關(guān)數(shù)據(jù),校驗方式通過SPV完成。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)比特幣核心節(jié)點也是一種全節(jié)點,具有錢包、挖礦、網(wǎng)絡(luò)路由和區(qū)塊鏈數(shù)據(jù)庫功能。礦工節(jié)點一類是獨立礦工(SoloMiner),需要存儲完整的區(qū)塊鏈數(shù)據(jù)庫,因此也是全節(jié)點;一類是礦池礦工(PoolMiner),即和其他節(jié)點一起連接礦池服務(wù)器,集體挖礦,但為了節(jié)約存儲成本,這類節(jié)點并不會保存完整的區(qū)塊鏈。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)以太坊網(wǎng)絡(luò)以太坊網(wǎng)絡(luò)是結(jié)構(gòu)化的,P2P網(wǎng)絡(luò)的實現(xiàn)算法是Kademilia(簡稱Kad),由于其簡單靈活又安全而成為主流實現(xiàn)方式。在以太坊的Kad網(wǎng)絡(luò)中,每個節(jié)點具有的基本屬性為:(nodeID,IP地址,端口號)其中nodeID用于唯一標志一個節(jié)點2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)以太坊網(wǎng)絡(luò)由于每個節(jié)點的nodeID都是一串二進制串,因此可以根據(jù)nodeID的最短前綴將整個網(wǎng)絡(luò)拓撲組織成一個二叉前綴樹,從而每個節(jié)點最終都會映射成二叉樹的某個葉子。以節(jié)點0011為例,第一位對應(yīng)二叉樹的第1層,值為0則進入右子樹;第二位對應(yīng)第2層,值為0仍進入右子樹;第三位對應(yīng)第3層,值為1則進入左子樹;第四位對應(yīng)第4層,值為1則進入左子樹,最終的葉子節(jié)點即為0011。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)以太坊網(wǎng)絡(luò)任意一個節(jié)點都可以根據(jù)異或距離對整個二叉樹進行子樹劃分(不包含自己所在的子樹)。

異或距離算法:D(nodeIDA,nodeIDB)=nodeIDA⊕nodeIDB或D(nodeIDA,keyi)=nodeIDA

keyi。具體劃分方法是:從根節(jié)點開始,將不包括自己的那棵子樹劃分出來,然后在剩下的子樹中將不包含自己的子樹再劃分出來,以此類推,直到劃分完整棵樹。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)同樣以節(jié)點0011為例,從根節(jié)點開始,該節(jié)點在右子樹,因此將左子樹劃分出來,即包含(11111,11110,1110,1101,1100,101,1001,1000)這幾個節(jié)點的子樹;接著,對于右子樹的第二層,將不包含0011的子樹再劃分出來,即包含(0111,0110,0101,0100)這幾個節(jié)點的子樹;接著,到第三層將不包含自己的子樹再劃分出來,即000節(jié)點所在的子樹;最后,到第四層再把不包含自己的子樹劃分出來,即包含(00101,00100)的節(jié)點所在的子樹。最終,對于0011節(jié)點,整個二叉樹劃分出4個子樹。2.2.1對等網(wǎng)絡(luò)結(jié)構(gòu)及典型技術(shù)以太坊網(wǎng)絡(luò)完成子樹劃分后,每個節(jié)點至少需要知道各子樹的一個節(jié)點,就可以通過遞歸路由找到任意一個節(jié)點。K-桶(K-bucket):Kad系統(tǒng)中路由表概念,每個桶就是一張數(shù)據(jù)列表,每個節(jié)點都會維護m個K-桶,其中m即為對應(yīng)的子樹數(shù)量,每個K-桶記錄距離該節(jié)點[2i,2i+1)范圍內(nèi)的節(jié)點信息(nodeID,IP,UDPport,D)。對于一個N-節(jié)點的Kad網(wǎng)絡(luò),最多只需要經(jīng)過logN步查詢即可定位到節(jié)點。以太坊K-桶按照與目標節(jié)點(維護K-桶的節(jié)點)的距離進行排序,每個節(jié)點需要維護256個K-桶,每個K-桶包含16個節(jié)點。2.2.2基于區(qū)塊鏈的分布式存儲分布式存儲是一種數(shù)據(jù)存儲技術(shù),簡單來說,就是將存儲設(shè)備分布在不同的地理位置,數(shù)據(jù)就近存儲在多個節(jié)點上,各個節(jié)點通過網(wǎng)絡(luò)連接,然后對這些節(jié)點的資源進行統(tǒng)一的管理。2.2.2基于區(qū)塊鏈的分布式存儲與傳統(tǒng)的集中式存儲相比,分布式存儲方式有著很強的優(yōu)越性,主要體現(xiàn)在:可靠性高擴展性能高成本低代表性的分布式存儲系統(tǒng)有:GFS(GoogleFileSystem)、HDFS(HadoopDistributedFileSystem)、TFS(TaobaoFileSystem)、IPFS(Inter-PlanetaryFileSystem)等2.2.2基于區(qū)塊鏈的分布式存儲IPFS是一項國際呼聲極高的互聯(lián)網(wǎng)技術(shù),是星際文件系統(tǒng)的英文縮寫,是第一個無中心化控制中心的分布式存儲網(wǎng)絡(luò)。其組成構(gòu)件主要有分布式哈希表(DHT)、塊交換(BitSwap)、默克爾有向無環(huán)圖(MerkleDAG),將不同的設(shè)備連接建立一個分布式文件系統(tǒng),基于內(nèi)容尋址將大文件拆分為數(shù)據(jù)塊對象來提高存儲效率,每個文件塊通過對應(yīng)塊內(nèi)容的哈希值索引,建立全局DHT,通過MerkleDAG樹數(shù)據(jù)結(jié)構(gòu)組織這些分散的文件塊哈希索引,將存儲在樹根節(jié)點位置的索引作為文件尋址哈希值。2.2.2基于區(qū)塊鏈的分布式存儲雖然在一定程度上IPFS保證了控制中心的安全性,但它無法激勵更多的用戶積極貢獻存儲,使得更多的節(jié)點維護存儲網(wǎng)絡(luò),同時,IPFS也不支持用存儲相關(guān)數(shù)據(jù)實現(xiàn)業(yè)務(wù)邏輯。代幣Filecoin的出現(xiàn)就是為了激勵礦工貢獻存儲和數(shù)據(jù)檢索服務(wù),基于有效存儲證明的復制證明(PoofofReplication,PoRP)和時空證明(ProofofSpacetime,PoSt)來激勵礦工在IPFS網(wǎng)絡(luò)中貢獻存儲資源,礦工提供的有效存儲空間并存儲有效數(shù)據(jù)量越大,最后獲得的獎勵概率也就越大。目錄2.1區(qū)塊鏈中的密碼學2.2對等網(wǎng)絡(luò)技術(shù)與分布式存儲2.3區(qū)塊鏈其它支撐技術(shù)2.3.1區(qū)塊鏈其他概念2.3.2框架及特點2.3.3運作原理2.3.4常見問題2.3.1區(qū)塊鏈其他概念(1)挖礦與區(qū)塊鏈分叉問題比特幣的區(qū)塊是在挖礦中產(chǎn)生的,“挖礦”就是找到一個隨機數(shù),使得最終計算的哈希值不大于目標難度值的過程。實際上,同時滿足這一條件的哈希結(jié)果可能不止一個,也就意味著可能存在兩個幾乎同時生成的新區(qū)塊,這些新區(qū)塊將會鏈接在區(qū)塊鏈同一高度,由此產(chǎn)生了區(qū)塊鏈的分叉現(xiàn)象,這種分叉本質(zhì)是由區(qū)塊鏈的共識機制引起的常見現(xiàn)象。2.3.1區(qū)塊鏈其他概念(1)挖礦與區(qū)塊鏈分叉問題另外還存在兩種由共識規(guī)則的變化造成的分叉,比如區(qū)塊擴容、生成區(qū)塊的格式以及其他新特性等,這一過程可以視為軟件代碼的升級,節(jié)點可選擇是否升級,繼續(xù)運行舊版本區(qū)塊鏈代碼的成為舊節(jié)點,這樣,共識過程將面臨“軟分叉”和“硬分叉”問題。2.3.1區(qū)塊鏈其他概念(1)挖礦與區(qū)塊鏈分叉問題軟分叉支持新舊節(jié)點共存,具備向前兼容性,即舊節(jié)點可以驗證并接受新節(jié)點生成的區(qū)塊,因而并不會意識到規(guī)則的變化,但新節(jié)點不支持向后兼容,即對于舊節(jié)點生成的區(qū)塊將會被新節(jié)點判定為無效,這樣,若全網(wǎng)新節(jié)點的算力超過51%,那么網(wǎng)絡(luò)自動完成軟分叉;若全網(wǎng)舊節(jié)點的算力超過51%,那么將會引起區(qū)塊鏈的分裂。2.3.1區(qū)塊鏈其他概念(1)挖礦與區(qū)塊鏈分叉問題硬分叉與軟分叉相反,不支持向前兼容性,當發(fā)布新的共識規(guī)則,舊節(jié)點無法驗證新節(jié)點生成的區(qū)塊,仍然按照舊規(guī)則繼續(xù)挖礦,區(qū)塊鏈因此永久分裂成兩條鏈。與軟分叉不同的是,舊節(jié)點會馬上發(fā)現(xiàn)這個問題并選擇是否升級。2.3.1區(qū)塊鏈其他概念(2)時間戳與不可篡改性區(qū)塊鏈不可篡改性的重要條件之一就是時間戳。所謂時間戳,指的是一個能表示一份數(shù)據(jù)在某個特定時間之前已經(jīng)存在的、完整的、可驗證的數(shù)據(jù),通常是一個字符序列。2.3.1區(qū)塊鏈其他概念(2)時間戳與不可篡改性在區(qū)塊鏈中,時間戳從創(chuàng)世區(qū)塊起就存在于區(qū)塊鏈中,具體工作流程如下:用戶通過哈希算法對區(qū)塊中的交易信息進行加密,生成一個散列字符串;用戶發(fā)出時間戳請求,時間戳服務(wù)器從項目區(qū)塊中提取哈希值;時間戳服務(wù)器對提取到的哈希值和時間記錄進行簽名,生成時間戳;生成的時間戳數(shù)據(jù)和交易信息綁定之后再返回系統(tǒng),加入到哈希中。時間戳可以作為存在性證明的重要參數(shù),它能夠證實特定數(shù)據(jù)必然在某特定時刻是的確存在的,這保證了區(qū)塊鏈數(shù)據(jù)庫是不可篡改和不可偽造的。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型現(xiàn)實世界的銀行、證券交易系統(tǒng),以及互聯(lián)網(wǎng)第三方支付系統(tǒng),其核心都是基于賬戶的設(shè)計,由關(guān)系數(shù)據(jù)庫支撐。這種基于賬戶的設(shè)計,簡單直觀,并在信息系統(tǒng)里持續(xù)應(yīng)用,有統(tǒng)一的中心數(shù)據(jù)庫管理驗證。但區(qū)塊鏈沒有中心機構(gòu),比特幣應(yīng)用了UTXO模型(UnspentTransactionOutput,未消費的交易輸出)而以太坊使用了Account模型,分別實現(xiàn)了“去中心化”的設(shè)計。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型UTXO模型對于比特幣系統(tǒng),比特幣賬本里記錄了一筆筆的交易。每筆交易都有若干交易輸入,也就是資金來源,也都有若干筆交易輸出,也就是資金去向,未使用的交易輸出就是UTXO。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型UTXO模型UTXO是比特幣交易的基本結(jié)構(gòu)單元,不可拆分,一旦鎖定某個特定地址,將會記錄在區(qū)塊鏈上,可被全網(wǎng)識別跟蹤,也可被新的擁有者在將來的交易中消費。UTXO可以是任意金額,但即使一次交易實際所需金額小得多,UTXO也要一次性消費完,超過的部分以交易的形式返回原地址,類似于傳統(tǒng)交易中的“找零”。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型UTXO模型UTXO模型包含了兩類交易:普通交易,始終遵循著輸入總量等于輸出總量的規(guī)則。特殊交易,即coinbase交易,也叫鑄幣交易,是由礦工創(chuàng)建的,主要是為了獎勵礦工挖出新塊所付出的努力,目前的固定獎勵值是12.5BTC(比特幣總發(fā)行量為2100萬,每4年減半一次)。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型UTXO模型2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型相比于UTXO模型,以太坊所采用的Account模型更加符合現(xiàn)實世界的認知,其與傳統(tǒng)銀行賬戶類似,有“賬戶”和“余額”的概念,更加容易理解。忽略以太坊的具體實現(xiàn)細節(jié),該模型由三個對象構(gòu)成,即賬戶、交易和區(qū)塊。以太坊狀態(tài)機2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型:賬戶在以太坊中,存在兩類賬戶:普通賬戶:由用戶自主創(chuàng)建,并由持有的公鑰-私鑰對控制,能夠給創(chuàng)建的交易簽名并發(fā)送至網(wǎng)絡(luò)。合約賬戶:以太坊上唯一標識的某個智能合約,被合約代碼控制,收到普通賬戶或另一個合約賬戶的消息能夠觸發(fā)合約代碼自動執(zhí)行。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型:賬戶以太坊中的狀態(tài)都是由許多個賬戶組成的,每個賬戶都有一個賬戶狀態(tài)和一個20字節(jié)的地址標識符。賬戶都包含有以下四個字段:nonce:如果是普通賬戶,該值表示從賬戶地址發(fā)送的交易數(shù)量;如果是合約賬戶,該值是賬戶創(chuàng)建的合約數(shù)量。balance:該地址擁有的Wei(以太幣的最小單位)的數(shù)量,1Ether=1018Wei。storageRoot:一個MerklePatricia樹根節(jié)點的哈希值,對賬戶數(shù)據(jù)、交易集合等哈希進行編碼。codeHash:以太坊虛擬機的哈希值代碼。對于普通賬戶,該字段為空字符串的哈希;對于合約賬戶,該值為哈希后的代碼。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型:交易以太坊中,“交易”是指從普通賬戶發(fā)出的消息簽名數(shù)據(jù)包。其數(shù)據(jù)結(jié)構(gòu)如圖:2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型:交易nonce:交易相關(guān)的字串,用于防止交易重放;gasPrice:執(zhí)行交易所需的燃料gas單價;gas:提供給EVM運行合約代碼的gas最大值;to:目標賬戶地址;value:指定轉(zhuǎn)移的以太幣數(shù)量;input:EVM運行時入?yún)ⅲ攖o為空時,EVM將利用該字段內(nèi)容部署新合約;R,S,V:交易發(fā)送方基于橢圓曲線加密對交易的簽名結(jié)果,可以反向推導出交易發(fā)送方的地址。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型:區(qū)塊以太坊在比特幣的基礎(chǔ)上對區(qū)塊結(jié)構(gòu)進行了擴展,包含了更加豐富的信息,這里我們主要討論區(qū)塊頭和區(qū)塊體中幾個重要字段。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型:區(qū)塊以太坊區(qū)塊頭保留了上一區(qū)塊哈希、挖礦難度值、時間戳、隨機數(shù)等,增加了引用的叔塊頭哈希(sha3Uncles)、三個Merkle樹根(stateRoot、transactionsRoot、receiptRoot)、礦工地址(miner)、gas消費相關(guān)字段(gasLimit、gasUsed)等。以太坊區(qū)塊體只包含兩項數(shù)據(jù):交易集合和叔塊區(qū)塊頭集合,交易促使以太坊狀態(tài)不斷改變,狀態(tài)改變的過程中產(chǎn)生的變量數(shù)據(jù)和結(jié)果數(shù)據(jù)都記錄在區(qū)塊頭中的三棵樹中。2.3.1區(qū)塊鏈其他概念(3)

UTXO交易模型與Account模型Account模型:區(qū)塊以太坊狀態(tài)樹以太坊收據(jù)樹2.3.1區(qū)塊鏈其他概念(4)雙重支付雙重支付問題又稱為“雙花”問題,即利用貨幣的數(shù)字特性用“同一筆錢”完成兩次或者兩次以上支付。在現(xiàn)有的電子貨幣系統(tǒng)中,需要可信的第三方管理機構(gòu)提供保證。區(qū)塊鏈技術(shù)在去中心化的系統(tǒng)中,不借助任何第三方機構(gòu)而只通過分布式節(jié)點之間的相互驗證和共識機制,有效地解決了雙重支付問題,在信息傳輸?shù)耐瑫r完成了價值轉(zhuǎn)移。2.3.1區(qū)塊鏈其他概念(4)雙重支付主要利用區(qū)塊分叉解決雙重支付,在將交易打包到區(qū)塊的過程中,接受兩筆交易的礦工的節(jié)點數(shù)量肯定會有所不同,所以在后續(xù)的挖礦過程中,兩筆交易將處于不同的臨時分叉鏈上,最終只有最長鏈上的交易能夠保存下來。在比特幣系統(tǒng)中要求一筆交易的確認必須要等待6個及以上的區(qū)塊確定之后才可以認可。經(jīng)計算,6個確認后雙花的概率大概在0.024%。此外,在區(qū)塊鏈中還采用了時間戳、UTXO驗證、數(shù)字簽名等技術(shù)來進一步確保不會發(fā)生雙花支付。但需要注意51%算力攻擊。2.3.1區(qū)塊鏈其他概念(5)比特幣隱私模型在比特幣中,所有的交易不需要第三方的操控,也不需要提供任何身份信息,只需要提供比特幣的地址就可以跟任何人完成一次準匿名的交易。在一定程度上,交易不可追溯到交易者本身,因此比特幣上的交易可以在一定程度上擺脫監(jiān)管。但通過對區(qū)塊鏈上交易的地址以及交易額做關(guān)聯(lián)分析,也可以獲得有關(guān)交易者的隱匿信息。因此,比特幣的交易還不是純粹的匿名交易機制,而是偽匿名(pseudo-anonymous)交易機制。2.3.2框架及特點從技術(shù)角度來講,區(qū)塊鏈是一種底層基礎(chǔ)架構(gòu),共有六層,自底向上分別是數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、激勵層、合約層以及應(yīng)用層,每一層均有對應(yīng)的核心功能,且層與層之間相互協(xié)作。2.3.2框架及特點數(shù)據(jù)層:描述了區(qū)塊鏈的物理形式,是區(qū)塊鏈技術(shù)中最底層的數(shù)據(jù)結(jié)構(gòu),涵蓋了哈希函數(shù)、時間戳、加密、Merkle樹等技術(shù)。2.3.2框架及特點網(wǎng)絡(luò)層:封裝了區(qū)塊鏈系統(tǒng)的分布式組網(wǎng)方式、消息傳播協(xié)議和數(shù)據(jù)驗證機制等要素,區(qū)塊鏈本質(zhì)上是一個P2P網(wǎng)絡(luò),它比傳統(tǒng)網(wǎng)絡(luò)更加安全。消息傳播協(xié)議在區(qū)塊鏈系統(tǒng)中是指任一區(qū)塊數(shù)據(jù)生成后,將由生成該區(qū)塊的節(jié)點廣播至全網(wǎng),由全網(wǎng)節(jié)點進行驗證。對于數(shù)據(jù)驗證機制,是指當節(jié)點監(jiān)聽到鄰近節(jié)點發(fā)來的數(shù)據(jù)后,驗證其有效性。2.3.2框架及特點共識層:主要封裝各類共識機制,共識機制是區(qū)塊鏈技術(shù)的基礎(chǔ)和核心,它決定了參與節(jié)點以何種方式對某些數(shù)據(jù)達成共識,這將會影響整個系統(tǒng)的安全性和可靠性。2.3.2框架及特點激勵層:主要包括經(jīng)濟激勵的發(fā)行機制和分配機制,其目的是通過激勵措施來鼓勵節(jié)點參與區(qū)塊鏈的安全驗證并懲罰系統(tǒng)中不遵守規(guī)則的節(jié)點。2.3.2框架及特點合約層:主要包括了各類腳本代碼、智能合約和算法機制,這一層能夠?qū)崿F(xiàn)對區(qū)塊數(shù)據(jù)的靈活操作,是區(qū)塊鏈具有可編程性的基礎(chǔ)。應(yīng)用層:封裝了各種應(yīng)用場景和實際案例,如可編程貨幣、可編程金融及可編程社會。2.3.3運作原理比特幣是區(qū)塊鏈的第一個最為成熟的應(yīng)用,也是體現(xiàn)區(qū)塊鏈系統(tǒng)基本運作機制和核心概念的典型應(yīng)用。為了便于理解,首先以比特幣為例進行介紹,進而闡述區(qū)塊鏈系統(tǒng)是如何運作的。2.3.3運作原理(1)比特幣的運作機制比特幣系統(tǒng)的運作機制本質(zhì)就是完成記賬過程:2.3.3運作原理(2)區(qū)塊鏈拓展鏈結(jié)構(gòu)最初的區(qū)塊鏈系統(tǒng)大多沿襲了比特幣系統(tǒng)中的鏈式結(jié)構(gòu),但隨著研究的深入,人們在吞吐量、可伸縮性、安全性等方面的考慮,提出了新的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu),如:基于有向無環(huán)圖(DirectedAcyclicGraph,DAG)結(jié)構(gòu)基于樹狀結(jié)構(gòu)2.3.3運作原理(2)區(qū)塊鏈拓展鏈結(jié)構(gòu)DAG區(qū)塊鏈DAG是一個有向的、具有拓撲順序的圖數(shù)據(jù)結(jié)構(gòu),是計算機領(lǐng)域中常用的數(shù)據(jù)結(jié)構(gòu),常用于動態(tài)規(guī)劃、尋求最短路徑、數(shù)據(jù)壓縮等算法。在DAG結(jié)構(gòu)中,每筆交易作為基本存儲單位,相當于細粒度的區(qū)塊,在執(zhí)行過程中,由每筆交易對它之前的兩筆或以上交易進行驗證。2.3.3運作原理(2)區(qū)塊鏈拓展鏈結(jié)構(gòu)DAG區(qū)塊鏈圖中每個節(jié)點只保存一筆交易和該單元先前驗證過的區(qū)塊哈希值,交易間組成有向無環(huán)圖。2.3.3運作原理(2)區(qū)塊鏈拓展鏈結(jié)構(gòu)相比于鏈式結(jié)構(gòu),DAG區(qū)塊鏈無需考慮擴容的問題,而且處理速度快,省去了礦工挖礦的過程,大大提升了交易吞吐量,也可以避免礦池優(yōu)勢,因而很大程度上提升了區(qū)塊鏈網(wǎng)絡(luò)的效率。但是,DAG區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)負載復雜度高,對編碼要求高,需要更大的存儲空間進行管理和備份。2.3.3運作原理(2)區(qū)塊鏈拓展鏈結(jié)構(gòu)樹狀結(jié)構(gòu)樹狀結(jié)構(gòu)與一般的鏈式結(jié)構(gòu)主要區(qū)別在于區(qū)塊的組織形式,而區(qū)塊內(nèi)容是類似的。在樹結(jié)構(gòu)中,創(chuàng)世區(qū)塊同樣只有后繼區(qū)塊,但其余區(qū)塊可能有多個后繼區(qū)塊,一個父前驅(qū),若干個叔前驅(qū)。2.3.3運作原理(2)區(qū)塊鏈拓展鏈結(jié)構(gòu)樹結(jié)構(gòu)一定程度上認可了叔區(qū)塊的合理性,但需要設(shè)計相關(guān)協(xié)議(如Ghost協(xié)議)對叔區(qū)塊進行選擇,防止分叉攻擊。這樣,對于區(qū)塊鏈的區(qū)塊結(jié)構(gòu)中,除了父區(qū)塊的哈希值,還可能包含了叔區(qū)塊的哈希值。樹結(jié)構(gòu)包容了分叉區(qū)塊,降低孤塊率,并有效提升了系統(tǒng)的吞吐量,但是,樹結(jié)構(gòu)對整個區(qū)塊鏈系統(tǒng)的性能的提升較為有限。2.3.3運作原理對于區(qū)塊鏈系統(tǒng),它的運作機制可以簡單敘述如下:某用戶節(jié)點發(fā)起一筆交易,并廣播至相鄰節(jié)點;當一個節(jié)點收到該筆交易時進行驗證,包括雙花、輸出額不超過輸入額、對交易運行核驗腳本,若驗證通過,則接收該交易,放入交易池中,并轉(zhuǎn)發(fā)該交易;根據(jù)特定的共識算法,如PoW、PoS、PBFT等,選取記賬人,將特定時間內(nèi)打包的交易所生成的區(qū)塊進行廣播;當一個節(jié)點收到一個新區(qū)塊時,也會進行相應(yīng)的驗證,從而決定是否接受并轉(zhuǎn)發(fā)這個區(qū)塊。2.3.4常見問題區(qū)塊鏈在數(shù)字貨幣領(lǐng)域發(fā)展得如火如荼,雖然采用了先進的密碼

溫馨提示

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

評論

0/150

提交評論