幣圈子演化路徑詳解:區塊鏈共識演算法怎麼實現去中心化?

買賣虛擬貨幣

根據瞭解,小編覺得還是有很多人對於去中心化的理解是模糊的,也不瞭解區塊鏈裡所講的去中心化到底是什麼意思?下面鏈報小編就來給大家詳解區塊鏈共識演算法實現去中心化的演化路徑。

從計算機系統角度來看,區塊鏈技術是一種全新的分散式系統,但區塊鏈與傳統分散式系統最根本的區別就在於其去中心化(Decentralization)特性。所謂去中心化,是指沒有一箇中央控制方能夠控制區塊鏈網路的執行,既不能停止它,也不能操縱其中的資料。去中心化特性為區塊鏈帶來三個好處:容錯性、抗攻擊力和防合謀,從而使得區塊鏈成為一種獨立的、可信的、抗壟斷的技術體系,為在其之上儲存和轉移價值和信任提供了技術保障。

為實現這種去中心化特性,區塊鏈引入了共識演算法,在無須信任的各參與方之間建立了進行可信計算的基礎。所謂共識演算法,實際上是一種協議,當各參與方均按照協議進行計算時,可保證各方所進行的計算結果是一致的,如果有(少數)人不遵守協議提供錯誤的計算結果(拜占庭節點),其計算結果會被其他人拒絕,只有多數人達成一致的計算結果才會被記錄進區塊鏈賬本之中。值得一提的是,參與者是否遵守協議完全由其自己決定,並不受外力的強制。

最早的區塊鏈共識演算法是比特幣所採用的工作量證明(Proof of Work, PoW)演算法,透過反覆進行無法預測結果的雜湊計算(俗稱“挖礦”)來達到隨機選擇區塊建立者的目的。工作量證明演算法簡單、安全、可靠,對節點數量沒有限制,除51%攻擊外幾乎沒有漏洞,像比特幣這樣容納了鉅額財富的區塊鏈網路需要它所提供的最高安全級別保護。但由於挖礦需要消耗巨大的電能,因此工作量證明演算法不適用於低價值系統。

另一種常見的共識演算法是拜占庭容錯演算法(BFT),在惡意參與者不超過1/3的情況下可以提供高效、確定性的共識結果,主要缺點有兩個,一是當參與者數量較多時效能會非常快地下降,從而實際上不可用,二是無法防範分身攻擊,需要明確參與者的身份,防止一個人(機構)部署多個節點。因此BFT共識演算法主要用於小規模的聯盟鏈,不適用於公鏈。

為解決上述問題,出現了權益證明(Proof of Stake, PoS)共識演算法。將工作量證明中的雜湊計算改為質押數字貨幣(即權益),既解決了工作量證明演算法消耗大量算力的缺陷,又解決了BFT演算法的分身攻擊問題。權益證明用幣價下跌的威脅捆綁了參與者的切身利益,起到了與工作量證明機制類似的作用。但權益證明也面臨著3大問題:一是“無利害關係”(Nothing-at-stake attack)問題,攻擊者可以只抵押一次權益但同時在所有分叉上出塊;二是“遠端攻擊”(LongRange Attacks)問題,攻擊者可以從任意長度的距離建立一個分叉而不用擔心被權益被削減;三是“馬太效應”問題,也即財富會愈來愈集中。針對這些問題目前有幾種改進的手段:

• 1、 DPoS(BitShare, Steem, EOS)

• 以EOS的DPoS演算法為例,首先所有使用者透過PoS演算法投票選出21個超級節點,再在超級節點之間用BFT演算法生成區塊。這樣結合PoS和BFT演算法的有點,就避免了傳統PoS演算法的“無利害關係”和“遠端攻擊”問題,但卻帶來了另一個致命的問題:由於超級節點的運營者及其密切支持者往往佔有了大量的EOS幣,很難被普通使用者投票選下去,從而加劇EOS的中心化傾向,與區塊鏈的去中心化本質相牴觸。因此,DPoS演算法只是個折中方案,不是好的共識演算法。

• 2、 Casper(以太坊)

• 以太坊推出的Casper共識演算法則另闢蹊徑,引入了懲罰機制,將未遵守共識演算法、在多個分叉上出塊的節點所質押的以太幣處全部或部分沒收,從而解決無利害關係問題。與此同時,透過結合工作量證明演算法、定期更新區塊的終結狀態,又解決了遠端攻擊問題。這是一個非常精妙的構思,但是否能真正實現還有待觀察。

• 3、 基於VRF的PoS演算法(Algorand, Dfinity,Ouroborous)

• 這類共識演算法思路與DPoS類似,但出塊節點不是由使用者投票選出來,而是透過VRF(Verifiable Random Function,可驗證隨機函式)演算法從所有節點中隨機抽取若干個節點,然後用BFT演算法生成區塊。VRF可以保證無法預測誰下一輪會被抽中,這樣就無法作弊。這類演算法由於其複雜性,尚處於實驗階段,而且有一個通病就是VRF在網路擁堵情況下無法工作,因此應用於公鏈目前還有難度。

• 4、DSC(Penta)

• 上述三類PoS演算法都無法解決“馬太效應”問題。Penta(PNT)提出的DSC(Dynamic Stake Consensus)共識演算法吸收了各種PoS演算法的優點,並創造性地提出了超級議員的概念模式,即將參與記賬的節點分為議員和觀察員兩類,議員需要質押大量的代幣才能獲得資格,而觀察員則只需質押少量代幣即可。觀察員的數量遠遠大於議員的數量,議員和觀察員均由使用者透過PoS演算法投票選出。系統定時透過雜湊抽籤演算法(RSA)挑選議員和觀察員組成若干共識組,每個共識組都由少數議員和多數觀察員組成。每個共識組進行BFT共識,生成各自的候選區塊,最後再透過雜湊抽籤演算法從候選區塊中隨機選取正式區塊。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;