区块链通俗读本

区块链通俗读本

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

区块链科普与实战技能,普及知识及必要理论,操作实践与应用开发。

内容简介

本书以区块链科普内容为主,同时兼顾专业级别的实战技能。科普级别的内容旨在以妙趣横生的手法向公众普及区块链知识,包括公共账本的概念及记账机制、数据块的“指纹”与“指针”、解答谜题证明工作量、区块树被剪枝成树干(链)、公有链的社会条件、分蛋糕的“军备竞赛”、货币发行、账户与钱包、矿池与交易所、以太坊的机器人造“币”(Token)、联盟链的“减”与“加”,等等。专业级别的内容旨在为区块链技术从业者提供必要的理论知识、操作实践和应用开发实例,包括密码学应用、共识算法、比特币闪电网络、以太坊工作原理、以太坊组网实践、Solidity语言、智能合约开发、以太坊DApp,以及如何将传统的数据库应用改造成区块链应用,等等。

章节目录

封面

版权信息

内容简介

献给有缘翻开此书的朋友

序:以书为链

第1章 从这里开始

1.1 改革

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.5 防篡改原理

1.6 去中心化

1.6.1 自动发放奖金

1.6.2 改革的“最后一公里”

1.7 行为艺术

1.8 小结

第2章 “请签名并按手印”

2.1 密码本

2.2 搅拌机

2.2.1 ASCII编码

2.2.2 公开算法

2.2.3 信息搅拌

2.2.4 搅拌16次

2.2.5 加密与解密

2.3 非对称密码体系

2.3.1 快!来不及了

2.3.2 RSA三人首功

2.3.3 椭圆曲线密码体系

2.3.4 加密与解密

2.3.5 数字签名

2.4 哈希函数Hash

2.4.1 消息摘要

2.4.2 数字指纹

2.4.3 数据块的指针

2.4.4 基于Hash的数字签名

2.5 小结

2.6* 附:闲话Hash

2.6.1 此哈希非彼哈希

2.6.2 碰撞,别发生

2.6.3 碰撞,不会发生

2.6.4 妙用Hash

第3章 下载那些事

3.1 服务器瘫了

3.2 计数器废了

3.3 “缩放机”原理

3.4 网上的“缩放机”

3.5* 过滤

3.5.1 降低一点儿标准

3.5.2 一个算法

3.5.3 对算法的优化

3.5.4 布隆过滤器

3.5.5 布隆过滤器效率优化

3.5.6 缺点及应对

3.5.7 应用举例

3.6 公共账本的副本

3.7 小结

第4章 物竞天择

4.1 运气

4.1.1 公平悖论

4.1.2 射箭比赛

4.2 计算谜题

4.2.1 谜题(一)

4.2.2 谜题(二)

4.2.3 谜题(三)

4.3 长枝生存

4.3.1 挖矿

4.3.2 软分叉

4.3.3 剪枝成干

4.3.4 不被剪掉

4.4 工作量证明

4.5 小结

第5章 良序社会

5.1 社区假设

5.2 守规矩的记账员

5.2.1 作为网络节点

5.2.2 作为审计员

5.2.3 作为记账员

5.2.4 作为矿工

5.3 天下无恶

5.3.1 难度优先

5.3.2 恶者无利

5.4 且慢,且慢

5.4.1 “双花”

5.4.2 作恶的付款者

5.4.3 多次确认

5.4.4 何时发货

5.4.5 连锁交易

5.4.6 “双花”趣事

5.5 布道者

5.6 小结

第6章 蛋糕之诱惑

6.1 分蛋糕

6.1.1 固定大小的蛋糕

6.1.2 “军备竞赛”

6.1.3 宣传机器

6.1.4 偷懒验证与私自挖矿

6.2 硬分叉

6.2.1 分裂

6.2.2 私有网络环境

6.2.3 比特币分叉大战

6.3 “无限”发币

6.3.1 比特币溢出

6.3.2 美链溢出

6.4 盗币

6.4.1 两种“币”

6.4.2 分裂

6.4.3 攻击

6.4.4 分叉之战

