共識算法是所有區(qū)塊鏈/DAG技術的基礎,他們也是區(qū)塊鏈/DAG平臺最重要的組成部分。沒有它們(共識算法機制),我們就只會有個無法改變的數(shù)據(jù)庫而已。下面是主要共識算法的列表,而且我們可以評估它們的好處和壞處。
1.工作量證明 (PoW)
好處:
自從2009年開始,就可以進行了測試,到如今仍然很穩(wěn)定。
壞處:
速度很慢。
消耗大量的能源,并且對環(huán)境不好。
容易受到規(guī)模經(jīng)濟的影響。
類型:競爭性共識算法。
解釋:這是第一個共識算法機制(中本聰在他的文章中提出)來創(chuàng)建分布式無需信任的共識,并且解決雙花問題。工作量證明不是一個新的想法,但是中本聰將這個和其他的概念- 加密簽名,默克爾樹以及P2P網(wǎng)絡結合起來- 從而形成了分布式共識系統(tǒng),其中數(shù)字貨幣是首個基礎應用,這充滿創(chuàng)新。
區(qū)塊鏈中的參與者(礦工)必須要解決復雜但是無用的計算問題,從而將轉賬區(qū)塊加入到區(qū)塊鏈上。
基本上,這是來保證礦工花費成本/資源(礦機)來完成這項工作,從而表示他們不會欺騙區(qū)塊鏈系統(tǒng),并且對系統(tǒng)造成傷害,會導致他們損失自己的投資;因此傷害他們自己。
這個問題的難度會隨著時間改變,這是為了保證恒定的區(qū)塊生成時間。有時候會發(fā)生一種情況,其中有超過一個礦工在同時解決這個問題。在那種情況下,礦工會選擇其中一個鏈,而且最長的鏈會是獲勝者。所以假設大多數(shù)礦工在挖一個鏈,那么這條鏈就會發(fā)展最快,并且是最值得信任的。因此只要50%的礦工是誠實的,那么比特幣就是安全的。
2.權益證明
好處:
能源利用效率高
攻擊成本更高
不容易受到經(jīng)濟規(guī)模的影響
壞處:
無利害關系攻擊
類型:競爭性共識算法。
解釋:權益證明是工作量證明的替代方案,為了解決其中的問題。和挖礦不同,你需要在系統(tǒng)中持有權益(代幣)。所以,如果你只有10%的代幣,那么你挖出下個區(qū)塊的概率為10%。
挖礦需要很多的算力來解決不同的加密計算,從而解鎖這些加密難題。算力意味著,工作量算法需要大量的電力需求。在2015年,1個比特幣大約需要1.57個美國家庭每天的耗電量。所以,為了節(jié)省能源,權益證明算法誕生了。
在權益證明中,一美金是一美金。例如,假設有10,000個礦工,每個人花費1美金/分鐘,就會比礦池花費10,000美金/分鐘擁有更少的算力。但是在權益證明中,如果你不能一次使用完全。這里的一美金還是一美金。因此,這不會受到經(jīng)濟規(guī)模的影響。
并且,攻擊權益證明系統(tǒng)比攻擊工作量證明系統(tǒng)更加昂貴。對權益證明進行51%攻擊的代價,是要讓所有ASIC礦機全部倒下。
這意味著,每次你攻擊權益證明系統(tǒng),都會失去權益抵押,但是在工作量證明,如果你攻擊系統(tǒng),但是你不會失去挖礦設備或者代幣;你只不過是讓攻擊很難實施。
但是權益證明會出現(xiàn)個問題,就是無利害關系攻擊問題,其中區(qū)塊生成者通過向多個區(qū)塊鏈進行投票,就不會損失任何東西,從而防止達成共識。
不像工作量證明系統(tǒng)(你需要做大量計算來擴展一個鏈),同時為挖幾個鏈也只有很少的成本。很多項目嘗試通過不同方案來解決這個問題。例如,上面所說,其中一個解決方案就懲罰做壞事的礦工。
3.委托工作量證明(DPOW)
好處:
節(jié)能環(huán)保
提高安全性
可以通過非直接地給比特幣(或者任何其他安全的鏈)提供安全性,這是通過為最貴
壞處:
只有使用工作量證明或者權益證明
在公證員激活模式下,不同節(jié)點的哈希算力必須要標定,不然哈希算力之間的區(qū)別會爆炸(以下會有更多的解釋)
類型:合作型共識
解釋:委托工作量證明是混合型共識方法,可以讓一個區(qū)塊鏈能夠利用第二個區(qū)塊鏈通過哈希算力提供的安全性。這是通過很多能夠?qū)?shù)據(jù)從第一個區(qū)塊鏈加到第二個區(qū)塊鏈的節(jié)點來完成的,這通常會要求兩個區(qū)塊鏈進行進行妥協(xié),從而削弱第一個區(qū)塊鏈的安全性。
基于委托工作量證明算法的區(qū)塊鏈可以使用工作量證明或者權益證明方法來實現(xiàn)功能;并且它能夠?qū)⒆陨硪栏接谌魏喂ぷ髁孔C明的區(qū)塊鏈。但是,比特幣的哈希力現(xiàn)在已經(jīng)為通過委托工作量證明進行安全保護的區(qū)塊鏈,提供了最高級別的安全保護。下面的圖例,顯示了主要區(qū)塊鏈和它所依附的工作量證明區(qū)塊鏈之間的關系:
在委托工作量證明系統(tǒng)中,有兩類節(jié)點:公證人節(jié)點和普通節(jié)點。64個公證人節(jié)點是通過委托工作量證明的區(qū)塊鏈權益持有者選出的,然后將確認的區(qū)塊從委托工作量證明區(qū)塊鏈添加到依附的工作量證明區(qū)塊鏈。一旦區(qū)塊完成,它的哈希就會通過33個公證人節(jié)點簽名,然后添加到比特幣轉賬,從而在比特幣區(qū)塊鏈上記錄下委托工作量證明的區(qū)塊哈希,這也是被網(wǎng)絡中大多數(shù)公證人節(jié)點所公正的。
為了防止礦工在公證人節(jié)點之間,這會降低網(wǎng)絡的效率,所以設計了一種以兩種模式運行的輪換挖礦方法?!盁o公證人”模式可以讓整個網(wǎng)絡節(jié)點來進行挖礦,和普通的工作量證明類似;但是,在公證人活躍模式下,網(wǎng)絡公證人就會在降低困難度的情況下進行挖礦。在這個框架中,每個公證人都可以目前的困難度去挖礦,但是其他公證人節(jié)點必須要按照10倍的難度去挖礦,而且所有的普通節(jié)點會按照100倍的困難度去挖礦。
但是這會造成些問題。這會導致公證人礦工和普通礦工哈希算力的巨大差別:
委托工作量證明系統(tǒng)的設計,是讓區(qū)塊鏈可以繼續(xù)在沒有公證人節(jié)點的情況下進行運作。在這種情況下,委托工作量證明區(qū)塊鏈可以根據(jù)初始的共識方法運行,但是,它就不會擁有依附區(qū)塊鏈的安全性。
委托工作量證明,會讓任何使用這種共識的區(qū)塊鏈獲得更高的安全性以及更低的能源消耗。而且,委托工作量證明可以通過間接地為主流提供比特幣的安全性,并且還需要支付比特幣裝置。最后,公證人節(jié)點和普通節(jié)點的功能,可以確保初始的共識機制繼續(xù)在這類情況下運行,哪怕公證人節(jié)點失去作用。這個相互依靠性,為其他網(wǎng)絡提供了激勵,來支持比特幣網(wǎng)絡的維護,而且還不用讓整個網(wǎng)絡完全依附于直接的功能。
4.委托權益證明(DPOS)
好處:
能源效率高,節(jié)能。
速度很快。
壞處:
更加中心化
擁有高代幣權益的人,可以投票讓他們自己成為驗證者。
類型:合作型共識算法
解釋:在DPoS算法中,權益持有者可以在系統(tǒng)中選擇領導者(見證者),他們可以代替別人進行投票。這就會比一般的權益證明算法要更快。
例如,在EOS中,21個見證者會選舉出來,然后一些節(jié)點(潛在的見證者)會作為候選人,然后如果某個見證者節(jié)點掉線或者有任何欺詐行為,那么就會被立刻替換。見證者生成區(qū)塊,然后會獲得回報。這些費用也是由權益持有者決定的。
通常,所有產(chǎn)生區(qū)塊的節(jié)點是輪換的。這就會防止有節(jié)點來發(fā)布很多的區(qū)塊,防止他發(fā)出雙花攻擊。如果見證者沒有在時間限制內(nèi)產(chǎn)生區(qū)塊,那么這部分時間段就會跳過,然后下個見證者就會生產(chǎn)下個區(qū)塊。如果有見證者連續(xù)錯過區(qū)塊或者發(fā)布無效轉賬,那么權益持有者就可以投票讓他出局,然后找更好的見證者來替代他。
在DPoS中,礦工會合作來產(chǎn)生區(qū)塊,而不是像工作量證明或者權益證明。通過部分中心化來創(chuàng)建區(qū)塊,DPoS算法可以比其他共識算法的速度快幾個數(shù)量級。
5.權威證明
好處:
節(jié)能省電
速度快
壞處:
比較中心化??梢栽诠準褂茫峭ǔT谒接墟満驮S可區(qū)塊鏈使用。
類型:合作型共識
解釋:在基于權威證明的網(wǎng)絡中,轉賬和區(qū)塊都是通過允許的賬戶來驗證的,他們被稱為驗證者。驗證者運行軟件,可以讓他們將轉賬放入?yún)^(qū)塊中。這個過程是自動化的,而且不需要驗證者去一直盯著電腦。但是,它需要維護計算機(權威的節(jié)點)不被攻擊。
驗證者必須要能夠滿足的三個主要條件是:
1.身份必須是正式在鏈上認證,同時也可以在公開的域名中進行信息的交叉檢測。
2.這個資格很難獲得,并且很難正確地去驗證區(qū)塊。(潛在的驗證者需要獲得公開認證)
3.在檢車過程中,必須要有完整的統(tǒng)一性,從而建立權威。
通過權威驗證的個人,可以有權來成為驗證者,所以對于驗證者來說,系統(tǒng)會有激勵。通過將名譽和身份連接,驗證者就會被激勵去處理轉賬流程,因為他們不希望獲得負面的影響,因為這會失去很難獲得的驗證者身份。
6.權重證明
好處:
節(jié)能省電。
很高的定制化和擴容性
壞處:
激勵制度很困難
類型:競爭類共識
解釋:權重證明的主要想法是。因為在權益證明系統(tǒng)中,你持有代幣的比例代表你發(fā)現(xiàn)下個區(qū)塊的概率,但是在權重證明系統(tǒng)中,其他相關的權重也會使用。有些應用是聲望證明和空間證明。
7.聲望證明
好處
對于私有和限制性區(qū)塊鏈網(wǎng)絡很好
壞處:
只能在私有鏈和許可區(qū)塊鏈系統(tǒng)中使用。
類型:合作類型共識
解釋:聲望證明算法模型取決于參與者的聲望,來保持網(wǎng)絡的安全。參與者(區(qū)塊簽署者)必須要有足夠重要的聲望,如果他們想要欺騙系統(tǒng),就會獲得非常嚴重的財務和品牌后果。這是個相對的概念,因為大多數(shù)企業(yè)如果在被抓到欺騙后,都會覺得很難過,但是更大的企業(yè)會失去更多,因此會比小公司更可能獲選。
一旦公司證明了自己的聲望,并且通過了驗證,他們或許會通過網(wǎng)絡的選舉,成為合格的節(jié)點,就像權威證明中那樣,只有認證過的節(jié)點才有資格去簽署和驗證區(qū)塊。
8.消逝時間證明
好處:
參與者成本低。因此更多人可以很容易地參與,從而去中心化。
對于參與者來說,很容易去驗證領導者是合法選出的。
控制領導者選舉流程是和獲得的利益成正比的。
壞處:
盡管很便宜,你需要使用特定的硬件。因此不能大規(guī)模采用。
不適合公鏈。
類型:競爭性共識
解釋:消逝時間證明算法通常使用在許可區(qū)塊鏈網(wǎng)絡,從而可以決定挖礦權或者區(qū)塊獲勝者。許可區(qū)塊鏈網(wǎng)絡是需要特定參與者認證,才能加入的區(qū)塊鏈?;谶@種系統(tǒng)的原則,每單個節(jié)點就會成為勝者,消逝時間證明機制是基于在最大可能的網(wǎng)絡參與者中,傳播分享公平獲勝的機會。
消逝時間證明算法的流程如下。網(wǎng)絡中每個參與節(jié)點都要求等到隨機的時間段,并且第一個完成指定等待時間的人就會贏得新區(qū)塊。每個節(jié)點都會有隨機的等待時間,然后進行休眠。第一個蘇醒的,也就是有最短的等待時間,就可以產(chǎn)生新的區(qū)塊,并且在整個網(wǎng)絡中廣播必要的信息。同樣的過程會重復為發(fā)現(xiàn)下個區(qū)塊。
消逝時間證明網(wǎng)絡公示機制需要確保兩個重要的因素。首先,參與的節(jié)點選擇的時間是隨機的,不會因為想贏,節(jié)點就可以選擇更短的時間,其次是獲勝者必須要完成等待時間。
消逝時間證明的概念是在2016年早期由英特爾提出,我們都知道它是著名的芯片生產(chǎn)制造巨頭。它提供了高科技工具來解決了計算問題“隨機領導者選擇?!?/p>
這個機制可以讓參與者在受到保護的環(huán)境下,執(zhí)行可信的代碼,而且可以保證下面兩個需求,對于所有參與節(jié)點來說,隨機選擇等待時間,獲勝的參與者會完成等待時間。
在安全的環(huán)境下運行可信節(jié)點的機制,也會考慮到網(wǎng)絡中很多其他的需求。它保證了可信代碼確實是在可信的環(huán)境下運行,而且不會被任何外部人員修改。它也保證了,結果是可被外部參與者和個體所驗證的,因此強調(diào)了網(wǎng)絡共識的透明度。
消逝時間證明控制了共識過程的成本,并且保證靈活,從而在整個過程中,價值和成本成正比,這是數(shù)字貨幣經(jīng)濟能夠持續(xù)下去的關鍵需求。
9.能力證明,即空間證明
好處:
類似工作量證明,但是使用空間而不是算力。因此更加環(huán)保。
可以刪除惡意軟件,通過決定是否處理器的L1內(nèi)存是否是空的(例如,有足夠的空間來評估,不會錯過任何的內(nèi)存)或者包含一個可以防止被驅(qū)逐。
可以用作防止欺詐的手段,并且防止服務器攻擊。
壞處:
激勵制度是個問題。
類型:合作共識
解釋:空間證明,也被稱為能力證明,是展示有人對于某個服務有合法的興趣(例如發(fā)送郵件),這是通過部署一定量的記憶存儲或者磁盤空間,來解決服務提供者給出的問題。
空間證明和工作量證明很類似,除了前者不是用算力,而是存儲能力??臻g證明和記憶容量和可恢復性證明相關,但是其中也有不同。
空間證明是證明者發(fā)給驗證者的一部分數(shù)據(jù),來證明這個驗證者收到了部分空間。
空間證明看起來更加公平,由于存儲的目標和更低的能源損耗,看起來是更好的解決方案。
10.歷史證明
解釋:這個共識的想法是,和相信轉賬時間戳不同,你可以證明轉賬會在這個事件的前后某個時間發(fā)生。
當你在紐約時間記錄下的時候,你可以給出證明你的照片是在這個報紙發(fā)布之后才記錄,或者你有些方式來影響紐約時報發(fā)布信息。通過歷史證明,你可以創(chuàng)建歷史記錄,從而證明這件事發(fā)生在每個特定的時刻。
歷史證明會有高頻的驗證延遲功能。驗證性延遲功能需要特定的步驟來評估,然后產(chǎn)品特別的輸出,這個可以被有效和公開的驗證。
這個特定的方式使用了連續(xù)的預圖像抗性哈希,可以和之前的輸出作為下個輸入,然后連續(xù)運行。周期性地,計數(shù)和目前的輸出是被記錄的。
對于SHA256哈希的功能,這個過程是不可能和使用212?強制攻擊同時進行的。
然后我們可以確認,在生成過程中,真正的時間已經(jīng)流失了。并且這個記錄順序和真實時間相同。
11.權益流通證明
解釋:權益流通證明可以作為工作量證明和權益證明的替代解決方案,來讓P2P網(wǎng)絡得到安全保證。權益流通證明的設計是用來鼓勵擁有權和行為。
12. 重要性證明
好處,在評估權益的時候,比權益證明好
解釋:這個共識算法不只取決于代幣的數(shù)量,還有生產(chǎn)系統(tǒng)行為應得到報酬的可能性。抵押區(qū)塊的機會是由多個因素組成的,包括惡名(由不同的框架來控制),余額,還有轉賬數(shù)量。這個被稱為重要性計算。這提供了一個更全面的“有用”系統(tǒng)成員的圖像。
13.燃燒證明
解釋:通過燃燒證明,而不是將錢投入昂貴的計算設備,你可以通過將代幣發(fā)入不可逆的地址,從而燃燒它們。通過將代幣發(fā)送到從未出現(xiàn)過的土地,你可以在一個基于隨機選擇過程的系統(tǒng)上獲得終身的特權。
取決于燃燒證明如何實施,礦工也許會然后原生代幣或者替代鏈的代幣,例如比特幣。你燃燒的代幣越多,那么你就有更高的可能性,去挖出下個區(qū)塊。
隨著時間的發(fā)展,你在系統(tǒng)中的權益就會延遲,所以最終你會想要燃燒更多代幣去增加你中獎的概念。(這里是指比特幣挖礦的過程,你必須要連續(xù)地去投入設備來維持哈希力。)
雖然燃燒證明是個很有趣的解決方案,但是這個協(xié)議仍然浪費了很多資源。還有個問題就是,挖礦算力會很容易地偏向于那些想要燃燒更多代幣的人。
14.身份證明
解釋:身份證明(PoI)是一個加密證據(jù)(一部分數(shù)據(jù)),它會說明任何知道私鑰的用戶,就會和一個認證的身份相比較,然后和特定的轉賬連接。同個群體的每個人可以創(chuàng)建PoF(只有一個區(qū)塊的數(shù)據(jù)),然后將它展示給任何人,例如處理節(jié)點。
15.行動證明
解釋:為了避免惡性通貨膨脹,比特幣只有2100個。這也就意味著,在某些時刻,比特幣區(qū)塊獎勵會結束,而且比特幣礦工只會收到轉賬費。
有人會說,這可能會因為公地悲劇導致安全問題,人們會總是按照自己的興趣來做事,從而孤立了整個系統(tǒng)。所以,行動證明創(chuàng)建了可以代替比特幣的另一個激勵方案。行動證明是一個混合解決方案,這是由工作量證明和權益證明結合起來的。
在行動證明中,挖礦會按照工作量證明的形式開始,同時礦工也在賽跑去解決難題。取決于實施情況,區(qū)塊挖礦不會包含任何轉賬,所以獲勝的區(qū)塊只會包含區(qū)塊頭部,并且礦工的獎勵地址。
在這個時候,系統(tǒng)會轉移到權益證明。基于區(qū)塊頭部的信息,隨機的驗證者會簽名新的區(qū)塊。擁有更多的代幣,他就能被選擇為區(qū)塊生成者。一旦所有驗證者簽名,模板就成為一個完整的塊。
如果選擇的驗證者不能去完成區(qū)塊,那么下個獲勝的區(qū)塊就會被選擇,新的驗證者會被選擇,以此類推,直到區(qū)塊獲得了正確數(shù)量的簽名。費用會在礦工和簽署區(qū)塊的驗證者之間分離。
行動證明的關鍵是和工作量證明(挖區(qū)塊需要很多的能源)和權益證明(沒有什么可以阻止驗證者進行雙重簽名一樣的。
16.存在證明
解釋:存在證明是在線服務,能夠通過比特幣時間戳轉賬,從而驗證計算機文件的存在。
案例:
不用揭露真實內(nèi)容,就可以獲得數(shù)字簽名協(xié)議。不用揭露真實數(shù)據(jù),就可以展示數(shù)據(jù)所有權
文件時間戳
證明所有權
檢測文件的完整性
17.可回收證明
解釋:可回收證明(POR)是一個通過文件系統(tǒng)到客戶端的證明形式,目標文件F是完整的,在這種情況下,客戶端能夠完全覆蓋它。因為可回收證明(POR)會比F本身的傳輸更加低的通信難度,對于高信任的遠程存儲系統(tǒng),他們是更具吸引的創(chuàng)建區(qū)塊。它可以真正作為共識算法,為云計算系統(tǒng)有用。
18. 拜占庭容錯算法
好處:快速,擴容性好
壞處:通常是為私有鏈,以及許可類區(qū)塊鏈使用
解釋:拜占庭將軍問題是現(xiàn)在分布式計算,都面臨的問題。這個問題是幾個拜占庭將軍,他們在包圍一個城市,但是他們必須決定是否要攻擊城市。如果有的將軍在沒有和別人一起進攻,那么他們的策略就是失敗。這些將軍通常是各自分開的,并且需要傳遞信息來進行溝通。
實用型拜占庭容錯(PBFT):這個問題的首個解決方案,就是實用型拜占庭容錯(PBFT)。目前被用在超級賬本,會有小于20個提取選擇的PBFT有效運行。好處:很高的吞吐量。壞處:中心化
聯(lián)邦拜占庭協(xié)議:FBA是拜占庭將軍的另一種經(jīng)典的解決方案。主要的方法,是讓每個拜占庭將近都負責他們自己的鏈,從而完成信任。它有難以置信的吞吐量,很低的轉賬費用以及網(wǎng)絡穩(wěn)定性。
19.委托拜占庭協(xié)議(dBFT)
好處:快速且擴容性好。
壞處:每個人都在為成為根鏈而競爭??梢詴袔讉€根鏈出現(xiàn)。
解釋:dBFT被稱為委托拜占庭協(xié)議,這種拜占庭容錯的共識機制能夠讓通過代理投票來讓大規(guī)模的人參與到共識。持有代幣的人可以通過投票,選擇他們想支持的人。這個選擇的群體會通過拜占庭算法,達成共識并且挖出新的區(qū)塊。
委托拜占庭協(xié)議(dBFT)提供拜占庭容錯f = [(n-1) / 3],這個系統(tǒng)由n個共識節(jié)點組成。委托拜占庭協(xié)議(dBFT)有很好的最終結果,意味著一旦確認了,區(qū)塊就不能分叉,并且轉賬也不可以回滾。
20. DAG(有向無環(huán)圖)
好處:
由于非線性結構,所以有高度擴容性
快速
節(jié)能省電
即時獲得最終結果
壞處:
智能合約的部署只可以通過預言機獲得
解釋:DAG或者叫有向無環(huán)圖,是區(qū)塊鏈更加寬泛的形式。他們由于特殊的造型,從而獲得很高的擴容性而出名。
基本上來說,任何的區(qū)塊鏈系統(tǒng)中,都是線性結構,一個個區(qū)塊組成了鏈。這會讓區(qū)塊鏈速度很慢,因為區(qū)塊們不能和鏈平行添加。但是在DAG區(qū)塊/轉賬的案例中,這些是可以平行添加的,每個區(qū)塊/轉賬都會確認之前區(qū)塊的數(shù)量。這就讓DAG可以無限地擴容。
評論
查看更多