导语
区块链技术的思想,可以在非信任环境建立信任关系、传递信用与价值,它和具有时代影响力的其他技术一样,盘活了一系列的商业场景,比如防伪、溯源、数据治理、行业链条打通与监控,等等。但是区块链技术的发展尚处于早期,而且其技术栈(分布式系统、共识、加密、分布式账本等)是一种相对紧耦合的状态,技术门槛不低。
针对以上问题,蒋勇、文延、嘉文著的《白话区块链/区块链技术丛书》致力于降低学习曲线,让更多人了解区块链。本书具有以下特点。
由浅入深
从比特币开始,到区块链技术的骨骼(密码算法)和灵魂(共识算法),再到目前知名的区块链框架介绍,最后从零开始构建一个微型区块链系统,循序渐进。
多图多表
通过流程图与示意图介绍比特币的源码编译、以太坊智能合约的开发部署、超级账本Fabric的配置使用、模拟比特币的微型区块链系统的设计实现等,形象而直观。
白话通俗
通过“村民账本记账”“百花村选举记账”等生活化示例,避免多技术组合与新概念上的理解障碍与阅读枯燥感。
内容提要
蒋勇、文延、嘉文著的《白话区块链/区块链技术丛书》以全方位视角,结合生活化的示例与图表生动讲解,从技术、应用到系统设计。本书涵盖区块链底层技术、典型业务场景设计、主流框架与应用,并手把手教你从零构建区块链系统(微链)本书共9章,以下为涉猎的内容。
第1章通过村民记账的场景巧妙串起区块链的技术思想、技术组成,并以比特币为例介绍了基础技术原理。
第2章综合介绍了典型区块链应用场景与流程。
第3章介绍了现代密码算法在区块链中的作用与场景。
第4章介绍了主流网络共识算法及其社会学价值。
第5章介绍了区块链的链内外互联扩展技术的思路与主流做法。
第6章详细介绍了以太坊的技术结构以及智能合约开发。
第7章详细介绍了超级账本项目以及Fabric的配置与使用。
第8章详细介绍了如何从零开始设计一个微型区块链系统(微链),加深理解并提升动手能力。
第9章介绍了目前出现的各种区块链技术问题,多关于性能与安全。
目录
技术审校
前言
第1章 初识区块链
1.1 例说区块链
1.1.1 从一本账本说起
1.1.2 区块链技术理念
1.1.3 一般工作流程
1.2 区块链技术栈
1.3 区块链分类与架构
1.3.1 区块链架构
1.3.2 区块链分类
1.4 一切源自比特币
1.4.1 比特币技术论文介绍
1.4.2 比特币核心程序:中本聪客户端
1.4.3 比特币的发行:挖矿
1.4.4 比特币钱包:核心钱包与轻钱包
1.4.5 比特币账户模型:
1.4.6 动手编译比特币源码
1.5 区块链的技术意义
1.6 知识点导图
第2章 区块链应用发展
2.1 比特币及其朋友圈:加密数字货币
2.1.1 以太坊
2.1.2 比特币现金
2.1.3 莱特币
2.1.4 零币
2.1.5 数字货币发展总结
2.2 区块链扩展应用:智能合约
2.2.1 比特币中包含的合约思想
2.2.2 以太坊中图灵完备的合约支持
2.3 交易结算
2.3.1 银行结算清算
2.3.2 瑞波:开放支付网络
2.4 IPFS:星际文件系统
2.5 公证防伪溯源
2.6 供应链金融
2.7 区块链基础设施:可编程社会
2.8 链内资产与链外资产
2.9 知识点导图
第3章 区块链骨骼:密码算法
3.1 哈希算法
3.1.1 什么是哈希计算
3.1.2 哈希算法的种类
3.1.3 区块链中的哈希算法
3.2 公开密钥算法
3.2.1 两把钥匙:公钥和私钥
3.2.2 RSA算法
3.2.3 椭圆曲线密码算法
3.3 编码/解码算法
3.3.1 Base64
3.3.2 Base58
3.3.3 Base58Check
3.4 应用场景
3.5 知识点导图
第4章 区块链灵魂:共识算法
4.1 分布式系统的一致性
4.1.1 一致性问题
4.1.2 两个原理:FLP与CAP
4.1.3 拜占庭将军问题
4.1.4 共识算法的目的
4.2 Paxos算法
4.3 Raft算法
4.4 PBFT算法
4.5 工作量证明——PoW
4.6 股权权益证明——PoS
4.7 委托权益人证明机制—DPoS
4.8 共识算法的社会学探讨
4.9 知识点导图
第5章 区块链扩展:扩容、侧链和闪电网络
5.1 比特币区块扩容
5.2 侧链技术
5.3 闪电网络的设计
5.4 多链:区块链应用的扩展交互
5.5 知识点导图
第6章 区块链开发平台:以太坊
6.1 项目介绍
6.1.1 项目背景
6.1.2 以太坊组成
6.1.3 关键概念
6.1.4 官方钱包使用
6.2 以太坊应用
6.2.1 测试链与私链
6.2.2 编写一个代币合约
6.3 知识点导图
第7章 区块链开发平台:超级账本
7.1 项目介绍
7.1.1 项目背景
7.1.2 项目组成
7.2 Fabric项目
7.2.1 Fabric基本运行分析
7.2.2 Fabric安装
7.3 Fabric示例
7.3.1 部署准备
7.3.2 启动Fabric网络
7.3.3 Fabric智能合约
7.3.4 Fabric部署总结
7.4 知识点导图
第8章 动手做个实验:搭建微链
8.1 微链是什么
8.2 开发环境准备
8.3 设计一个简单的结构
8.4 源码解析
8.4.1 目录结构
8.4.2 代码之旅
8.5 微链实验的注意问题
8.6 知识点导图
第9章 潜在的问题
9.1 两个哭泣的婴儿:软分叉与硬分叉
9.2 达摩克利斯剑:51%攻击
9.3 简单的代价:轻钱包的易攻击性
9.4 忘了保险箱密码:私钥丢失
9.5 重放攻击:交易延展性
9.6 代码漏洞:智能合约之殇
9.6.1 说说TheDAO事件
9.6.2 Parity多重漏洞
9.7 网络拥堵:大量交易的确认延迟
9.8 容量贪吃蛇:不断增长的区块数据
9.9 知识点导图
后记 区块链与可编程社会