主编推荐语
本书从一个区块链商业项目的可研、设计、落地建设和运维的角度去理解、分析和解决问题,囊括了区块链各方各面的内容。
内容简介
本书是“区块链开发实战”系列的第2本,旨在让零基础的读者也能迅速掌握以太坊的各种基本概念、关键技术、工作原理、Dapp开发方法。作者是国内区块链领域的早期实践者和布道者,在区块链技术开发领域积累了丰富的项目经验,这本书得到了ChinaLedger技术委员会主任白硕、MATRIX区块链AI科学家邓仰东、阿希链CTO钱汉涛、元界CEO陈浩等多位专家的鼎力。
全书主要内容在逻辑上分为三个部分:
一部分 准备篇(1~2章)
这部分介绍了从事区块链开发需要具备的预备知识,如区块链的各种概念的了解、开发环境的搭建和开发工具的使用等。
第二部分 以太坊篇(第3~11章)
这部分是本书的核心内容,全面地讲解和分析了以太坊的各种基本概念、核心技术、工作原理,以及DApp开发方法。如以太坊的安装、编译、运行、私有链的搭建和运行、编程接口、智能合约语言Solidity的语法及其IDE、Solidity智能合约的编译和部署、Truffle框架的使用、DApp的架构与开发流程等。
第三部分 扩展篇(附录)
详细介绍了比特币的工作原理、运行方式、功能模块、编程接口,以及基于比特币的应用开发方法,对于想研究比特币技术原理和从事比特币应用开发的读者来说,是一份难得的资料。
目录
- 版权信息
- 推荐序
- 前言
- 第1章 区块链基础
- 1.1 区块链常用名词解释
- 1.2 区块链的发展历程
- 1.3 区块链概念
- 1.3.1 区块链是什么
- 1.3.2 区块链的特性
- 1.3.3 区块链分类
- 1.3.4 区块链构建信任
- 1.3.5 区块链的社会价值
- 1.4 区块链核心技术
- 1.4.1 综述
- 1.4.2 区块链结构
- 1.4.3 智能合约
- 1.4.4 跨链技术
- 1.4.5 ILP详解及应用
- 1.5 热门区块链平台对比分析
- 1.5.1 分析背景
- 1.5.2 平台简介
- 1.5.3 类别对比
- 1.5.4 共识机制对比
- 1.5.5 性能对比
- 1.5.6 隐私保护对比
- 1.5.7 智能合约对比
- 1.5.8 技术路线对比
- 1.5.9 经济模型对比
- 第2章 分布式系统技术
- 2.1 一致性问题
- 2.1.1 问题挑战
- 2.1.2 一致性的要求
- 2.1.3 一致性模型
- 2.2 一致性的共识算法
- 2.2.1 问题挑战
- 2.2.2 常见算法
- 2.2.3 理论界限
- 2.3 FlP不可能原理
- 2.4 CAP原理
- 2.4.1 CAP原理定义
- 2.4.2 应用场景
- 2.5 ACID原则
- 2.6 可靠性指标
- 2.7 小结
- 第3章 密码学安全技术
- 3.1 Hash算法与数字摘要
- 3.1.1 Hash定义
- 3.1.2 常见算法
- 3.1.3 性能
- 3.1.4 数字摘要
- 3.1.5 Hash攻击与防护
- 3.1.6 区块链中的Hash应用
- 3.2 加密算法
- 3.2.1 加解密系统基本组成
- 3.2.2 对称加密算法
- 3.2.3 非对称加密算法
- 3.2.4 选择明文攻击
- 3.2.5 混合加密机制
- 3.2.6 离散对数与DH密钥交换协议
- 3.2.7 区块链加密技术
- 3.3 消息认证码与数字签名
- 3.3.1 消息认证码
- 3.3.2 数字签名
- 3.3.3 安全性
- 3.3.4 区块链数字签名
- 3.4 数字证书
- 3.4.1 X.509证书规范
- 3.4.2 证书格式
- 3.4.3 证书信任链
- 3.5 PKI体系
- 3.5.1 PKI基本组件
- 3.5.2 证书的签发
- 3.5.3 证书的撤销
- 3.6 Merkle树结构
- 3.6.1 快速对比大量数据
- 3.6.2 快速定位修改
- 3.6.3 零知识证明
- 3.7 布隆过滤器
- 3.7.1 基于Hash值的快速查找
- 3.7.2 更高效的布隆过滤器
- 3.8 同态加密
- 3.8.1 定义
- 3.8.2 问题与挑战
- 3.8.3 函数加密
- 3.9 其他问题
- 3.9.1 零知识证明概述
- 3.9.2 量子密码学
- 3.9.3 社交工程学
- 3.9.4 安全多方计算
- 3.10 小结
- 第4章 构建Fabric区块链网络
- 4.1 超级账本Fabric简介
- 4.2 Fabric特性和架构设计
- 4.2.1 Fabric特性
- 4.2.2 Fabric系统架构
- 4.3 Fabric部署
- 4.3.1 单节点部署
- 4.3.2 多节点区块链网络部署
- 4.4 Fabric开发
- 4.4.1 ChainCode开发
- 4.4.2 应用开发示例
- 4.5 Fabric方案设计
- 4.5.1 数据库选用方案
- 4.5.2 私钥证书管理方案
- 4.5.3 数据上链方案
- 4.5.4 背书验证方案
- 第5章 Fabric源代码解析
- 5.1 概述
- 5.1.1 源码中的简拼
- 5.1.2 源码中的惯例
- 5.1.3 源码目录的基本结构
- 5.2 peer命令结构
- 5.2.1 peer目录结构
- 5.2.2 第三方包
- 5.2.3 peer命令结构解析
- 5.2.4 子命令结构解析
- 5.3 日志系统
- 5.3.1 go-logging简介
- 5.3.2 flogging
- 5.4 配置系统
- 5.4.1 viper简介
- 5.4.2 viper搜索路径和文件
- 5.4.3 InitViper
- 5.4.4 安全文件配置
- 5.4.5 命令选项配置
- 5.4.6 环境变量配置
- 5.5 账本
- 5.5.1 账本简介
- 5.5.2 数据存储服务对象
- 5.5.3 四类账本
- 5.6 加密服务
- 5.6.1 BCCSP的接口和选项
- 5.6.2 SW实现方式
- 5.6.3 PKCS11实现方式
- 5.6.4 BCCSP工厂
- 5.7 chaincode
- 5.7.1 chaincode元数据
- 5.7.2 chaincode元工具
- 5.7.3 SCC的注册和部署
- 5.7.4 ACC的安装和部署
- 5.8 Orderer服务
- 5.8.1 简介
- 5.8.2 模块
- 5.8.3 配置
- 5.8.4 模块初始化
- 5.8.5 建立连接
- 5.8.6 Broadcast
- 5.8.7 Orderer
- 5.8.8 Deliver
- 5.8.9 orderer共识机制
- 5.9 channel
- 5.9.1 目录
- 5.9.2 配置文件
- 5.9.3 命令
- 第6章 区块链政务数据共享及服务
- 6.1 背景
- 6.2 现有系统面临的挑战
- 6.3 业务需求
- 6.4 系统总体架构设计
- 6.4.1 系统架构设计
- 6.4.2 逻辑架构视图
- 6.4.3 逻辑组网示例
- 6.4.4 物理组网示例
- 6.5 证照办件方案描述
- 6.5.1 场景描述
- 6.5.2 办件消息发布
- 6.5.3 可订阅消息频道查询
- 6.5.4 办件消息订阅
- 6.6 文件共享方案
- 6.6.1 场景描述
- 6.6.2 云存储方案
- 6.6.3 云存储安全保障方案
- 6.7 证照共享方案
- 6.7.1 政务服务数据标准
- 6.7.2 数据上传
- 6.7.3 数据查询
- 6.8 系统接口设计
- 6.8.1 保存政务服务数据
- 6.8.2 批量保存政务服务数据
- 6.8.3 查询政务服务数据
- 6.8.4 发送消息
- 6.8.5 获取附件
- 6.8.6 获取可订阅消息
- 6.9 系统功能设计
- 6.9.1 总体功能结构
- 6.9.2 政务服务数据业务功能
- 6.9.3 平台管理功能
- 6.9.4 系统管理功能
- 6.10 智能合约设计
- 6.10.1 智能合约多层结构设计
- 6.10.2 智能合约模块设计
- 6.10.3 智能合约二次开发
- 6.11 平台的可视化部署
- 6.12 政务数据的三权关系
- 第7章 区块链应用设计
- 7.1 区块链在数字商票中的应用
- 7.1.1 简述
- 7.1.2 区块链解决的关键问题
- 7.1.3 方案描述
- 7.1.4 小结
- 7.2 区块链在文化交易中的应用
- 7.2.1 简述
- 7.2.2 区块链解决的关键问题
- 7.2.3 方案描述
- 7.2.4 小结
- 7.3 区块链在烟草溯源中的应用
- 7.3.1 简述
- 7.3.2 区块链解决的关键问题
- 7.3.3 方案描述
- 7.3.4 小结
- 7.4 区块链在海事稽查中的应用
- 7.4.1 简述
- 7.4.2 区块链解决的关键问题
- 7.4.3 方案描述
- 7.4.4 小结
- 7.5 区块链在教育领域的应用
- 7.5.1 简述
- 7.5.2 区块链解决的关键问题
- 7.5.3 方案描述
- 7.5.4 小结
- 7.6 区块链在审计领域的应用
- 7.6.1 背景
- 7.6.2 区块链解决的关键问题
- 7.6.3 方案描述
- 7.6.4 小结
- 7.7 区块链身份认证
- 7.7.1 背景
- 7.7.2 区块链解决的关键问题
- 7.7.3 方案整体架构
- 7.7.4 小结
- 7.8 区块链在数据流通中的应用
- 7.8.1 背景
- 7.8.2 区块链解决的关键问题
- 7.8.3 方案整体架构
- 7.8.4 小结
- 7.9 区块链在供应链金融中的应用
- 7.9.1 背景
- 7.9.2 区块链解决的关键问题
- 7.9.3 方案整体架构(以物流为例)
- 7.9.4 小结
- 第8章 区块链未来展望
- 8.1 区块链与人工智能的关系
- 8.2 区块链与大数据
- 8.3 区块链即服务
- 8.3.1 概念
- 8.3.2 原理
- 8.3.3 IBM区块链服务
- 8.3.4 微软区块链服务
- 8.3.5 小结
- 8.4 GDPR对区块链的影响
- 8.5 区块链面临的挑战
- 8.5.1 待解决的四大难题
- 8.5.2 性能问题及解决建议
- 8.5.3 安全问题及解决建议
- 参考文献
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。