1. 程式人生 > >淺談共識機制(POW、POS、DPOS、PBFT及POP)

淺談共識機制(POW、POS、DPOS、PBFT及POP)

共識機制有什麼用?

它就像一個國家的法律,維繫著區塊鏈世界的正常運轉。

在區塊鏈上,每個人都會有一份記錄鏈上所有交易的賬本,鏈上產生一筆新的交易時,每個人接收到這個資訊的時間是不一樣的,有些想要幹壞事的人就有可能在這時釋出一些錯誤的資訊,這時就需要一個人把所有人接收到的資訊進行驗證,最後公佈最正確的資訊。

共識機制的背景

加密貨幣都是去中心化的,去中心化的基礎就是P2P節點眾多,那麼如何吸引使用者加入網路成為節點,有那些激勵機制?同時,開發的重點是讓多個節點維護一個數據庫,那麼如何決定哪個節點寫入?何時寫入?一旦寫入,又怎麼保證不被其他的節點更改(不可逆)?回答這些問題的答案,就是共識機制。

一、POW

(Proof of Work):工作量證明機制。

基本原理:第一代共識機制,比特幣的基礎。理解起來,很簡單,就是“按勞取酬”,你付出多少工作量,就會獲得多少報酬(比特幣等加密貨幣)。在網路世界裡,這裡的勞動就是你為網路提供的計算服務(算力x時長),提供這種服務的過程就是“挖礦”。假如是真的礦場,顯然在均勻分佈的前提下,人們“挖礦”所得的比重與各自提供的算力成正比,通俗一點就是,能力越強獲得越多。

優點:

  1. 機制本身當然很複雜,有很多細節,比如:挖礦難度自動調整、區塊獎勵逐步減半等,這些因素都是基於經濟學原理,能吸引和鼓勵更多人蔘與。
  2. 理想狀態,這種機制,可以吸引很多使用者參與其中,特別是越先參與的獲得越多,會促使加密貨幣的初始階段發展迅速,節點網路迅速擴大。在CPU挖礦的時代,比特幣吸引了很多人蔘與“挖礦”,就是很好的證明。
  3. 通過“挖礦”的方式發行新幣,把比特幣分散給個人,實現了相對公平。

缺點:

  1. 算力是計算機硬體(CPU、GPU等)提供的,要耗費電力,是對能源的直接消耗,與人類追求節能、清潔、環保的理念相悖。不過,如果非要給“加密貨幣”找尋“貨幣價值”的意義,那麼這個方面,應該是最有力的證據。
  2. 這種機制發展到今天,算力的提供已經不再是單純的CPU了,而是逐步發展到GPU、FPGA,乃至ASIC礦機。使用者也從個人挖礦發展到大的礦池、礦場,算力集中越來越明顯。這與去中心化的方向背道而馳,漸行漸遠,網路的安全逐漸受到威脅。有證據證明Ghash(一個礦池)就曾經對賭博網站實施了雙花攻擊(簡單的說就是一筆錢花兩次)。
  3. 比特幣區塊獎勵每4年將減半,當挖礦的成本高於挖礦收益時,人們挖礦的積極性降低,會有大量算力減少,比特幣網路的安全性進一步堪憂。

二、POS

(Proof of Stake):股權證明機制。

基本原理
  1. 這是點點幣(PPC)的創新。沒有挖礦過程,在創世區塊內寫明瞭股權分配比例,之後通過轉讓、交易的方式(通常就是IPO),逐漸分散到使用者手裡,並通過“利息”的方式新增貨幣,實現對節點的獎勵。以太坊是POW跟pos結合。

  2. 簡單來說,就是一個根據使用者持有貨幣的多少和時間(幣齡),發放利息的一個制度。現實中最典型的例子就是股票,或者是銀行存款。如果使用者想獲得更多的貨幣,那麼就開啟客戶端,讓它保持線上,就能通過獲得“利息”獲益,同時保證網路的安全。

優點:

  1. 節能。不用挖礦,不需要大量耗費電力和能源。
  2. 更去中心化。首先說,去中心化是相對的。相對於比特幣等PoW型別的加密貨幣,PoS機制的加密貨幣對計算機硬體基本上沒有過高要求,人人可挖礦(獲得利息),不用擔心算力集中導致中心化的出現(單使用者通過購買獲得51%的貨幣量,成本更高),網路更加安全有保障。
  3. 避免緊縮。PoW機制的加密貨幣,因為使用者丟失等各種原因,可能導致通貨緊縮,但是PoS機制的加密貨幣按一定的年利率新增貨幣,可以有效避免緊縮出現,保持基本穩定。比特幣之後,很多新幣採用PoS機制,很多采用工作量證明機制的老幣,也紛紛修改協議,“硬分叉”升級為PoS機制。

