區塊鏈底層設計Java實戰

區塊鏈底層設計Java實戰

解密區塊鏈底層研發,用Java打開區塊鏈底層之門。區塊鏈 密碼學 以太坊 共識 算法 區塊存儲 底層架構 單元測試 比特幣 聯盟鏈 底層研發 哈希 分散式網路 Tink Hutool 原理

區塊鏈技術人才的缺少使得區塊鏈人才招聘市場熱火朝天,各大培訓機構也紛紛進場,培訓費用居高不下,但效果卻不盡如人意。

《區塊鏈底層設計Java實戰》從架構的角度,細緻拆分了區塊鏈各技術與我們熟悉的技術的一一對應之處,比如區塊中的Merkle樹對應二叉樹,header+body結構設計與 HTTP異區同工,等等。這種講解方式可以破掉學習的壁壘,讓有Java基礎的讀者可以快速地理解區塊鏈的底層開發技術。這正是本書作者的高明之處。

基本介紹

  • 書名:區塊鏈底層設計Java實戰
  • 作者:牛冬
  • ISBN:978-7-121-35525-7
  • 頁數:294
  • 定價:69
  • 出版社:電子工業出版社
  • 出版時間:2019-1
  • 開本:16
內容提要,目錄,序,

內容提要

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

自20 世紀80 年代計算機技術興起以來,幾乎每隔10 年就會有一次比較重大的技術變革。20 世紀90 年代網際網路和搜尋技術從美國風靡全球;21 世紀初,雲計算和移動網際網路成了弄潮兒。而今,區塊鏈浪潮襲來!特別是2018 年初以來,區塊鏈成了街談巷議的話題。
在招聘市場上,區塊鏈人才炙手可熱,一些城市為了吸引區塊鏈人才下足血本。杭州區塊鏈產業園為了吸引高層次區塊鏈人才入駐,實行購房補貼最高達300 萬元人民幣的政策,並補貼公用住房、雲服務補助和研發經費;上海楊浦區對引入的區塊鏈人才給予10 萬元人民幣住房補貼,補貼最長時限可達3 年。
在研發領域,各個網際網路公司紛紛試水區塊鏈落地項目。與之對應,區塊鏈職位的招聘市場也是熱火朝天。隨著區塊鏈研發的熱浪,區塊鏈培訓機構也紛紛進場。目前區塊鏈研發培訓周期基本都在兩周左右,收費20000 元人民幣以上。但培訓效果卻不盡如人意,筆者面試區塊鏈崗位的人才時,發現幾乎所有的小夥伴只是對區塊鏈概念有模糊印象,至於如何實戰知之甚少,如何自研區塊鏈底層技術知之更少。
所以說,區塊鏈人才的火熱最主要或者最根本的原因是真正的區塊鏈高端人才極為稀少。因此,這也成了本書寫作的初衷,即試圖降低區塊鏈底層學習和開發的門檻,縮國小習區塊鏈原理和理論到進入實戰的鴻溝。
本書以區塊鏈原理及其對應的Java 實現為主線展開,各章內容如下:
第1 章是區塊鏈簡介,從研發維度戲說、正說區塊鏈,評說區塊鏈的套用前景。
第2 章介紹區塊鏈的底層架構。
第3 章講區塊鏈中所用的密碼學原理及Java 實現。
第4 章講P2P 網路原理及Java 實現。
第5 章講分散式一致性算法及Java 實現。
第6 章講知名公鏈的區塊設計及Java 實現。
第7 章講知名公鏈的區塊存儲技術及Java 實現。
第8 章講知名公鏈幣的設計及Java 實現。
第9 章講聯盟鏈管理後台的原理及實現。
第10 章講聯盟鏈的運營。
本書適用於區塊鏈愛好者、區塊鏈初學者、想自行開發設計區塊鏈底層的有Java基礎的讀者。
當然,筆者學習和實踐區塊鏈技術剛剛2 年,因此書中難免有理解和實踐不足之處,“卑辭俚語,不揣淺陋”,歡迎讀者和筆者交流學習,共同進步,一起為區塊鏈落地和人才培養體系建設略盡綿薄!

相關詞條

熱門詞條

聯絡我們