要理解共識機制,首先需要明白什么是共識。我們生活在一個多元化的世界,不存在一模一樣的兩片樹葉,也沒有完全相同的兩個人。所謂共識,就是一群具有各方面差異性的人在某方面達成了一致意見,并將其上升成為共同遵守的規則。
人類文明的發展與繁榮離不開社會群體內個體間的分工協作,而如何分工,如何決策,如何分配成果并獎懲,則全都仰賴一個公認的的規則,或者叫共識。所謂共識機制指的是一個群體用以達成并維護共識的方式,共識機制往往決定著群體的組織形式。人類文明的早期階段,武力是各群體建立和維護共識規則的主要方式,人類依托武力建立了部落、國家等中心化管理權威,制定了中心化的管理規則并懲罰不接受規則的個體。
當然,隨著文明的發展與演進,我們開始制定法律、設計選舉、引入協商與仲裁機制,這成了公司、協會、政府、學校等社會團體達成與維系共識的方式,但這一切文明做法的背后依舊仰賴龐大的國家暴力機器支撐。人類文明選擇通過武力建立中心化權威以構建與維護群體共識,不僅因為在文明早期這一方式最為快捷,更由于依靠中心化權威的管理方式更加高效和穩固。然而,中心化并非唯一可行的方案,只要我們能夠提出一種同樣安全穩固便捷而并無需依托中心化權威的共識機制,同樣可以建立一套與之相對應的全新組織形式。
區塊鏈技術的出現恰恰提供了這樣的選擇,只不過這套去中心化邏輯所依托的并非現實世界而是相對輕量化的網絡環境。共識機制作用的對象也不是個人而是一臺臺所屬權各異的計算機,通過區塊鏈共識機制的應用,可將分散在世界各處的計算機集合至一個統一的網絡實現大規模的機器協作,下面我們將從技術的角度對區塊鏈的共識機制進行詳細拆解。
區塊鏈作為一種點對點的協作網絡,其原理是各節點均掌握一個獨立的賬本,通過保持賬本同步來實現共同記賬,而在沒有一個中心進行指揮和協調同時網絡狀態復雜多變的情況下,如何保證空間上完全分散的各節點賬本能夠完全相同,這就要用到區塊鏈的共識機制了。
以
比特幣為例,我們嘗試來討論一個典型的區塊鏈系統的賬本記賬過程,其公共賬本上記錄著比特幣網絡中每時每刻都在發生的轉賬交易,但這些轉賬信息并非即刻被寫入賬本,而是每隔一段時間進行一次統一記賬。每次記賬會在賬本上新生成一個區塊,區塊中不僅記錄了若干條轉賬記錄,還包含了誕生時間、上一個區塊摘要等內容,通過這種方式,賬本上各個區塊間可依照時間順序形成鏈狀結構。
之所以選擇這種區塊式的記賬方式而非所有節點即時記錄所有信息,是由于在整個去中心化的系統中,考慮到不同節點間網絡狀態以及空間位置的差異,無法做到數據完全同步,通過結構化數據包的方式可以保證各節點記錄結果的正確性。
而對于每一個新生的區塊,基于幾乎同樣的原因,各節點分別記錄的方法并不足以保障賬本的唯一性。針對這一問題,區塊鏈網絡中所選擇的應對方法是采取某種可自動執行的競爭手段選中一個唯一節點首先打包數據生成區塊并記錄到自身賬本,然后由這個被選中的節點將新生產的區塊數據通過互聯網通知其他節點,其他節點在收到信息并驗證區塊無誤后,同步記錄在自己的賬本上,以上就是一次完整的去中心化的分布式記賬過程。
共識機制在這個過程中重點解決兩個問題:一是完全對等的節點之間如何競爭記賬權,鏈技術發展至今,已經有多種競爭記賬權的辦法,我們稍后詳細介紹。第二個可能情況是在實際操作中,由于網絡延時等原因,偶爾會出現兩個節點均認為自己獲得了記賬權而去打包區塊并通知其他節點,其他節點會將首先收到的通知記錄下來而忽略另一個,考慮到兩次通知時間間隔較小,必然會造成所有節點賬本的寫入不一致。對于這種情況,區塊鏈網絡的解決辦法是暫時性接受這種鏈條分叉的狀態,根據后續若干區塊打包節點的記錄為準。這種保留最長鏈的方式能夠保證在復雜網絡環境下多節點依然能夠記錄一個權威的賬本。
現存獨立的區塊鏈網絡有上百條,所用的共識機制
大同小異,主要區別體現在上文的所述競爭記賬方法,因而我們常常也用競爭記賬的方式來命名不同的區塊鏈共識機制。最為常見的有POW、POS、DPOS等。
POW(工作量證明)被比特幣、
以太坊等很多幣種采用,其競爭記帳邏輯是各個節點競爭計算一個隨機數,要得到這個隨機數,必須經過一定的工作量。這一方法簡單粗暴卻極為有效,但常常因為耗費
能源、易節點集中而被詬病。
POS(權益證明)則是通過節點持有代幣的數量乘以持有時間分配記賬權益,記賬權益越高獲得記賬權概率越大,這種競爭方法的實現對于技術要求較高,且容易成為富翁節點的游戲。
DPOS(股份授權證明)共識機制的競爭記賬邏輯類似于人民代表大會制度,代幣持有者擁有相應額度的投票權,投票選出的節點擁有輪流記賬權。采用DPOS的
區塊鏈項目最為著名的是EOS,這一共識機制最顯著優勢在于效率極高同時更加符合目前人們的接受習慣,但劣勢同樣明顯,主要體現在中心化程度最高,很多人認為其違背了區塊鏈的初衷。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。