-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰(zhàn)行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優(yōu)實踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
區(qū)塊鏈技術分析及應用 版權信息
- ISBN:9787030671851
- 條形碼:9787030671851 ; 978-7-03-067185-1
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
區(qū)塊鏈技術分析及應用 內容簡介
本書以區(qū)塊鏈研究和比特幣為代表的數字加密貨幣的應用現狀為切入點,系統(tǒng)并深入地介紹區(qū)塊鏈基礎理論和關鍵技術;從區(qū)塊鏈應用面臨的機遇與挑戰(zhàn)出發(fā),探究區(qū)塊鏈技術與各領域融合發(fā)展的應用前景;以區(qū)塊鏈技術應用平臺為基礎,給出基于區(qū)塊鏈的版權存證開發(fā)實例。本書技術原理詳盡,內容全面,開發(fā)步驟清晰。 本書可供高等院校計算機信息安全專業(yè)的本科生或研究生作為教材使用,也可供對區(qū)塊鏈技術感興趣的研發(fā)人員參考。
區(qū)塊鏈技術分析及應用 目錄
前言
第1章 區(qū)塊鏈技術現狀 1
1.1 區(qū)塊鏈起源 1
1.1.1 貨幣演進過程 1
1.1.2 數字貨幣 2
1.1.3 比特幣的誕生 3
1.2 區(qū)塊鏈概述 5
1.2.1 區(qū)塊鏈定義 5
1.2.2 區(qū)塊鏈原理 6
1.2.3 區(qū)塊鏈分類 7
1.3 區(qū)塊鏈技術研究 8
1.3.1 區(qū)塊鏈技術平臺及演進研究 10
1.3.2 區(qū)塊鏈關鍵技術研究 14
1.3.3 區(qū)塊鏈技術應用研究 19
1.4 區(qū)塊鏈技術發(fā)展 20
1.4.1 區(qū)塊鏈1.0 20
1.4.2 區(qū)塊鏈2.0 21
1.4.3 區(qū)塊鏈3.0 22
1.4.4 體系架構 22
第2章 區(qū)塊鏈數據存儲 24
2.1 分布式數據庫 24
2.2 數據存儲方式 26
2.3 區(qū)塊鏈數據結構 27
2.4 數據存儲案例 34
2.4.1 比特幣數據存儲 34
2.4.2 以太坊數據存儲 38
第3章 密碼學技術 45
3.1 加解密算法 45
3.1.1 加解密系統(tǒng) 45
3.1.2 對稱加密算法 46
3.1.3 非對稱加密算法 47
3.1.4 橢圓曲線密碼算法 48
3.2 哈希算法 49
3.2.1 哈希函數 49
3.2.2 常見算法 50
3.2.3 SHA256算法 50
3.2.4 RIPEMD-160算法 54
3.2.5 Keccak算法 57
3.3 數字簽名 61
3.3.1 數字簽名定義 61
3.3.2 數字簽名技術 61
3.3.3 橢圓曲線簽名生成與簽名驗證 62
3.4 區(qū)塊鏈中密碼學的應用 64
3.4.1 公私鑰對的生成 64
3.4.2 地址的生成 66
3.4.3 區(qū)塊鏈上的交易 68
3.4.4 哈希指針 72
第4章 區(qū)塊鏈傳輸機制 73
4.1 P2P網絡技術 73
4.1.1 P2P網絡定義及特性 73
4.1.2 網絡模型 74
4.2 分布式通信協議 75
4.2.1 基本原理 75
4.2.2 TCP 78
4.2.3 HTTP 81
4.2.4 RPC協議 83
4.2.5 Gossip協議 84
4.3 比特幣網絡數據傳輸 85
4.3.1 握手通信 86
4.3.2 地址發(fā)現 86
4.3.3 區(qū)塊同步 87
4.3.4 數據傳輸 88
4.4 超級賬本數據傳輸 89
4.4.1 通信實現 89
4.4.2 主節(jié)點選取 91
4.4.3 狀態(tài)同步 91
4.4.4 數據傳輸 92
4.4.5 Fabric操作 92
第5章 區(qū)塊鏈共識機制 101
5.1 分布式一致性 101
5.1.1 一致性問題 101
5.1.2 一致性理論 102
5.2 一致性協議 105
5.2.1 Paxos算法 105
5.2.2 Raft算法 115
5.3 PBFT算法 119
5.3.1 拜占庭將軍問題 119
5.3.2 實用拜占庭容錯算法 121
5.4 PoW共識機制 127
5.5 PoS共識機制 129
5.6 DPoS共識機制 130
5.7 Ripple協議共識算法 131
第6章 區(qū)塊鏈技術問題和挑戰(zhàn) 133
6.1 區(qū)塊鏈技術的發(fā)展局限 133
6.2 區(qū)塊鏈技術現存問題 134
6.2.1 區(qū)塊鏈自身安全特性分析 134
6.2.2 效率問題 137
6.2.3 隱私保護問題 142
6.2.4 安全性問題 145
6.3 區(qū)塊鏈技術發(fā)展挑戰(zhàn) 146
6.3.1 對傳統(tǒng)法律法規(guī)的沖擊 146
6.3.2 政府層面所面臨的挑戰(zhàn) 147
第7章 區(qū)塊鏈與信息技術 150
7.1 新的計算架構 151
7.2 大數據技術 153
7.3 云計算技術 154
7.4 物聯網 154
7.5 信息安全技術 156
第8章 區(qū)塊鏈場景/應用案例分析 157
8.1 區(qū)塊鏈與金融 157
8.1.1 數字貨幣現狀 157
8.1.2 應用案例 157
8.2 區(qū)塊鏈與醫(yī)療 158
8.2.1 醫(yī)療領域現狀 158
8.2.2 應用案例 159
8.3 區(qū)塊鏈與政府管理 159
8.3.1 政府服務現狀 159
8.3.2 應用案例 160
8.4 區(qū)塊鏈與教育 160
8.4.1 教育行業(yè)現狀 160
8.4.2 應用案例 161
8.5 區(qū)塊鏈與農業(yè) 161
8.5.1 農業(yè)現狀 161
8.5.2 應用案例 161
8.6 區(qū)塊鏈與物聯網 162
8.6.1 物聯網行業(yè)現狀 162
8.6.2 應用案例 163
第9章 區(qū)塊鏈應用開發(fā) 164
9.1 比特幣 164
9.1.1 比特幣簡介 164
9.1.2 技術原理 164
9.1.3 編譯與安裝 165
9.1.4 bitcoin-cli模塊詳解 169
9.2 以太坊 182
9.2.1 以太坊簡介 182
9.2.2 工作原理 184
9.2.3 關鍵概念 185
9.2.4 搭建與配置 190
9.3 超級賬本 199
9.3.1 超級賬本簡介 199
9.3.2 系統(tǒng)架構 201
9.3.3 關鍵概念 202
9.3.4 搭建與配置 206
第10章 數字版權存證與交易平臺開發(fā) 210
10.1 背景 210
10.2 平臺簡介 211
10.3 平臺開發(fā) 212
10.3.1 環(huán)境準備 212
10.3.2 目錄創(chuàng)建 216
10.3.3 合約編寫 217
10.3.4 合約部署 223
10.3.5 前端頁面 225
參考文獻 228
區(qū)塊鏈技術分析及應用 節(jié)選
第1章 區(qū)塊鏈技術現狀 1.1 區(qū)塊鏈起源 20世紀下半葉互聯網飛速發(fā)展,電子郵件轉瞬可以環(huán)游全球,美麗的風景照片很快可以分享給全世界。可以看到,互聯網發(fā)展至今,每一項新技術的誕生都在深刻改變著人們的生活方式。如今,一個新興的技術——區(qū)塊鏈(blockchain),登上歷史舞臺前沿。區(qū)塊鏈技術是以比特幣(bitcoin,BTC)為代表的數字加密貨幣體系的核心支撐技術,其核心優(yōu)勢是去中心化[1]。下面從貨幣的起源探討區(qū)塊鏈技術的誕生過程。 1.1.1 貨幣演進過程 貨幣起源于一般等價物,一般等價物產生于滿足人們日常所需之外用來交換的剩余物品,隨著社會中以物易物的交易方式逐漸頻繁,大型物品攜帶困難和物品價值不匹配等問題暴露出來。因此,人們開始使用具有一定價值的媒介,即一般等價物進行交易。一般等價物起初主要是人們飼養(yǎng)的牲畜,由于其體積龐大、不易攜帶,逐漸向體積更小的物品發(fā)展,如貝殼或絲帛。隨著人類逐漸掌握冶金技術,金、銀、銅等貴金屬開始成為新的一般等價物,商品交易進入新的時代。但是,貴金屬被大量交易使用后,人們發(fā)現其作為一般等價物仍存在弊端。例如,金屬容易出現生銹損壞的情況,保存期限有限;大量金屬不便于攜帶,并存在一定的安全隱患。因此,一般等價物產生了新的代替形式——銀票,同時產生的還有發(fā)放銀票的機構票號,人們使用金、銀等金屬在機構票號交換等價的銀票,在日常生活中使用銀票進行交易。后來,銀票與金屬不再掛鉤,逐漸發(fā)展為一種信用貨幣 ,時至今日成為人們使用的貨幣。在現代信用貨幣制度下,貨幣就是債權。人們所擁有的紙幣代表銀行欠紙幣持有者金額的總和 ,當人們向他人付款時,只要把紙幣付給對方,這時對方所擁有的紙幣總額就代表了銀行所欠金額,完成一筆交易即可實現價值或購買力的轉移。 然而,有些地區(qū)貨幣的誕生并沒有經過一般等價物這一階段。據說在西太平洋的一個小島上,人們使用一種名為費(Fei)的巨大石盤作為貨幣。由于石盤體積巨大難以流通,當交易完成時,費的新主人無需將其帶走,也不做任何標記,而是日后做類似清算的賬目抵消。甚至有人的費掉入海中,其他人仍然認為他擁有這一塊費,并同意與他進行交易。因此,費成了一個記賬系統(tǒng),也是一種信用貨幣。其主要體現在巨石本身雖并無任何價值,但在當地人心中,巨石就代表著財富,人們愿意與擁有石頭多的人進行交易,并接受他開的欠條。縱觀我國的貨幣發(fā)展史,大多數時期是使用銅錢和紙幣等不足值的非一般等價物作為貨幣,并非黃金白銀。北宋首次出現印刷在紙上的貨幣“交子”。人們發(fā)現,使用脫離一般等價物的貨幣仍然能夠進行交易,可以認為貨幣就是債權,但是并非所有的債權都是貨幣,只有那些能記載數字、不易被偽造且便于保存和流通的債權才是貨幣。人們相信貨幣是因為實物貨幣代表著信用,使用它能夠進行交易,所以無論是實物貨幣還是信用貨幣,信用都是貨幣更為本質的屬性。 1.1.2 數字貨幣 隨著全球市場化的發(fā)展,特別是信息技術在金融領域的廣泛應用,逐漸出現非法定形式的貨幣,主要有電子貨幣、虛擬貨幣和數字密碼貨幣三種。 (1)電子貨幣是法定貨幣的電子化形式,通過將法定貨幣存在銀行或其他金融機構等途徑轉換為電子貨幣。當用戶使用電子貨幣進行轉賬交易時,銀行或金融機構通過更新資金信息實現資金的流動。電子貨幣的源頭是中央銀行發(fā)行的法幣,其穩(wěn)定流通的前提是政府法定貨幣和金融體系的正常運轉。 (2)虛擬貨幣分為廣義和狹義兩種,廣義的虛擬貨幣是指一切沒有實物形態(tài)的貨幣,包括電子貨幣和密碼貨幣等;狹義的虛擬貨幣是指網絡上使用的貨幣,又被稱為網絡貨幣,來源于對真實世界貨幣體系的模擬,如網絡游戲中發(fā)行的游戲幣、百度文庫設計的積分等。虛擬貨幣通過現實貨幣進行購買,但無法通過虛擬貨幣購買現實貨幣,這種單向流通的方式使虛擬貨幣只能在互聯網上供用戶使用,而不能充當真實世界的電子貨幣。人們對虛擬貨幣的信任來自對互聯網發(fā)行企業(yè)的信心。 (3)數字密碼貨幣是基于節(jié)點網絡和數字加密算法的虛擬貨幣。數字密碼貨幣和電子貨幣的*大區(qū)別是沒有現實貨幣的存在,本身就能夠表現財富。數字密碼貨幣具有三個顯著特點:一是沒有發(fā)行主體,貨幣由特定的算法產生;二是由于算法的固定,數字密碼貨幣總量是固定的,其優(yōu)點是不會出現貨幣濫發(fā)造成通貨膨脹;三是交易過程非常安全,使用數字密碼貨幣進行交易時,需要網絡中所有節(jié)點進行確認,這種方式能夠保證交易的有效性。 無論是紙質貨幣還是數字貨幣,都需要背后的支持機構(如銀行)來完成生產、分發(fā)、管理等操作。中心化的結構帶來了管理和監(jiān)管上的便利,但系統(tǒng)安全性存在很大挑戰(zhàn),如偽造、信用卡詐騙、盜刷、轉賬騙局等安全事件屢見不鮮。如果能實現一種新型貨幣,保持既有貨幣方便易用的特性,并能消除使用上的缺陷,將有可能進一步提高社會整體經濟活動的運作效率。 雖然數字貨幣的預期優(yōu)勢可能很美好,但要設計和實現一套能經得住實際考驗的數字貨幣并非易事。現實生活中常用的紙幣具備良好的可轉移性,可以相對容易地完成價值的交割。但是對于數字貨幣,數字化內容容易被復制,數字貨幣持有人可以將同一份貨幣發(fā)給多個接收者,就出現“雙重支付”問題。也許有人會想到,銀行中的貨幣實際也是數字化的,是通過電子賬號里面的數字記錄了客戶的資產。這種情況實際上依賴一個前提:假定存在一個安全可靠的第三方記賬機構負責記賬,該機構負責所有的擔保環(huán)節(jié),*終完成交易。中心化控制下,數字貨幣的實現相對容易。但是,很多時候很難找到一個安全可靠的第三方記賬機構進行中心管控。例如,發(fā)生貿易的兩國可能缺乏足夠的外匯儲備用以支付;匯率的變化等導致雙方對合同有不同意見;網絡上的匿名雙方進行直接買賣而不通過電子商務平臺;交易的兩個機構彼此互不信任,找不到雙方都認可的第三方擔保;使用第三方擔保系統(tǒng),但某些時候可能無法與其連接;第三方的系統(tǒng)可能會出現故障或受到篡改攻擊,要解決這些問題,就需要實現去中心化(de-centralized)或多中心化(multi-centralized)的數字貨幣系統(tǒng)。在去中心化的場景下,實現數字貨幣存在三個難題:①貨幣的防偽,誰來負責對貨幣的真?zhèn)芜M行鑒定;②貨幣的交易,如何確保貨幣從一方安全轉移到另外一方;③避免雙重支付,如何避免同一份貨幣支付給多個接收者。 可見,在無第三方記賬機構的情況下,實現一個數字貨幣系統(tǒng)難度很大。比特幣的出現,去除了第三方記賬機構,實現了去中心化的記賬系統(tǒng)。 1.1.3 比特幣的誕生比特幣的本質是由分布式網絡系統(tǒng)生成的數字貨幣,具有以下五個基本特性。 (1)去中心化的電子現金系統(tǒng),進行交易時比特幣直接從付款人賬戶轉到收款人賬戶,無需第三方的參與。 (2)使用點對點(peer to peer,P2P)網絡解決雙重支付問題。 (3)所有的交易都加有時間戳,每一筆交易都記錄在一個基于哈希算法的鏈條上,該鏈條通過工作量證明機制的確認不斷延長,*終形成的交易記錄除非完成全部的工作量證明,否則無法更改。 (4)*長鏈條記錄了所有的交易信息,并且形成該鏈條的區(qū)塊來自計算能力*大的 CPU池。只有當操控超過所有 CPU計算能力的一半時,才能夠對*長鏈條造成攻擊。 (5)該系統(tǒng)中的節(jié)點負責給其他節(jié)點傳播信息,不限制節(jié)點加入和離開網絡的時間。當節(jié)點重新加入時,只需按照*長鏈更新節(jié)點信息。上述五條基本特性保障了比特幣系統(tǒng)無須中心化的參與,通過讓網絡中各個節(jié)點扮演信用中介的角色,實現有效的點對點交易。比特幣網絡由分布于全球各地的上萬個節(jié)點組成,利用分布式機制保障了比特幣系統(tǒng)交易的穩(wěn)定,實現了完全的去中心化。比特幣首次實現了安全可靠的去中心化數字貨幣機制,這也是它受到無數金融科技從業(yè)者熱捧的根本原因。作為一種概念貨幣,比特幣被期望解決已有貨幣系統(tǒng)面臨的幾個核心問題:由單一機構掌控,容易被攻擊;自身的價值無法保證,容易出現波動;無法匿名化交易,隱私性不能得到保護。 現有的銀行機制作為金融交易的第三方中介機構,有代價地提供了交易記錄服務。如果參與交易的多方都完全相信銀行的記錄(數據庫),就不存在信任問題。但如果是更大范圍,甚至跨多家銀行進行流通的貨幣呢?哪家銀行的系統(tǒng)能提供完全可靠不中斷的服務呢?唯一可能的方案是利用一套分布式賬本。該賬本可以被所有用戶自由訪問,而且任何個體都無法對所記錄的數據進行惡意篡改和控制。為了實現這樣一個前所未有的賬本系統(tǒng),比特幣系統(tǒng)采用了區(qū)塊鏈結構,保障了數字貨幣賬本的安全可靠。比特幣系統(tǒng)中,貨幣的發(fā)行是通過比特幣協議規(guī)定的。貨幣總量受到控制,發(fā)行速度隨時間自動進行調整。由于比特幣總量是一個定值,其單價會隨著比特幣的推廣與使用而越來越高。發(fā)行速度的自動調整則會避免出現通脹或者滯脹的情況。比特幣的開源特性吸引了眾多開發(fā)者貢獻其技術和創(chuàng)新方法,目前比特幣系統(tǒng)已經形成覆蓋發(fā)行、流通和市場的生態(tài)圈,如圖1.1所示。比特幣系統(tǒng)使用工作量證明(proof of work,PoW)機制確保網絡中算力*強的節(jié)點獲得生成新區(qū)塊的權利,并為該節(jié)點獎勵一定的比特幣,因此比特幣系統(tǒng)的各個節(jié)點可以進行共享算力,憑借更大的算力賺取比特幣共享收益。比特幣一經發(fā)行進入流通環(huán)節(jié)后,持幣人可通過比特幣錢包等平臺支付比特幣,購買商品或服務,這體現了比特幣的貨幣屬性。同時,比特幣的價格具有漲跌機制,使其具備金融衍生物的所有屬性,因此比特幣具有投資價值。比特幣的每一次交易都會被比特幣網絡的礦工節(jié)點記錄在區(qū)塊鏈中并進行全網廣播。 圖1.1 比特幣系統(tǒng)生態(tài)圈 比特幣系統(tǒng)2009年上線以來,在無人管理的情況下,已經在全球范圍內連續(xù)運行超過10年時間,成功處理了幾百萬筆交易,甚至支持過單筆1.5億美元的交易。值得一提的是,比特幣網絡誕生以來并未出現嚴重的系統(tǒng)故障。區(qū)塊鏈技術作為比特幣系統(tǒng)的底層核心技術,為未來更安全可靠的去中心化商業(yè)網絡提供了可能。 1.2 區(qū)塊鏈概述 1.2.1 區(qū)塊鏈定義 區(qū)塊鏈技術并非是一種全新的技術,而是由分布式存儲、點對點傳輸、共識算法和加密算法等多種技術集成創(chuàng)新,是一種新的去中心化數據存儲體系,通過對存儲數據的區(qū)塊加上時間戳并鏈接到主鏈上形成一個連續(xù)的存儲結構,*終形成一個不可篡改的數據系統(tǒng)[2]。在區(qū)塊鏈系統(tǒng)中,利用區(qū)塊的形式存儲數據,并根據生成區(qū)塊的時間順序將區(qū)塊鏈接成一個鏈,通過共識機制使系統(tǒng)中的所有節(jié)點都存儲該鏈的所有信息,共同保障區(qū)塊鏈系統(tǒng)的數據安全可靠、不被篡改。當區(qū)塊鏈系統(tǒng)生成新的區(qū)塊時,需要經過全網多數節(jié)點的確認,并廣播實現所有節(jié)點的同步。然后這一區(qū)塊就被成功鏈接,區(qū)塊內的信息便不可被修改和刪除,只能進行授權查詢。 維基百科定義區(qū)塊鏈是一種分布式數據庫,起源于比特幣。區(qū)塊鏈是由使用密碼學算法產生的區(qū)塊鏈接形成,每個區(qū)塊內存儲了比特幣系統(tǒng)自上一個區(qū)塊生成至今的所有交易信息,該信息可驗證交易的有效性并生成下一區(qū)塊。中本聰在比特幣系統(tǒng)創(chuàng)建的**個區(qū)塊被稱為“創(chuàng)世區(qū)塊”。英國政府發(fā)布的 Distributed Ledger Technology: beyond block chain報告認為“區(qū)塊鏈是數據庫的一種。它擁有大量的記錄,并將這些記錄全部存放在區(qū)塊內(而非整理在一頁紙或表格中)。每個區(qū)塊通過使用加密簽名,鏈接到下一個區(qū)塊。人們可以像使用賬本一樣使用區(qū)塊鏈,可以共享,也可以被擁有適當權限的人查閱”。區(qū)塊鏈論壇巴比特網站認為區(qū)塊鏈是由一串使用密碼學算法產生的數據庫組成,區(qū)塊是按照時間順序依次產生,自創(chuàng)世區(qū)塊開始不斷鏈接包含當前區(qū)塊哈希值的新區(qū)塊,*終形成區(qū)塊鏈。 區(qū)塊鏈系統(tǒng)與傳統(tǒng)的分布式數據庫相比具有以下特點:一是分布式記賬。傳統(tǒng)的記賬方式是記錄多個賬目信息,*后進行對賬。 區(qū)塊鏈使用所有節(jié)點共同記賬,通過共識機制確保數據的一致和不可篡改。二是從“增、刪、改、查”變?yōu)閮H“增、查”兩個操作。相較于傳統(tǒng)數據庫的基本功能—增、刪、改、查,區(qū)
- >
【精裝繪本】畫給孩子的中國神話
- >
有舍有得是人生
- >
史學評論
- >
朝聞道
- >
名家?guī)阕x魯迅:故事新編
- >
月亮與六便士
- >
上帝之肋:男人的真實旅程
- >
龍榆生:詞曲概論/大家小書