區塊鏈原理與技術應用

趙其剛 王紅軍 李天瑞 王明文 成颺

  • 出版商: 人民郵電
  • 出版日期: 2020-09-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • 頁數: 362
  • 裝訂: 平裝
  • ISBN: 7115537437
  • ISBN-13: 9787115537430
  • 相關分類: 區塊鏈 Blockchain
  • 立即出貨 (庫存 < 4)

  • 區塊鏈原理與技術應用-preview-1
  • 區塊鏈原理與技術應用-preview-2
區塊鏈原理與技術應用-preview-1

買這商品的人也買了...

商品描述

本書詳細介紹了區塊鏈的概念與技術體系,涉及其本質、作用、
技術背景、原理、關鍵知識點和應用場景等,
在內容寫作上由整體到局部,
層次分明,難度由淺入深,理論聯系實際,
力圖使讀者能快速、全面地瞭解區塊鏈相關技術。

全書共10章。
第1章從區塊鏈的背景知識切入,介紹了區塊鏈的基本概念,
分析了區塊鏈的價值基礎,概括了當前區塊鏈的主要應用與面臨的挑戰。
第2章介紹了區塊鏈的發展歷程,揭示了區塊鏈技術從產生到發展壯大的過程。
第3章介紹了區塊鏈的總體技術體系架構、核心層原理、開發架構與評估體系,
並介紹了目前經典的區塊鏈軟件架構。第4章主要介紹區塊鏈的賬戶系統,
詳細介紹了區塊鏈涉及的主要密碼學知識。
第5章介紹了區塊鏈的數據結構,闡述了區塊鏈產生和運行的基本原理。
第6章介紹了區塊鏈的網絡基礎,即P2P網絡的結構和基本原理。
第7章分析了區塊鏈的共識機制,並對不同共識機制的特性與適用場景進行了分析。
第8章介紹了智能合約的基本原理、發展過程與面臨的挑戰。
第9章詳細介紹了在以太坊上編寫智能合約的方法和部署過程。
第10章介紹了一個簡單的區塊鏈系統的開發實例,
逐步帶領助讀者進行區塊鏈系統的開發。

本書可作為信息類相關專業本科生教學類用書,
也適合作為有志於研究區塊鏈的讀者的入門圖書,
還可作為科研人員、工程技術人員以及商務人員的參考用書。

作者簡介

趙其剛


博士後,國信區塊鏈研究中心主任,成都高新信息技術研究院院長,
西南交通大學教師,國信公鏈(CIC)、CNG 農業鏈首席架構師;
長期從事互聯網、智慧城市及軟件技術架構相關研究、教學及工程實踐活動,
近年來重點從事工業4.0、區塊鏈相關理論及技術研發工作;
發表學術論文20 餘篇,出版圖書5 種,並在中國大學MOOC 平台開設“區塊鏈技術與應用”在線課程;
主持各類科研課題100 餘項,獲得軟件著作權、
發明專利及相關科技成果獎勵50 餘項(區塊鏈技術發明專利20 餘項)。


王紅軍

博士, 西南交通大學信息科學與技術學院副研究員, 碩士生導師,
 中國計算機學會高級會員,中國計算機學會人工智能與模式識別專委會委員,
中國計算機學會協同計算專委會委員,中國人工智能學會機器學習專委會委員,
四川省學術與技術帶頭人後備人選;主持、主研國家級項目5項;發表學術論文70 餘篇。


李天瑞


博士, 西南交通大學信息科學與技術學院教授, 博士生導師, 人工智能研究院副院長,
 四川省雲計算與智能技術高校重點實驗室主任, 四川省學術與技術帶頭人,
國際粗糙集學會會士和指導委員會主席;主持國家重點研發計劃課題、
國家自然科學基金項目等國家級項目7 項, 在國際會議做大會報告24 次;
發表學術論文360 餘篇,出版圖書6 種, 主編SCI 期刊專輯10 集, 獲得發明專利12 項。


王明文

博士, 西南交通大學數學學院副教授, 碩士生導師, 中國計算機學會高級會員,
四川省計算機學會多媒體專委會委員;主持國家級項目1 項, 省部級項目5 項;
發表學術論文30 餘篇,獲得發明專利3 項。


成颺

博士,西南交通大學信息化研究院助理研究員,主要研究方向為區塊鏈技術、
雲計算與計算智能,主持、主研國家和省部級項目多項,
發表論文10 餘篇,參與編寫教材2 種。

目錄大綱

第 1章 區塊鏈概述

