首页>参考读物>计算机科学与技术>软件与程序设计

Stellar区块链:原理与实践
作者 : 宋文鹏 梁然 韩丰 著
丛书名 : 区块链技术丛书
出版日期 : 2019-05-07
ISBN : 978-7-111-62553-7
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 206
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书从工作原理、架构设计、工程实践三个维度,对Stellar做了全方位的深入的剖析。
三位作者均是区块链领域的资深技术专家,均是Stellar社区的早期参与者、深度参与者和技术布道者,为Stellar在中国乃至全球的发展做出了重要的贡献。本书得到了Stellar创始人Jed McCaleb、 Stellar亚太区负责人Michael Ran等Stellar官方团队的高度评价和推荐。


全书共9章,从逻辑上可分为五个部分,内容涵盖Stellar区块链基础协议剖析、两层场景案例应用、应用系统架构设计、Stellar区块链网络搭建和快速业务系统集成等方面。
第一部分(第1~3章)
重点从工程实践角度来审视区块链技术,介绍了区块链的基础概念和Stellar区块链基础协议的技术原理。
第二部分(第4~5章)
给出了两个典型的应用场景案例:一个是数据确权的应用场景,一个是基于数据确权基础上的价值流通应用场景,展现了区块链的两层应用,引导读者结合区块链开展工程实践应用。
第三部分(第6章)
讲解了基于Stellar区块链技术的系统架构设计,从业务架构设计、逻辑架构设计、物理架构设计、数据架构设计和账户架构设计等方面给出了关键架构设计要点和最佳实践。
第四部分(第7~8章)
详细说明了如何将一个stellar-core区块链节点接入已有的Stellar区块链网络中,并搭建horizon实例以实现对外提供访问区块链网络的服务能力,同时,给出了搭建一个全新Stellar区块链网络的详细步骤,并介绍了对关键代码的定制化改造。
第五部分(第9章)
介绍了Stellar技术社区已有的工具,以及将Stellar区块链技术和已有业务系统快速集成的方法。

图书特色

Stellar官方团队强烈推荐!
三位作者均是Stellar技术社区的资深技术专家和布道师,Stellar创始人Jed McCaleb作序推荐
从工作原理、架构设计、工程实践三个维度,全方位深入剖析Stellar区块链技术

图书前言

当下,区块链技术受到越来越多的关注,区块链作为一种基础操作系统,是各种技术的黏合剂,是在不可信网络下实现可信交易(事务/业务)的一种手段,是在数据确权基础上的一种有效价值流通手段,是改变社会协作关系的一种有效途径。
区块链技术在当前处于发展早期阶段,各种区块链基础协议层出不穷,各种技术和思想百家争鸣,为了讨论方便,书中的图尽量采用UML(统一建模语言)形式表达,同时,为达成共识,给出了以下统一基础术语:
区块链技术:一种分布式记账技术,各类与区块链相关技术的统称。
分布式记账技术:一种分布式技术,是区块链技术的超集和泛化。
账页:通常认为是区块链数据中的一个区块,包含了事务集合和额外区块头信息。
分布式账本:是账页的集合,区块链数据承载在分布式账本中。
区块链基础协议:通常含有P2P、共识机制、密码学和智能合约等几部分的一种区块链技术完整实现。
区块链网络:区块链基础协议的实例化部署,一个区块链基础协议可以部署任意个区块链网络。
Stellar区块链基础协议自2014年创建以来,其技术成熟度逐步得到业界认可,自身的技术社区逐步发展壮大。Stellar自身的特征特点为开展区块链场景应用提供了很好的基础条件,为区块链基础协议开发提供了很好的实现参考依据。
本书结构
本书从逻辑上分为五部分:
第一部分(第1~3章)重点从工程实践的角度来审视区块链技术,介绍了区块链的基础概念和Stellar区块链基础协议的概念。
第二部分(第4、5章)给出了两个典型的应用场景案例,一个是数据确权的应用场景,一个是基于数据确权的价值流通应用场景,展现了区块链的两层应用,引导读者结合区块链开展工程实践应用。
第三部分(第6章)给出了基于Stellar区块链技术的系统架构设计参考,从业务架构设计、逻辑架构设计、物理架构设计、数据架构设计和账户架构设计等几方面给出了关键架构设计要点。
第四部分(第7、8章)详细说明了如何将一个stellar-core区块链节点接入已有的Stellar区块链网络中,并搭建horizon实例以实现对外提供访问区块链网络的服务能力,同时,给出了搭建一个新的Stellar区块链网络的详细步骤,并介绍了对关键代码的定制化改造。
第五部分(第9章)介绍了Stellar技术社区已有的工具,以及将Stellar区块链技术和已有业务系统快速集成的方法。
本书读者对象
本书读者对象主要包括:
区块链技术开发者;
区块链应用产品经理;
技术架构师和业务架构师;
部分技术驱动型企业的中高层管理者。
致谢
本书的萌芽从2016年开始产生。笔者在进行基于Stellar的区块链系统开发过程中,基于Stellar官方文档,整理了大量的开发文档。为了方便区块链技术社区了解Stellar区块链技术,开阔思路,本书的三位作者,自2017年年底以来,经过一年多的讨论、收集社区反馈、对知识框架进行整理和重构,终于完成本书。
本书成书过程中得到了Stellar技术社区的早期参与者程宽、Ella、走路、老虎、陈斌等的鼓励和帮助,同时也得到Stellar区块链技术创始人Jed McCaleb先生的大力支持,Stellar技术社区的小伙伴也提供了大量的反馈,在此一并谢过。
感谢机械工业出版的杨福川主编、李良编辑和李艺编辑细心指导和卓有成效的付出,同时,感谢爱人和父母的理解和支持,感谢所有在本书创作过程中以不同形式参与的同学和朋友。
区块链技术发展日新月异,各种区块链新技术不断提出,Stellar区块链技术自身也在快速迭代,本书无法及时同步最新的技术变化,所以存在不足不可避免,欢迎各位读者朋友批评指正。

