世界經(jīng)濟論壇(即達沃斯論壇)創(chuàng)始人Klaus Schwab說:“自蒸汽機、電和計算機發(fā)明以來,人們又迎來了第四次工業(yè)革命——數(shù)字革命,而區(qū)塊鏈技術就是第四次工業(yè)革命的成果!眳^(qū)塊鏈作為下一代的可信互聯(lián)網(wǎng),必將顛覆所有在其之上運行的業(yè)務,讓整個基于互聯(lián)網(wǎng)的企業(yè)、生態(tài)、產(chǎn)業(yè)鏈徹底做一次變革創(chuàng)新。包括IBM、微軟、亞馬遜、臉書、騰訊和阿里巴巴在內(nèi)的信息產(chǎn)業(yè)巨頭都已經(jīng)投入了大量研發(fā)力量成立區(qū)塊鏈項目團隊。例如,螞蟻金服的“相互寶”就是一個典型的區(qū)塊鏈+保險應用;亞馬遜云平臺AWS推出區(qū)塊鏈模版,幫助客戶一鍵上鏈;臉書公司計劃推出基于社交網(wǎng)絡的數(shù)字貨幣。根據(jù)現(xiàn)在的發(fā)展趨勢,區(qū)塊鏈將在各行各業(yè)得到廣泛應用。
超級賬本(Hyperledger)是Linux基金會旗下的區(qū)塊鏈開發(fā)平臺項目,致力于發(fā)展跨行業(yè)的商用區(qū)塊鏈平臺技術。超級賬本項目自創(chuàng)立伊始便吸引了眾多行業(yè)的領頭羊,包括金融、銀行、互聯(lián)網(wǎng)、運輸、制造等行業(yè)。目前,超級賬本項目在全球有超過100個成員,包括IBM、Cisco、Intel、J.P.Morgan、荷蘭銀行、SWIFT等;趨^(qū)塊鏈技術、智能合約及其他相關技術,超級賬本項目在建立新一代分布式賬本交易應用平臺,簡化與商業(yè)流程相關事務的同時,還將發(fā)展商業(yè)信任、運作透明、審查方便等能力。本書在剖析區(qū)塊鏈核心技術時,會對實際區(qū)塊鏈項目的具體實現(xiàn)進行講解,力圖探索其核心思想,展現(xiàn)其設計精華,剖析其應用特性。
本書在寫作中秉承了由淺入深、由理論到實踐的思想。全書共分為8章,前3章是區(qū)塊鏈理論講解,后5章通過項目實例講解介紹區(qū)塊鏈開發(fā)技術尤其是智能合約編寫技巧。具體安排如下:
· 第1章 本章是區(qū)塊鏈技術與生態(tài)的概覽,涉及區(qū)塊鏈的基本概念、演進、層次模型和共識算法等,詳細解釋了比特幣的工作機制,介紹了以太坊、EOS、超級賬本等主流技術平臺;并結合現(xiàn)代背景和區(qū)塊鏈的發(fā)展現(xiàn)狀,闡述了區(qū)塊鏈的應用場景,讓不了解區(qū)塊鏈的讀者對區(qū)塊鏈有一個整體性的了解。
· 第2章 本章圍繞區(qū)塊鏈中的信息安全技術展開,從介紹信息安全的五大特征開始,依次介紹了對稱密碼和公鑰密碼技術。其中,在公鑰密碼技術中詳細講解了包括大整數(shù)因子分解問題、離散對數(shù)求解問題和密鑰交換協(xié)議等重要知識,著重闡述了哈希算法和Merkle樹技術。
· 第3章 本章是企業(yè)級區(qū)塊鏈平臺——分布式超級賬本(Hyperledger Fabric)的概覽,涉及分布式超級賬本的基本概念、演進,著重分析了超級賬本平臺的應用場景,有助于讀者對區(qū)塊鏈和Hyperledger Fabric(以下簡稱Fabric)的設計理念有一個整體性的了解。
· 第4章 本章首先介紹Fabric的開發(fā)流程,從零開始完成環(huán)境搭建、樣例網(wǎng)絡運行、樣例鏈碼分析和編寫等過程,并最終通過命令行成功地調(diào)用了鏈碼(在Fabric里,智能合約被稱為鏈碼),完成了Fabric區(qū)塊鏈上的數(shù)據(jù)存儲。鏈碼的調(diào)用方式有命令行調(diào)用和SDK調(diào)用兩種,本章使用命令行方式對鏈碼進行安裝、實例化和調(diào)用。這種調(diào)用方式雖較為復雜,卻是Fabric區(qū)塊鏈開發(fā)的基礎。讀者需要切實掌握命令中每個選項的含義,避免盲目拷貝代碼,為后續(xù)自己搭建區(qū)塊鏈網(wǎng)絡做好準備。
· 第5章 本章帶領讀者從零開始學習超級賬本開發(fā)工具——Hyperledger Composer。我們先給出開發(fā)業(yè)務網(wǎng)絡的整體思路,然后依次講解搭建環(huán)境、CTO建模語言以及業(yè)務邏輯代碼的編寫、部署和測試,并且完成一個簡單的卡片交易業(yè)務網(wǎng)絡。通過本章的學習,讀者對Hyperledger Composer的開發(fā)流程應該能夠有個基本了解,并且能感受到通過Composer開發(fā)區(qū)塊鏈應用的益處。
· 第6章 本章介紹使用Hyperledger Composer開發(fā)兩個簡單的區(qū)塊鏈業(yè)務網(wǎng)絡,并學習Hyperledger Composer的可選屬性、概念、事件等用法,詳細講解在編碼后如何進行情景測試,為讀者提供擴展網(wǎng)絡的思路。
· 第7章 通過項目實例講解介紹了Hyperledger Composer的一個高級功能——自定義查詢,并且通過實戰(zhàn)了解三方交易的類型和拍賣的業(yè)務網(wǎng)絡,幫助讀者熟悉框架的同時開拓了開發(fā)思路。
· 第8章 本章首先帶領讀者了解區(qū)塊鏈項目的幾種開發(fā)方式,接下來介紹目前主流的幾種編程語言的特點、應用場景及接入Composer Rest Server的方法。
相信讀者在閱讀完本書后,在深入理解區(qū)塊鏈核心概念和原理的同時,對于區(qū)塊鏈和分布式賬本領域最新的技術和典型設計實現(xiàn)也能了然于心,可以更加高效地開發(fā)基于區(qū)塊鏈平臺的分布式應用。
本書的案例資料和實戰(zhàn)項目都出自作者及其團隊所在的東華大學BAAS區(qū)塊鏈實驗室。東華大學BAAS區(qū)塊鏈實驗室由國家“211工程重點高校”東華大學與嘗試實業(yè)(上海)有限公司聯(lián)合成立,總部設在上海,目前已為三十多家企業(yè)提供了區(qū)塊鏈項目開發(fā)、咨詢和培訓服務。團隊擁有核心技術專利11項,區(qū)塊鏈相關軟件著作權24項,與國內(nèi)近百所高校、宏觀資本、漢景資本、大型審計所、多省商會等百余家行業(yè)翹楚單位達成戰(zhàn)略合作。團隊致力于打造自主可控的企業(yè)級區(qū)塊鏈技術應用咨詢與人才培訓平臺,推動區(qū)塊鏈技術的學術研究與技術研發(fā),共同推進區(qū)塊鏈技術在中國互聯(lián)網(wǎng)、科技金融等行業(yè)中的技術變革和應用落地。隨著實驗室研究工作的深入推進和不斷擴大,后續(xù)還將推出新的著作。
在本書長達一年時間的編寫過程中,得到了來自家人、同事以及西安電子科技大學出版社李惠萍編輯的支持和鼓勵,在此表示感謝!感謝東華大學BAAS區(qū)塊鏈實驗室成員李豫沛、周奕軍、鄧翔天、劉憶童的合作編寫。
最后希望本書的出版,能為廣大區(qū)塊鏈技術愛好者和開發(fā)者提供幫助。
作 者
2019年6月于上海