6.4.5 两难境地

6.5 小结

6.6* 附:溢出原理

6.7* 附:怪函数,隐问题

第7章 瘦身,瘦身

7.1 分体式区块

7.2 梅克尔树

7.2.1 梅克尔树

7.2.2 梅克尔树的防篡改功能

7.2.3 残梅克尔树

7.3 区块头

7.3.1 区块头模板

7.3.2 挖矿

7.4 全节点与轻量节点

7.4.1 两种验证与两类节点

7.4.2 全节点

7.4.3 轻量节点

7.5 小结

第8章 账号与钱包

8.1 身份证明

8.2 账号太长

8.2.1 用Hash函数压缩

8.2.2 用大进制表示

8.3 地址

8.3.1 Base58Check

8.3.2 二维码地址

8.3.3 要一个漂亮的账号

8.4 钱包

8.4.1 钱包不存钱

8.4.2 查询余额

8.4.3 多个私钥与多个钱包

8.4.4 私钥及其表示形式

8.5 跟踪与隐私

8.6 小结

8.7* 附:进制转换

8.8* 附:密钥树

8.8.1 分裂

8.8.2 关联

8.8.3 公钥树(拓展公钥)

8.8.4 加强(拓展私钥)

8.8.5 订规范

8.8.6 助记词

第9章 UTXO交易模型

9.1 交易新观念

9.1.1 交易成链

9.1.2 “产币”交易

9.1.3 解锁与上锁

9.1.4 IN与OUT

9.1.5 脚本

9.2* 交易与签名

9.2.1 原始交易

9.2.2 签名交易

9.2.3 合资交易

9.2.4 多签交易

9.2.5 两种地址

9.2.6 交易类型

9.2.7 共管账户

9.3 无块之链

9.3.1 账本的体系结构

9.3.2 交易链与区块链的区别

9.4 交易验证

9.4.1 这笔交易是真的

9.4.2 这笔资金未花

9.5 交易的跟踪与反跟踪

9.5.1 熔旧与铸新

9.5.2 隐身人

9.6 存下证据

9.6.1 中本聪的嘲讽

9.6.2 证据在某时点之前

9.6.3 证据的精确时间

9.7 小结

9.8* 附:借助本地数据库

9.8.1 区块的高度

9.8.2 判断双重支付

9.9* 附:交易格式

9.9.1 币基交易

9.9.2 组合交易

9.10* 附:脚本体系

第10章 聚与散

10.1 核心

10.2* 矿池

10.2.1 扩展“幸运数”

10.2.2 矿池的控制中心

10.2.3 算力合并的效果

10.3* 交易所

10.3.1 关联

10.3.2 隔离

10.3.3 风险

10.4 小结

第11章 萤火与闪电

11.1 老板与农民工模型

11.1.1 保证金

11.1.2 链下交易系列

11.1.3 预约交易

11.1.4 损失风险

11.2 预约与撤销

11.2.1 绝对时间

11.2.2 相对时间

11.2.3 阻止与撤销

11.3 两赌徒模型

11.3.1 问题来了

11.3.2 共同基金

11.3.3 调整份额交易

11.3.4 “萤火虫”

11.3.5 开通与关闭通道

11.3.6 损失风险

11.4 借道

11.4.1 购“物”

11.4.2 特殊的赌博

11.4.3 三赌徒模型

11.4.4 一串赌徒模型

11.5 小结

11.6* 附:预约与撤销(续)

11.6.1 RSMC交易及其阻止交易

11.6.2 HTLC交易及其阻止交易

11.6.3 HTLC与RSMC组合

11.6.4 组合交易的应用模型

第12章 链上机器人

12.1 账户及状态

12.1.1 账户余额

12.1.2 世界状态(一)

12.2 智能合约机器人

12.2.1 图灵两难

12.2.2 “机器人”

12.2.3 机器人的小世界

12.2.4 世界状态(二)

12.2.5 别让机器人累死

12.2.6 人类指使机器人

12.2.7 对机器人查账

12.2.8 制造与安装机器人

12.3* 矿工的以太币

12.3.1 竞争协议