1.1 區塊鏈產生的背景 002

1.1.1傳統信任體系的局限 004

1.1.2互聯社會發展的瓶頸 005

1.1.3區塊鏈“信任”的發展 006

1.2 區塊鏈的基本概念 008

1.2.1區塊鏈的定義 009

1.2.2私有鏈、聯盟鏈與公有鏈 010

1.2.3主鏈和側鏈 011

1.3 區塊鏈的價值基礎 012

1.3.1區塊鏈解決的根本問題 012

1.3.2區塊鏈思維 014

1.3.3區塊鏈技術架構 015

1.3.4區塊鏈服務網絡 017

1.3.5區塊鏈價值生態系統 018

1.4 區塊鏈的應用 020

1.4.1資產區塊鏈化 020

1.4.2價值存儲區塊鏈化 022

1.4.3提升社會協同效率 022

1.4.4催生互助型產業生態 023

1.4.5培育共識自治社群 024

1.5 區塊鏈的挑戰 025

1.5.1技術的挑戰 025

1.5.2商業的挑戰 026

1.5.3社會治理的挑戰 026

1.6 課後習題 027

第 2章 區塊鏈的發展

2.1 區塊鏈的發展歷程 029

2.2 區塊鏈1.0 030

2.2.1比特幣簡介 030

2.2.2比特幣的獲取與交易 031

2.2.3比特幣的工作流程 032

2.2.4“雙花”問題 033

2.2.5“分叉”問題 034

2.3 區塊鏈2.0 036

2.3.1從智能合約到以太坊 036

2.3.2以太坊的工作流程 038

2.3.3基於以太坊的去中心化應用 039

2.4 區塊鏈3.0 041

2.4.1超級賬本 042

2.4.2區塊鏈3.0 應用場景 043

2.5 區塊鏈在中國的發展 045

2.6 課後習題 046

第3章 區塊鏈技術體系

3.1 總體架構 048

3.1.1基礎層 050

3.1.2合約層 051

3.1.3應用層 052

3.1.4接入層 055

3.2 核心層技術原理 055

3.2.1共識賬本 056

3.2.2核心層架構 056

3.2.3區塊鏈中的交易 059

3.2.4區塊與區塊鏈的形成 061

3.3 開發架構 062

3.3.1系統分析 062

3.3.2總體設計 065

3.3.3軟件設計 066

3.3.4特殊考慮 068

3.4 典型區塊鏈軟件架構 069

3.4.1比特幣 069

3.4.2以太坊 071

3.4.3超級賬本 074

3.4.4EOS 077

3.5 區塊鏈項目評價 079

3.5.1指標體系 080

3.5.2指標評價 082

3.5.3評估流程 084

3.6 課後習題 086

第4章 區塊鏈賬戶

4.1 哈希函數 088

4.1.1概述 089

4.1.2SHA256 算法 090

4.2 公鑰密碼體制 094

4.2.1非對稱加密算法 094

4.2.2數字簽名技術 096

4.2.3RSA 算法 097

4.2.4橢圓曲線算法 100

4.3 區塊鏈狀態庫 104

4.3.1狀態庫 104

4.3.2用戶賬戶和合約賬戶 104

4.4 用戶賬戶活動 105

4.4.1用戶地址 106

4.4.2交易發起 107

4.5 合約賬戶活動 108

4.5.1合約的創建 108

4.5.2合約的調用 110

4.6 課後習題 111

第5章 區塊鏈數據結構

5.1 設計思路 113

5.1.1哈希指針 113

5.1.2默克爾樹 114

5.2 數據結構 116

5.2.1區塊 116

5.2.2區塊結構 117

5.2.3區塊頭 117

5.2.4區塊體 118

5.3 結構樹 119

5.3.1交易樹 120

5.3.2狀態樹 121

5.3.3收據樹 122

5.4 區塊鏈的生成 122

5.4.1區塊的生成 123

5.4.2區塊的傳播 127

5.4.3區塊的校驗 127

5.5 比特幣交易示例 128

5.6 課後習題 133

第6章 區塊鏈與P2P網絡

6.1 P2P網絡概述 135

6.1.1P2P 網絡的基本概念 135

6.1.2P2P 網絡的特點 137

6.1.3P2P 網絡的主要應用場景 140

6.2 P2P網絡模型 142

6.2.1P2P 網絡模型概述 142

6.2.2集中目錄式P2P 網絡模型 143

6.2.3純P2P 網絡模型 145

6.2.4分層式P2P 網絡模型 148

