目录
前言
第1章 初识区块链1
1.1 什么是区块链1
1.2 区块链的“前世今生”1
1.3 区块链的分类2
1.4 区块链的其他成员3
1.5 区块链的商业价值6
1.6 本章总结与思考8
第2章 初识大数据9
2.1 什么是大数据9
2.2 大数据的“前世今生”10
2.3 大数据关键技术11
2.4 认识Hadoop13
2.5 什么是分布式数据库18
2.6 什么是分布式计算20
2.7 大数据的商业价值23
2.8 大数据的发展与困惑27
2.9 本章总结与思考30
第3章 加密算法与区块链31
3.1 密码学31
3.2 哈希算法38
3.3 哈希链表42
3.4 Merkle树与区块链46
3.5 公钥与私钥48
3.6 基于椭圆的加密算法55
3.7 区块链与密码学的“前世今生”69
3.8 本章总结与思考70
第4章 区块链技术与特点71
4.1 区块链技术的变革71
4.2 区块链结构体系72
4.3 区块链去中心化74
4.4 区块链共识机制75
4.5 POW算法机制76
4.6 POS算法机制90
4.7 DPOS算法机制92
4.8 拜占庭容错算法机制93
4.9 数字货币的底层技术95
4.10 智能合约105
4.11 以太坊公链技术108
4.12 超级账本联盟链110
4.13 Token经济与金融应用113
4.14 区块链技术的缺陷与发展116
4.15 本章总结与思考117
第5章 搭建本地以太坊环境118
5.1 什么是Go语言118
5.2 区块链运行环境121
5.3 安装Ubuntu操作系统122
5.4 安装Go语言环境125
5.5 安装VS Code编程IDE128
5.6 以太坊的特点与编程环境132
5.7 获取以太坊源码134
5.8 以太坊源码分析136
5.9 建立本地以太坊节点144
5.10 建立分布式多节点集群148
5.11 启动本地区块链挖矿151
5.12 智能合约Solidity编程153
5.13 以太坊命令行操作157
5.14 本章总结与思考160
第6章 开发宠物DApp应用162
6.1 什么是DApp162
6.2 DApp需求分析163
6.3 DApp系统架构设计168
6.4 DApp智能合约与Token设计175
6.5 发布智能合约到本地区块链181
6.6 登录服务器开发185
6.7 业务逻辑服务器开发210
6.8 H5图形引擎237
6.9 DApp前端图形程序开发242
6.10 MySQL数据库268
6.11 连接服务器与区块链节点272
6.12 连接前端与服务器,发布DApp273
6.13 本章总结与思考275
第7章 Fabric超级账本与金融数据系统277
7.1 超级账本的环境准备277
7.2 Fabric的架构与设计285
7.3 超级账本源码分析289
7.4 编译本地超级账本节点296
7.5 建立本地联盟链300
7.6 超级账本项目配置302
7.7 创建本地Channel通道与Peer集群309
7.8 智能合约——金融交易链码Chaincode312
7.9 一次简单的金融账户交易317
7.10 本章总结与思考320
第8章 多链与海量存储——金融大数据区块链架构321
8.1 区块链存储方案的研究现状321
8.2 区块链海量存储方案设计324
8.3 区块链的TPS与发展现状327
8.4 区块链多链(扩容)方案研究与对比330
8.5 Plasma与Bumo-orbits331
8.6 本章总结与思考340
第9章 金融大数据的现状341
9.1 金融业的产生和发展341
9.2 现代金融业的挑战343
9.3 大数据的金融应用技术346
9.4 金融大数据的核心需求351
9.5 金融大数据的技术架构353
9.6 金融大数据的行业应用362
9.7 金融大数据的挑战366
第10章 区块链赋能金融大数据370
10.1 初探——区块链应对金融商业环境的挑战371
10.2 深入——区块链应对金融大数据实施的挑战373
10.3 激发——区块链应对金融大数据应用的挑战375
10.4 升华——区块链应对金融大数据安全的挑战376
10.5 展望——区块链是金融业进化的重要因素378