區塊鏈技術與實踐
內容描述
《區塊鏈技術與實踐》致力於系統地介紹區塊鏈的核心關鍵技術與典型技術實踐ping台。
首先宏觀概述區塊鏈的基礎知識,包括演進歷程、概念與技術特性、部署類型、體系架構和麵臨的技術挑戰等;
然後深入詳解區塊鏈的核心關鍵技術,包括密碼學基礎、網絡協議、共識算法、智能合約等;
*後介紹3個典型的區塊鏈技術實踐開源ping台,包括比特幣、以太坊、Hyperledger Fabric等。
《區塊鏈技術與實踐》結構層次清楚、邏輯性強;詳解通俗易懂、深入淺出;內容前沿性強、理論聯繫實踐。
此外,每章都配有習題,指導讀者深入學習本章內容。
《區塊鏈技術與實踐》的讀者對像是想系統性掌握區塊鏈技術的人士,既可作為高等學校區塊鏈工程、
計算機、電子信息、網絡空間安全及相關專業本科生、研究生的教材或參考書,
也可供從事相關專業教學、科研工作的人員和工程技術人員參考。
目錄大綱
前言
第1章區塊鏈概述
1.1區塊鏈演進歷程
1.1.1技術起源
1.1.2區塊鏈1.0:加密貨幣
1.1.3區塊鏈2.0:智能合約
1.2區塊鏈有關概念
1.2.1區塊鏈定義
1.2.2區塊鍊和分佈式賬本
1.2.3區塊鍊和分佈式數據庫
1.3技術特性
1.3.1多中心化
1.3.2去中介化
1.3.3透明性
1.3.4可靠性
1.3.5不易篡改性
1.3.6可追溯性
1.4部署類型
1.4.1公有鏈
1.4.2聯盟鏈
1.4.3私有鏈
1.5區塊鏈體系架構
1.5.1數據層
1.5.2網絡層
1.5.3共識層
1.5.4激勵層
1.5.5合約層
1.5.6應用層
1.6區塊鏈面臨的技術挑戰
1.6.1互操作性問題
1.6.2可擴展性問題
1.6.3安全性問題
1.6.4隱私保護問題
1.6.5可監管性問題
1.7習題
參考文獻
第2章區塊鏈的密碼學基礎
2.1密碼學概述
2.1.1密碼學發展歷程
2.1.2密碼體制基本組成
2.1.3密碼體制攻擊方式
2.2典型的公鑰加密算法
2.2.1公鑰加密算法概述
2.2.2RSA加密算法
2.2.3ElGamal加密算法
2.2.4橢圓曲線加密算法
2.3哈希函數
2.3.1哈希函數簡介
2.3.2哈希函數的性質
2.3.3典型哈希函數
2.3.4哈希指針
2.3.5Merkle樹
2.4數字簽名
2.4.1數字簽名簡介
2.4.2典型數字簽名算法
2.4.3其他數字簽名算法
2.5數字證書
2.5.1公鑰基礎設施
2.5.2數字證書管理
2.5.3證書鏈
2.6習題
參考文獻
第3章區塊鏈的網絡協議
3.1P2P網絡概述
3.1.1P2P網絡定義
3.1.2P2P網絡特點
3.2P2P網絡拓撲結構
3.2.1集中式P2P網絡
3.2.2全分佈式結構化P2P網絡
3.2.3全分佈式非結構化P2P網絡
3.2.4混合式P2P網絡
3.2.5P2P結構對比
3.3經典的P2P網絡協議
3.3.1Napster協議
3.3.2Gnutella協議
3.3.3Chord協議
3.4區塊鏈P2P網絡中的節點類型
3.4.1比特幣與以太坊中的節點類型
3.4.2Hyperledger Fabric 中的節點類型
3.5比特幣中的P2P網絡協議
3.5.1比特幣中的節點發現
3.5.2比特幣中的數據傳輸協議
3.5.3比特幣的數據驗證機制
3.6以太坊的P2P網絡協議
3.6.1以太坊中的節點發現
3.6.2以太坊中的數據傳輸協議
3.6.3以太坊的數據驗證機制
3.7Hyperledger Fabric中的P2P網絡協議
3.7.1Gossip網絡協議
3.7.2Hyperledger Fabric 中的節點發現
3.8習題
參考文獻
第4章共識算法
4.1分佈式共識算法背景
4.1.1拜占庭將軍問題
4.1.2共識算法的基本定義
4.1.3Fischer-Lynch-Paterson定理
4.2CFT類共識算法
4.2.1Paxos機制
4.2.2Raft機制
4.2.3其他典型CFT類共識
4.3BFT類共識算法
4.3.1拜占庭容錯概述
4.3.2實用拜占庭容錯
4.3.3其他典型BFT類共識
4.4PoW類共識算法
4.4.1比特幣的PoW
4.4.2FruitChains
4.4.3PoUW機制
4.4.4其他典型PoW類共識
4.5PoS類共識算法
4.5.1點點幣PoS機制
4.5.2Ethereum Casper PoS機制
4.5.3DPoS機制
4.5.4LPoS機制
4.5.5其他典型PoS類共識
4.6習題
參考文獻
第5章智能合約
5.1智能合約簡介
5.1.1智能合約的歷程及定義
5.1.2智能合約平台
5.1.3智能合約架構
5.1.4智能合約運行機制
5.1.5智能合約分類
5.1.6智能合約技術特徵
5.2智能合約開發
5.2.1開發語言
5.2.2實現技術
5.2.3開發平台
5.2.4執行環境
5.3智能合約部署
5.3.1Solidity集成開發工具Remix
5.3.2Solidity語法規則
5.3.3智能合約案例部署
5.4智能合約的應用
5.4.1金融
5.4.2管理
5.4.3醫療
5.4.4物聯網與供應鏈
5.4.5法律
5.4.6公益慈善
5.4.7數字票據
5.4.8電力市場
5.4.9公證
5.5智能合約的研究挑戰與進展
5.5.1合約漏洞事件
5.5.2合約研究的挑戰
5.5.3合約的安全問題
5.5.4合約安全問題研究現狀
5.5.5合約自動化漏洞利用
5.5.6合約安全防禦
5.6智能合約的發展趨勢與展望
5.7習題
參考文獻
第6章比特幣
6.1比特幣概述
6.1.1比特幣概念
6.1.2發展歷史
6.1.3體系結構
6.2比特幣生態圈
6.2.1產生
6.2.2存儲
6.2.3流通
6.2.4金融衍生市場
6.3比特幣核心概念
6.3.1比特幣密鑰
6.3.2比特幣地址
6.3.3比特幣交易
6.3.4比特幣腳本
6.3.5比特幣網絡
6.4比特幣區塊鏈
6.4.1區塊結構
6.4.2Merkle樹
6.4.3交易結構
6.4.4挖礦算法
6.4.5比特幣分叉
6.5習題
參考文獻
第7章以太坊
7.1以太坊發展歷程
7.1.1Frontier階段
7.1.2Homestead 階段
7.1.3Metropolis 階段
7.1.4Serenity階段
7.2以太坊系統架構
7.2.1以太坊技術體系
7.2.2以太坊狀態模型
7.2.3以太坊區塊結構
7.2.4Merkle Patricia樹
7.3以太坊核心概念
7.3.1賬戶
7.3.2交易
7.3.3密鑰文件
7.3.4以太幣
7.3.5GHOST協議
7.3.6Gas
7.3.7EVM
7.4以太坊挖礦
7.4.1Ethash挖礦算法目標
7.4.2Ethash難度調整機制
7.4.3Ethash挖礦算法過程
7.5以太坊錢包
7.6以太坊客戶端
7.7習題
參考文獻
第8章Hyperledger Fabric
8.1Hyperledger項目概述
8.1.1Hyperledger項目背景
8.1.2Hyperledger項目介紹
8.2Hyperledger Fabric 概述
8.2.1發展歷史與現狀
8.2.2整體架構
8.2.3運行架構
8.2.4交易流程
8.3Hyperledger Fabric核心模塊
8.3.1Peer節點
8.3.2Orderer排序節點
8.3.3Chaincode
8.3.4MSP
8.3.5Gossip
8.3.6BCCSP
8.3.7Fabric-CA
8.4Hyperledger Fabric核心功能
8.4.1身份管理
8.4.2賬本管理
8.4.3交易管理
8.4.4鏈碼管理
8.5Hyperledger Fabric開發
8.5.1開發語言
8.5.2運行環境
8.5.3開發框架
8.6習題
參考文獻