12.3.2 挖矿奖励

12.3.3 交易费

12.3.4 叔祖先区块

12.3.5 “助人奖”与“安抚奖”

12.4 以太坊交易

12.4.1 交易发起人

12.4.2 交易结构

12.5* 区块结构

12.5.1 三棵树

12.5.2 Storage树

12.5.3 区块头

12.5.4 区块

12.6* 其他特色

12.6.1 区块大小

12.6.2 抵抗专用芯片

12.7 小结

12.8* 附:MPT

12.8.1 简介

12.8.2 先躺着

12.8.3 查增删

12.8.4 “站”起来

12.8.5 防篡改

12.9* 附:RLP

12.9.1 RLP简介

12.9.2 表达单个字符

12.9.3 表达短字符串

12.9.4 表达长字符串

12.9.5 表达短列表

12.9.6 表达长列表

12.9.7 递归

第13章 公链上的“货币”发行

13.1 比特币的发行

13.1.1 挖矿发行

13.1.2 控制总量

13.1.3 总量的耗损

13.2 利息发行

13.3 以太坊项目

13.3.1 众筹比特币

13.3.2 团队的证明

13.3.3 出资者的证明

13.4 以太币

13.5 以太坊代币

13.5.1 代币存在哪儿

13.5.2 众筹发行

13.5.3 代币的特征

13.5.4 多重签名

13.6 ICO

13.7 链上动物园

13.7.1 以太猫

13.7.2 非同质代币

13.8 小结

第14章 联盟“恋”链

14.1 联盟链的特点

14.1.1 联盟链的建立

14.1.2 联盟链的特点

14.2 减法

14.2.1 不需挖矿

14.2.2 不需原生币

14.2.3 没有分叉

14.2.4 不需要特殊的虚拟机

14.2.5 节点很少

14.3 加法

14.3.1 节点分工

14.3.2 多通道与多链

14.3.3 成员管理

14.3.4 验证策略

14.3.5 配置区块

14.4* 变化

14.4.1 交易

14.4.2 区块

14.4.3 “树”再没必要

14.5 交易过程

14.5.1 世界状态

14.5.2 “算”与“记”分开

14.5.3 找“认可人”

14.5.4 交易排序

14.5.5 批量记账

14.6 智能合约

14.6.1 智能合约的特征

14.6.2 智能合约接口

14.6.3 链码部署

14.6.4 链码运行

14.7* 超级账本

14.7.1 设计理念

14.7.2 网络架构

14.7.3 证书管理

14.7.4 共识算法

14.7.5 数据存储

14.7.6 创建通道

14.7.7 创建区块

14.7.8 系统链码及系统链

14.7.9 “读”与“写”

14.8 小结

14.9* 附:交易结构

14.10 附:再谈速度

14.10.1 造块速度的限制

14.10.2 公有链一定是一个慢系统

14.10.3 串行执行的限制

14.11 附:再谈防篡改

14.11.1 三个阶段的防篡改

14.11.2 防篡改与防伪

14.12 附:私有链

第15章 以太坊初级实践

15.1* 以太坊客户端简介

15.1.1 客户端的种类

15.1.2 Geth客户端简介

15.1.3 Ethereum Wallet客户端简介

15.1.4 客户端操作方式

15.2* 参与以太坊公链

15.2.1 安装Geth客户端

15.2.2 安装Ethereum Wallet客户端

15.2.3 创建账户

15.2.4 接收以太币

15.2.5 转账操作

15.2.6 挖矿

15.2.7 浏览公链网络状态

15.3* 搭建以太坊私有链

15.3.1 安装Go语言

15.3.2 安装Geth客户端

15.3.3 初始化节点

15.3.4 启动节点

15.3.5 创建账户

15.3.6 挖矿

15.3.7 转账

15.3.8 组建网络

15.4 小结

第16章 以太坊智能合约原理

16.1* 以太坊中的智能合约

16.1.1 智能合约生命流程

16.1.2 什么是EVM字节码

16.1.3 什么是ABI

16.2* Solidity语言

16.2.1 语法结构

16.2.2 地址

