fbpx

介紹 PoW, PoS, DPoS 共識機制

什麼是 PoW, PoS, DPoS 共識機制?

區塊鏈中的眾多節點為了防止弊端問題 ,就必須設計一套「共識機制 (Consensus)」來保護系統。區塊鏈是一種去中心化與分散式系統的實踐,架構中只要是遇到分散式系統,就必須處理資訊同步問題,只要是遇到去中心化,並必須處理作弊問題 (拜占庭問題)。這就是區塊鏈為什麼需要共識演算法的原因,目前有幾個常用的驗算法,分別為 PoW, PoS, DPoS。這些演算法在不同的應用場景都有不同的優勢,沒有哪一種演算法一定比較好,但我深信未來一定會有更多變形的共識演算法出現。先介紹一下我們常聽到的幾個演算法:

PoW 共識演算法 (比苦力)

區塊鏈始主比特幣 (BitCoin) 使用了由 Adam Back 所發明的 PoW, Proof-of-Work (工作量證明) 作為共識機制,由於 PoW 機制會耗費大量運算來計算 Hash (其實應該是說暴力猜測),大量能源被消耗一直被世人所詬病。在 PoW 共識機制保護下,除非你的計算力超過區塊鏈全網的 51% 才有機會取得中心化控制權,這個 51% 攻擊法在「矽谷群瞎傳」這個美劇第四季上曾經上演過這個情節。

 

PoS 共識演算法 (比財力)

PoW 耗費運算且出塊速度慢,節點數量多也造成同步緩慢問題 (太多的分歧與合併),這些問題一直以來被世人所詬病。後來新的區塊鏈技術漸漸開始轉向由 Sunny King 發明的 PoS, Proof-of-Stake (權益證明) 共識機制,透過鎖定含有稀缺性的數位幣 (Token) 來決定出塊順序。因此可以減少能源消耗問題,不在浪費資源重複計算 Hash,也有效避免了 51% 算力駭客攻擊。以大幣 ETH 2017 年就改用 PoW + PoS 的機制進行運作,未來會有更多數位幣跟進也不一定。

在 PoS 的機制下,如果駭客想要竄改網路,就必須先取得大量的 Token,然而取得大量 Token 就需要大量的資金,阿駭客就是因為沒有錢才要當駭客,因此在 PoS 的共識機制下,確實目前有效阻擋了大部分的攻擊行為。PoS 雖然解決了區塊鏈同步效能的問題,但是卻有著大者恆大,有錢人就越有錢的問題。因為擁有比較多鎖定 Token 的節點,便有更多的機會負責出塊而得到獎勵報酬。

DPoS 共識演算法 (比聲望)

除了 PoW, PoS 還有一個新選擇,就是 DPoS, Delegated Proof-of-Stake (委託權益證明),DPoS 由 Daniel Larimer 所發明,Daniel Larimer 這位大神創造了 Bitshares, Steem 和 EOS 三個區塊鏈專案,也都應用了 DPoS 作為共識機制。DPoS 與 PoS 不同的是它創造了一個選舉的機制,透過 DPoS 可以選出特定數量的節點,然後由特定數量的節點輪流進行區塊的出塊工作。

DPoS 有些類似董事會的概念,假設今天沒有董事會的機制,公司營運策略皆由全部股東參與執行,決策運作起來效率極差。如果透過大家推舉董事參與營運策略,只要這些董事不集體叛變,正常情況都是安全的。即使有部份董事不乖,股東也可以透過投反對票剃除董事資格。因此區塊鏈採用 DPoS 共識機制效率極高,EOS 每秒可以處理 10W ~100W 的交易量。也解決了部份傳統 PoS 大者恆大的問題,反之我們思考 EOS 票選出來的 21 個超級節點,卻換來的是一個中心化的架構,或者說弱中心化。這個架構受到 DPoS 的保護,未來會不會有安全性問題就有待時間的考驗了。

今天這幾種演算法就介紹到這裡,廢文結束.......