- 區塊鏈國產化實踐指南:基于Fabric 2.0
- 王雅震編著
- 1399字
- 2022-04-13 16:10:49
前言
區塊鏈作為一項可以改變互聯網底層基礎設施服務的分布式賬本技術,已經是我國重點發展的戰略性技術,它逐漸在我國各行業落地。在社會分工日益明細的趨勢下,區塊鏈的分布式技術可以在一定程度上解決由分工導致的生產要素在協同、整合方面出現的問題,提高社會生產的效率,為我國的全面深化改革、傳統產業改造升級、大國“智”造等,注入新的技術能量。可以預見,區塊鏈技術將對城市的發展和管理,以及我們的日常生活產生越來越大的影響。
區塊鏈是一項較新的技術,各國區塊鏈技術的發展基本處于同一起跑線,在奔跑的過程中,首先要做到“自立自強”,實現自主可控。在國際競爭環境下,自主可控的重要性不言而喻。其中,區塊鏈技術的國產化是實現自主可控的重要途徑之一。
本書以主流開源區塊鏈技術Hyperledger Fabric 2.0(文中簡稱Fabric)為研究對象,研究思路是在研究現有技術的基礎上,探究如何升級改造現有技術,使技術符合我國標準或主流需求,以實現國產化,進而達到自主可控的目的。全書共分為三個部分。
第一部分,第1章~第12章,從源碼層面深入剖析Fabric的實現。第1章,從頂層視角,概述Fabric相關的概念、架構,目的是讓讀者對Fabric架構有初步的認識。第2章,講述Fabric的配置。第3章~第5章是小單元,均與Fabric區塊鏈網絡中的身份有關,按照對象包含與被包含的關系,從上層到下層,依次講述MSP、BCCSP、身份對象的實現。策略的實現依賴于身份,在理解身份的基礎上,第6章主要敘述策略模塊的實現。第7章,講述賬本模塊的實現。可以說,講述第3章~第7章的各個模塊,是為第8章~第11章敘述通道、通道服務和節點的內容打基礎。第12章,專門講述鏈碼的生命周期管理。
第二部分,第13章,講述如何部署Fabric,包括使用Kubernetes進行部署。
第三部分,第14章~第17章,敘述區塊鏈技術在國內的發展和對Fabric進行國產化改造的實踐,包括4個方向:國密改造、性能改造、BaaS平臺以及與物聯網相結合。這些都是實踐性的嘗試,以拋磚引玉。國密改造、BaaS平臺的實現,主要以代碼的形式呈現。性能改造的實現,主要以詳述性能優化方案的形式呈現。與物聯網相結合的實現,主要以實際部署操作的形式呈現。
其中,第一部分的大量內容是關于源碼的引用、解析,可以稱得上“密密麻麻”。過程性的內容均以代碼清單的形式羅列,并存在前后章節內容的引用,在閱讀上會造成一些不便。但沒辦法,Fabric源碼如此,“跳來跳去”,我思考再三,仍然認為代碼清單的形式,是講述源碼最適當和清晰的方式。
如下羅列本書引用源碼的規范,有助于讀者順利閱讀。
(1)代碼的引用、講述,以代碼重要程度為標準,即只引用、講述重點功能、關鍵步驟、關鍵邏輯判斷的實現。
例如,if err != nil {return nil, err}、defer txParams.TXSimulator.Done()、handler := &Handler {Invoker:cs, Keepalive:cs.Keepalive, …}等“白話”代碼,若無特別含義,將不引用或簡潔引用。
例如,if err := recordHeightIfGreaterThanPreviousRecording(r.ledgerDir); err != nil {…},若錯誤無須特殊說明,則此類判斷錯誤的代碼將被直接省略。
(2)描述源碼調用過程的邊界,最深至調用的標準庫或第三方庫。文中Fabric 2.0的源碼和第三方庫均托管于GitHub網站。
(3)由于源碼的對象、服務存在大量交互,因此存在內容引用,引用格式如“參見2.2節”。
綜上,閱讀第一部分時,讀者可以參考Fabric 2.0源碼學習源碼的原理與實現。閱讀第二部分時,讀者可以學習如何完成區塊鏈網絡的實際部署工作。閱讀第三部分時,讀者可以了解Fabric在國密改造、性能改造、BaaS平臺以及與物聯網相結合方面的實踐思路。本書將是讀者學習Fabric源碼、實現區塊鏈網絡部署和拓展實踐思路時不錯的輔助工具和參考資料。
王雅震
2021年3月
- Advanced Quantitative Finance with C++
- JavaScript+DHTML語法與范例詳解詞典
- Java Web基礎與實例教程(第2版·微課版)
- Learning Laravel 4 Application Development
- 微信公眾平臺開發:從零基礎到ThinkPHP5高性能框架實踐
- RSpec Essentials
- OpenCV 4計算機視覺項目實戰(原書第2版)
- Unity 3D腳本編程:使用C#語言開發跨平臺游戲
- Python網絡爬蟲技術與應用
- Web Developer's Reference Guide
- 交互式程序設計(第2版)
- R的極客理想:量化投資篇
- Java高并發編程詳解:深入理解并發核心庫
- 微前端設計與實現
- WCF全面解析