6.3 區塊鏈P2P網絡 152

6.3.1P2P 與區塊鏈的關系 152

6.3.2區塊鏈網絡的可靠性 153

6.3.3案例:日食攻擊 154

6.4 實現案例:比特幣系統的P2P網絡 156

6.4.1節點發現 157

6.4.2連接節點 158

6.4.3初始化區塊下載 159

6.4.4區塊廣播 164

6.4.5孤立區塊 166

6.4.6交易廣播 166

6.4.7交易池(內存池) 167

6.5 實現案例:以太坊的P2P網絡 167

6.5.1引導節點的實現 168

6.5.2以太坊的P2P 協議結構類型 169

6.5.3以太坊的P2P 協議 170

6.5.4以太坊的P2P 節點 171

6.6 課後習題 176

第7章 共識機制與獎勵機制

7.1 共識機制的引入 178

7.1.1兩軍問題 179

7.1.2拜占庭將軍問題 181

7.2 共識機制與獎勵機制概述 183

7.2.1共識機制的設計 183

7.2.2獎勵機制的設計 185

7.3 PoW共識機制 191

7.3.1基本概念 191

7.3.2比特幣系統PoW 共識機制的實現原理 192

7.3.3以太坊PoW 共識機制的實現原理 195

7.3.4算法分析 196

7.4 PoS系列共識機制 198

7.4.1PoS 共識思想 199

7.4.2股份授權證明共識機制 201

7.4.3基於投註的共識機制 204

7.4.4基於認證的共識機制 205

7.5 其他常見的公有鏈共識機制 209

7.6 拜占庭共識機制 210

7.6.1拜占庭容錯系統 210

7.6.2實用拜占庭容錯 212

7.6.3授權拜占庭容錯 214

7.7 傳統分佈式共識機制 215

7.7.1帕克索斯算法系列 215

7.7.2Raft 算法 217

7.8 共識機制總結 219

7.9 實現案例:共識機制 221

7.9.1比特幣系統PoW 共識機制的實現案例 221

7.9.2以太坊PoW 共識機制的實現案例 230

7.9.3以太坊的PoS 共識機制的實現原理 237

7.10 課後習題 259

第8章 智能合約

8.1 智能合約概述 262

8.1.1智能合約的定義 262

8.1.2智能合約與區塊鏈結合的意義 264

8.2 智能合約的工作原理 266

8.2.1區塊鏈智能合約的演變 266

8.2.2以太坊智能合約的運行原理 270

8.2.3以太坊智能合約的構建與執行過程 272

8.3 以太坊智能合約基礎 274

8.3.1智能合約的編程語言 274

8.3.2入門代碼例程 275

8.3.3智能合約的操作 275

8.3.4EVM 的存儲方式 277

8.3.5指令集和消息調用 278

8.3.6日誌功能 279

8.4 智能合約的潛在問題 280

8.4.1以太坊智能合約安全事件 280

8.4.2其他安全事件 283

8.4.3智能合約的安全建議 287

8.5 課後習題 288

第9章 以太坊智能合約的開發與實踐

9.1 以太坊開發環境的搭建 290

9.2 以太坊的交易與合約 291

9.2.1以太坊的賬戶類型 291

9.2.2交易與消息 292

9.3 以太坊接口 293

9.3.1接口方式 293

9.3.2以太坊接口配置 294

9.4 以太坊智能合約開發 296

9.4.1本地私有鏈的搭建與配置 296

9.4.2智能合約的結構 301

9.4.3智能合約的開發工具 303

9.4.4智能合約的部署與調用 304

9.5 創建企業級智能合約 307

9.5.1探索ganache-cli 307

9.5.2ganache-cli 的安裝與使用 308

9.5.3可用RPC 方法 310

9.5.4Truffl e 概述 311

9.5.5編譯合約 313

9.5.6配置文件 314

9.5.7合約部署與測試 315

9.6 課後習題 318

第 10章 區塊鏈設計案例:AppChain

10.1 環境的搭建 320

10.1.1環境準備 321

10.1.2安裝所需要的環境 321

10.2 學習搭建自己的基本區塊鏈 333

10.2.1基於Python 2 的基本區塊鏈 333

10.2.2基於Python 3 的區塊鏈例程 335

10.3 搭建自己的區塊鏈 338

10.3.1創建一個區塊鏈 338

10.3.2區塊鏈接口 347

10.3.3運行區塊鏈 351

10.3.4網絡一致性 355

10.4 課後習題 361