16.2.3 状态变量和局部变量

16.2.4 memory和storage

16.2.5 constant、view和pure

16.2.6 payable函数

16.2.7 fallback函数

16.2.8 可见性

16.2.9 内置的单位、变量和函数

16.2.10 事件

16.2.11 继承

16.2.12 库

16.3* EVM

16.3.1 EVM结构

16.3.2 EVM指令表

16.3.3 栈、内存、数据存储

16.3.4 输入数据与Gas池

16.3.5 执行智能合约

16.4* 以太坊DApp

16.4.1 以太坊DApp生态

16.4.2 以太坊DApp运行流程

16.5 小结

第17章 以太坊进阶实践

17.1* 开发以太坊智能合约

17.1.1 环境准备

17.1.2 编写合约

17.1.3 编译合约

17.1.4 调试合约

17.1.5 部署合约

17.1.6 调用合约

17.2* 开发以太坊DApp

17.2.1 要做什么

17.2.2 环境准备

17.2.3 创建项目

17.2.4 初始化数据库

17.2.5 编写DAO

17.2.6 编写Service

17.2.7 编写Controller

17.2.8 编写前端页面

17.2.9 先运行看看

17.2.10 如何改造成DApp

17.2.11 增加区块链配置参数

17.2.12 生成智能合约Java Bean

17.2.13 改造Service

17.2.14 增加调度分配以太币

17.2.15 再运行看看

17.2.16 还可以怎么优化

17.3 小结

第18章 共识算法

18.1 什么是共识算法

18.1.1 状态机复制

18.1.2 分布式的问题

18.2* Paxos算法

18.2.1 算法流程

18.2.2 算法要点

18.2.3 算法与区块链

18.3* RAFT算法

18.3.1 节点状态

18.3.2 选举领导者

18.3.3 区块复制

18.4* PBFT算法

18.4.1 拜占庭将军问题

18.4.2 算法简介

18.4.3 一致性协议

18.4.4 检查点协议

18.4.5 视图切换协议

18.5* PoS机制

18.5.1 PoW的问题

18.5.2 PoS机制简介

18.5.3 PoW+PoS机制

18.5.4 纯PoS机制

18.5.5 新的挑战

18.6* DPoS机制

18.6.1 DPoS机制简介

18.6.2 选举超级节点

18.6.3 生成区块

18.6.4 稳定运行

18.6.5 高吞吐量

18.7 各有千秋

18.7.1 CAP定律

18.7.2 不可能三角

18.8 小结

封底

区块链通俗读本是2020年由电子工业出版社出版,作者 冯浩铭。

得书感谢您对《区块链通俗读本》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
超级账本HyperLedgerFabric区块链开发实战 电子书
结合实战经验,从基础的概念和原理,到实际的执行与案例,讲解HyperLedger Fabric应用开发,手把手部署引导,帮助你轻松上线区块链超级账本项目。
区块链技术与智能服务应用 电子书
《区块链技术与智能服务应用》系统介绍了区块链以及智能服务的有关概念和原理,以及基于区块链智能合约的服务推荐、协同、优化以及负载均衡等技术。《区块链技术与智能服务应用》分为七章,内容涵盖:传统服务到智能化服务的演化,区块链基本概念、智能服务与区块链结合的框架与理论基础,面向冷启动问题的区块链智能服务跨域推荐,基于语义和基于QoS的智能服务组合;基于SaaS的智能服务平台负载均衡,基于分片和状态通的智
2020区块链漫游指南 电子书
本书各章命名为“星系”,共分为6个星系,围绕区块链概念及其技术、去中心化身份、去中心化应用、区块链开发实战等方面由宏观到微观、从非技术到技术层层推进,介绍了区块链的理念和知识,努力为读者勾勒区块链认知全景图。
打造超级区块链社区:建设、运营、实践 电子书
本书深入浅出,详细讲解区块链社区的运营方法,帮助企业打造超级区块链社区。
解读区块链:重新定义未来经济 电子书
《解读区块链 重新定义未来经济》用通俗的语言介绍了区块链相关的起源、发展和目前在各个领域的应用。