为你推荐
内容简介
献给有缘翻开此书的朋友
序:以书为链
第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 小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