本书系统地梳理区块链的基本知识,循序渐进地讲述区块链体系概念、系统结构、核心原理。全书共分7章,主要内容包括区块链的基本概念、分布式系统、区块链架构、密码学技术、区块链共识算法、智能合约以及区块链的发展趋势。
本书为新形态教材,提供了丰富的配套资源,包括源代码、教学课件、拓展资料等。本书适合作为区块链工程专业“区块链技术原理”“区块链技术”等导论课程的教材,也可作为信息安全、网络空间安全等专业的教材。
前辅文 第1章 区块链的基本概念 1.1 基本概念 1.1.1 区块链的定义 1.1.2 概念解释 1.1.3 区块链特点 1.2 区块链的出现与发展 1.2.1 密码朋克 1.2.2 比特币与区块链 1.2.3 区块链发展重要事件 1.3 区块链的分类 1.3.1 按应用场景分类 1.3.2 按准入分类 1.4 区块链的价值 1.4.1 信任重构 1.4.2 隐私与数据保护 1.4.3 价值互联网 1.4.4 分布式商业 第2章 分布式系统 2.1 一致性问题 2.1.1 数据一致性 2.1.2 一致性模型 2.1.3 分布式系统一致性协议 2.2 CAP原则及BASE理论 2.2.1 CAP原则 2.2.2 BASE理论 2.3 可靠性问题 2.3.1 可靠性概念 2.3.2 故障分类及处理 2.4 P2P网络原理及常用算法 2.4.1 P2P网络原理 2.4.2 P2P网络拓扑 2.4.3 P2P网络搜索算法 2.5 AMOP 2.5.1 AMOP简介 2.5.2 逻辑架构及消息流程 第3章 区块链架构 3.1 区块链总体架构 3.1.1 基础层 3.1.2 核心层 3.1.3 管理层 3.1.4 应用层 3.1.5 用户接入层 3.2 主流架构介绍 3.2.1 比特币架构 3.2.2 以太坊架构 3.2.3 FISCO BCOS架构 3.2.4 Hyperledger Fabric架构 第4章 密码学技术 4.1 哈希函数 4.1.1 基本概念及性质 4.1.2 区块链中常用的哈希算法 4.1.3 哈希函数在区块链中的应用 4.2 Merkle树 4.2.1 基本概念及特性 4.2.2 Merkle树在区块链中的应用 4.3 公钥密码 4.3.1 公钥密码的基本概念 4.3.2 RSA公钥密码算法 4.3.3 ElGamal公钥密码算法 4.3.4 椭圆曲线加密算法 4.4 数字签名 4.4.1 基本概念及原理 4.4.2 数字签名的攻击类型 4.4.3 常用的数字签名算法 4.4.4 区块链中的数字签名算法 4.5 比特承诺 4.5.1 基本概念 4.5.2 哈希承诺 4.5.3 Pedersen承诺 4.6 零知识证明 4.6.1 基本概念 4.6.2 交互式与非交互式 4.6.3 zkSNARK 4.7 秘密分享 4.7.1 基本概念 4.7.2 门限秘密分享 4.7.3 秘密分享在区块链中的应用 4.8 可验证伪随机函数 4.8.1 基本概念 4.8.2 基本构造 4.8.3 应用场景 第5章 区块链共识算法 5.1 共识算法总体介绍 5.1.1 拜占庭将军问题 5.1.2 拜占庭将军问题的解决方案 5.2 工作量证明 5.2.1 比特币相关概念 5.2.2 PoW工作原理 5.2.3 PoW机制的安全性 5.2.4 PoW机制小结 5.3 权益证明 5.3.1 PoS相关概念 5.3.2 PoS工作原理 5.3.3 PoS机制小结 5.4 实用拜占庭容错 5.4.1 PBFT相关概念 5.4.2 PBFT工作原理 5.4.3 PBFT的安全性 5.4.4 PBFT机制小结 5.5 Raft共识 5.5.1 Raft相关概念 5.5.2 Raft工作原理 5.5.3 Raft的安全性 5.5.4 Raft算法小结 5.6 rPBFT算法 5.6.1 rPBFT算法简介 5.6.2 rPBFT工作原理 5.6.3 rPBFT共识框架 5.6.4 rPBFT核心组件 5.6.5 rPBFT算法小结 第6章 智能合约 6.1 智能合约概述 6.1.1 定义 6.1.2 特点 6.1.3 可编程合约 6.1.4 运行机制 6.1.5 两个图灵问题 6.2 比特币脚本 6.3 以太坊智能合约 6.3.1 合约模型 6.3.2 合约语言 6.3.3 合约编译 6.3.4 虚拟机环境 6.4 FISCO BCOS智能合约 6.4.1 合约模型 6.4.2 合约语言 6.4.3 合约编译 6.4.4 运行环境 6.4.5 合约设计 6.5 Hyperledger Fabric 智能合约 6.5.1 合约模型 6.5.2 合约语言 6.5.3 运行环境 6.6 其他合约 6.6.1 Libra 智能合约 6.6.2 EOS 智能合约 6.7 合约安全 6.7.1 常见安全问题 6.7.2 合理化建议 第7章 区块链的发展趋势 7.1 分布式数字身份 7.1.1 分布式数字身份的概念 7.1.2 分布式数字身份的历史与现状 7.1.3 主流协议与规范 7.1.4 技术支撑体系 7.1.5 分布式数字身份的发展及应用介绍 7.1.6 结语 7.2 跨链技术 7.2.1 跨链技术基本概念 7.2.2 通用接口 7.2.3 互联协议 7.2.4 互信机制 7.2.5 分布式事务 7.2.6 中继链 7.2.7 跨链技术演进 7.2.8 跨链应用场景 7.3 隐私保护平台介绍 7.3.1 公开可验证密文账本 7.3.2 功能模块 7.3.3 方案介绍 7.3.4 方案效果 参考文献