區塊鏈的共識機制

區塊鏈可以看作一個非中心化分佈式的賬本,參與交易的各方共同維護著同樣的賬本記錄,這意味著各節點都保存賬本的完整副本,並認可賬本的正確性,沒有一個節點能夠完全控制記賬的權利。它實現了人類記賬規則與記賬方式的重要突破,從而為線上價值轉移提供了基礎 。

區塊鏈的共識機制


但絕對可靠的分佈式對等系統是不存在的。由於組成分佈式對等系統各節點的地理位置不同、網絡延遲的存在,節點間的通信總是存在不可預測的延遲,因此不同節點對其接收到消息的先後順序有不同的判斷,這種消息處理模式稱為異步模型。除了節點通信過程會發生意外,有時組成網絡本身的各節點也會發生故障,表現出不可預測行為,它的存在是設計開放式區塊鏈網絡共識機制時必須考慮的因素。

<strong>區塊鏈的不足點:

區塊鏈是一個公共賬本、公開的數據庫,同時也是一個點對點的協作網絡。協作方(節點)共同維護數據,每個節點都有一份完整的數據備份,所有節點的數據內容必須完全一致,每個節點都可以在本地查找交易記錄,每個節點也可以在本地添加交易。

沒有一箇中心來指揮、協調,要完成這個協作,區塊鏈就必須有一個共識機制,這個機制必須解決兩個基本問題:

1. 誰有權寫入數據——一次只有一個人可以記賬;

2. 其他人如何同步數據——因為要保持賬本的一致性。

數據寫入(區塊添加)的過程是這樣的:有權打包交易的節點,將打包的交易(區塊)放在既有的數據庫(區塊鏈)上,並向全網廣播,其他節點收到信息,驗證區塊無誤,就會同步這個新打包的交易。每個打包的交易叫作一個區塊,區塊不斷疊加,延長區塊鏈。

區塊鏈的共識機制

同步數據有一個問題,就是如何對在一定時間段內發生的交易的先後順序達成一致?

由於各個節點都在自發地記賬或者同步,在點對點相互通信下的情況下存在較高的網絡延遲,因此各個節點收到數據的先後順序是不一致的。你記你的,我記我的,如何保證每個節點副本數據的一致性?

區塊鏈的共識是:以最長鏈作為主鏈,即每個節點總是選擇並嘗試延長主鏈,也就是各節點都以區塊最多的那條鏈作為自己添加、更新區塊的選擇,這樣多節點就能同步一個權威的公共賬本了。

那麼,區塊鏈共識機制重點要解決第一個問題:誰有權寫入數據?

隨著區塊鏈的發展,已經有多種方法解決這個問題了。

<strong>POW, POS和 DPOS:

下面介紹一下三個主要的:POW, POS和 DPOS。

<strong>POW (Proof of Work) 工作量證明

這裡的工作量,指的是計算機計算Nonce(隨機數)的過程。每個節點都去計算一個隨機數,一定時間段內,找到隨機數的難度是一定的,這就意味著,得到這個隨機數必然要經過一定的工作量。最先得到這個隨機數的節點,將打包的交易區塊添加到既有的區塊鏈上,並向全網廣播,其他節點驗證、同步。

區塊鏈的共識機制

<strong>POS (Proof of Stake) 權益證明

POW以計算隨機數的工作量作為獲得數據寫入權的考量,而POS,則是系統根據節點持有的Token(代幣)的數量及時間的乘積(幣天數)分配相應的記賬權,擁有的越多,獲得記賬權的概率越大。Token就相當於區塊鏈系統的權益(Stake),因此被稱為基於權益的證明。

<strong>DPOS (Delegated Proof of Stake) 權益授權證明

POS是擁有Token就擁有獲得記賬的權利,而DPOS是指擁有Token的人投票給固定的節點,這些節點作為權益人的代理去行使記賬的權利。這些獲得投票認可的代表根據一定的算法依次獲得記賬權。不同於POW和POS理論上全網都可以的參與記賬競爭,DPOS的記賬節點在一定時間段內是確定的。

這些證明機制的底層是代碼、加密算法,它們提供了“誰來記賬”這個問題的答案。總的來講,它們都要在效率和去中心化這兩個維度上做出平衡。本文不討論這三種方式的利弊比較,而是繼續討論關於協作的幾個問題。

第一,如何吸引人參與協作?

這和中心化組織是一樣的,依靠激勵。只是中心組織依靠中心發放的獎勵,而區塊鏈靠分配Token 激勵各方參與協作。

第二,不守規則的人如何處理?

想參與協作就必須遵守設定的規則,不願意接受共識,自然無法成為協作組織的一員。

第三,如果有人參與協作,卻試圖破壞共識怎麼辦?

因為區塊鏈的共識是每個節點都嘗試延長主鏈,而主鏈是區塊最多,大多數節點共同維護認可的數據庫,所以,少數節點的破壞不會有任何影響。就像一幫人走路,大部隊走的路才是正路,現在有少數人走到岔道去了,那能有啥影響呢?

區塊鏈的共識機制


那麼,多數節點試圖破壞呢?這就是所謂的51%攻擊,理論上可能,但實踐中幾乎不可能,這一方面是因為代價太高,另一方面協作各方基於利益考量甚至會主動規避這種可能性。

於是,基於代碼、加密算法和博弈形成的共識機制,提供了一種全新的協作方式:

各方按照既定規則參與協作,代碼代替權威,Token產生激勵,博弈驅逐破壞者,協作自然達成。

一種新型的共識機制,使得去中心化的大範圍高效協作成為可能。區塊鏈技術的發展和迭代,將極大地促進各種自組織的產生。實際上,當大多數人在質疑區塊鏈有沒有價值,少數人只關注幣價漲跌的時候,各種分佈式自組織已在醞釀。

未來已來,只是尚未流行。

----------------------- end -----------------------


分享到:


相關文章: