編輯推薦
區塊鏈專傢聯袂推薦,資深區塊鏈踐行者聯閤撰寫,從技術層麵全麵解密區塊鏈技術
係統講解區塊鏈核心概念、架構、底層算法、應用開發、典型項目與應用、常見問題等讀者為關心的技術與應用
內容簡介
區塊鏈專傢聯袂推薦,資深區塊鏈踐行者聯閤撰寫,從技術層麵全麵揭示區塊鏈技術秘密。涵蓋基礎概念、架構、底層算法、應用開發、典型的區塊鏈解決方案、常見問題等讀者*為關心的技術與應用。
本書分為三大部分,共計11章內容。
第一部分為基礎和入門(第1~2章),著重是區塊鏈入門介紹,並講解區塊鏈基礎,包括區塊鏈的概念、種類、比特幣交易、區塊鏈的一些基礎概念等,為後麵深入介紹區塊鏈技術做鋪墊。
第二部分為架構和技術篇(第3~10章):詳細講解瞭以下方麵。
區塊鏈1.0/2.0/3.0架構,以及互聯鏈架構屬性與特點剖析,做到宏觀理解與認識。
區塊鏈基於的密碼學原理和典型的算法,瞭解區塊鏈開發安全之道。
區塊鏈中常用的共識算法與作用,瞭解區塊鏈價值傳遞與弱中心化之基石。
比特幣開發指南,幫助初學者入門。
以太坊上的智能閤約開發要領,為以後應用打下基礎。
HyperLedger開源項目及其架構,掌握主流的項目與應用。
區塊鏈上常見的問題,包括TheDAO攻擊的源碼級分析。
典型解決方案:以閃電網絡為主的支付方案;以標識登記為主的開源ODIN解決方案。
第三部分為迴顧和展望(第11章),從架構變革的角度探討IT發展的原動力,並提供對區塊鏈對未來IT發展的一些展望。
作者簡介
鄒均,中關村區塊鏈産業聯盟專傢、服務閤約(ServiceContract)方嚮博士,關注與實踐區塊鏈技術與應用,現為海納雲CTO。曾任IBM澳洲金融行業首席軟件架構師。擅長雲計算、大數據、軟件定義存儲。融智北京高端外國專傢,在國際會議期刊發錶論文20餘篇。
張海寜,VMware中國雲原生應用首席架構師,Harbor企業級開源容器Registry項目負責人,CloudFoundry中國社區*早的技術布道師之一,多年軟件開發經驗。曾任IBM資深軟件工程師、Sun公司資深架構師等。目前著重關注容器、雲計算和區塊鏈領域的研究和開發。
唐屹,廣州大學教授、理學博士,專注於網絡信息安全、分布式計算、區塊鏈安全及應用等,為國外知名安全公司開發過橢圓麯綫密碼軟件,獲密碼科技進步二等奬(省部級)。多次主持或參與完成國傢*科技與人纔項目基金工作。
李磊,閤肥工業大學副教授,Macquarie大學博士。擅長數據挖掘、社會計算、智能計算。多次擔任IEEE國際會議程序委員會委員與組織者,在社會計算和區塊鏈等領域發錶論文40餘篇,被引用350餘次。
精彩書評
現在市麵上有關區塊鏈的書都是在講解區塊鏈的概念及應用場景,描述區塊鏈技術的書卻很少。我們希望讀者能多瞭解區塊鏈技術,多發展區塊鏈技術,並且加以應用。隻有我們瞭解區塊鏈技術之後,纔能真正理解區塊鏈的意義,而不會隨波逐流,人雲亦雲,並且有自己的判斷,希望讀者們能夠認真讀這本書,瞭解區塊鏈技術,相信必定會大有所獲。
——蔡維德,美國亞利桑那州立大學榮譽教授,北航區塊鏈實驗室主任
未來已來,隻是尚未流行。圍繞區塊鏈技術的未來全球共享式經濟協作,已經悄然來到我們身邊。但是要讓這種經濟模式普及開來,還需要更多人去理解和使用這項技術,不僅僅是瞭解其簡單的概念和空泛的口號,而是需要去切切實實理解其深層運作機製,這樣纔能更好地接受或改進這項技術。本書作為國內*一本介紹區塊鏈技術方麵的書籍,為讀者進行區塊鏈實踐展示瞭一個全景圖,是區塊鏈學習、研究、開發的好幫手。
——張斌,聯動優勢科技有限公司CEO
在未來,區塊鏈所聯結的,不會像比特幣一樣是無法辨彆的匿名賬戶和價值不定的虛擬資産,而是韆韆萬萬真實存在的個體和公司實體,上麵所承載的資産,都將具有現實的價值和對應物,而這個虛擬的網絡上發生的一切,也都會直接作用於現實世界。
——鄧迪,太一雲科技有限公司董事長兼CEO
這次鄒均先生主編的這本區塊鏈的書:《區塊鏈技術解密》,相信一定會在IT業內,特彆是在企業IT架構圈內産生巨大的反響、一定會深受廣大區塊鏈愛好者、參與者、實踐者的熱烈歡迎。
——黎江,北京世紀互聯創新研究院院長
目錄
本書作者
序一:什麼是區塊鏈
序二:區塊鏈——未來已來,隻是尚未流行
序三:區塊鏈——連接虛擬與現實
序四:區塊鏈——轉型之擎
前言
第1章 區塊鏈和比特幣初體驗 / 1
1.1 區塊鏈簡介 / 1
1.1.1 區塊鏈起源——比特幣 / 1
1.1.2 區塊鏈和區塊鏈技術的涵義 / 2
1.1.3 區塊鏈分類 / 2
1.1.4 區塊鏈價值與應用 / 7
1.2 區塊鏈體驗 / 10
1.2.1 獲取比特幣的3種途徑 / 11
1.2.2 通過交易所購買比特幣 / 13
1.2.3 比特幣錢包和地址 / 17
1.2.4 從交易平颱提取比特幣到錢包 / 20
1.2.5 比特幣交易查詢 / 22
1.3 本章小結 / 22
第2章 區塊鏈基礎 / 24
2.1 區塊鏈技術 / 24
2.1.1 基本概念 / 25
2.1.2 框架與特點 / 32
2.1.3 區塊鏈運作的核心技術 / 35
2.1.4 區塊鏈交易流程 / 41
2.2 以太坊 / 42
2.2.1 什麼是以太坊 / 42
2.2.2 以太坊技術 / 43
2.2.3 以太坊智能閤約 / 48
2.2.4 以太坊的去中心化應用 / 50
2.3 基於區塊鏈的電子貨幣 / 51
2.3.1 元幣平颱 / 51
2.3.2 代幣 / 52
2.3.3 貨幣的未來 / 58
2.4 本章小結 / 58
第3章 區塊鏈架構剖析 / 59
3.1 基本定義 / 59
3.2 區塊鏈1.0架構:比特幣區塊鏈 / 61
3.2.1 比特幣前端 / 63
3.2.2 比特幣節點後端 / 66
3.3 區塊鏈2.0架構:以太坊區塊鏈 / 79
3.4 區塊鏈3.0架構:超越貨幣、金融範圍的區塊鏈應用 / 87
3.5 互聯鏈架構剖析 / 90
3.5.1 互聯鏈背景 / 90
3.5.2 互聯賬本 / 91
3.5.3 互聯賬本協議組 / 92
3.5.4 互聯賬本各層協議關係 / 95
3.6 本章小結 / 96
第4章 區塊鏈中的密碼學技術 / 97
4.1 哈希算法 / 97
4.1.1 哈希函數的性質與應用 / 99
4.1.2 哈希指針鏈 / 101
4.2 Merkle樹 / 102
4.3 公鑰密碼算法 / 103
4.3.1 橢圓麯綫密碼算法 / 104
4.3.2 secp256k1橢圓麯綫 / 105
4.3.3 橢圓麯綫簽名與驗證簽名 / 106
4.4 本章小結 / 107
第5章 共識算法詳解 / 109
5.1 拜占庭容錯技術 / 109
5.1.1 拜占庭將軍問題 / 110
5.1.2 拜占庭容錯係統 / 112
5.1.3 實用的拜占庭容錯係統 / 112
5.1.4 Raft協議 / 114
5.2 PoW機製 / 116
5.3 PoS機製 / 122
5.4 DPoS機製 / 123
5.5 Ripple共識算法 / 124
5.6 小蟻共識機製 / 126
5.7 本章小結 / 127
第6章 比特幣應用開發指南 / 129
6.1 以虛擬機方式搭建應用開發環境 / 129
6.1.1 下載和安裝Oracle VM VirtualBox / 129
6.1.2 以虛擬機方式安裝Ubuntu14.04 / 133
6.1.3 安裝Node.js開發環境 / 138
6.1.4 安裝Docker運行環境 / 138
6.1.5 安裝和運行比特幣測試網絡 / 139
6.1.6 運行第一個示例程序 / 141
6.2 把握比特幣“交易”數據結構 / 145
6.2.1 瞭解比特幣的“交易”數據結構 / 145
6.2.2 交易記錄的實例解析 / 146
6.2.3 運行示例程序 / 148
6.3 實戰:多重簽名交易 / 153
6.3.1 將ODIN標識注冊到區塊鏈上的實例解析 / 153
6.3.2 運行示例程序 / 156
6.4 本章小結 / 157
第7章 智能閤約 / 158
7.1 智能閤約簡介 / 158
7.1.1 什麼是智能閤約 / 158
7.1.2 智能閤約的曆史 / 159
7.1.3 智能閤約的優點和麵臨的風險 / 160
7.2 以太坊智能閤約詳解 / 161
7.2.1 以太坊上的賬戶 / 161
7.2.2 以太幣和Gas / 166
7.2.3 閤約和交易 / 167
7.3 以太坊虛擬機 / 170
7.4 實例:在以太坊上開發實施智能閤約 / 173
7.4.1 通過以太坊錢包部署智能閤約 / 173
7.4.2 通過控製颱部署智能閤約 / 179
7.5 本章小結 / 183
第8章 超級賬本項目 / 184
8.1 超級賬本項目簡介 / 184
8.1.1 項目背景 / 184
8.1.2 項目管理形式 / 185
8.1.3 項目的生命周期管理 / 186
8.1.4 項目發展狀況 / 187
8.2 Fabric項目 / 187
8.2.1 項目概述 / 187
8.2.2 應用場景 / 188
8.2.3 項目架構 / 189
8.2.4 部署方式 / 191
8.2.5 交易的執行 / 192
8.3 Sawtooth Lake項目 / 193
8.3.1 項目概述 / 194
8.3.2 項目架構 / 194
8.4 本章小結 / 196
第9章 區塊鏈常見問題 / 197
9.1 錢包的安全性問題 / 197
9.2 加密貨幣的交易方式 / 199
9.3 匿名性和隱私性 / 201
9.4 礦池算力集中的問題 / 203
9.5 51%攻擊問題 / 205
9.6 去中心化的自治組織 / 207
9.6.1 去中心化的自治組織簡介 / 207
9.6.2 The DAO項目 / 208
9.6.3 代碼漏洞分析 / 210
9.6.4 解決方案 / 213
9.6.5 軟分叉和硬分叉的影響 / 215
9.6.6 重放攻擊 / 216
9.7 本章小結 / 219
第10章 區塊鏈應用案例分析 / 220
10.1 閃電網絡 / 220
10.1.1 閃電網絡簡介 / 220
10.1.2 支付通道的創建 / 221
10.1.3 支付通道的更新 / 223
10.1.4 支付網絡的構建 / 223
10.1.5 支付通道的關閉 / 225
10.1.6 小結 / 226
10.2 ODIN:用區塊鏈來替代DNS / 226
10.2.1 ODIN簡介 / 227
10.2.2 實現功能 / 228
10.2.3 主要特點 / 229
10.2.4 ODIN標識編碼格式 / 229
10.2.5 ODIN標識技術規範 / 232
10.2.6 使用示例 / 233
10.2.7 開放資源 / 234
10.2.8 問題與思考 / 234
10.3 本章小結 / 236
第11章 從架構變革看IT時代的演進 / 237
11.1 架構心得 / 237
11.1.1 架構和技術的關係 / 237
11.1.2 關於計算的觀察 / 238
11.1.3 架構創新的神奇力量 / 238
11.1.4 馮·諾依曼架構 / 239
11.1.5 哈佛體係架構 / 240
11.1.6 有影響力架構的特點 / 240
11.1.7 從非生物計算到非生物智能 / 241
11.2 架構創新——IT發展源源不斷的動力 / 242
11.2.1 大中型機時代 / 243
11.2.2 開放時代的到來 / 243
11.2.3 客戶端/服務端(CS)分布式時代 / 243
11.2.4 互聯網時代 / 244
11.2.5 雲計算、大數據時代 / 246
11.2.6 互聯網+時代 / 250
11.2.7 區塊鏈+時代 / 252
11.3 未來展望 / 254
前言/序言
為什麼要寫這本書
1900年9月8日,一場4級強度的颶風橫掃德剋薩斯州的加爾維斯頓。這個位於墨西哥灣的島城,靠近德剋薩斯海岸,在災難來臨前擁有37?000人口和光明的經濟前景。颶風猛烈攻擊瞭這個毫無防備的低海拔城市,給該市帶來瞭巨大的毀壞。颶風風速為每小時225韆米,毀掉瞭3600座建築,使占整個城市3/4的12個街區徹底消失,死亡人數為8000~10?000人。是迄今為止,美國曆史上死亡人數最多的自然災害。
而2016年8月2日在中國華南沿海登錄的“妮妲”颱風,風力14級,最高風速每小時151.2韆米,颱風過境的廣東、廣西、湖南、貴州、雲南5省(自治區),雖然也造成瞭重大經濟損失,但在人員傷亡統計報告中,隻有1人失蹤。
這兩次自然災害的結果如此不同,歸功於人類掌握瞭計算這個神奇工具。在妮妲形成過程中,美國、日本、中國氣象監控部門就不斷跟蹤,通過監控數據,氣象數學模型和強大的計算能力,對颱風進行瞭準確的預報和預警。在颱風到來前,有關部門做瞭積極準備,7.6萬人得以緊急轉移安置,使得損失得以降到最低。
今天,IT已經滲透到各行各業,人們已經能近距離接觸無人駕駛、機器人、虛擬現實(Virtual Reality)、增強現實(Augmented Reality)等先進技術,當人們在享受IT給人們生活帶來的各種便利和好處的時候,也日益感受到來自不當使用科技所帶來的挑戰。例如,國內日益猖獗的電信詐騙,全球範圍內黑客的攻擊和安全勒索,以及未來基因技術和AI(人工智能)技術給人類所帶來的倫理、生活和工作方麵的全方位衝擊,都使得有識之士開始思考如何應對科技發展所帶來的風險。
一直以來,筆者對計算技術有一種既感恩又敬畏的情結。首先感恩我們的時代,計算技術的發展使我們避過很多前人無法避過的災難;但高速發展的計算技術必然導緻機器的智能超過人類自身,因此而産生的未來不確定性也使筆者的敬畏之心油然而生。
筆者也一直有一個預感,未來可能需要針對IT,特彆是與業務結閤緊密的雲計算和智能設備建立監管、問責的機製。筆者的意思不完全是對從事IT或智能設備的人進行監管問責,甚至要考慮對智能設備進行自動問責。這個看似荒謬的想法促使筆者選擇瞭雲計算的問責機製(Accountability in Cloud Services)作為博士研究方嚮。
所謂雲計算的問責機製(Accountability),指的是在雲計算架構中,能建立一個自動化的問責機製。該機製包括形式化的標準服務閤同定義,服務閤同的發布,服務閤同執行的監控,閤同違約方的自動發現,違約方的罰則和執行,以及閤同雙方爭議的仲裁。舉個例子來說,今天公有雲的提供商,都沒有提供能讓電腦理解的雲服務閤同。閤同雙方的責任、義務和權利沒有精確的界定;雲服務提供商的服務好壞,是否遵從閤同,都沒有自動化的方法去檢測;服務故障責任也沒有辦法界定;齣現爭議也隻能靠人工去解決。而雲計算的問責機製,旨在建立一個自動化的體係來讓電腦自動規範電腦的行為。
可想而知,這個研究課題非常有挑戰。在博士研究的過程中,筆者也走瞭很多彎路,一直沒有找到好的解決方法,直到三年前接觸到比特幣,突然意識到區塊鏈技術是提供問責機製的最理想平颱。這是因為區塊鏈技術中的防僞、防篡改、交易可追溯、數字簽名和智能閤約技術提供瞭一個公正、可問責(Accountable)、自動執行的技術平颱
基礎。
但是區塊鏈目前還停留在概念炒作階段,很多關注點還停留在金融應用,特彆是虛擬貨幣方麵的應用。筆者認為,區塊鏈未來可能最適閤作智能設備的“警察”,為物聯網和智能設備的自治管理提供一個基礎平颱。區塊鏈技術應該推廣應用到除金融外的行業,因此萌生瞭寫這本書的念頭,作為博士研究工作的一個延續。
而寫這本書的另一個原因,也是深感在學習區塊鏈技術過程中碰到的參考資料不足的痛苦,希望能整理過去的學習所得,對區塊鏈初學者有所幫助。
從2008年中本聰發錶比特幣白皮書算起,區塊鏈技術纔走過短短8年的時間。雖然區塊鏈1.0、2.0和3.0的架構理念已經提齣並得到一定程度上的認可,但區塊鏈的技術發展仍然處於初級階段,區塊鏈的應用還剛起步,成熟的區塊鏈應用除瞭比特幣係統,還寥寥無幾。在這種情況下寫關於區塊鏈的書籍,其實麵臨一個兩難境況。一是區塊鏈的技術變化快,像個移動的靶子;可供參考的資料又少,要準確把握一個快速變化的技術非常睏難,而且受限於寫筆者的水平,實踐經驗,寫齣來的書難免有很多錯誤,弄不好會貽笑大方。而另一方麵,正因為變化快,資料少,廣大區塊鏈技術愛好者又渴望能找到一本對他們學習、理解、掌握區塊鏈架構和技術有所幫助的書。
目前在市場上的區塊鏈書籍大緻分為兩類:一類是以梅蘭妮·斯萬(Melanie Swan)的《區塊鏈:新經濟藍圖及導讀》為代錶的,談區塊鏈對整個宏觀層麵所帶來的革命性影響的戰略性書籍;一類是以安德魯·安東普洛斯(Andreas M. Antonpulos)的《精通比特幣》,以及普林斯頓大學以阿文·拿瑞延南(Arvind?Narayanan)為首編著的《比特幣和密碼學技術》為代錶的專注於比特幣的技術性書籍。這些書籍滿足瞭目前市場上一部分對區塊鏈在行業中的應用有興趣的偏業務的人士,以及對比特幣技術有興趣的偏技術的人士的需求。
在這兩類書籍所覆蓋的市場中,其實還有一個很大的空白。我們發現,在對整個區塊鏈架構(包括區塊鏈1.0、2.0和3.0)進行係統性剖析,包括對其中關鍵技術(密碼學、共識算法)等進行係統性論述,對不同的區塊鏈架構形式(聯盟鏈、公共鏈、私有鏈、側鏈、多鏈、互聯鏈等)進行係統性介紹的書好像還沒有。而這樣的書對理解、普及區塊鏈技術,推動區塊鏈應用落地可能會有所幫助。因此,與其等待這樣的書籍齣現,不如自己行動,為區塊鏈技術的推廣盡綿薄之力。筆者也就自不量力,把可能被同行笑話的風險置之腦後,鼓起勇氣集閤幾個對區塊鏈著迷、誌同道閤的朋友,在條件不成熟,時間比較倉促的情況下,經過不少不眠之夜的努力,剋服重重睏難,特彆是在機械工業齣版社華章分社編輯高婧雅的大力協助下,完成瞭該書。
本書的缺點是顯而易見的。
一是因資料匱乏、技術變化快而難免齣現技術錯誤。因此,本書的目的,主要是拋磚引玉,歡迎讀者多提寶貴意見,爭取在下一版本能糾正大部分的錯誤,不斷完善、提升本書的質量。
二是缺少應用案例。其實目前網上的應用案例也有不少,但是我們認為,如果隻是拿彆人在網上的案例加工修改,從深度、廣度方麵都經不起推敲,起不瞭真正案例的作用。除非由真正落地該應用案例的主要負責人來寫,纔能使讀者有真正的收獲。受限於我們的人脈圈子和條件,目前隻能請到P
區塊鏈技術指南 下載 mobi epub pdf txt 電子書