注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)區(qū)塊鏈架構(gòu)與實(shí)現(xiàn):Cosmos詳解

區(qū)塊鏈架構(gòu)與實(shí)現(xiàn):Cosmos詳解

區(qū)塊鏈架構(gòu)與實(shí)現(xiàn):Cosmos詳解

定 價(jià):¥99.80

作 者: 溫隆,賈音 著
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115563880 出版時(shí)間: 2021-09-01 包裝: 平裝
開本: 16開 頁數(shù): 337 字?jǐn)?shù):  

內(nèi)容簡介

  由于涉及多個(gè)學(xué)科領(lǐng)域,構(gòu)建區(qū)塊鏈系統(tǒng)面臨的技術(shù)挑戰(zhàn)不可小覷,而區(qū)塊鏈行業(yè)早期的野蠻生長帶來的鏈間相互孤立的問題也日益凸顯。面對這些挑戰(zhàn),Tendermint 團(tuán)隊(duì)給出了系統(tǒng)化解決方案:構(gòu)建區(qū)塊鏈應(yīng)用開發(fā)框架降低區(qū)塊鏈系統(tǒng)開發(fā)的難度,并設(shè)計(jì)通用IBC 協(xié)議實(shí)現(xiàn)跨鏈互操作。《區(qū)塊鏈架構(gòu)與實(shí)現(xiàn):Cosmos詳解》圍繞Cosmos 項(xiàng)目展開,從預(yù)備基礎(chǔ)理論、開發(fā)框架設(shè)計(jì)、開發(fā)框架應(yīng)用三個(gè)層面全面、系統(tǒng)闡述相關(guān)機(jī)制:在預(yù)備基礎(chǔ)理論方面,詳細(xì)介紹區(qū)塊鏈項(xiàng)目的理論基礎(chǔ),包括密碼學(xué)算法、拜占庭容錯(cuò)共識協(xié)議的基礎(chǔ)知識、Tendermint 共識協(xié)議以及權(quán)益證明機(jī)制原理;在開發(fā)框架設(shè)計(jì)方面,深入介紹Tendermint Core項(xiàng)目架構(gòu)設(shè)計(jì)以及該項(xiàng)目提供的ABCI 規(guī)范與實(shí)現(xiàn)原理,剖析Cosmos-SDK 項(xiàng)目中提供的功能模塊的原理與關(guān)鍵實(shí)現(xiàn),包括權(quán)益證明機(jī)制以及IBC 協(xié)議的實(shí)現(xiàn);在開發(fā)框架應(yīng)用方面,展示如何基于Tendermint Core項(xiàng)目構(gòu)建分布式鍵值數(shù)據(jù)庫應(yīng)用,并以Cosmos 網(wǎng)絡(luò)的客戶端Gaia 的實(shí)現(xiàn)為例展示構(gòu)建應(yīng)用專屬區(qū)塊鏈系統(tǒng)的具體過程?!秴^(qū)塊鏈架構(gòu)與實(shí)現(xiàn):Cosmos詳解》內(nèi)容深入淺出,指導(dǎo)性和實(shí)操性強(qiáng),適合區(qū)塊鏈領(lǐng)域開發(fā)者和區(qū)塊鏈技術(shù)愛好者閱讀,也可作為高等院校計(jì)算機(jī)及區(qū)塊鏈相關(guān)專業(yè)的教學(xué)用書和培訓(xùn)教材。

作者簡介

  溫隆 (1)密碼學(xué)博士,山東大學(xué)網(wǎng)絡(luò)空間安全學(xué)院企業(yè)合作導(dǎo)師,區(qū)塊鏈系統(tǒng)與智能合約架構(gòu)師。 (2)曾任北京比特大陸科技有限公司資深研發(fā)工程師,負(fù)責(zé)區(qū)塊鏈系統(tǒng)的理論研究與工程落地。 (3)曾任北京煉石網(wǎng)絡(luò)技術(shù)有限公司密碼研究員,負(fù)責(zé)商密算法軟件優(yōu)化與可搜索加密等方向的理論研究與工程落地。賈音 (1)2017年碩士畢業(yè)于上海交通大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),區(qū)塊鏈開發(fā)工程師。 (2)曾就職于北京比特大陸科技有限公司,負(fù)責(zé)公有鏈、智能合約相關(guān)研發(fā)工作。 (3)曾就職于衛(wèi)士通商用密碼實(shí)驗(yàn)室,負(fù)責(zé)區(qū)塊鏈方向的密碼學(xué)研究。

圖書目錄

序1(Peng Zhong,Tendermint CEO)
序2(Alessio Treglia,Tendermint 工程副總裁)
前言
資源與支持

