展开全部

主编推荐语

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

内容简介

本书以区块链科普内容为主,同时兼顾专业级别的实战技能。科普级别的内容旨在以妙趣横生的手法向公众普及区块链知识,包括公共账本的概念及记账机制、数据块的“指纹”与“指针”、解答谜题证明工作量、区块树被剪枝成树干(链)、公有链的社会条件、分蛋糕的“军备竞赛”、货币发行、账户与钱包、矿池与交易所、以太坊的机器人造“币”(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 小结
  • 封底
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。