在區塊鏈中應用了兩個最重要的數據加密安全技術,一個是非對稱加密技術,一個是哈希計算。
對稱加密只有一個密碼,加密解密的密碼完全相同,因而當我們使用了一個密碼加密數據後,把數據傳送給接收方,要使接收方能使用數據,則必須同時將加密密碼傳送給接收方。加密密碼很容易在傳輸途中被竊取,從而使加密失效,因此對稱密鑰不適用通信環境。
而非對稱加密,有一個密鑰對,一個稱為公鑰,一個稱為私鑰,在通信網絡中,我們可以向所有通信方廣而告知公鑰,但私鑰僅為自已掌握,就象我們可以向全世界廣而告之我們的郵箱地址,但郵箱地址僅為我們自已掌握。
發送方使用接收方的公鑰加密,可以確保加密數據僅能為掌握該公鑰對應的私鑰的接收方能解密使用。同時,發送方使用自身的私鑰對數據進行籤名,接收方僅能通過發送方的公鑰進行解籤名,從而驗證數據確實是由發送方所發出。
非對稱密鑰體制是在一個去中心的網絡通信環境中,建立了一個以用戶公鑰為帳戶地址的公共帳本,使通信雙方無需對其物理身份信任即可與其進行價值交易,如數字資產的轉移、交換,從而實現了區塊鏈的去信任技術特徵。
區塊鏈網絡整體而言是一個去中心化的P2P網絡,沒有絕對的中心控制點,因此具備自由、民主、開放的網絡特徵,但同時區塊鏈又通過建立網絡中大家均認可的共識機制,又確保了網絡數據帳本的一致性。
這正如我們現實社會生活中,既要講民主又要講集中一樣,只講民主不講集中,社會會陷入混亂;而只講集中不講民主,社會又會缺乏活力,不利大眾參與及創新。而區塊鏈是在去中心的基礎上實現了網絡數據的集中,這一點非常的不易,也是區塊鏈之所以具有重要價值與魅力的核心所在,因而去中心是區塊鏈的核心技術特徵。
區塊鏈還應用了一項數據加密安全技術即哈希計算,哈希計算的原理是同一份數據經過哈希計算後可以獲理一個固定長度的哈希碼,若原始數據中的任一改變,即使改變了一個小小的標點符號,也會導至哈希碼的大不相同。
因此,數據一旦經過哈希計算獲得了哈希碼,除非使用完全相同的數據來計算,否則不能獲得同一哈希碼。
因此哈希碼我們也常稱為數據指紋,即該哈希碼可以唯一代表其原始數據,這使我們通常使用哈希碼來對原始數據進行驗證,以防止數據被篡改。
在區塊鏈中,我們每一個區塊的區塊頭,專門有一個欄位用於存儲前一區塊的哈希碼,因此當前一區塊的哈希碼被確認和封裝進入後一區塊後,前一區塊的數據即被確認,並不能更改,並且我們可以通過最新的區塊一直追溯到創始區塊,並通過對區塊的哈希計算驗證,確保區塊中的每一份數據沒有被篡改過。區塊鏈的這個數據記錄特徵,使其具有了數據防篡改,並可以追溯歷史的技術特徵。