|
-- 會員 / 註冊 --
|
|
|
|
區塊鏈原理、設計與應用 ( 簡體 字) |
作者:楊保華 | 類別:1. -> 程式設計 -> 區塊鏈 |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 47682 詢問書籍請說出此書號!【缺書】 NT售價: 445 元 |
出版日:8/31/2017 |
頁數:354 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111577829 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書由超級賬本核心設計和開發者撰寫,是區塊鏈開發落地專業指南。由淺入深,系統化介紹區塊鏈系統的設計精華、應用開發等。全書分為理論篇和實踐篇兩大部分,主要內容包括:第1-3章介紹區塊鏈技術的由來、核心思想及典型的應用場景;第4-5章重點介紹區塊鏈技術中大量出現的分布式系統技術和密碼學安全技術;第6-8章介紹區塊鏈領域的三個典型開源項目:比特幣、以太坊以及超級賬本;第9-11章以超級賬本Fabric項目為例,具體講解安裝部署、配置管理,以及使用FabricCA進行證書管理的實踐經驗;第12章重點剖析超級賬本Fabric項目的核心架構設計;第13章介紹區塊鏈應用開發的相關技巧和示例;第14章介紹區塊鏈服務平臺的設計與開發,并講解應用超級賬本Cello項目構建服務平臺的相關知識。本書覆蓋了區塊鏈和分布式賬本領域的新技術,可幫助讀者深入理解區塊鏈核心原理和典型設計實現,以及高效地開發基于區塊鏈平臺的分布式應用。 |
目錄:第1章 區塊鏈思想的誕生 2 1.1 從實體貨幣到數字貨幣 2 1.2 站在巨人的肩膀上 5 1.3 了不起的社會學實驗 5 1.4 潛在的商業價值 7 1.5 本章小結 8 第2章 核心技術概覽 9 2.1 定義與原理 9 2.2 技術的演化與分類 11 2.3 關鍵問題和挑戰 13 2.4 趨勢與展望 17 2.5 認識上的誤區 19 2.6 本章小結 19 第3章 典型應用場景 20 3.1 應用場景概覽 20 3.2 金融服務 22 3.2.1 銀行業金融管理 22 3.2.2 證券交易 24 3.2.3 眾籌投資 25 3.3 征信和權屬管理 26 3.4 資源共享 28 3.5 貿易管理 29 3.6 物聯網 30 3.7 其他場景 31 3.8 本章小結 33 第4章 分布式系統核心問題 34 4.1 一致性問題 34 4.1.1 定義與重要性 34 4.1.2 問題與挑戰 35 4.1.3 一致性要求 36 4.1.4 帶約束的一致性 36 4.2 共識算法 37 4.2.1 問題與挑戰 38 4.2.2 常見算法 38 4.2.3 理論界限 38 4.3 FLP 不可能原理 39 4.3.1 定義 39 4.3.2 正確理解 39 4.4 CAP 原理 40 4.4.1 定義 40 4.4.2 應用場景 41 4.5 ACID 原則 41 4.6 Paxos 算法與 Raft 算法 42 4.6.1 Paxos 算法 42 4.6.2 Raft 算法 45 4.7 拜占庭問題與算法 45 4.8 可靠性指標 48 4.8.1 幾個 9 的指標 48 4.8.2 兩個核心時間 49 4.8.3 提高可靠性 49 4.9 本章小結 49 第5章 密碼學與安全技術 50 5.1 Hash 算法與數字摘要 50 5.1.1 Hash定義 50 5.1.2 常見算法 51 5.1.3 性能 51 5.1.4 數字摘要 52 5.1.5 Hash 攻擊與防護 52 5.2 加解密算法 52 5.2.1 加解密系統基本組成 53 5.2.2 對稱加密算法 53 5.2.3 非對稱加密算法 54 5.2.4 選擇明文攻擊 55 5.2.5 混合加密機制 56 5.2.6 離散對數與 Diffie–Hellman密鑰交換協議 57 5.3 消息認證碼與數字簽名 57 5.3.1 消息認證碼 58 5.3.2 數字簽名 58 5.3.3 安全性 59 5.4 數字證書 59 5.4.1 X.509 證書規范 60 5.4.2 證書格式 61 5.4.3 證書信任鏈 62 5.5 PKI 體系 63 5.5.1 PKI 基本組件 63 5.5.2 證書的簽發 63 5.5.3 證書的撤銷 66 5.6 Merkle樹結構 66 5.7 布隆過濾器 67 5.8 同態加密 68 5.9 其他問題 70 5.10 本章小結 71 第6章 比特幣——區塊鏈思想誕生的搖籃 72 6.1 比特幣項目簡介 72 6.1.1 比特幣大事記 73 6.1.2 其他數字貨幣 74 6.2 原理和設計 75 6.2.1 基本交易過程 75 6.2.2 重要概念 76 6.2.3 創新設計 78 6.3 挖礦 80 6.3.1 基本原理 80 6.3.2 挖礦過程 81 6.3.3 如何看待挖礦 81 6.4 共識機制 82 6.4.1 工作量證明 82 6.4.2 權益證明 83 6.5 閃電網絡 83 6.6 側鏈 85 6.6.1 SPV 證明 85 6.6.2 雙向掛鉤 86 6.6.3 最新進展 87 6.7 熱點問題 87 6.7.1 設計中的權衡 87 6.7.2 分叉 87 6.7.3 交易延展性 88 6.7.4 擴容之爭 89 6.7.5 比特幣的監管和追蹤 90 6.8 相關工具 91 6.9 本章小結 92 第7章 以太坊——掙脫數字貨幣的枷鎖 93 7.1 以太坊項目簡介 93 7.1.1 以太坊項目簡史 94 7.1.2 主要特點 95 7.2 核心概念 95 7.3 主要設計 97 7.3.1 智能合約相關設計 97 7.3.2 交易模型 97 7.3.3 共識 97 7.3.4 降低攻擊 98 7.3.5 提高擴展性 98 7.4 相關工具 98 7.4.1 客戶端和開發庫 98 7.4.2 以太坊錢包 99 7.4.3 IDE 100 7.4.4 網站資源 100 7.5 安裝客戶端 100 7.5.1 從 PPA 直接安裝 100 7.5.2 從源碼編譯 101 7.6 使用智能合約 102 7.6.1 搭建測試用區塊鏈 102 7.6.2 創建和編譯智能合約 104 7.6.3 部署智能合約 105 7.6.4 調用智能合約 106 7.7 智能合約案例:投票 106 7.7.1 智能合約代碼 107 7.7.2 代碼解析 109 7.8 本章小結 111 第8章 超級賬本——面向企業的分布式賬本 112 8.1 超級賬本項目簡介 112 8.2 社區組織結構 114 8.2.1 基本結構 114 8.2.2 大中華區技術工作組 114 8.3 頂級項目介紹 115 8.3.1 Fabric 項目 116 8.3.2 Sawtooth 項目 117 8.3.3 Iroha 項目 117 8.3.4 Blockchain Explorer 項目 117 8.3.5 Cello 項目 118 8.3.6 Indy 項目 118 8.3.7 Composer 項目 118 8.3.8 Burrow 項目 119 8.4 開發必備工具 119 8.4.1 Linux Foundation ID 119 8.4.2 Jira——任務和進度管理 119 8.4.3 Gerrit——代碼倉庫和 Review管理 120 8.4.4 RocketChat——在線溝通 121 8.5 貢獻代碼 121 8.6 本章小結 126 實 踐 篇 第9章 超級賬本 Fabric 部署和使用 128 9.1 簡介 128 9.2 本地編譯安裝 129 9.2.1 操作系統 130 9.2.2 環境配置 130 9.2.3 獲取代碼 131 9.2.4 編譯安裝 fabric-peer 組件 131 9.2.5 編譯安裝 fabric-orderer 組件 132 9.2.6 編譯安裝 fabric-ca 組件 133 9.2.7 編譯安裝輔助工具 133 9.2.8 獲取 chaintool 133 9.2.9 安裝Go語言相關工具 134 9.2.10 示例配置 134 9.3 使用 Docker 鏡像 134 9.3.1 安裝 Docker 服務 134 9.3.2 安裝 docker-compose 135 9.3.3 獲取 Docker 鏡像 135 9.3.4 鏡像 Dockerfile 138 9.4 啟動 Fabric 網絡 143 9.4.1 網絡拓撲 143 9.4.2 準備相關配置文件 144 9.4.3 啟動 Orderer 節點 150 9.4.4 啟動 Peer 節點 151 9.4.5 操作網絡 152 9.4.6 基于容器方式 156 9.5 鏈碼的概念與使用 157 9.5.1 鏈碼操作命令 158 9.5.2 命令參數 158 9.5.3 安裝鏈碼 159 9.5.4 實例化鏈碼 162 9.5.5 調用鏈碼 165 9.5.6 查詢鏈碼 167 9.5.7 升級鏈碼 168 9.5.8 打包鏈碼和簽名 169 9.6 使用多通道 170 9.6.1 通道操作命令 170 9.6.2 命令選項 171 9.6.3 創建通道 172 9.6.4 加入通道 174 9.6.5 列出所加入的通道 175 9.6.6 獲取某區塊 176 9.6.7 更新通道配置 177 9.7 SDK 支持 178 9.8 生產環境注意事項 179 9.9 本章小結 181 第10章 超級賬本 Fabric 配置管理 182 10.1 簡介 182 10.1.1 配置文件 182 10.1.2 配置管理工具 183 10.2 Peer 配置剖析 183 10.2.1 logging部分 184 10.2.2 peer部分 184 10.2.3 vm部分 188 10.2.4 chaincode部分 189 10.2.5 ledger部分 190 10.3 Orderer 配置剖析 191 10.4 cryptogen 生成組織身份配置 194 10.4.1 配置文件 195 10.4.2 子命令和參數 196 10.4.3 生成密鑰和證書文件 196 10.4.4 查看配置模板信息 198 10.5 configtxgen 生成通道配置 199 10.5.1 configtx.yaml配置文件 199 10.5.2 命令選項 203 10.5.3 生成Orderer初始區塊并進行查看 203 10.5.4 生成新建通道交易文件并進行查看 211 10.5.5 生成錨節點更新交易文件 215 10.6 configtxlator 轉換配置 215 10.6.1 RESTful接口 215 10.6.2 解碼為Json格式 216 10.6.3 編碼為二進制格式 217 10.6.4 計算配置更新量 217 10.6.5 更新通道配置 218 10.7 本章小結 219 第11章 超級賬本 Fabric CA 應用與配置 220 11.1 簡介 220 11.2 安裝服務端和客戶端 221 11.2.1 本地編譯 221 11.2.2 獲取和使用Docker鏡像 223 11.2.3 示例Dockerfile 223 11.3 啟動 CA 服務 225 11.4 服務端命令剖析 228 11.4.1 全局命令參數 228 11.4.2 init命令 230 11.4.3 start命令 230 11.5 服務端配置文件解析 231 11.6 與服務端進行交互 235 11.7 客戶端命令剖析 237 11.7.1 全局命令參數 237 11.7.2 enroll命令 239 11.7.3 getcacert命令 240 11.7.4 reenroll命令 241 11.7.5 register命令 241 11.7.6 revoke命令 242 11.8 客戶端配置文件解析 243 11.9 生產環境部署 245 11.10 本章小結 247 第12章 超級賬本 Fabric 架構與設計 248 12.1 整體架構概覽 248 12.1.1 核心特性 248 12.1.2 整體架構 249 12.1.3 典型工作流程 249 12.2 核心概念與組件 251 12.2.1 網絡層相關組件 252 12.2.2 共識相關組件 254 12.2.3 權限管理相關組件 255 12.2.4 業務層相關組件 257 12.3 gRPC 消息協議 262 12.3.1 Envelope消息結構 262 12.3.2 客戶端訪問Peer節點 263 12.3.3 客戶端、Peer節點訪問Orderer 265 12.3.4 鏈碼容器和Peer節點之間的操作 265 12.3.5 多個節點之間的操作 266 12.4 權限管理和策略 267 12.4.1 策略應用場景 267 12.4.2 身份證書 268 12.4.3 權限策略的實現 268 12.4.4 通道策略 272 12.4.5 背書策略 273 12.4.6 實例化策略 273 12.5 用戶鏈碼 274 12.5.1 基本結構 274 12.5.2 鏈碼與Peer的交互過程 275 12.5.3 鏈碼處理狀態機 277 12.6 系統鏈碼 279 12.7 排序服務 281 12.7.1 gRPC服務接口 282 12.7.2 鏈和賬本管理 283 12.7.3 通道配置更新 284 12.7.4 共識插件 286 12.8 本章小結 288 第13章 區塊鏈應用開發 290 13.1 簡介 290 13.2 鏈碼的原理、接口與結構 292 13.2.1 Chaincode接口 292 13.2.2 鏈碼結構 293 13.2.3 鏈碼基本工作原理 294 13.3 鏈碼開發 API 295 13.3.1 賬本狀態交互API 296 13.3.2 交易信息相關API 296 13.3.3 參數讀取API 297 13.3.4 其他API 297 13.4 應用開發案例一:轉賬 298 13.4.1 鏈碼結構 298 13.4.2 Init方法 299 13.4.3 Invoke方法 300 13.5 應用開發案例二:資產權屬管理 301 13.5.1 鏈碼結構 301 13.5.2 Invoke方法 303 13.6 應用開發案例三:調用其他鏈碼 312 13.7 應用開發案例四:發送事件 313 13.8 開發最佳實踐小結 314 13.9 本章小結 316 第14章 區塊鏈服務平臺設計 317 14.1 簡介 317 14.1.1 參考架構 318 14.1.2 考量指標 318 14.2 IBM Bluemix 云區塊鏈服務 319 14.3 微軟 Azure 云區塊鏈服務 321 14.4 使用超級賬本 Cello 搭建區塊鏈服務 324 14.4.1 基本架構和特性 324 14.4.2 環境準備 325 14.4.3 下載Cello源碼 325 14.4.4 配置Worker節點 325 14.4.5 配置Master節點 326 14.4.6 使用Cello管理區塊鏈 327 14.4.7 基于Cello進行功能擴展 330 14.5 本章小結 330 附 錄 附錄A 術語表 334 附錄B 常見問題解答 338 附錄C Golang 開發相關 342 附錄D ProtoBuf 與 gRPC 349 附錄E 參考資源 353
|
序: |
|