最全共識演算法盤點

買賣虛擬貨幣
共識演算法是所有區塊鏈/DAG技術的基礎,他們也是區塊鏈/DAG平臺最重要的組成部分。沒有它們(共識演算法機制),我們就只會有個無法改變的資料庫而已。下面是主要共識演算法的列表,而且我們可以評估它們的好處和壞處。1.工作量證明 (PoW)好處:自從2009年開始,就可以進行了測試,到如今仍然很穩定。壞處:速度很慢。
消耗大量的能源,並且對環境不好。容易受到規模經濟的影響。型別:競爭性共識演算法。解釋:這是第一個共識演算法機制(中本聰在他的文章中提出)來建立分散式無需信任的共識,並且解決雙花問題。工作量證明不是一個新的想法,但是中本聰將這個和其他的概念- 加密簽名,默克爾樹以及P2P網路結合起來- 從而形成了分散式共識系統,其中數字貨幣是首個基礎應用,這充滿創新。區塊鏈中的參與者(礦工)必須要解決複雜但是無用的計算問題,從而將轉賬區塊加入到區塊鏈上。基本上,這是來保證礦工花費成本/資源(礦機)來完成這項工作,從而表示他們不會欺騙區塊鏈系統,並且對系統造成傷害,會導致他們損失自己的投資;因此傷害他們自己。
這個問題的難度會隨著時間改變,這是為了保證恆定的區塊生成時間。有時候會發生一種情況,其中有超過一個礦工在同時解決這個問題。在那種情況下,礦工會選擇其中一個鏈,而且最長的鏈會是獲勝者。所以假設大多數礦工在挖一個鏈,那麼這條鏈就會發展最快,並且是最值得信任的。因此只要50%的礦工是誠實的,那麼比特幣就是安全的。2.權益證明好處:能源利用效率高攻擊成本更高不容易受到經濟規模的影響
壞處:無利害關係攻擊型別:競爭性共識演算法。解釋:權益證明是工作量證明的替代方案,為了解決其中的問題。和挖礦不同,你需要在系統中持有權益(代幣)。所以,如果你只有10%的代幣,那麼你挖出下個區塊的概率為10%。挖礦需要很多的算力來解決不同的加密計算,從而解鎖這些加密難題。算力意味著,工作量演算法需要大量的電力需求。在2015年,1個比特幣大約需要1.57個美國家庭每天的耗電量。所以,為了節省能源,權益證明演算法誕生了。在權益證明中,一美金是一美金。例如,假設有10,000個礦工,每個人花費1美金/分鐘,就會比礦池花費10,000美金/分鐘擁有更少的算力。但是在權益證明中,如果你不能一次使用完全。這裡的一美金還是一美金。因此,這不會受到經濟規模的影響。
並且,攻擊權益證明系統比攻擊工作量證明系統更加昂貴。對權益證明進行51%攻擊的代價,是要讓所有ASIC礦機全部倒下。這意味著,每次你攻擊權益證明系統,都會失去權益抵押,但是在工作量證明,如果你攻擊系統,但是你不會失去挖礦裝置或者代幣;你只不過是讓攻擊很難實施。但是權益證明會出現個問題,就是無利害關係攻擊問題,其中區塊生成者透過向多個區塊鏈進行投票,就不會損失任何東西,從而防止達成共識。不像工作量證明系統(你需要做大量計算來擴充套件一個鏈),同時為挖幾個鏈也只有很少的成本。很多專案嘗試透過不同方案來解決這個問題。例如,上面所說,其中一個解決方案就懲罰做壞事的礦工。3.委託工作量證明(DPOW)好處:
節能環保提高安全性可以透過非直接地給比特幣(或者任何其他安全的鏈)提供安全性,這是透過為最貴壞處:只有使用工作量證明或者權益證明在公證員啟用模式下,不同節點的雜湊算力必須要標定,不然雜湊算力之間的區別會爆炸(以下會有更多的解釋)
型別:合作型共識

解釋:委託工作量證明是混合型共識方法,可以讓一個區塊鏈能夠利用第二個區塊鏈透過雜湊算力提供的安全性。這是透過很多能夠將資料從第一個區塊鏈加到第二個區塊鏈的節點來完成的,這通常會要求兩個區塊鏈進行進行妥協,從而削弱第一個區塊鏈的安全性。

基於委託工作量證明演算法的區塊鏈可以使用工作量證明或者權益證明方法來實現功能;並且它能夠將自身依附於任何工作量證明的區塊鏈。但是,比特幣的雜湊力現在已經為透過委託工作量證明進行安全保護的區塊鏈,提供了最高階別的安全保護。下面的圖例,顯示了主要區塊鏈和它所依附的工作量證明區塊鏈之間的關係:

在委託工作量證明系統中,有兩類節點:公證人節點和普通節點。64個公證人節點是透過委託工作量證明的區塊鏈權益持有者選出的,然後將確認的區塊從委託工作量證明區塊鏈新增到依附的工作量證明區塊鏈。一旦區塊完成,它的雜湊就會透過33個公證人節點簽名,然後新增到比特幣轉賬,從而在比特幣區塊鏈上記錄下委託工作量證明的區塊雜湊,這也是被網路中大多數公證人節點所公正的。

為了防止礦工在公證人節點之間,這會降低網路的效率,所以設計了一種以兩種模式執行的輪換挖礦方法。“無公證人”模式可以讓整個網路節點來進行挖礦,和普通的工作量證明類似;但是,在公證人活躍模式下,網路公證人就會在降低困難度的情況下進行挖礦。在這個框架中,每個公證人都可以目前的困難度去挖礦,但是其他公證人節點必須要按照10倍的難度去挖礦,而且所有的普通節點會按照100倍的困難度去挖礦。

但是這會造成些問題。這會導致公證人礦工和普通礦工雜湊算力的巨大差別:

委託工作量證明系統的設計,是讓區塊鏈可以繼續在沒有公證人節點的情況下進行運作。在這種情況下,委託工作量證明區塊鏈可以根據初始的共識方法執行,但是,它就不會擁有依附區塊鏈的安全性。

委託工作量證明,會讓任何使用這種共識的區塊鏈獲得更高的安全性以及更低的能源消耗。而且,委託工作量證明可以透過間接地為主流提供比特幣的安全性,並且還需要支付比特幣裝置。最後,公證人節點和普通節點的功能,可以確保初始的共識機制繼續在這類情況下執行,哪怕公證人節點失去作用。這個相互依靠性,為其他網路提供了激勵,來支援比特幣網路的維護,而且還不用讓整個網路完全依附於直接的功能。

4.委託權益證明(DPOS)

好處:
能源效率高,節能。
速度很快。

壞處:
更加中心化
擁有高代幣權益的人,可以投票讓他們自己成為驗證者。

型別:合作型共識演算法

解釋:在DPoS演算法中,權益持有者可以在系統中選擇領導者(見證者),他們可以代替別人進行投票。這就會比一般的權益證明演算法要更快。

例如,在EOS中,21個見證者會選舉出來,然後一些節點(潛在的見證者)會作為候選人,然後如果某個見證者節點掉線或者有任何欺詐行為,那麼就會被立刻替換。見證者生成區塊,然後會獲得回報。這些費用也是由權益持有者決定的。

通常,所有產生區塊的節點是輪換的。這就會防止有節點來發布很多的區塊,防止他發出雙花攻擊。如果見證者沒有在時間限制內產生區塊,那麼這部分時間段就會跳過,然後下個見證者就會生產下個區塊。如果有見證者連續錯過區塊或者釋出無效轉賬,那麼權益持有者就可以投票讓他出局,然後找更好的見證者來替代他。

在DPoS中,礦工會合作來產生區塊,而不是像工作量證明或者權益證明。透過部分中心化來建立區塊,DPoS演算法可以比其他共識演算法的速度快幾個數量級。

5.權威證明

好處:
節能省電
速度快

壞處:
比較中心化。可以在公鏈使用,但是通常在私有鏈和許可區塊鏈使用。

型別:合作型共識

解釋:在基於權威證明的網路中,轉賬和區塊都是透過允許的賬戶來驗證的,他們被稱為驗證者。驗證者執行軟體,可以讓他們將轉賬放入區塊中。這個過程是自動化的,而且不需要驗證者去一直盯著電腦。但是,它需要維護計算機(權威的節點)不被攻擊。

驗證者必須要能夠滿足的三個主要條件是:
1.身份必須是正式在鏈上認證,同時也可以在公開的域名中進行資訊的交叉檢測。
2.這個資格很難獲得,並且很難正確地去驗證區塊。(潛在的驗證者需要獲得公開認證)
3.在檢車過程中,必須要有完整的統一性,從而建立權威。

透過權威驗證的個人,可以有權來成為驗證者,所以對於驗證者來說,系統會有激勵。透過將名譽和身份連線,驗證者就會被激勵去處理轉賬流程,因為他們不希望獲得負面的影響,因為這會失去很難獲得的驗證者身份。

6.權重證明

好處:
節能省電。
很高的定製化和擴容性
壞處:
激勵制度很困難

型別:競爭類共識

解釋:權重證明的主要想法是。因為在權益證明系統中,你持有代幣的比例代表你發現下個區塊的概率,但是在權重證明系統中,其他相關的權重也會使用。有些應用是聲望證明和空間證明。

7.聲望證明

好處
對於私有和限制性區塊鏈網路很好
壞處:
只能在私有鏈和許可區塊鏈系統中使用。

型別:合作型別共識

解釋:聲望證明演算法模型取決於參與者的聲望,來保持網路的安全。參與者(區塊簽署者)必須要有足夠重要的聲望,如果他們想要欺騙系統,就會獲得非常嚴重的財務和品牌後果。這是個相對的概念,因為大多數企業如果在被抓到欺騙後,都會覺得很難過,但是更大的企業會失去更多,因此會比小公司更可能獲選。

一旦公司證明了自己的聲望,並且透過了驗證,他們或許會透過網路的選舉,成為合格的節點,就像權威證明中那樣,只有認證過的節點才有資格去簽署和驗證區塊。

8.消逝時間證明

好處:
參與者成本低。因此更多人可以很容易地參與,從而去中心化。
對於參與者來說,很容易去驗證領導者是合法選出的。
控制領導者選舉流程是和獲得的利益成正比的。

壞處:
儘管很便宜,你需要使用特定的硬體。因此不能大規模採用。
不適合公鏈。

型別:競爭性共識

解釋:消逝時間證明演算法通常使用在許可區塊鏈網路,從而可以決定挖礦權或者區塊獲勝者。許可區塊鏈網路是需要特定參與者認證,才能加入的區塊鏈。基於這種系統的原則,每單個節點就會成為勝者,消逝時間證明機制是基於在最大可能的網路參與者中,傳播分享公平獲勝的機會。

消逝時間證明演算法的流程如下。網路中每個參與節點都要求等到隨機的時間段,並且第一個完成指定等待時間的人就會贏得新區塊。每個節點都會有隨機的等待時間,然後進行休眠。第一個甦醒的,也就是有最短的等待時間,就可以產生新的區塊,並且在整個網路中廣播必要的資訊。同樣的過程會重複為發現下個區塊。

消逝時間證明網路公示機制需要確保兩個重要的因素。首先,參與的節點選擇的時間是隨機的,不會因為想贏,節點就可以選擇更短的時間,其次是獲勝者必須要完成等待時間。
消逝時間證明的概念是在2016年早期由英特爾提出,我們都知道它是著名的晶片生產製造巨頭。它提供了高科技工具來解決了計算問題“隨機領導者選擇。”

這個機制可以讓參與者在受到保護的環境下,執行可信的程式碼,而且可以保證下面兩個需求,對於所有參與節點來說,隨機選擇等待時間,獲勝的參與者會完成等待時間。

在安全的環境下執行可信節點的機制,也會考慮到網路中很多其他的需求。它保證了可信程式碼確實是在可信的環境下執行,而且不會被任何外部人員修改。它也保證了,結果是可被外部參與者和個體所驗證的,因此強調了網路共識的透明度。

消逝時間證明控制了共識過程的成本,並且保證靈活,從而在整個過程中,價值和成本成正比,這是數字貨幣經濟能夠持續下去的關鍵需求。

9.能力證明,即空間證明

好處:
類似工作量證明,但是使用空間而不是算力。因此更加環保。
可以刪除惡意軟體,透過決定是否處理器的L1記憶體是否是空的(例如,有足夠的空間來評估,不會錯過任何的記憶體)或者包含一個可以防止被驅逐。
可以用作防止欺詐的手段,並且防止伺服器攻擊。

壞處:
激勵制度是個問題。

型別:合作共識

解釋:空間證明,也被稱為能力證明,是展示有人對於某個服務有合法的興趣(例如傳送郵件),這是透過部署一定量的記憶儲存或者磁碟空間,來解決服務提供者給出的問題。

空間證明和工作量證明很類似,除了前者不是用算力,而是儲存能力。空間證明和記憶容量和可恢復性證明相關,但是其中也有不同。

空間證明是證明者發給驗證者的一部分資料,來證明這個驗證者收到了部分空間。

空間證明看起來更加公平,由於儲存的目標和更低的能源損耗,看起來是更好的解決方案。

10.歷史證明

解釋:這個共識的想法是,和相信轉賬時間戳不同,你可以證明轉賬會在這個事件的前後某個時間發生。

當你在紐約時間記錄下的時候,你可以給出證明你的照片是在這個報紙釋出之後才記錄,或者你有些方式來影響紐約時報釋出資訊。透過歷史證明,你可以建立歷史記錄,從而證明這件事發生在每個特定的時刻。

歷史證明會有高頻的驗證延遲功能。驗證性延遲功能需要特定的步驟來評估,然後產品特別的輸出,這個可以被有效和公開的驗證。

這個特定的方式使用了連續的預影象抗性雜湊,可以和之前的輸出作為下個輸入,然後連續執行。週期性地,計數和目前的輸出是被記錄的。

對於SHA256雜湊的功能,這個過程是不可能和使用2¹²⁸強制攻擊同時進行的。

然後我們可以確認,在生成過程中,真正的時間已經流失了。並且這個記錄順序和真實時間相同。

11.權益流通證明

解釋:權益流通證明可以作為工作量證明和權益證明的替代解決方案,來讓P2P網路得到安全保證。權益流通證明的設計是用來鼓勵擁有權和行為。

12. 重要性證明

好處,在評估權益的時候,比權益證明好

解釋:這個共識演算法不只取決於代幣的數量,還有生產系統行為應得到報酬的可能性。抵押區塊的機會是由多個因素組成的,包括惡名(由不同的框架來控制),餘額,還有轉賬數量。這個被稱為重要性計算。這提供了一個更全面的“有用”系統成員的影象。

13.燃燒證明

解釋:透過燃燒證明,而不是將錢投入昂貴的計算裝置,你可以透過將代幣發入不可逆的地址,從而燃燒它們。透過將代幣傳送到從未出現過的土地,你可以在一個基於隨機選擇過程的系統上獲得終身的特權。

取決於燃燒證明如何實施,礦工也許會然後原生代幣或者替代鏈的代幣,例如比特幣。你燃燒的代幣越多,那麼你就有更高的可能性,去挖出下個區塊。
隨著時間的發展,你在系統中的權益就會延遲,所以最終你會想要燃燒更多代幣去增加你中獎的概念。(這裡是指比特幣挖礦的過程,你必須要連續地去投入裝置來維持雜湊力。)

雖然燃燒證明是個很有趣的解決方案,但是這個協議仍然浪費了很多資源。還有個問題就是,挖礦算力會很容易地偏向於那些想要燃燒更多代幣的人。

14.身份證明

解釋:身份證明(PoI)是一個加密證據(一部分資料),它會說明任何知道私鑰的使用者,就會和一個認證的身份相比較,然後和特定的轉賬連線。同個群體的每個人可以建立PoF(只有一個區塊的資料),然後將它展示給任何人,例如處理節點。

15.行動證明

解釋:為了避免惡性通貨膨脹,比特幣只有2100個。這也就意味著,在某些時刻,比特幣區塊獎勵會結束,而且比特幣礦工只會收到轉賬費。

有人會說,這可能會因為公地悲劇導致安全問題,人們會總是按照自己的興趣來做事,從而孤立了整個系統。所以,行動證明建立了可以代替比特幣的另一個激勵方案。行動證明是一個混合解決方案,這是由工作量證明和權益證明結合起來的。