缺點:

  1. 純PoS機制的加密貨幣,只能通過IPO的方式發行,這就導致“少數人”(通常是開發者)獲得大量成本極低的加密貨幣,在利益面前,很難保證他們不會大量拋售。
  2. PoS機制的加密貨幣,信用基礎不夠牢固。
  3. 為解決這個問題,很多采用PoW+PoS的雙重機制,通過PoW挖礦發行加密貨幣,使用PoS維護網路穩定。或者採用DPoS機制,通過社群選舉的方式,增強信任。

三、DPOS

(Delegated Proof of Stake):授權股權證明機制

基本原理

無人控制的公司發行股份,產生利潤,並將利潤分配給股東。實現這一切不需要信任任何人,因為每件事都是被硬編碼到軟體中的。通俗點講就是:公司股份制,股東持有這些公司的股份,公司為股東產生回報,無需挖礦。

優點:

  1. 能耗更低。DPoS機制將節點數量進一步減少到101個,在保證網路安全的前提下,整個網路的能耗進一步降低,網路執行成本最低。
  2. 更加去中心化。目前,對於比特幣而言,個人挖礦已經不現實了,比特幣的算力都集中在幾個大的礦池手裡,每個礦池都是中心化的,就像DPoS的一個受託人,因此DPoS機制的加密貨幣更加去中心化。PoS機制的加密貨幣(比如未來幣),要求使用者開著客戶端,事實上使用者並不會天天開著電腦,因此真正的網路節點是由幾個股東保持的,去中心化程度也不能與DPoS機制的加密貨幣相比。
  3. 更快的確認速度。每個塊的時間為10秒,一筆交易(在得到6-10個確認後)大概1分鐘,一個完整的101個塊的週期大概僅僅需要16分鐘。而比特幣(PoW機制)產生一個區塊需要10分鐘,一筆交易完成(6個區塊確認後)需要1個小時。點點幣(PoS機制)確認一筆交易大概也需要1小時。

缺點:

  1. 投票的積極性並不高。絕大多數持股人(90%+)從未參與投票。這是因為投票需要時間、精力以及技能,而這恰恰是大多數投資者所缺乏的。
  2. 對於壞節點的處理存在諸多困難。社群選舉不能及時有效的阻止一些破壞節點的出現,給網路造成安全隱患。

四、PBFT

Practical Byzantine Fault Tolerance,實用拜占庭容錯演算法。

拜占庭共識演算法(Practical Byzantine Fault Tolerance- PBFT)也是一種常見的共識證明。它與之前兩種都不相同,PBFT以計算為基礎,也沒有代幣獎勵。由鏈上所有人蔘與投票,少於(N-1)/3個節點反對時就獲得公示資訊的權利。

優點: 演算法的可靠性有嚴格的數學證明,具備(n-1)/3容錯性

缺點:當有1/3或以上記賬人停止工作後,系統將無法提供服務。

五、POI

基本原理

PoI(Proof of Importance)重要度證明共識演算法引了賬戶重要程度的概念,使用賬戶重要性評分來分配記賬權的概率。

優點:低能耗,速度快,公 平

缺點:缺少社群共識,賬戶 重要性≠裝置貢獻度

六、POP

POP(ProofofParticipation)演算法,POP 將 POI和DPOS 的思想結合

基本原理

這是標準鏈(CZR)的創新,基於賬戶參與度的 PoP(ProofofParticipation)演算法,POP 將 POI 和DPOS 的思想結合,既能確保對裝置的公平性,又擁有社群的共識。

優點:低功耗、速度更快,更加安全,既能確保公平性,又擁有社群的共識。

總結

  1. POW 工作量證明機制,類似於按勞分配。
  2. POS 股權證明機制。 持有股票的人,就有對應的權利,持有的越多,權利越大 。
  3. DPOS 授權股權證明機制。類似於董事會, 董事會成員數量有限,,由大家選舉產生, 被選中的董事會成員可以行使權利。
  4. PBFT這是一種基於訊息傳遞的一致性演算法,演算法經過三個階段 預準備(pre-prepare)、準備(prepare)和確認(commit)達成一致性,這些階段可能因為失敗而重複進行。
  5. POI本質都是POS的變種,就一帶而過了。
  6. POP是前邊所有的幾種的升級。

從機制設計上來看. POW 機制更加強調去中心, 更加強調對等.。而DPOS 則是有一個明顯的中心, 通過帶來部分中心,來得到效率的提升。哪一種機制更好, 有待時間的驗證. POW 已經執行快10年, 電力耗費已經非常嚴重. POP的出現, 有可能讓記賬這件事情更經濟效率, 從而支撐起更多大規模的協作體系。