描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111625537
(1)三位作者不仅是区块链领域的资深技术专家,而且还是Stellar社区的早期参与者和布道者,为社区做了重要贡献并有一定的影响力。
(2)三位作者是多项区块链团标、国标、国际标准的制定者,是多个官方和非官方区块链组织和机构的重要成员,是多部区块链官方文件的起草者和编写者,是RippleFox社区和Stellar中文维基的创始人和维护者。
(3)本书从工作原理、架构设计和工程实践3个维度全方位地、深入地讲解了Stellar,能满足各个层次的读者的需求。
本书从工作原理、架构设计、工程实践三个维度,对Stellar做了全方位深入剖析。
三位作者均是区块链领域的资深技术专家,均是Stellar社区的早期参与者、深度参与者和技术布道者,为Stellar在中国乃至全球的发展做出了重要贡献。本书得到了Stellar创始人Jed McCaleb、 Stellar亚太区负责人Michael Ran等Stellar官方团队成员的高度评价和推荐。
全书共9章,从逻辑上可分为5个部分,内容涵盖Stellar区块链基础协议剖析、两层场景案例应用、应用系统架构设计、Stellar区块链网络搭建和快速业务系统集成等方面。
*部分(第1~3章)
重点从工程实践角度来审视区块链技术,介绍了区块链的基础概念和Stellar区块链基础协议的技术原理。
第二部分(第4~5章)
给出了两个典型的应用场景案例:一个是数据确权的应用场景,一个是基于数据确权的价值流通应用场景,展现了区块链的两层应用,引导读者结合区块链开展工程实践应用。
第三部分(第6章)
讲解了基于Stellar区块链技术的系统架构设计,从业务架构设计、逻辑架构设计、物理架构设计、数据架构设计和账户架构设计等方面给出了关键架构设计要点和*实践。
第四部分(第7~8章)
详细说明了如何将一个stellar-core区块链节点接入已有的Stellar区块链网络中,并搭建horizon实例以实现对外提供访问区块链网络的服务能力,同时,给出了搭建一个全新Stellar区块链网络的详细步骤,并介绍了对关键代码的定制化改造。
第五部分(第9章)
介绍了Stellar技术社区已有的工具,以及将Stellar区块链技术和已有业务系统快速集成的方法。
Contents 目 录
序
前言
第1章 区块链基础 1
1.1 关键特征 1
1.2 适合场景 2
1.3 关键组成 3
1.3.1 P2P网络 3
1.3.2 共识机制 4
1.3.3 密码学
6
1.3.4 智能合约 9
1.4 网络类型 10
1.5 安全性考量 11
1.6 性能考量 13
1.7 常见基础协议 13
1.7.1 BitCoin 13
1.7.2 Ethereum 15
1.7.3 Ripple 16
1.7.4 Tendermint 16
1.8 标准化
19
1.9 本章小结 21
第2章 Stellar概述
22
2.1 主要特点 22
2.2 关键部件 23
2.2.1 网络结构 23
2.2.2 stellar-core 23
2.2.3 horizon 24
2.3 常用工具 27
2.3.1 Account-Viewer 27
2.3.2 Laboratory 29
2.3.3 Dashboard 32
2.4 Hello New World 34
2.5 联邦拜占庭共识 36
2.6 本章小结 38
第3章 Stellar详解
39
3.1 数据大图 39
3.1.1 账本数据 39
3.1.2 实体数据 41
3.1.3 形态数据 41
3.2 账户
43
3.3 账页
46
3.4 数字资产 50
3.4.1 原生资产 50
3.4.2 通货膨胀 51
3.4.3 发行资产 53
3.4.4 信任资产 53
3.4.5 资产锚点 55
3.5 分布式交易 56
3.5.1 交易挂单 56
3.5.2 被动挂单 58
3.5.3 路径支付 58
3.6 智能合约 58
3.6.1 多签名
58
3.6.2 阈值
62
3.6.3 时间事件 64
3.7 管理数据 64
3.8 事务&操作
65
3.8.1 事务
65
3.8.2 操作
66
3.9 其他概念 75
3.9.1 序列号
75
3.9.2 通道
75
3.9.3 事件
77
3.10 本章小结 79
第4章 数据存证 80
4.1 场景需求 81
4.2 实现原理 82
4.2.1 实名认证 82
4.2.2 数据确权 84
4.2.3 数据查验 84
4.3 实现过程 85
4.3.1 实现代码结构 85
4.3.2 接入区块链网络 86
4.3.3 数据Hash上链
87
4.3.4 事务查验 91
4.4 最佳实践 91
4.5 本章小结 92
第5章 资产交易 93
5.1 场景需求 93
5.2 实现原理 94
5.3 实现过程 96
5.4 最佳实践 101
5.4.1 区块链网络高可用性 101
5.4.2 发行资产总量控制 101
5.4.3 与业务系统集成 102
5.4.4 有效的账户架构设计 102
5.5 本章小结 103
第6章 基于Stellar区块链技术的系统架构设计 104
6.1 业务架构设计 104
6.1.1 什么场景适合区块链? 104
6.1.2 区块链网络形态 105
6.1.3 去中心化? 108
6.1.4 协作模式 108
6.1.5 如何证明是区块链? 109
6.2 逻辑架构设计 109
6.2.1 DApp 109
6.2.2 三种区块链网络链接方式 110
6.2.3 业务监控 110
6.2.4 事务性逻辑处理 111
6.3 物理架构设计 111
6.3.1 节点类型 111
6.3.2 物理架构设计视图 111
6.4 数据架构设计 113
6.4.1 四种数据 113
6.4.2 数据上链 113
6.4.3 数据隐私 113
6.5 账户架构设计 114
6.5.1 用户账户处理 114
6.5.2 发行账户处理 114
6.5.3 账户认证 117
6.6 本章小结 118
第7章 搭建Stellar公有区块链网络节点 119
7.1 公有区块链网络状态 119
7.2 状态机复制 121
7.3 stellar-core部署
123
7.3.1 环境准备 123
7.3.2 安装方式 123
7.3.3 依赖环境安装 124
7.3.4 安装PostgreSQL 124
7.3.5 选择安装分支 127
7.3.6 编译安装 127
7.3.7 创建节点seed 129
7.3.8 配置文件实例 129
7.3.9 初始化数据库 131
7.3.10 启动节点 133
7.4 stellar-core配置参数
134
7.4.1 通用管理类 134
7.4.2 网络类
135
7.4.3 SCP类 137
7.4.4 历史数据类 137
7.4.5 测试类
138
7.4.6 历史归档配置 138
7.4.7 Quorum Set配置
140
7.5 stellar-core最佳实践
141
7.5.1 创建系统服务 141
7.5.2 远程HTTP命令
142
7.5.3 控制台命令 146
7.5.4 使用阿里云OSS作为历史归档数据源 149
7.5.5 stellar-core部署硬盘采用SSD硬盘
149
7.5.6 配置文件特殊字符问题 150
7.5.7 stellar-core安全退出
151
7.5.8 操作系统的系统时间问题 151
7.6 horizon部署
154
7.6.1 环境准备 154
7.6.2 安装方式 155
7.6.3 安装Golang 155
7.6.4 数据库准备 156
7.6.5 源码编译安装 156
7.6.6 最小配置参数 156
7.6.7 启动horizon 157
7.7 horizon配置参数
158
7.8 horizon最佳实践
159
7.8.1 创建系统服务 159
7.8.2 高可用配置 160
7.9 本章小结 161
第8章 搭建一个新的Stellar区块链网络 162
8.1 为什么需要? 162
8.2 网络方案设计 163
8.2.1 网络健壮性方案 163
8.2.2 服务健壮性方案 164
8.2.3 网络性能方案 165
8.2.4 历史归档方案 165
8.3 网络配置启动 166
8.3.1 stellar-core配置
166
8.3.2 启动stellar-core 168
8.3.3 启动后原生资产处理 168
8.3.4 horizon配置
168
8.4 关键代码定制 171
8.4.1 账户地址和Seed前缀修改
171
8.4.2 设置通货膨胀率 171
8.4.3 修改默认配置 172
8.4.4 创世区块修改 173
8.5 本章小结 175
第9章 系统集成 176
9.1 基础服务套件 176
9.2 联邦协议 177
9.2.1 工作原理 178
9.2.2 参考实现 181
9.3 桥接服务 182
9.3.1 工作原理 183
9.3.2 参考实现 183
9.4 合规协议 185
9.4.1 工作原理 185
9.4.2 参考实现 187
9.5 本章小结 188
后记 189
附录 术语中英文对照表 191
前 言 Preface
当下,区块链技术受到越来越多的关注,区块链作为一种基础操作系统,是各种技术的黏合剂,是在不可信网络下实现可信交易(事务/业务)的一种手段,是在数据确权基础上的一种有效价值流通手段,是改变社会协作关系的一种有效途径。
区块链技术在当前处于发展早期阶段,各种区块链基础协议层出不穷,各种技术和思想百家争鸣,为了讨论方便,书中的图尽量采用UML(统一建模语言)形式表达,同时,为达成共识,给出了以下统一基础术语:
区块链技术:一种分布式记账技术,各类与区块链相关技术的统称。
分布式记账技术:一种分布式技术,是区块链技术的超集和泛化。
账页:通常认为是区块链数据中的一个区块,包含了事务集合和额外区块头信息。
分布式账本:是账页的集合,区块链数据承载在分布式账本中。
区块链基础协议:通常含有P2P、共识机制、密码学和智能合约等几部分的一种区块链技术完整实现。
区块链网络:区块链基础协议的实例化部署,一个区块链基础协议可以部署任意个区块链网络。
Stellar区块链基础协议自2014年创建以来,其技术成熟度逐步得到业界认可,自身的技术社区逐步发展壮大。Stellar自身的特征特点为开展区块链场景应用提供了很好的基础条件,为区块链基础协议开发提供了很好的实现参考依据。
本书结构
本书从逻辑上分为五部分:
第一部分(第1~3章)重点从工程实践的角度来审视区块链技术,介绍了区块链的基础概念和Stellar区块链基础协议的概念。
第二部分(第4、5章)给出了两个典型的应用场景案例,一个是数据确权的应用场景,一个是基于数据确权的价值流通应用场景,展现了区块链的两层应用,引导读者结合区块链开展工程实践应用。
第三部分(第6章)给出了基于Stellar区块链技术的系统架构设计参考,从业务架构设计、逻辑架构设计、物理架构设计、数据架构设计和账户架构设计等几方面给出了关键架构设计要点。
第四部分(第7、8章)详细说明了如何将一个stellar-core区块链节点接入已有的Stellar区块链网络中,并搭建horizon实例以实现对外提供访问区块链网络的服务能力,同时,给出了搭建一个新的Stellar区块链网络的详细步骤,并介绍了对关键代码的定制化改造。
第五部分(第9章)介绍了Stellar技术社区已有的工具,以及将Stellar区块链技术和已有业务系统快速集成的方法。
本书读者对象
本书读者对象主要包括:
区块链技术开发者;
区块链应用产品经理;
技术架构师和业务架构师;
部分技术驱动型企业的中高层管理者。
◆专家推荐 ◆
宋文鹏、梁然和韩丰都是中国区块链技术领域和Stellar社区的早期参与者。我真的很高兴看到他们仍然参与其中,并感谢他们为Stellar技术社区带来的这本书。期待前方的路!
——Jed McCaleb Stellar创始人
毫不夸张地说,本书是一本十分详尽、全面的Stellar技术书籍。书中既包含多层技术栈的底层细节,又不乏应用层面的实践案例分析;穿插高质量的图文及背景资料,读起来通俗易懂,有条不紊。推荐对Stellar感兴趣的区块链学者、密码学专家、分布式应用开发者将本书作为参考手册;同时,初入区块链行业的读者也可以将本书视为科普手册。
——Michael Ran Stellar亚太区负责人
随着区块链技术的不断发展和成熟,其对于未来商业模式的潜在影响已逐渐得到企业的重视。本书全面系统地介绍了Stellar区块链协议的基本概念、架构设计、应用场景和实战操作,是学习了解该协议的优秀中文资料。三位作者均为Stellar中国社区的元老级成员,具有丰富的应用开发经验,是国内Stellar开源技术社区的领路人。
——Ella Qiang前Stellar基金会亚太区负责人
评论
还没有评论。