區塊鏈開發必讀:一張圖看懂共識演算法
在投身區塊鏈開發之前,你需要搞清楚PoW、PoS、PoI、PoET、DPoS“五大”在內的區塊鏈共識演算法之間到底有什麼區別,以下Blockchain101給我們繪製的資訊圖簡明扼要地給出了答案:
為了方便區塊鏈開發新手快速入門,我們還推薦閱讀下面這篇發表在Medium上的區塊鏈共識演算法介紹文章:
尼科洛·馬基雅維利(Niccolo Machiavelli)曾經說過,“對於人類,我們可能會說他們一般都是善變的,虛偽的,貪得無厭”。這句話講述了在一個充滿不值得信任的人的世界中航行所必需的無信任,可以在他自己的時間和我們的時間中同等地被視為真理。在一個“虛假的世界裡,重要的是理解信任的變幻無常的本質,並在我們自己所持有的’真理’中找到一些共識。雖然這個幾個世紀以來人類面臨的挑戰在我們這個時代可能無法完全解決,但通過區塊鏈技術帶來的創新,我們已經比我們的祖先更加接近了。在區塊鏈的世界中,有5個主要共識協議;
1.工作證明(PoW)
2.股權證明(PoS)
3.重要證明(PoI)
4.經過時間證明(PoET)
5.委託國家證明(DPoS)
雖然自區塊鏈的最初構想以來,已經提出了許多建議和理論上的共識演算法,但它們大多超出了本文的範圍。
區塊鏈生態系統中最廣泛使用和眾所周知的一致性演算法是工作證明演算法。這種演算法被幾乎所有主要硬幣(如比特幣和以太坊)(在某種程度上)所利用,通過確認鏈交易和通過稱為礦工的特殊節點建立新塊來工作。
想象一下,老師把64這個數字寫在教室的黑板上,而坐在教室裡的學生,每人手中有10個單獨的骰子,每個人都不斷投擲骰子,競爭誰先擲出64的組合,並且每當競爭對手投出一個點數為64的組合時,沒有其他競爭者可以提交該組合再次獲獎,這迫使每位參賽者在最終獲得獎品之前做出越來越多的嘗試。這種先發制人贏家通吃基本上就是PoW的工作方式,區別是在區塊鏈上PoW使用計算機來執行稱為Hash函式的複雜數學函式。
工作證明共識PoW的概念包含三個主要組成部分:交易,區塊和礦工 。雖然工作證明演算法看起來(並且通常是)非常直接且有用,但有許多因素 – 例如其總體成本,功耗和安全性(對於某些攻擊,例如51%的攻擊) – 這低估了它的整體功能。以比特幣採礦為例; 比特幣是第一個被髮明的加密貨幣,利用PoW一致性演算法來促進其連續的交易流和每10分鐘建立一個新的塊。由第一個礦工建立的每個區塊成功地解決了上面解釋的數學函式,需要無數,極其強大和高度專業化,要建立的計算機。在解決之後,成功的礦工(或礦工組)將獲得總共12.5比特幣(截至2014年11月18日的價值為69,962.50美元)。顯然,這一高額獎金每天24小時都會吸引大量競爭激烈的礦工(並消耗大量電力)。因此,比特幣網路消耗的電量相當於整個新加坡國家的電量。
除了工作證明共識演算法所需的大量計算功耗之外,隨著時間的推移,通過多個高增長和高功率礦工的集合建立的大型財團已經將“礦場”轉移到“成本窪地”,例如沙漠中(為了利用過剩的太陽能發電),或寒冷的北方苔原,節省空調空調費用。大型礦場的快速成長和創造性的能源採購解決方案,正逐步將“業餘的採礦者”推向近乎滅絕的邊緣,這種區塊鏈挖礦計算力的集中化趨勢,導致“51%攻擊”的威脅變得越來越嚴峻。
雖然工作證明仍然是比特幣生態系統中不可或缺的一部分,但許多其他加密貨幣 – 例如以太坊 – 正在試圖擺脫這種共識協議並轉向利益證明協議。在基於證明的加密貨幣證明中,每個連續塊的建立者可以通過以下兩種方式之一進行選擇:通過隨機區組選擇,或者通過基於通證的選擇。
隨機塊選擇使用一種公式,該公式將鏈上的最低雜湊值(非常類似於工作證明演算法的數學函式的合成雜湊值)與塊的樁(投入黑色的量)組合在一起。由於賭注是公開的,每個節點可以預測哪個賬戶將贏得偽造新區塊的權利。這種型別的選擇允許多個參與者構建塊,並不排除任何個人參與交易,無論他們投入任何一個或多個塊的資金數量。通過這種方式,由Stof of Stake演算法實現的隨機塊選擇使得每個參與者/競爭者更加平等。
由於在Stof of Stake演算法中不需要複雜的計算工作,因此沒有礦工涉及股權證明交易。相反,稱為驗證器的專用節點用於驗證事務並通過專門的過程將它們放到鏈上。根據他們驗證的相應資產中的總財富而選擇的驗證人將收取交易費用作為驗證交易的付款,並且通常,在該資產中擁有最多的人驗證最大量的交易,並且,賺取最大的交易費用。
我們將在本文中討論的第三個協議是重要性證明(PoI)一致性演算法,可以將其描述為基於大賬戶平衡和可信度的經濟建築協議。該協議最初由NEM設計和開發,是一個基於區塊鏈的組織,釋出和使用XEM加密貨幣令牌,根據網路中每個驗證者/參與者的可信度來評分。為了獲得更高且不斷更新的分數,每個參與者不僅必須擁有大量賬戶餘額,還要保持通過交易收到的所有資產以他們正在促進的加密貨幣的形式,並保持至少10%的他們的總體平衡投入了加密貨幣。這些規定,
就像股票市場投資一樣,一個公司擁有的股票越多,個人在整個組織中的權重和權力越多,個人投入基於加密貨幣的重要性證明的越多,他們的整體可信度就越高。此外,儘管大型利益相關者具有大量影響力,但即使是擁有一個公司份額的利益相關者也可以從組織的整體增長中獲益,或者在這種情況下,也可以從網路中獲益。
一方面,重要性證明演算法是有益的,因為它鼓勵更多的個人參與並開闢整體財富分配的可能性 – 因為任何貢獻者都可以獲得更多的XEM。然而,另一方面,總是更大的參與者能夠獲得更高的可信度得分,從而獲得更多的利潤。這種獎勵通過稱為收穫的過程完成,通過網路上每個歸屬節點對新塊的分散式計算來實現。要參與此計算(併成為’既定’節點),必須擁有至少10,000個相應加密貨幣的既定或主動餘額。
繼續我們對本文開頭列出的一致性演算法的描述,我們現在將繼續討論經過時間的協議(PoET)。經驗時間的證明被設計為“公平的”共識模型’,側重於效率,並圍繞分散式領導者選舉的概念,跨越儘可能多的網路參與者。而且,控制過程(或引導鏈)的成本總是與從中獲得的值成比例。因此,為了控制(或引導)鏈條,必須投入大量的時間和金錢。最後,鏈上的所有參與者都需要驗證領導者是否以合法的方式被選中。
PoET旨在通過使用新的,安全的CPU指令來實現這些目標,這些指令在消費級處理器中迅速普及。通過利用這些新功能,基於PoET的硬幣可確保領導者選舉過程的安全性和隨機性,而無需諸如工作證明等過程所需的電量或計算能力。此外,在基於PoET的加密貨幣中,每個驗證器從包圍區請求等待時間,並且具有事務塊的最短等待時間的驗證器被選為領導者。該方法在整個驗證器池中任意分配領導選舉,其分佈類似於其他抽獎演算法。因此,選舉的概率與所貢獻的資源成正比。然而,參與的低成本增加了驗證器池將大於PoW或PoS共識協議的可能性。因此,使基於PoET的加密貨幣更加開放並且可供公眾使用。
儘管經過時間的證明一致性演算法並未像PoW或PoS那樣廣泛實現或已知,但由於更多人充當驗證者的能力,它可能具有巨大的潛力。最後,同樣重要的是,PoET演算法在CPU而不是GPU或ASIC上執行,這意味著我們能重溫區塊鏈計算的“美好時光”——人人皆可參與,而不僅僅是那些功能強大,價格昂貴的計算機硬體。
本文將介紹的第五個也是最後一個共識協議是委託證明(DPoS)演算法。這個協議被稱為前所提到的最民主和“公平”的協議,可以概括為員工(節點)可以解僱他們的老闆(領導者)的環境,而不是相反。通過Delegated Stof of Stake演算法,利益相關者批准的權力用於解決共識問題。此外,利益相關者(當選代表)還決定了區間隔,費用和交易規模限制。
在DPoS系統中,利益相關者可以選擇任意數量的“證人”來生成塊。每個帳戶每個證人每人可以投一票 – 這個過程稱為批准投票。當利益相關者表達他們想要的證人數量時,他們還必須至少投票給一般人才庫中的那麼多證人。每當證人出示一個街區時,他們都會獲得一筆民主投票的費用。證人組通過每日一次的投票統計更新,允許新證人與高階證人一樣獲得獎勵。雖然DPoS尚未被廣泛採用,但隨著更多專案開始實現其整體潛力,它正在迅速獲得動力。
隨著區塊鏈生態系統的不斷髮展,我們經濟的私營和公共部門以及整個字型的相關性不斷增強,新的協議將繼續釋出並超越我們今天使用的協議。雖然目前的工作證明和股權證明主導了區塊鏈世界中的人們的思想和實施,但變化的潮流變得越來越強烈,許多演算法 – 可能(並且很可能)本文中提到的一些 – 可能很快超過他們。雖然這些肯定不是最終所有的共識演算法,但它們是許多新專案和新的共識協議的堅實基礎。
ofollow,noindex" target="_blank">英文原文