- 區塊鏈原理與技術應用
- 趙其剛 王紅軍 李天瑞 王明文 成飏
- 1984字
- 2020-09-08 17:17:24
1.2 區塊鏈的基本概念
單從字面上來理解,“區塊鏈”是一個特別令人費解的技術概念與專業術語。這個概念也阻礙了許多人對區塊鏈的理解。這對區塊鏈理念的傳播、推廣與普及應用是不利的。不過,即使我們不太喜歡用“區塊鏈”這一名詞來指代其所代表的整個技術體系,但由于這一概念在業界已進行了長期傳播,因此,我們仍不得不從這一概念的定義入手,來闡釋其所代表的整個技術體系及其內涵。
1.2.1 區塊鏈的定義
區塊鏈的簡單定義:區塊鏈是互聯社會構建信任的一種技術基礎設施。對這一概念,本書做如下說明。
第一,區塊鏈的應用場景是互聯化的社會,或者說是以互聯網作為基礎設施的人類社會。
第二,區塊鏈是一種以技術為中心的基礎設施,“技術”表明了區塊鏈解決“信任”的方案與以往的方案具有顯著的不同—依托于算法、軟件等技術能力,而“基礎設施”即意味著區塊鏈作為“基礎層”可以支撐極其廣泛的應用場景。
第三,區塊鏈所集成解決的問題是互聯社會中“信任”的建立問題,這是核心詞,也代表了區塊鏈的主體核心價值。
上述區塊鏈的簡單定義對非計算機專業的讀者而言,用來理解區塊鏈可能已經足夠了,但對計算機專業的讀者而言,這顯然是不夠的,因為其沒有對區塊鏈這一技術基礎設施的組成內容進行定義。
因此,需要進一步對區塊鏈給出定義:區塊鏈是以在互聯社會中構建信任基礎設施為目標,綜合運用P2P網絡、非對稱加密算法、共識機制等技術與手段,通過建立按時序編列、不易篡改、塊鏈式的公共賬本,構建形成開放網絡信任基礎的技術、運營與服務體系。
對這一概念,本書進一步給出如下解釋。
第一,在互聯社會搭建信任基礎設施是區塊鏈的價值目標與應用場景。
第二,區塊鏈是一種去中心化、去中介的陌生信任體系,其關鍵和核心技術主要包括P2P網絡技術、非對稱加密算法、共識機制等。
第三,區塊鏈在技術上實現去中心化、去中介陌生信任的核心與關鍵基礎是具有時序、內容不易被篡改、呈塊鏈式結構特征的公共賬本數據。這個公共賬本是區塊鏈網絡信任的基礎,也是區塊鏈整體技術概念的來源。
第四,區塊鏈最終的呈現,既是一種新型的技術框架,又是一種嶄新的運營體系與服務網絡。
1.2.2 私有鏈、聯盟鏈與公有鏈
根據前面對區塊鏈下的定義,可以進一步根據區塊鏈共識建立的范圍、公共賬本公開對象的不同,將區塊鏈應用網絡劃分為私有鏈、聯盟鏈與公有鏈3種不同類型,如表1-3所示。
表1-3 區塊鏈類型的比較

1. 私有鏈
私有鏈即區塊鏈共識建立的范圍及公共賬本的公開對象為單一主體,單一主體對區塊鏈的網絡運行及數據處理、交換與存儲具有全部權利。顯然,除了利用區塊鏈的技術特性來增強數據的安全性與網絡運行的可靠性外,私有鏈應用與傳統的中心化技術相較并無特別優勢,反而由于區塊鏈技術自身固有的一些性能弱點,如同步時延較大、高并發處理能力不強等,使私有鏈的應用場景極其有限。
2. 聯盟鏈
聯盟鏈即區塊鏈共識建立的范圍及公共賬本的公開對象為有限主體,如同業聯盟成員之間,聯盟成員平等參與區塊鏈的P2P網絡構建、公共賬本創建與維護。聯盟鏈使參與主體的共識邊界由原來主體私有范圍擴展至整個聯盟范圍,由于共識邊界擴大,聯盟成員之間具有了共同的信任基礎——聯盟鏈公共賬本,因而聯盟鏈成員之間在無須第三方中介參與的條件下,相互的價值交互效率將獲得極大的提升。
3. 公有鏈
公有鏈即區塊鏈共識建立的范圍是面向全社會,公共賬本及軟件代碼完全公開,任何個體與組織均可在贊同公有鏈相關共識機制的條件下,自由參與公有鏈P2P網絡的建設與運營,參與區塊數據的產生、傳播與維護,以及各類區塊鏈應用的開發、部署與服務運營。公有鏈由于完全開放,參與主體眾多,特別是對具有應用開發支持能力,即支持智能合約的區塊鏈而言,就具備了圍繞相關主題,構建自治、閉環生態系統的能力,這對打破壟斷型的互聯網生態系統而言,具有特別重大的意義。
1.2.3 主鏈和側鏈
區塊鏈構建信任的核心是塊鏈式結構的公共賬本,公共賬本的產生方式及公開范圍決定了區塊鏈的屬性。根據區塊鏈的交易數據是否列入區塊鏈的公共賬本,把相應的交易數據所構成的區塊數據鏈稱為主鏈或側鏈。
1. 主鏈
主鏈即由公共賬本構成的數據鏈。任何區塊鏈均有唯一和統一的公共賬本,即主鏈。列入主鏈的數據,可以被所有區塊鏈用戶所同步并訪問。主鏈數據由于需要達成全網共識,并實現全網同步和驗證,因此列入主鏈的數據的產生、傳輸與存儲成本都相對較高,適用于區塊鏈中核心數據和高價值數據的存儲。
2. 側鏈
側鏈即與主鏈在某些區塊發生關聯,但主體數據并未列入公共賬本,而是作為獨立數據鏈由區塊鏈中部分節點或用戶所創建、同步與存儲。側鏈可以緩解主鏈網絡資源、數據存儲資源有限,以及處理與存儲成本較高的問題,可作為一種提升區塊鏈并發處理能力的有效手段,用于有限范圍節點或用戶之間進行區塊鏈應用及數據的處理與存儲。
主鏈與側鏈可通過一定技術機制實現信息、數據及其代表價值的相互轉換和傳遞,如圖1-1所示。

圖1-1 主鏈和側鏈
- Blockly創意趣味編程
- Expert Android Programming
- JavaScript 程序設計案例教程
- Getting Started with Gulp
- Test-Driven Development with Django
- INSTANT Adobe Edge Inspect Starter
- 開源項目成功之道
- INSTANT Silverlight 5 Animation
- Orchestrating Docker
- jQuery for Designers Beginner's Guide Second Edition
- Python數據預處理技術與實踐
- JBoss AS 7 Development
- Learning TypeScript
- Flutter之旅
- HTML5 Game Development by Example:Beginner's Guide(Second Edition)