1、區塊鏈到底是啥?
區塊鏈的基本知識
區塊鏈具有分布式特性且可以有效地保障網絡中的數據安全,而空天地一體化網絡也是典型的分布式網絡,因此區塊鏈可以用于空天地一體化網絡進行安全維護。比特幣網絡中產生一個區塊所需時間約為10分鐘,該時延不滿足空天地一體化網絡低時延的要求,因此本文在對區塊鏈的基本知識進行深入分析后提出基于哈希鏈的身份認證和隱私保護方案。
區塊鏈的概念
區塊鏈是近年來計算機技術在互聯網、金融領域興起的一種新型的應用模式,是分布式數據存儲技術、點對點傳輸技術(P2P)、共識機制以及加密算法等的結合。區塊鏈是一種鏈式的數據結構,將區塊按時間順序鏈接,并采用密碼學方法保證數據記錄的不可篡改和不可偽造的特性。
區塊鏈技術最早來源于中本聰(SatoshiNakamoto)于2008年發表的論文。文中雖然沒有提出區塊鏈這一概念,但是提出了一個基于端到端的網絡來解決雙重支付問題的方案。該現金系統允許在線支付直接從一個賬戶轉到另一個賬戶而不需要經過金融機構(第三方機構)。在整個網絡中,交易的時間戳的Hash值會形成一個哈希鏈作為一個支付的證明,同時也是交易發生順序的證明。

具體來講,區塊鏈利用塊鏈式的數據結構來驗證并存儲數據、利用共識機制來生成和更新數據,利用智能合約(由自動化腳本代碼組成)來編程和操作數據。
如圖2-4所示,區塊鏈的技術發展路線從P2P網絡、加密方法到區塊鏈1.0和區塊鏈2.0。區塊鏈從下至上分為五層:數據層、網絡層、共識層、激勵層以及應用層。
2、區塊鏈的關鍵技術
區塊鏈的關鍵技術有以下幾點:
(1)通信:節點間數據傳播,區塊鏈中一般采用P2P網絡來組織所有的節點,節點之間一般是通過多播機制實現數據的傳播。
(2)存儲:在正常的運行過程中數據會以塊鏈式的結構存儲在內存中,但是最終還是會存儲到數據庫中。
(3)安全機制:區塊鏈利用密碼學原理進行數據的加密及隱私保護,常用的有哈希算法、數據加密、數字簽名以及零知識證明等。
(4)共識機制:區塊鏈中各個節點達成一致的策略和方法,常見的有工作量證明、權益證明、股份授權證明、拜占庭容錯以及權威證明等。
區塊按照時間順序逐個連接成漣,每一個區塊記錄了區塊創建過程中發生的所有的交易信息,區塊一般分為區塊頭和區塊體,區塊頭主耍由當前區塊的版本號、前一區塊的Hash值、時間戳、隨機數、目標Hash值和Merkle根等組成。區塊體包含了區塊創建和驗證過程中的所冇交易記錄。區塊鏈主鏈上的區塊是加蓋時間戳按時間先后順序鏈接起來的,作為交易數據不可竊改、不可偽造的證明。隨機數(Nonce)是在挖礦過程中用于挖掘加密貨幣而自動生成的,是基于POW所涉及的隨機數字,通過難度的調整來改變其汁算時間。如圖2-7所示

區塊鏈保存的一般是交易數據的Hash值,而不是原始數據。Hash值通常用一個任意的輸入通過哈希運算得到的定長的“指紋”。哈希函數(散列函數),具有單向性、定時性、定長性和隨機性的特點,對于輸入的不同數據會產生長度固定的不同輸出。一般不能通過結果反推出輸入值,并且不同長度的輸入值哈希運算所消耗的時間基本相同。
區塊體中的交易記錄通常會使用最簡單的二叉Merlde樹進行組織,在樹的最底端是每筆交易的原始記錄;每一筆交易經過哈希運算得到一個Hash值,這些Hash值再兩兩結合經過哈希運算得到新的Hash值,以此類推會生成一個最終的結果,這個值就是Merkle樹的根。在圖2-7中,原始的交易數據就是交易1、交易2、交易3和交易4,經過一次哈希運算得到的Hash值Hash
1、Hash2、Hash 3和Hash 4。再依次向上進行哈希運算得到最終的Hash值Hash
1234即為Merkle根。一旦交易內的數據被篡改,通過哈希運算后,其Hash值也會發生改變,Merlde樹的根也會發生變化,可以快速驗證交易數據的完整性。從圖2-7可以看出,Merkle樹是區塊鏈的重要組成部分,使得區塊頭只需要包含最后的Hash值即Merkle根,而不需要將所有的交易數據封裝起來,這就節省了生成區塊的時間、提高了區塊鏈的運行效率;其次,可以在只運行部分節點的情況下進行交易數據的驗證。
3、區塊鏈的應用
區塊鏈的應用發展到目前主要有三個階段,初始的以比特幣為代表的加密貨幣階段,通過對使用場景的優化發展到以以太坊為代表的智能合約階段,最后發展到現在各個領域中的應用。下面舉例介紹一下區塊鏈在不同階段的應用:
區塊鏈1.0時代,比特幣,中本聰于2008年提出的一種點對點、去中心化的加密貨幣。比特幣不依賴于中央機構發行,而是通過POW在區塊鏈中完成。同時,比特幣使用分布式的數據庫來記錄并驗證相關交易信息。
區塊鏈2.0時代,以太坊是一個可以建立和發布其他分布式應用的開發平臺。以太坊平臺上有可以自動執行的智能合約,通過區塊鏈的節點以分布式的方式執行。以太坊是一種開源的、圖靈完備的、智能合約公有區塊鏈。
區塊鏈3.0時代,區塊鏈被應用到其他領域中,例如,基于區塊鏈的眾籌平臺、基于比特幣區塊鏈的分布式匿名數據協議、基于以太坊區塊鏈的人工智能科研平臺。除此以外,區塊鏈還在物聯網、車聯網等領域有廣泛的應用前景。在物聯網領域中,區塊鏈可以用來追蹤智能設備的運行情況,共享信息提高效率、進行維護,還可以在樓內中利用傳感器來實現智能家居。將區塊鏈運用到車聯網領域中,區塊鏈既可以傳遞交通信息,幫助車輛避開擁堵路段、提供更好的駕駛體驗,還可以利用數字網絡追蹤貨物的運輸或追蹤車輛實現車輛間的通信、車輛檢測等。然而,比特幣系統中一個比特幣區塊的生成過程需要10分鐘,系統每秒僅能處理7筆交易??仗斓匾惑w化網絡對時延的要求非常高,利用共識機制來生成區塊可能會帶來很大的時延,因此,本文在POA的基礎上提出不使用傳統共識機制的哈希鏈來作為認證方案的基礎。