• 区块链架构与实现(Cosmos详解)/区块链技术丛书
21年品牌 40万+商家 超1.5亿件商品

区块链架构与实现(Cosmos详解)/区块链技术丛书

正版保障 假一赔十 可开发票

65.87 6.6折 99.8 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者温隆,贾音著

出版社人民邮电出版社

ISBN9787115563880

出版时间2021-09

装帧平装

开本16开

定价99.8元

货号11227632

上书时间2024-12-19

灵感书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
温隆,(1)密码学博士,山东大学网络空间安全学院企业合作导师,区块链系统与智能合约架构师。(2)曾任北京比特大陆科技有限公司资深研发工程师,负责区块链系统的理论研究与工程落地。(3)曾任北京炼石网络技术有限公司密码研究员,负责商密算法软件优化与可搜索加密等方向的理论研究与工程落地。贾音(1)2017年硕士毕业于上海交通大学计算机科学与技术专业,区块链开发工程师。(2)曾就职于北京比特大陆科技有限公司,负责公有链、智能合约相关研发工作。(3)曾就职于卫士通商用密码实验室,负责区块链方向的密码学研究。

目录
序1(Peng Zhong,Tendermint CEO)
序2(Alessio Treglia,Tendermint 工程副总裁)
前言
资源与支持
第 1 章 Cosmos 网络介绍  1
1.1 区块链开发的技术挑战  1
1.1.1 开发周期与技术门槛  1
1.1.2 资源消耗与交易体验  2
1.1.3 链上扩容与跨链通信  3
1.2 Cosmos 网络  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 协议  10
1.3 小结  12
第 2 章 密码学算法 13
2.1 散列函数与Merkle 树  13
2.1.1 散列函数简介  13
2.1.2 生日悖论原理  15
2.1.3 Merkle 树构建  17
2.1.4 Merkle 树证明构造  22
2.2 数字签名算法  28
2.2.1 循环群  29
2.2.2 素数域  32
2.2.3 椭圆曲线  32
2.2.4 ECDSA  36
2.2.5 Ed25519  40
2.2.6 公钥与地址  45
2.3 网络流量加密  46
2.4 小结  47
第3 章 共识协议与区块设计  48
3.1 共识协议基础  49
3.1.1 半同步网络模型与BFT  49
3.1.2 拜占庭将军问题与CAP 定理  50
3.2 PBFT 共识协议  54
3.2.1 协议概述  55
3.2.2 视图转换  57
3.3 Tendermint 共识协议  58
3.3.1 协议概述  59
3.3.2 锁定机制  62
3.3.3 解锁机制  64
3.4 共识协议比较  66
3.5 提案者轮换选择算法  68
3.6 区块结构  79
3.7 小结  87
第4 章 Tendermint Core 的架构设计  88
4.1 整体架构概览  88
4.1.1 基本概念  88
4.1.2 反应器简介  90
4.2 核心数据结构Node 结构体  92
4.2.1 作为服务的Node 结构体  94
4.2.2 可配置的Node 结构体  95
4.2.3 作为对等网络节点的Node结构体  96
4.3 反应器(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 小结  115
第5 章 ABCI  116
5.1 交易池连接  117
5.2 共识连接  119
5.3 查询连接  125
5.4 客户端与上层应用交互  128
5.4.1 Application 接口与Client接口  129
5.4.2 进程内交互  132
5.4.3 套接字交互  133
5.5 实战——分布式键值数据库  135
5.5.1 键值对读写实现  137
5.5.2 执行过程展示  138
5.6 小结  141
第6 章 Cosmos-SDK 的架构设计  142
6.1 Cosmos-SDK 的模块化设计  143
6.1.1 AppModule 接口  143
6.1.2 模块管理器  146
6.1.3 模块的源码组织  147
6.2 应用模板BaseApp  148
6.2.1 ABCI 接口方法的实现  151
6.2.2 模块管理  154
6.3 可认证数据结构IAVL+树  157
6.3.1 节点设计  157
6.3.2 读写与遍历  159
6.3.3 证明机制  167
6.3.4 Cosmos-SDK 中的IAVL+树  179
6.3.5 Cosmos-SDK 中的剪枝选项  180
6.4 Cosmos-SDK 的存储器设计  181
6.4.1 多重存储器 MultiStore  184
6.4.2 键值对存储器KVStore  186
6.4.3 存储器装饰器  189
6.4.4 瞬时存储数据库  193
6.5 小结  194
第7 章 Cosmos-SDK 的基本模块  195
7.1 账户与交易: auth 模块  195
7.1.1 账户管理  195
7.1.2 标准交易  197
7.1.3 交易预检查  198
7.2 链上资产转移: bank 模块  200
7.3 创世交易:genutil 模块  202
7.4 链上参数管理: params 模块  202
7.5 链上资产总量追踪:supply 模块  203
7.6 链上状态一致性检查: crisis 模块  204
7.7 链上治理:gov 模块  206
7.7.1 提案创建与投票  206
7.7.2 提案的链上存储  209
7.7.3 提案的链上处理  212
7.8 节点升级:upgrade 模块  216
7.8.1 升级计划与升级提案  216
7.8.2 执行升级计划  218
7.8.3 自动化升级  220
7.9 小结  220
第8 章 Cosmos-SDK 的PoS 实现  221
8.1 PoS 机制概述  221
8.2 Cosmos Hub 的PoS 机制  223
8.3 链上资产抵押:staking 模块  226
8.3.1 验证者与链上资产抵押  227
8.3.2 重新委托与撤回委托  232
8.3.3 验证者状态切换  235
8.3.4 回调函数与模块交互  238
8.4 被动作恶惩罚:slashing 模块  241
8.4.1 区块中的投票信息  242
8.4.2 被动惩罚设计理念  243
8.4.3 被动惩罚实现概览  244
8.5 主动作恶惩罚: evidence 模块  249
8.5.1 双签作恶惩罚  250
8.5.2 惩罚机制小结  252
8.6 链上资产铸造:mint 模块  254
8.7 链上奖励分发: distribution 模块  256
8.7.1 奖励分发概述  256
8.7.2 F1 奖励分发机制  260
8.7.3 F1 奖励分发实现  261
8.8 小结  268
第9 章 Cosmos-SDK 的跨链通信  269
9.1 Tendermint Core 轻客户端 270
9.1.1 轻客户端原理概述  270
9.1.2 故障模型与解决方案  272
9.1.3 轻客户端实现  274
9.1.4 Cosmos-SDK 轻客户端  280
9.2 跨链通信原理与设计  283
9.2.1 跨链通信概述  283
9.2.2 中继者  288
9.2.3 轻客户端  288
9.2.4 连接  293
9.2.5 信道  296
9.2.6 跨链数据包  298
9.3 跨链通信示例  301
9.4 小结  305
第 10 章 Cosmos Hub 的客户端Gaia  306
10.1 核心数据结构GaiaApp  306
10.1.1 编解码器初始化  308
10.1.2 BaseApp 初始化  310
10.1.3 模块存储映射表初始化  310
10.1.4 模块Keeper 初始化  311
10.1.5 模块管理器初始化  314
10.1.6 存储加载  317
10.2 gaiad 与gaiacli  317
10.2.1 安装  317
10.2.2 单节点测试链  318
10.2.3 gaiacli 的使用  321
10.3 区块的生命周期  325
10.3.1 链初始化  325
10.3.2 交易与区块构建  326
10.3.3 区块执行  328
10.4 Gaia 的安全部署  331
10.4.1 远程签名部署  331
10.4.2 哨兵节点部署  331
10.5 小结  332
附录1 Cosmos-SDK 与Cosmos Hub 中的参数配置  333
附录2 Cosmos-SDK 中的键值对  336
附录3 Cosmos-SDK 中的不变量检查  338

主编推荐
 1.围绕Cosmos项目介绍当下公链主流技术:BFT共识协议、PoS机制以及IBC协议 2.深入阐述ABCI的规范与实现机制 3.免费提供数据库tm-kvstore源代码资源 4.密码算法剖析与图例展示 5.拆解权益证明机制,深入区块链客户端构建流程 

精彩内容
 序1(Peng Zhong,Tendermint CEO) 序2(Alessio Treglia,Tendermint 工程副总裁) 前言 资源与支持 第 1 章 Cosmos 网络介绍 1 1.1 区块链开发的技术挑战 1 1.1.1 开发周期与技术门槛 1 1.1.2 资源消耗与交易体验 2 1.1.3 链上扩容与跨链通信 3 1.2 Cosmos 网络 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 协议 10 1.3 小结 12 第 2 章 密码学算法 13 2.1 散列函数与Merkle 树 13 2.1.1 散列函数简介 13 2.1.2 生日悖论原理 15 2.1.3 Merkle 树构建 17 2.1.4 Merkle 树证明构造 22 2.2 数字签名算法 28 2.2.1 循环群 29 2.2.2 素数域 32 2.2.3 椭圆曲线 32 2.2.4 ECDSA 36 2.2.5 Ed25519 40 2.2.6 公钥与地址 45 2.3 网络流量加密 46 2.4 小结 47 第3 章 共识协议与区块设计 48 3.1 共识协议基础 49 3.1.1 半同步网络模型与BFT 49 3.1.2 拜占庭将军问题与CAP 定理 50 3.2 PBFT 共识协议 54 3.2.1 协议概述 55 3.2.2 视图转换 57 3.3 Tendermint 共识协议 58 3.3.1 协议概述 59 3.3.2 锁定机制 62 3.3.3 解锁机制 64 3.4 共识协议比较 66 3.5 提案者轮换选择算法 68 3.6 区块结构 79 3.7 小结 87 第4 章 Tendermint Core 的架构设计 88 4.1 整体架构概览 88 4.1.1 基本概念 88 4.1.2 反应器简介 90 4.2 核心数据结构Node 结构体 92 4.2.1 作为服务的Node 结构体 94 4.2.2 可配置的Node 结构体 95 4.2.3 作为对等网络节点的Node结构体 96 4.3 反应器(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 小结 115 第5 章 ABCI 116 5.1 交易池连接 117 5.2 共识连接 119 5.3 查询连接 125 5.4 客户端与上层应用交互 128 5.4.1 Application 接口与Client接口 129 5.4.2程内交互 132 5.4.3 套接字交互 133 5.5 实战——分布式键值数据库 135 5.5.1 键值对读写实现 137 5.5.2 执行过程展示 138 5.6 小结 141 第6 章 Cosmos-SDK 的架构设计 142 6.1 Cosmos-SDK 的模块化设计 143 6.1.1 AppModule 接口 143 6.1.2 模块管理器 146 6.1.3 模块的源码组织 147 6.2 应用模板BaseApp 148 6.2.1 ABCI 接口方法的实现 151 6.2.2 模块管理 154 6.3 可认证数据结构IAVL 树 157 6.3.1 节点设计 157 6.3.2 读写与遍历 159 6.3.3 证明机制 167 6.3.4 Cosmos-SDK 中的IAVL 树 179 6.3.5 Cosmos-SDK 中的剪枝选项 180 6.4 Cosmos-SDK 的存储器设计 181 6.4.1 多重存储器 MultiStore 184 6.4.2 键值对存储器KVStore 186 6.4.3 存储器装饰器 189 6.4.4 瞬时存储数据库 193 6.5 小结 194 第7 章 Cosmos-SDK 的基本模块 195 7.1 账户与交易: auth 模块 195 7.1.1 账户管理 195 7.1.2 标准交易 197 7.1.3 交易预检查 198 7.2 链上资产转移: bank 模块 200 7.3 创世交易:genutil 模块 202 7.4 链上参数管理: params 模块 202 7.5 链上资产总量追踪:supply 模块 203 7.6 链上状态一致性检查: crisis 模块 204 7.7 链上治理:gov 模块 206 7.7.1 提案创建与投票 206 7.7.2 提案的链上存储 209 7.7.3 提案的链上处理 212 7.8 节点升级:upgrade 模块 216 7.8.1 升级计划与升级提案 216 7.8.2 执行升级计划 218 7.8.3 自动化升级 220 7.9 小结 220 第8 章 Cosmos-SDK 的PoS 实现 221 8.1 PoS 机制概述 221 8.2 Cosmos Hub 的PoS 机制 223 8.3 链上资产抵押:st 模块 226 8.3.1 验证者与链上资产抵押 227 8.3.2 重新委托与撤回委托 232 8.3.3 验证者状态切换 235 8.3.4 回调函数与模块交互 238 8.4 被动作恶惩罚:slashing 模块 241 8.4.1 区块中的投票信息 242 8.4.2 被动惩罚设计理念 243 8.4.3 被动惩罚实现概览 244 8.5 主动作恶惩罚: evidence 模块 249 8.5.1 双签作恶惩罚 250 8.5.2 惩罚机制小结 252 8.6 链上资产铸造:mint 模块 254 8.7 链上奖励分发: distribution 模块 256 8.7.1 奖励分发概述 256 8.7.2 F1 奖励分发机制 260 8.7.3 F1 奖励分发实现 261 8.8 小结 268 第9 章 Cosmos-SDK 的跨链通信 269 9.1 Tendermint Core 轻客户端 270 9.1.1 轻客户端原理概述 270 9.1.2 故障模型与解决方案 272 9.1.3 轻客户端实现 274 9.1.4 Cosmos-SDK 轻客户端 280 9.2 跨链通信原理与设计 283 9.2.1 跨链通信概述 283 9.2.2 中继者 288 9.2.3 轻客户端 288 9.2.4 连接 293 9.2.5 信道 296 9.2.6 跨链数 298 9.3 跨链通信示例 301 9.4 小结 305 第 10 章 Cosmos Hub 的客户端Gaia 306 10.1 核心数据结构GaiaApp 306 10.1.1 编解码器初始化 308 10.1.2 BaseApp 初始化 310 10.1.3 模块存储映射表初始化 310 10.1.4 模块Keeper 初始化 311 10.1.5 模块管理器初始化 314 10.1.6 存储加载 317 10.2 gaiad 与gaiacli 317 10.2.1 安装 317 10.2.2 单节点测试链 318 10.2.3 gaiacli 的使用 321 10.3 区块的生命周期 325 10.3.1 链初始化 325 10.3.2 交易与区块构建 326 10.3.3 区块执行 328 10.4 Gaia 的部署 331 10.4.1 远程签名部署 331 10.4.2 哨兵节点部署 331 10.5 小结 332 附录1 Cosmos-SDK 与Cosmos Hub 中的参数配置 333 附录2 Cosmos-SDK 中的键值对 336 附录3 Cosmos-SDK 中的不变量检查 338

媒体评论
【Tendermint CEO,Peng Zhong,作序推荐!】 当温隆博士邀请我为这本书作序时,我很吃惊。虽然在过去5 年的时间里,我一直致力于研究并推广Cosmos 技术,但我仍然不确定是否有人愿意花时间学习这一技术。所以,温隆博士撰写了一本关于Cosmos 的书并即将公开出版的消息,给了我极大的鼓舞! 我是Peng Zhong,又名钟昌鹏。我出生于中国,但在美国长大。2010 年年初,我作为一名自由职业的用户界面(user interface,UI)设计师开启了自己的职业生涯。2014 年,Jae Kwon 邀请我为 FtNox 开发Web 前端界面,FtNox 是一个新的数字货币交易所,名字模仿了当时优选的数字货币交易所Mt.Gox。FtNox 交易所当时并没有上线。但2015 年,Jae Kwon创建了基于拜占庭容错(Byzantine fault tolerance,BFT)共识协议的Tendermint Core 项目。Jae 由此创造了历史,因为Tendermint Core 项目将成为区块链业内靠前的BFT 共识引擎。 2015 年年底,我作为名员工加入 Tendermint 公司,担任公司的首席设计官(chiefdesign officier,CDO),并参与了少有Cosmos 钱包和Cosmos 区块浏览器的设计与开发。2017年,我们发布了Cosmos 白皮书,区块链网络(Internet of blockchains)的想法由此诞生。我们的前端开发团队设计和构建了Cosmos 众筹平台,并在短短28 分钟内筹集了价值1730 万美元(约合人民币1.12 亿元)的比特币(bitcoin)和以太坊(Ethereum)。 得益于2017 年的众筹,我们可以进一步扩大我们的工程师团队,来设计和构建必要的软件和服务,以支持可互操作的、基于权益证明(proof-of-stake,PoS)机制的区块链的启动。这些软件包括Tendermint Core 项目、Cosmos SDK 项目和跨链通信(inter-blockchain communication,IBC)协议。随后,我们基于该技术栈构建了条Cosmos 区块链:Cosmos Hub。截至2020 年年底,Cosmos Hub 已经迭代到cosmoshub-3 版本,链上原生资产的价值增长远远超出了我们的预期。读者在这本书中可以学习到与此相关的所有技术。 2020 年5 月,我被任命为Tendermint 公司的CEO。作为一个拥有UI 设计经验和对改进用户体验具有极大热情的人,我致力于让Cosmos 成为搭建独立、自主的区块链的优选技术。这意味着我们需要不断地改进Cosmos 网站、技术文档以及Cosmos-SDK 项目教程,为Cosmos生态搭建更好用的工具,并为Cosmos 生态内的创新者提供资助。 区块链仍然是一项崭新的技术,与Web 2.0 程序相比,编写去中心化应用(decentralized applications,DApp)是一种全新的范式。然而在这一领域,新技术的文档和指南往往十分 缺乏,因为擅长开发的工程师并不一定擅长教学。正是因为存在脱节,所以我很高兴并由衷 感谢温隆博士参与并撰写了这本书。我们需要更多这样的很好内容来吸引开发人员尝试并使 用Cosmos-SDK 项目和Tendermint Core 项目。希望读者能从这本书中有所收获,我十分期待与你们一起搭建更多的下一代分布式金融应用。 【Tendermint 工程副总裁,Alessio Treglia,作序推荐!】 我记得2018 年夏天开始在Tendermint 团队工作时,自己既兴奋又有些不知所措。我是一位开源社区的长期贡献者,在我的软件行业生涯中,我面临过各种各样的挑战,并且在许多不同的行业和部门中工作过,包括广告、大数据分析、嵌入式软件和金融市场的预测等。在加入Tendermint 团队之前,我已经在许多初创企业和几家优选企业中任职。尽管如此,区块链对我来说仍然是一个全新的“世界”,这里满是新事物和颠覆性技术,以及听起来近乎疯狂的绝妙想法和野心勃勃的项目。其中最令人难以置信的,当然是区块链网络。 在Tendermint 团队工作的天,团队向我解释了项目计划:构建包含多个模块的软件开发工具包,以便区块链应用开发者可以基于这些模块,轻松构建独立、自主的区块链应用。项目任务很好明确:我们必须让开发者以尽可能轻松的方式构建尽可能多的区块链应用。这些应用(也称为Zone)不仅可以从生态环境友好的Tendermint 共识算法所提供的快速最终性(fast finality)中获益,还享有独立、自主的链上治理,并且可以通过IBC 协议相互通信。C

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP