區塊鏈共識演算法簡介:共識演算法決定了項目發展方向 | 人人都是產品經理

共識演算法是區塊鏈項目中最核心的部分。有分散式,就需要達成共識。目前為止,對於區塊鏈項目爭議最大的之一也是共識演算法,比如EOS的DPoS機制。回到共識機制本身,我們如何來理解背後的本質呢?而不是人云亦云呢?從藍狐筆記的角度,共識演算法是一個不斷演進的過程,也是治理機制的一部分,無須一概否定。

共識演算法的使用是去中心化加密貨幣最重要的一個特徵。共識演算法對於加密貨幣而言至關重要的,因為它可以防止雙花問題。從歷史上看,雙花問題是限制數字貨幣發展的一個重要挑戰,直到最近,採用了分散式賬本之後才得以改觀。

正因為加密貨幣是由公開的和不可篡改的分散式賬本實現的,因此必須採用共識演算法來驗證賬本是否具有唯一性,以保證整個加密貨幣網路不被惡意節點所破壞。

正如TechTarget所解釋,「在計算機科學中,共識演算法是一種用在分散式過程或系統中,實現單一數據值的協議「。共識演算法被設計用於涉及多個不可靠節點的網路中,實現可靠性。解決這個問題-即共識問題-在分散式計算和涉及多個代理的系統中非常重要。

為了適應這種現實,共識演算法有必要假設一些進程和系統將不可使用,並且某些系統間的通信會丟失。因此,共識演算法必須具備容錯的能力。例如,通常假設只需要一部分節點作出反應,但最少需要百分五十一的節點反應。

在加密貨幣方面,共識演算法被設計成用來確保交易是有效的,通過採用冗餘的方法,引入多個參與者來驗證交易準確性。

在當前的多個項目中,有四個主要的實現方式,每個都有其獨特的優點和權衡:工作量證明(pow),權益證明(pos),委託權益證明(dpos)和拜占庭容錯機制(bft)。值得注意的是,這是一個不斷發展的領域,存在其他方法,並且可能會出現新的方法。

工作量證明(pow)

工作量證明是第一個成功的去中心化區塊鏈共識演算法。工作量證明被比特幣和其他的一些加密貨幣使用,例如以太坊(以太坊計劃遷移到權益證明),萊特幣,zcash,門羅和其他一些別的。

工作量證明要求節點參與者執行計算密集型的任務,但是對於其他網路參與者來說易於驗證。在比特幣的例子中,礦工競相向由整個網路維護的區塊鏈賬本中添加所收集到的交易,即區塊。為了做到這一點,礦工必須第一個準確計算出「nonce」,這是一個添加在字元串末尾的數字,用來創建一個滿足開頭特定個數為零的哈希值。

工作量證明最顯著的優點是,它在過去的幾年裡得到了實踐的證明,這個比許多其他共識演算法都更值得一提。然而,工作量證明並不是沒有缺點,其中包含採礦的大量電力消耗和低交易吞吐量。

權益證明(pos)

對於權益證明,有很多實施提議。在所有的實施方案中,權益證明要求所有的參與者抵押一部分他們所擁有的token來驗證交易。不同於通過完成複雜計算問題來驗證交易,驗證者需要通過鎖定token來完成交易驗證。

選取交易驗證者的方式通常是根據他們所抵押的token占整個網路代幣的比例,以及token抵押時長,或者是一些其他的方式以確保交易驗證者的利益和整個網路的長期利益是一致的。

工作量證明通過不划算的耗費電力來阻止不良行為,權益證明則通過長期綁定驗證者的利益和整個網路的利益來阻止不良行為。因此,我們很樂於見到它的成功。

通過鎖定代幣,如果驗證者存在欺詐性交易,那麼他們所抵押的token也會被削減。與工作量證明一樣,權益證明的細節比這裡呈現的要豐富得多。

權益證明目前被用到點點幣,Decred, 以及不久之後會用在以太坊上。權益證明的優勢在於它更經濟,可能相比於工作量證明更能有效防止攻擊,但是目前還沒有被有效的證明,也沒有在大項目中實施。

委託權益證明(dpos)

雖然委託權益證明和權益證明名字差不多,但實施細節卻有顯著的不同。在委託權益證明中,不同於權益證明的抵押token來驗證交易,而是通過token的持有者投票產生一組交易驗證者(超級節點)。

委託權益證明既是去中心化的,因為網路中的所有參與者都能參與投票選取節點來驗證交易,但也是中心化的,因為只有一組交易驗證者,這樣的好處就是提高交易和驗證的速度。

委託權益證明的實施中需要維持良好的信譽,持續投票流程以及驗證節點的更換,來得以保證選取產生的驗證者有良好的責任心和誠實感。

委託權益證明的優勢在於良好的可擴展性以及快速的交易驗證,但是缺點在於部分中心化,並且治理模式還沒在大的區塊鏈項目中被證明行之有效。委託權益證明目前被用於Steemit,EOS和BitShares等項目中。

拜占庭容錯機制(bft)

拜占庭容錯機制本質上是一個高度技術性的演算法(像其他共識演算法一樣)。一般來說,加密貨幣項目所採用的拜占庭容錯機制是通過允許將軍(節點)分別管理一條鏈,並在彼此之間共享消息用來確保正確的交易記錄和每個節點的誠實性。

比較突出的是,拜占庭容錯機制被用於瑞波(驗證節點由瑞波團隊選出)和恆星幣(任何人都可以當驗證節點,信任節點由社區共識產生)。

拜占庭容錯機制的優勢在於可擴展性和低廉的轉賬費用,但是和委託權益證明一樣,引入了部分中心化。

新興的共識演算法

正如前面所提到的,共識演算法和交易驗證的問題非常困難,並且非常微妙。目前有更多新的共識演算法提出不同的權衡方案,並且可能會替代當前所使用的共識演算法。

目前,dag正受到越來越多的關注,並且為可擴展性提出一個可靠的潛在解決方案,Hashgraph,Tangle和Block-lattice是最近受到關注的三種實現方式(同樣,即將推出的更多內容- 並非所有關注都是正面的)。

總結

短時間內,共識演算法必須在可擴展性和中心化之間進行權衡(儘管第二層網路可能會打破可擴展性和中心化這個平衡,例如分層網路,以太坊雷電網路,比特幣閃電網路)。我們還是很期待能夠看到,哪個共識機制能夠刺激大規模的參與者參加穩定治理,以及協議和社區如何適應技術發展。

風險警示:藍狐所有文章都不構成投資推薦,投資有風險,建議對項目進行深入考察,慎重做好自己的投資決策。

 

原文作者:Phil Glazer

原文地址:hackernoon.com

譯者:由藍狐筆記社群芥彌翻譯