巨鯨數字-區塊鏈技術-白話區塊鏈三要素
區塊鏈通常被定義爲去中心化的分佈式記賬系統,該系統中的節點無需互相信任,通過統一的共識機制共同維護一份賬本
用計算機語言概括:區塊鏈是一種分佈式、去中心化的計算與存儲架構。
1.分佈式
既然是分佈式的數據存儲,那麼在各個節點之間就存在一個數據同步的問題,以誰的數據爲準,誰的數據可信賴?對這個問題,我們可以換個角度理解—既然各自對彼此不信任,那就“無需信任”。“無需信任”技術上的解決方法就是首先假設互相不信任,然後每個節點都能存有一份完整的數據記錄,且每條新的交易都需要重新驗證。當一個節點重新加入網絡並需要同步數據的時候,就可以從其他節點同步數據,並重新計算驗證,這樣就解決了分佈式存儲的可信任數據問題。爲了讓數據驗證能夠高效可靠,區塊鏈系統必須有一個好的數據結構來搭配。
(上圖是比特幣區塊鏈的數據結構圖)
系統中的交易被打包成區塊(block),在系統的運行過程中,區塊鏈每次只能生成一個塊,且每個塊中都包含了用於驗證其有效鏈接於上一個區塊後的數字憑證。區塊鏈就是這樣由“一個個區塊按照密碼學算法連接在一起”的區塊所組成。這樣的結構設計能夠很容易驗證數據是否被篡改、以及追蹤歷史和保證數據安全。
3.去中心化
那區塊鏈的去中心化又是怎麼一回事呢?系統的各個節點組成了一個龐大的P2P網絡,每個節點均分別執行、驗證和記錄相同的交易,並會在本地存儲完成的區塊鏈數據。同時不存在一箇中心化機構干預執行順序和結果。這樣便實現了“去中心化”的目的。
3.共識機制
共識機制,即一致性協議。通過數學運算,計算出一個滿足規則的隨機數,即獲得本次記賬權,隨後發出本輪需要記錄的數據,全網其它節點驗證後一起存儲。爲了激勵大家能高效正確的記賬,系統對記賬節點有相應的獎賞,這樣一來大家就會積極參與並貢獻計算和存儲資源來爭奪記賬權。同時其他節點對該節點的區塊結果進行驗證,通過後則接受這個區塊。由於可以互相驗證,也保證了數據的可靠性。PoW工作量證明是目前最流行的算法,應用於大多數加密貨幣的共識機制上,每個版本有各自的區別。
爲保證共識機制取得廣泛認可,它的設計既要安全,以保證全網中各個節點所存儲的數據能達成共識;也要有有效的激勵機制,來激勵礦工以維持節點的運行。
最後用一個示例簡單總結一下。A要轉賬給B,他需要先創建一條交易,並確定付款人、收款人、轉賬金額信息。A確認後把“交易”發佈到區塊鏈網絡中。這條交易信息會被節點驗證並打包到當前“區塊”後並向其他節點廣播,通過其他節點共識達成全網數據一致。當A能在區塊鏈中查詢到這筆交易的時候,B則可以認爲自己已經收到了A的轉賬。
另外特別說明一點,加密貨幣只是區塊鏈技術的一個很小的應用,而非區塊鏈技術真正的價值體現。由區塊鏈技術傳遞出的一些普世價值觀,如:公平、公正和有價交換,或許纔是所有區塊鏈人應該追求的方向。