區塊鏈技術不僅能創建密碼貨幣,還可以支持個人身份識別、同行評審、選舉等。那麼,區塊鏈技術是如何工作的?
(一)區塊
在瞭解區塊鏈是如何運作的之前,我們先來看看區塊的組成。
區塊共分為兩部分:一部分是區塊頭,另一部分是包含了所有交易記錄的數據主體區塊。
區塊頭共包括三組元數據,
(1)用於連接前面的區塊、索引白父區塊哈希值的數據;
(2)挖礦難度、Nonce(隨機數,用於工作量證明算法的計數器)、時間藏;
(3)能夠總結並快速校驗區塊中所有交易數據Merkle(默克爾)的樹根數據。
哈希算法是一種單向密碼機制,可以保證區塊鏈數據不被竄改。在區塊鏈中,使用SHA—256安全散列算法對接收的一段進行加密,過程不可逆,輸入的明文和輸出的散列數據一一對應。
時間,是每次交易記錄的認證,從區塊產生的時候一直存在。時間戳會將前一個時間截納入隨機哈希值中,同樣具有不可審改性。這個過程不斷重複,依次相連,就能形成完整的鏈條。
網路運行的方式是利用菊花鏈式數據塊來記錄和驗證發生的每一個事務,每個塊都包括一個散列、各種數字指紋、最近區塊鏈交易的時間戳批處理。
(二)區塊鏈的工作原理
區塊鏈的工作原理可以簡單描述如下:
甲想給乙發錢,交易在網路上以一個區塊作為代表,該區塊會將這條資訊廣播給網路里所有的參與者,參與者同意,則交易有效,該區塊就會被添加到鏈上。這條鏈提供永久和透明的交易記錄,資金從甲轉移到乙,全網一本賬,每個人都可以查找。
在這個分布式的數據庫裡,記賬不是由個人或某個中心化的主體來控制的,而是由所有節點共同維護、共同記賬。所有的單一節點都無法竄改,要想竄改一個記錄,需要同時控制整個網路超過51%的節點或計算能力,而區塊鏈中的節點無限多,且無時無刻不在增加新的節點,因此根本不可能具有這樣的掌控力和算力。
區塊鏈是一個互相驗證的公開記賬系統,可以將所有賬戶發生的交易記錄下來,各個賬號的每筆數額變化都會被一一記錄在全網總賬本中。所有數據公開透明,任何人都可以查看它的源代碼;人們通常都公信任這套去中心化的系統,不會擔心裡面是否隱藏著陰謀。
(三)區塊鏈是如何工作的
區塊鏈的一些關鍵屬性,表明區塊鏈優於傳統的分類賬資訊保存系統,主要表現如下:
(1)共識。區塊鏈能通過共識機制,對分類賬進行更新。這是賦予它權力下放的力量,任何機構都不能控制更新分類賬。相反,對區塊鏈進行的任何更新,都會根據區塊鏈協議定義的嚴格標準進行驗證。
(2)Peer—to—Peer(點對點)。沒有控制或操縱它的中央權威,所有參與者直接交談,可以直接與第三方進行數據交換。
(3)不可改變。數據只能按照一定的時間順序添加到區塊鏈中,一旦實現了這一步,數據就幾乎不可能改變了。
(4)密碼安全。將密碼技術用於安全服務,分類賬本就能有效防止竄改事件的發生。
(5)分布式。分類賬分布的存在,使整個網路中不容易發生審改事件。
區塊鏈究竟是如何工作的?
(1)節點創建事務,用私鑰對進行數字簽名,就能啟動事務。事務可以表示區塊鏈中的各種操作,其數據結構通常包括傳遞邏輯、相關規則、目標地址和其他驗證資訊。
(2)新創建的塊是分類賬的一部分,下一個塊以加密方式鏈接回此塊。此鏈接是一個哈希指針。交易獲得第二次確認,該塊獲得第一次確認。
(3)用Gossip協議將事務傳播到基於預設標準驗證事務的對等體。通常,需要多個節點來驗證事務。
(4)每次創建新塊時,都公重新確認事務。通常,需要在網路中進行六次確認,才能考慮最終交易。
(5)驗證了事務,它會被包含在一個塊中,該塊傳播到網路上,交易就會被視為已確認。