注重体验与质量的电子书资源下载网站
分类于: 计算机基础 互联网
简介
区块链底层设计Java实战 豆 0.0分
资源最后更新于 2020-10-26 12:36:33
作者:牛冬
出版社:电子工业出版社
出版日期:2019-01
ISBN:9787121355257
文件格式: pdf
简介· · · · · ·
2018 年是中国区块链发展的元年,火热的市场环境下,各互联网公司纷纷试水区块链落地项目。
《区块链底层设计Java实战》以区块链原理及其对应的Java 实现为主线展开,详细剖析区块链底层技术,主要内容包括区块链的底层架构、密码学原理、P2P 网络原理、分布式一致性算法、知名公链区块设计、知名公链区块存储技术、知名公链币的设计、联盟链管理后台的原理等。读者在学完本书后,可自行设计联盟链。
《区块链底层设计Java实战》内容基于Java 语言,为读者打开了区块链底层研发大门。
目录
第1 章 区块链简介 1
1.1 戏说区块链 2
1.2 正说区块链 3
1.3 区块链的未来:联盟链 5
1.4 小结 7
第2 章 区块链架构 8
2.1 比特币架构 9
2.2 以太坊架构 10
2.3 Hyperledger 架构 13
2.4 区块链通用架构 16
2.5 小结 19
第3 章 密码学 20
3.1 加密与解密 21
3.1.1 加密与解密简介 21
3.1.2 Java 实现 22
3.2 哈希 46
3.2.1 散列函数简介 46
3.2.2 SHA-256 Java 实战 47
3.3 Merkle 树 50
3.3.1 Merkle 树简介 50
3.3.2 Merkle 树Java 实战 52
3.4 小结 63
第4 章 P2P 网络构建 64
4.1 P2P 简介 65
4.2 区块链P2P 网络实现技术总结 66
4.3 基于WebSocket 构建P2P 网络 68
4.3.1 WebSocket 介绍 68
4.3.2 基于WebSocket 构建P2P 网络 69
4.4 基于t-io 构建P2P 网络 78
4.4.1 t-io 介绍 78
4.4.2 t-io 的主要用法 80
4.4.3 基于t-io 构建P2P 网络 83
4.5 小结 96
第5 章 分布式一致性与共识算法 97
5.1 区块链的分布式 98
5.2 Paxos 算法 99
5.3 ZooKeeper 中的分布式一致算法实现 100
5.4 二、三阶段提交协议 103
5.4.1 二阶段提交协议 104
5.4.2 三阶段提交协议 105
5.5 区块链中的分布式一致性 106
5.5.1 PoW 算法 107
5.5.2 PoW 算法在比特币系统的源码实现 107
5.5.3 以太坊的PoW 实现 109
5.6 联盟链中PBFT 的实现 111
5.6.1 什么是PBFT 112
5.6.2 PBFT 基于WebSocket 的实现 114
5.6.3 PBFT 基于t-io 的实现 128
5.7 小结 147
第6 章 区块设计 148
6.1 比特币的区块设计 149
6.2 以太坊的区块设计 151
6.3 Hyperledger 的区块设计 152
6.4 Java 版区块设计 153
6.5 小结 160
第7 章 区块存储 161
7.1 区块存储技术 162
7.2 用Java 实现文件存储 163
7.2.1 Guava 文件操作 163
7.2.2 Guava 实现文件存储 165
7.3 用Java 实现SQLite 存储 170
7.3.1 SQLite 介绍 170
7.3.2 SQLite 的使用 171
7.4 用Java 实现LevelDB 存储 185
7.4.1 LevelDB 介绍 185
7.4.2 LevelDB 的使用 186
7.5 用Java 实现RocksDB 存储 191
7.5.1 RocksDB 介绍 191
7.5.2 RocksDB 的使用 192
7.6 用Java 实现CouchDB 存储 195
7.6.1 CouchDB 介绍 195
7.6.2 CouchDB 的使用 196
7.7 小结 201
第8 章 联盟链中的币设计 202
8.1 比特币的币设计 203
8.2 以太币的激励机制 206
8.3 Java 版联盟链的币设计与实现 208
8.3.1 管理后台币的配置 208
8.3.2 Java 实现币交易 212
8.4 小结 235
第9 章 联盟链管理后台 236
9.1 超级账本的成员管理 237
9.2 Java 版联盟链成员管理设计与实现 238
9.2.1 加入联盟模块的设计与实现 239
9.2.2 联盟成员认证模块 246
9.2.3 联盟成员密钥分发模块 257
9.3 小结 260
第10 章 联盟链的运营 261
10.1 联盟链会员章程 262
10.2 联盟链代码使用方式 269
10.3 联盟链代码升级 272
10.4 联盟链代码安全 273
10.5 联盟链激励体系运营 273
10.6 小结 274
附录A TextNG 275
附录B Mockito 279
附录C CouchDB 的安装 283
后记 286
1.1 戏说区块链 2
1.2 正说区块链 3
1.3 区块链的未来:联盟链 5
1.4 小结 7
第2 章 区块链架构 8
2.1 比特币架构 9
2.2 以太坊架构 10
2.3 Hyperledger 架构 13
2.4 区块链通用架构 16
2.5 小结 19
第3 章 密码学 20
3.1 加密与解密 21
3.1.1 加密与解密简介 21
3.1.2 Java 实现 22
3.2 哈希 46
3.2.1 散列函数简介 46
3.2.2 SHA-256 Java 实战 47
3.3 Merkle 树 50
3.3.1 Merkle 树简介 50
3.3.2 Merkle 树Java 实战 52
3.4 小结 63
第4 章 P2P 网络构建 64
4.1 P2P 简介 65
4.2 区块链P2P 网络实现技术总结 66
4.3 基于WebSocket 构建P2P 网络 68
4.3.1 WebSocket 介绍 68
4.3.2 基于WebSocket 构建P2P 网络 69
4.4 基于t-io 构建P2P 网络 78
4.4.1 t-io 介绍 78
4.4.2 t-io 的主要用法 80
4.4.3 基于t-io 构建P2P 网络 83
4.5 小结 96
第5 章 分布式一致性与共识算法 97
5.1 区块链的分布式 98
5.2 Paxos 算法 99
5.3 ZooKeeper 中的分布式一致算法实现 100
5.4 二、三阶段提交协议 103
5.4.1 二阶段提交协议 104
5.4.2 三阶段提交协议 105
5.5 区块链中的分布式一致性 106
5.5.1 PoW 算法 107
5.5.2 PoW 算法在比特币系统的源码实现 107
5.5.3 以太坊的PoW 实现 109
5.6 联盟链中PBFT 的实现 111
5.6.1 什么是PBFT 112
5.6.2 PBFT 基于WebSocket 的实现 114
5.6.3 PBFT 基于t-io 的实现 128
5.7 小结 147
第6 章 区块设计 148
6.1 比特币的区块设计 149
6.2 以太坊的区块设计 151
6.3 Hyperledger 的区块设计 152
6.4 Java 版区块设计 153
6.5 小结 160
第7 章 区块存储 161
7.1 区块存储技术 162
7.2 用Java 实现文件存储 163
7.2.1 Guava 文件操作 163
7.2.2 Guava 实现文件存储 165
7.3 用Java 实现SQLite 存储 170
7.3.1 SQLite 介绍 170
7.3.2 SQLite 的使用 171
7.4 用Java 实现LevelDB 存储 185
7.4.1 LevelDB 介绍 185
7.4.2 LevelDB 的使用 186
7.5 用Java 实现RocksDB 存储 191
7.5.1 RocksDB 介绍 191
7.5.2 RocksDB 的使用 192
7.6 用Java 实现CouchDB 存储 195
7.6.1 CouchDB 介绍 195
7.6.2 CouchDB 的使用 196
7.7 小结 201
第8 章 联盟链中的币设计 202
8.1 比特币的币设计 203
8.2 以太币的激励机制 206
8.3 Java 版联盟链的币设计与实现 208
8.3.1 管理后台币的配置 208
8.3.2 Java 实现币交易 212
8.4 小结 235
第9 章 联盟链管理后台 236
9.1 超级账本的成员管理 237
9.2 Java 版联盟链成员管理设计与实现 238
9.2.1 加入联盟模块的设计与实现 239
9.2.2 联盟成员认证模块 246
9.2.3 联盟成员密钥分发模块 257
9.3 小结 260
第10 章 联盟链的运营 261
10.1 联盟链会员章程 262
10.2 联盟链代码使用方式 269
10.3 联盟链代码升级 272
10.4 联盟链代码安全 273
10.5 联盟链激励体系运营 273
10.6 小结 274
附录A TextNG 275
附录B Mockito 279
附录C CouchDB 的安装 283
后记 286