宋文鹏  
2019年于北京 

上架指导

计算机\程序设计

封底文字

宋文鹏、梁然和韩丰都是中国区块链技术领域和Stellar社区的早期参与者。我真的很高兴看到他们仍然参与其中,感谢他们为Stellar技术社区带来的这本书。期待前方的路!
——Jed McCaleb Stellar创始人

毫不夸张地说,本书是一本十分详尽、全面的Stellar技术书籍。书中既包含多层技术栈的底层细节,又不乏应用层面的实践案例分析;穿插高质量的图文及背景资料,通俗易懂,有条不紊。推荐对Stellar感兴趣的区块链学者、密码学专家、分布式应用开发者将本书作为参考手册;同时,初入区块链行业的读者也可以将本书视为科普手册。
——Michael Ran Stellar亚太区负责人

随着区块链技术的不断发展和成熟,其对于未来商业模式的潜在影响已逐渐引起企业的重视。本书全面系统地介绍了Stellar区块链协议的基本概念、架构设计、应用场景和实战操作,是学习了解该协议的优秀中文资料。三位作者均为Stellar中国社区的元老级成员,具有丰富的应用开发经验,是国内Stellar开源技术社区的领路人。
——Ella Qiang 前Stellar基金会亚太区负责人

作者简介

宋文鹏 梁然 韩丰 著:作者简介
宋文鹏(扶摇)
Stellar技术社区早期参与者,中国区块链技术和产业发展论坛技术专家,IEEE 区块链标准组P2418.2 副主席,ISO/TC307 区块链&分布式账本标准组技术专家。
参与《区块链:参考架构》《区块链:数据格式》《区块链:智能合约实施规范》和《区块链:存证应用指南》等团标、国标和国际标准制定。
梁然(Liang Ran)
中国区块链早期的探索者,区块链技术专家。擅长研究区块链中资产的发行和交易,参与编写了《ChinaLedger技术白皮书》,工信部《中国区块链技术和应用发展白皮书》等著作,对区块链和分布式账本技术在国内的普及和发展做出了很大贡献。
在2014年创立RippleFox社区,该社区已发展成为中国最大的Ripple和Stellar社区。在2017年创立共赢链信息科技(深圳)有限公司,将区块链技术应用到企业自金融生态。开发的“链单”系统在多家上市公司上线,在供应链金融领域取得了良好的效果。
韩丰(老翅)
Stellar技术社区深度参与者,Stellar区块链技术布道者,Stellar中文维基创始人,萤火生态联合创始人,积极推进Stellar技术在国内的应用与发展。自Stellar项目启动即运行网络节点,并成长为最受信赖的节点之一。

图书目录


前言
第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

教学资源推荐
作者: [美]梁勇(Y.Daniel Liang) 著
作者: 郭志强 邱李华 曹青 等编著
作者: [美]布鲁斯·埃克尔(Bruce Eckel) 戴安娜·马什(Dianne Marsh) 著
参考读物推荐
作者: Rogers Cadenhead
作者: 董天一 戴嘉乐 黄禹铭 著