區塊鏈技術與實踐
內容描述
本書從基本的區塊鏈知識入手,講述了區塊鏈編程的知識,
並結合具體的工程實踐加以介紹,使讀者可以快速入門區塊鏈開發。
本書分為三部分:
第一部分是第l~3章,主要介紹了區塊鍊和密碼學的基本知識:
第二部分是第4~6章,介紹了區塊鏈的開發語言——Go語言、
百度開源超級鏈基礎平台XuperChain以及典型的區塊鏈應用場景;
第三部分是第7~11章,介紹了區塊鏈的開發實例,
讀者可以按照這些實例一步步實踐開發區塊鏈系統。
本書可以作為高等院校區塊鏈相關課程的教材,
也可以供從事區塊鏈相關工作的專業人員或愛好者參考。
目錄大綱
目錄
前言
第1章 區塊鏈概述
1.1 區塊鏈簡介
1.1.1 區塊鏈的定義
1.1.2 區塊鏈的起源與發展
1.1.3 區塊鏈的特點
1.1.4 區塊鏈的類型
1.1.5 發展區塊鏈的意義
1.2 區塊鏈的架構
1.2.1 常用的區塊鏈基礎架構
1.2.2 其他區塊鏈基礎架構
1.2.3 區塊鏈基礎架構中的關鍵技術
1.3 區塊鏈標準化現狀及其未來發展趨勢
1.3.1 區塊鏈標準化工作的進展
1.3.2 區塊鏈的發展歷程與未來趨勢
1.4 思考題
第2章 密碼學基礎
2.1 密碼學概述
2.1.1 密碼學的發展歷史
2.1.2 密碼學的基本概念
2.1.3 密碼體制的基本類型
2.1.4 密碼體制的分類
2.1.5 對密碼的攻擊
2.2 古典密碼學
2.2.1 古典加密方法
2.2.2 代替密碼
2.2.3 換位密碼
2.3 對稱密碼學
2.3.1 對稱密碼學概述
2.3.2 AES加密算法
2.3.3 DES加密算法
2.4 非對稱密碼學
2.4.1 非對稱密碼學概述
2.4.2 RSA算法
2.4.3 ECC算法
2.5 散列函數
2.5.1 散列函數概述
2.5.2 MD5算法
2.6 數字簽名
2.6.1 使用非對稱密碼算法進行數字簽名
2.6.2 使用對稱密碼算法進行數字簽名
2.6.3 數字簽名的算法及數字簽名的保密性
2.7 密碼的信息安全性
2.7.1 沒有的安全
2.7.2 相對的安全
2.8 密碼學新方向
2.9 思考題
第3章 區塊鏈中的共識算法
3.1 傳統分佈式一致性算法
3.1.1 分佈式系統一致性的分類
3.1.2 分佈式系統共識
3.1.3 狀態復制協議——Paxos
3.2 典型的區塊鏈共識機制
3.2.1 共識評價模型
3.2.2 主流區塊鏈共識機制
3.2.3 區塊鏈共識機制評估
3.3 基於投票證明的共識算法PoV
3.3.1 PoV算法構成
3.3.2 PoV共識過程
3.3.3 PoV共識細節
3.4 基於信任的共識算法PoT
3.4.1 PoT算法構成
3.4.2 PoT共識過程
3.4.3 PoT共識分析
3.5 基於活躍的共識算法PoA
3.5.1 PoA算法過程
3.5.2 PoA關鍵機制
3.5.3 PoA共識分析
3.6 思考題
第4章 Go編程語言簡介
4.1 Go語言概述
4.1.1 Go語言的特點
4.1.2 Go語言與其他常用編程語言的比較
4.1.3 Go語言工程結構
4.2 Go語言環境與開發工具安裝
4.2.1 Go語言環境的安裝
4.2.2 Go語言開發工具的安裝
4.2.3 GoLand工具的使用
4.2.4 Hello World
4.3 Go語言編程的基本結構
4.4 Go語言語法進階
4.4.1 Go語言的關鍵字
4.4.2 Go語言的控制結構
4.4.3 Go語言的內置函數
4.4.4 Go語言的函數
4.4.5 Go語言的包
4.5 思考題
第5章 百度超級鏈介紹
5.1 百度超級鏈概述
5.1.1 超級鏈的架構
5.1.2 超級鏈的技術優勢
5.1.3 超級鏈的網絡生態
5.1.4 超級鏈的榮譽與成就
5.2 XuperChain核心技術
5.2.1 超級節點技術
5.2.2 立體網絡技術
5.2.3 鏈內並行技術
5.2.4 可插拔共識機制
5.2.5 賬戶權限系統
5.2.6 一體化智能合約
5.3 XuperChain快速體驗
5.3.1 使用XuperChain準備工作
5.3.2 啟動一個XuperChain單節點
5.3.3 創建一個多節點網絡
5.3.4 部署和調用合約
5.4 思考題
第6章 區塊鏈典型應用場景
6.1 版權案例(百科文博鏈)
6.2 司法案例(北京互聯網法院)
6.3 司法案例(廣州互聯網法院)
6.4 司法案例(青島仲裁委)
6.5 醫療案例(電子處方流轉平台)
6.6 政務案例(一網通辦)
6.7 智慧城市案例
6.8 溯源案例(大閘蟹)
6.9 金融案例(ABS)
6.10 金融案例(百信銀行)
6.11 廣告案例(百度聚屏)
6.12 思考題
第7章 基於私有鏈的存證系統
7.1 實驗概述
7.2 實驗環境配置
7.3 實驗步驟
7.3.1 創建單節點網絡
7.3.2 多節點網絡搭建
7.3.3 存證應用的開發
7.4 預期結果
7.5 思考題
第8章 基於局域網的智能合約部署
8.1 實驗概述
8.2 實驗環境配置
8.3 實驗步驟
8.3.1 搭建節點
8.3.2 合約賬戶的創建及基本操作
8.3.3 合約代碼簡介
8.4 預期結果
8.4.1 編譯合約
8.4.2 合約部署及執行
8.5 思考題
第9章 基於測試環境的合約交易應用開發
9.1 實驗概述
9.2 實驗環境配置
9.3 實驗步驟
9.3.1 新建鏈上用戶
9.3.2 創建合約賬戶
9.3.3 設置合約賬戶訪問權限
9.3.4 合約賬戶資源充值
9.4 預期結果
9.4.1 合約部署
9.4.2 合約調用
9.5 思考題
第10章 基於智能合約的數字資產交易
10.1 實驗概述
10.2 實驗環境配置
10.3 實驗步驟
10.3.1 生成