在行動證明中,挖礦會按照工作量證明的形式開始,同時礦工也在賽跑去解決難題。取決於實施情況,區塊挖礦不會包含任何轉賬,所以獲勝的區塊只會包含區塊頭部,並且礦工的獎勵地址。

在這個時候,系統會轉移到權益證明。基於區塊頭部的資訊,隨機的驗證者會簽名新的區塊。擁有更多的代幣,他就能被選擇為區塊生成者。一旦所有驗證者簽名,模板就成為一個完整的塊。

如果選擇的驗證者不能去完成區塊,那麼下個獲勝的區塊就會被選擇,新的驗證者會被選擇,以此類推,直到區塊獲得了正確數量的簽名。費用會在礦工和簽署區塊的驗證者之間分離。

行動證明的關鍵是和工作量證明(挖區塊需要很多的能源)和權益證明(沒有什麼可以阻止驗證者進行雙重簽名一樣的。

16.存在證明

解釋:存在證明是線上服務,能夠透過比特幣時間戳轉賬,從而驗證計算機檔案的存在。

案例:
不用揭露真實內容,就可以獲得數字簽名協議。不用揭露真實資料,就可以展示資料所有權
檔案時間戳
證明所有權
檢測檔案的完整性

17.可回收證明

解釋:可回收證明(POR)是一個透過檔案系統到客戶端的證明形式,目標檔案F是完整的,在這種情況下,客戶端能夠完全覆蓋它。因為可回收證明(POR)會比F本身的傳輸更加低的通訊難度,對於高信任的遠端儲存系統,他們是更具吸引的建立區塊。它可以真正作為共識演算法,為雲端計算系統有用。

18. 拜占庭容錯演算法

好處:快速,擴容性好

壞處:通常是為私有鏈,以及許可類區塊鏈使用

解釋:拜占庭將軍問題是現在分散式計算,都面臨的問題。這個問題是幾個拜占庭將軍,他們在包圍一個城市,但是他們必須決定是否要攻擊城市。如果有的將軍在沒有和別人一起進攻,那麼他們的策略就是失敗。這些將軍通常是各自分開的,並且需要傳遞資訊來進行溝通。

實用型拜占庭容錯(PBFT):這個問題的首個解決方案,就是實用型拜占庭容錯(PBFT)。目前被用在超級賬本,會有小於20個提取選擇的PBFT有效執行。好處:很高的吞吐量。壞處:中心化

聯邦拜占庭協議:FBA是拜占庭將軍的另一種經典的解決方案。主要的方法,是讓每個拜占庭將近都負責他們自己的鏈,從而完成信任。它有難以置信的吞吐量,很低的轉賬費用以及網路穩定性。

19.委託拜占庭協議(dBFT)

好處:快速且擴容性好。
壞處:每個人都在為成為根鏈而競爭。可以會有幾個根鏈出現。

解釋:dBFT被稱為委託拜占庭協議,這種拜占庭容錯的共識機制能夠讓透過代理投票來讓大規模的人參與到共識。持有代幣的人可以透過投票,選擇他們想支援的人。這個選擇的群體會透過拜占庭演算法,達成共識並且挖出新的區塊。

委託拜占庭協議(dBFT)提供拜占庭容錯f = [(n-1) / 3],這個系統由n個共識節點組成。委託拜占庭協議(dBFT)有很好的最終結果,意味著一旦確認了,區塊就不能分叉,並且轉賬也不可以回滾。

20. DAG(有向無環圖)

好處:
由於非線性結構,所以有高度擴容性
快速
節能省電
即時獲得最終結果

壞處:
智慧合約的部署只可以透過預言機獲得

解釋:DAG或者叫有向無環圖,是區塊鏈更加寬泛的形式。他們由於特殊的造型,從而獲得很高的擴容性而出名。

基本上來說,任何的區塊鏈系統中,都是線性結構,一個個區塊組成了鏈。這會讓區塊鏈速度很慢,因為區塊們不能和鏈平行新增。但是在DAG區塊/轉賬的案例中,這些是可以平行新增的,每個區塊/轉賬都會確認之前區塊的數量。這就讓DAG可以無限地擴容。

免責聲明:

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

推荐阅读

;