第 1 章 Cosmos 網(wǎng)絡(luò)介紹 1
1.1 區(qū)塊鏈開發(fā)的技術(shù)挑戰(zhàn) 1
1.1.1 開發(fā)周期與技術(shù)門檻 1
1.1.2 資源消耗與交易體驗(yàn) 2
1.1.3 鏈上擴(kuò)容與跨鏈通信 3
1.2 Cosmos 網(wǎng)絡(luò) 4
1.2.1 Cosmos 的解決方案 4
1.2.2 Cosmos Hub 5
1.2.3 Tendermint Core 6
1.2.4 Cosmos-SDK 8
1.2.5 IBC 協(xié)議 10
1.3 小結(jié) 12

第 2 章 密碼學(xué)算法 13
2.1 散列函數(shù)與Merkle 樹 13
2.1.1 散列函數(shù)簡介 13
2.1.2 生日悖論原理 15
2.1.3 Merkle 樹構(gòu)建 17
2.1.4 Merkle 樹證明構(gòu)造 22
2.2 數(shù)字簽名算法 28
2.2.1 循環(huán)群 29
2.2.2 素?cái)?shù)域 32
2.2.3 橢圓曲線 32
2.2.4 ECDSA 36
2.2.5 Ed25519 40
2.2.6 公鑰與地址 45
2.3 網(wǎng)絡(luò)流量加密 46
2.4 小結(jié) 47

第3 章 共識協(xié)議與區(qū)塊設(shè)計(jì) 48
3.1 共識協(xié)議基礎(chǔ) 49
3.1.1 半同步網(wǎng)絡(luò)模型與BFT 49
3.1.2 拜占庭將軍問題與CAP 定理 50
3.2 PBFT 共識協(xié)議 54
3.2.1 協(xié)議概述 55
3.2.2 視圖轉(zhuǎn)換 57
3.3 Tendermint 共識協(xié)議 58
3.3.1 協(xié)議概述 59
3.3.2 鎖定機(jī)制 62
3.3.3 解鎖機(jī)制 64
3.4 共識協(xié)議比較 66
3.5 提案者輪換選擇算法 68
3.6 區(qū)塊結(jié)構(gòu) 79
3.7 小結(jié) 87

第4 章 Tendermint Core 的架構(gòu)設(shè)計(jì) 88
4.1 整體架構(gòu)概覽 88
4.1.1 基本概念 88
4.1.2 反應(yīng)器簡介 90
4.2 核心數(shù)據(jù)結(jié)構(gòu)Node 結(jié)構(gòu)體 92
4.2.1 作為服務(wù)的Node 結(jié)構(gòu)體 94
4.2.2 可配置的Node 結(jié)構(gòu)體 95
4.2.3 作為對等網(wǎng)絡(luò)節(jié)點(diǎn)的Node結(jié)構(gòu)體 96
4.3 反應(yīng)器(Reactor) 103
4.3.1 mempool.Reactor 105
4.3.2 evidence.Reactor 109
4.3.3 BlockchainReactor 111
4.3.4 consensus.Reactor 114
4.4 小結(jié) 115

第5 章 ABCI 116
5.1 交易池連接 117
5.2 共識連接 119
5.3 查詢連接 125
5.4 客戶端與上層應(yīng)用交互 128
5.4.1 Application 接口與Client接口 129
5.4.2 進(jìn)程內(nèi)交互 132
5.4.3 套接字交互 133
5.5 實(shí)戰(zhàn)——分布式鍵值數(shù)據(jù)庫 135
5.5.1 鍵值對讀寫實(shí)現(xiàn) 137
5.5.2 執(zhí)行過程展示 138
5.6 小結(jié) 141

第6 章 Cosmos-SDK 的架構(gòu)設(shè)計(jì) 142
6.1 Cosmos-SDK 的模塊化設(shè)計(jì) 143
6.1.1 AppModule 接口 143
6.1.2 模塊管理器 146
6.1.3 模塊的源碼組織 147
6.2 應(yīng)用模板BaseApp 148
6.2.1 ABCI 接口方法的實(shí)現(xiàn) 151
6.2.2 模塊管理 154
6.3 可認(rèn)證數(shù)據(jù)結(jié)構(gòu)IAVL+樹 157
6.3.1 節(jié)點(diǎn)設(shè)計(jì) 157
6.3.2 讀寫與遍歷 159
6.3.3 證明機(jī)制 167
6.3.4 Cosmos-SDK 中的IAVL+樹 179
6.3.5 Cosmos-SDK 中的剪枝選項(xiàng) 180
6.4 Cosmos-SDK 的存儲(chǔ)器設(shè)計(jì) 181
6.4.1 多重存儲(chǔ)器 MultiStore 184
6.4.2 鍵值對存儲(chǔ)器KVStore 186
6.4.3 存儲(chǔ)器裝飾器 189
6.4.4 瞬時(shí)存儲(chǔ)數(shù)據(jù)庫 193
6.5 小結(jié) 194

第7 章 Cosmos-SDK 的基本模塊 195
7.1 賬戶與交易: auth 模塊 195
7.1.1 賬戶管理 195
7.1.2 標(biāo)準(zhǔn)交易 197
7.1.3 交易預(yù)檢查 198
7.2 鏈上資產(chǎn)轉(zhuǎn)移: bank 模塊 200
7.3 創(chuàng)世交易:genutil 模塊 202
7.4 鏈上參數(shù)管理: params 模塊 202
7.5 鏈上資產(chǎn)總量追蹤:supply 模塊 203
7.6 鏈上狀態(tài)一致性檢查: crisis 模塊 204
7.7 鏈上治理:gov 模塊 206
7.7.1 提案創(chuàng)建與投票 206
7.7.2 提案的鏈上存儲(chǔ) 209
7.7.3 提案的鏈上處理 212
7.8 節(jié)點(diǎn)升級:upgrade 模塊 216
7.8.1 升級計(jì)劃與升級提案 216
7.8.2 執(zhí)行升級計(jì)劃 218
7.8.3 自動(dòng)化升級 220
7.9 小結(jié) 220

第8 章 Cosmos-SDK 的PoS 實(shí)現(xiàn) 221
8.1 PoS 機(jī)制概述 221
8.2 Cosmos Hub 的PoS 機(jī)制 223
8.3 鏈上資產(chǎn)抵押:staking 模塊 226
8.3.1 驗(yàn)證者與鏈上資產(chǎn)抵押 227
8.3.2 重新委托與撤回委托 232
8.3.3 驗(yàn)證者狀態(tài)切換 235
8.3.4 回調(diào)函數(shù)與模塊交互 238
8.4 被動(dòng)作惡懲罰:slashing 模塊 241
8.4.1 區(qū)塊中的投票信息 242
8.4.2 被動(dòng)懲罰設(shè)計(jì)理念 243
8.4.3 被動(dòng)懲罰實(shí)現(xiàn)概覽 244
8.5 主動(dòng)作惡懲罰: evidence 模塊 249
8.5.1 雙簽作惡懲罰 250
8.5.2 懲罰機(jī)制小結(jié) 252
8.6 鏈上資產(chǎn)鑄造:mint 模塊 254
8.7 鏈上獎(jiǎng)勵(lì)分發(fā): distribution 模塊 256
8.7.1 獎(jiǎng)勵(lì)分發(fā)概述 256
8.7.2 F1 獎(jiǎng)勵(lì)分發(fā)機(jī)制 260
8.7.3 F1 獎(jiǎng)勵(lì)分發(fā)實(shí)現(xiàn) 261
8.8 小結(jié) 268

第9 章 Cosmos-SDK 的跨鏈通信 269
9.1 Tendermint Core 輕客戶端 270
9.1.1 輕客戶端原理概述 270
9.1.2 故障模型與解決方案 272
9.1.3 輕客戶端實(shí)現(xiàn) 274
9.1.4 Cosmos-SDK 輕客戶端 280
9.2 跨鏈通信原理與設(shè)計(jì) 283
9.2.1 跨鏈通信概述 283
9.2.2 中繼者 288
9.2.3 輕客戶端 288
9.2.4 連接 293
9.2.5 信道 296
9.2.6 跨鏈數(shù)據(jù)包 298
9.3 跨鏈通信示例 301
9.4 小結(jié) 305

第 10 章 Cosmos Hub 的客戶端Gaia 306
10.1 核心數(shù)據(jù)結(jié)構(gòu)GaiaApp 306
10.1.1 編解碼器初始化 308
10.1.2 BaseApp 初始化 310
10.1.3 模塊存儲(chǔ)映射表初始化 310
10.1.4 模塊Keeper 初始化 311
10.1.5 模塊管理器初始化 314
10.1.6 存儲(chǔ)加載 317
10.2 gaiad 與gaiacli 317
10.2.1 安裝 317
10.2.2 單節(jié)點(diǎn)測試鏈 318
10.2.3 gaiacli 的使用 321
10.3 區(qū)塊的生命周期 325
10.3.1 鏈初始化 325
10.3.2 交易與區(qū)塊構(gòu)建 326
10.3.3 區(qū)塊執(zhí)行 328
10.4 Gaia 的安全部署 331
10.4.1 遠(yuǎn)程簽名部署 331
10.4.2 哨兵節(jié)點(diǎn)部署 331
10.5 小結(jié) 332

附錄1 Cosmos-SDK 與Cosmos Hub 中的參數(shù)配置 333
附錄2 Cosmos-SDK 中的鍵值對 336
附錄3 Cosmos-SDK 中的不變量檢查 338

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號