介紹
共識算法是一種允許用戶或機器在分佈式環境中進行協調的機制。它需要確保系統中的所有代理都能就單一事實來源達成一致,即使某些代理髮生故障也是如此。換句話說,系統必須具有容錯能力(另請參閱:拜占庭容錯解釋)。
在集中式設置中,單個實體對系統擁有權力。在大多數情況下,他們可以隨心所欲地進行更改——不需要一些複雜的治理系統來讓衆多管理員達成共識。
但在去中心化設置中,情況就完全不同了。假設我們正在使用分佈式數據庫——我們如何就添加哪些條目達成一致?
在陌生人互不信任的環境中克服這一挑戰或許是區塊鏈發展道路上最重要的進步。在本文中,我們將探討共識算法對加密貨幣和分佈式賬本的運作至關重要。
共識算法和加密貨幣
在加密貨幣中,用戶的餘額記錄在數據庫(區塊鏈)中。每個人(或更準確地說,每個節點)都必須維護相同的數據庫副本。否則,您很快就會得到相互矛盾的信息,從而破壞加密貨幣網絡的整個目的。
公鑰加密確保用戶無法使用彼此的貨幣。但網絡參與者仍然需要依賴單一事實來源,以便確定資金是否已被使用。
比特幣的創始人中本聰 (Satoshi Nakamoto) 提出了一種工作量證明系統來協調參與者。我們很快就會了解 PoW 的工作原理 - 現在,我們將確定現有的許多共識算法的一些共同特徵。
首先,我們要求想要添加區塊的用戶(我們稱他們爲驗證者)提供權益。權益是驗證者必須提出的某種價值,這可以阻止他們不誠實的行爲。如果他們作弊,他們將失去他們的權益。例子包括計算能力、加密貨幣甚至聲譽。
他們爲什麼要冒着自己的資源風險呢?因爲還有獎勵。這通常包括協議的原生加密貨幣,由其他用戶支付的費用、新生成的加密貨幣單位或兩者組成。
我們最不需要的就是透明度。我們需要能夠發現有人在作弊。理想情況下,他們生產區塊的成本應該很高,但任何人驗證區塊的成本都應該很低。這確保了驗證者受到普通用戶的制約。
共識算法的類型
工作量證明(PoW)
工作量證明 (PoW) 是區塊鏈共識算法的鼻祖。它最早在比特幣中實現,但實際概念已經存在了一段時間。在工作量證明中,驗證者(稱爲礦工)對他們想要添加的數據進行哈希處理,直到他們產生特定的解決方案。
哈希值是一串看似隨機的字母和數字,當您通過哈希函數運行數據時會創建它。但是,如果您再次運行相同的數據,最終總會得到相同的輸出。但是,即使更改一個細節,您的哈希值也會完全不同。
從輸出結果來看,你不可能知道函數中輸入了什麼信息。因此,它們對於證明你在某個時間之前知道一段數據很有用。你可以把它的哈希值給某人,當你後來透露數據時,那個人可以通過函數運行它來確保輸出是相同的。
在工作量證明中,協議規定了使區塊有效的條件。例如,它可能會說,只有哈希值以 00 開頭的區塊纔是有效的。礦工創建與該組合匹配的區塊的唯一方法是暴力破解輸入。他們可以調整數據中的參數,使每次猜測都產生不同的結果,直到得到正確的哈希值。
對於主流區塊鏈來說,門檻非常高。爲了與其他礦工競爭,你需要一個裝滿特殊哈希硬件(ASIC)的倉庫,纔有機會生成有效區塊。
挖礦時,您的權益是這些機器的成本以及運行它們所需的電力。ASIC 是爲一個目的而製造的,因此它們在加密貨幣挖礦之外沒有用處。您收回初始投資的唯一方法是挖礦,如果您成功將新區塊添加到區塊鏈中,您將獲得豐厚的回報。
網絡驗證你是否確實創建了正確的區塊是輕而易舉的事。即使你嘗試了數萬億種組合來獲得正確的哈希值,他們也只需要將你的數據通過一次函數運行即可。如果你的數據產生了有效的哈希值,它將被接受,你將獲得獎勵。否則,網絡將拒絕它,你將白白浪費時間和電力。
權益證明(PoS)
權益證明 (PoS) 是在比特幣早期提出的,作爲工作量證明的替代方案。在 PoS 系統中,沒有礦工、專用硬件或大量能源消耗的概念。您所需要的只是一臺普通 PC。
嗯,不是全部。你仍然需要投入一些資金。在 PoS 中,你不需要投入外部資源(如電力或硬件),而需要投入內部資源——加密貨幣。每個協議的規則都不同,但通常你必須持有一定數量的資金纔有資格參與質押。
從那裏開始,你將資金鎖定在錢包中(在你質押期間無法移動)。你通常會與其他驗證者就哪些交易將進入下一個區塊達成一致。從某種意義上說,你是在押注將要選擇的區塊,協議將選擇一個。
如果您的區塊被選中,您將獲得一定比例的交易費,具體取決於您的權益。您鎖定的資金越多,您獲得的收益就越多。但如果您試圖通過提出無效交易來作弊,您將損失部分(或全部)權益。因此,我們有一個與 PoW 類似的機制——誠實行事比不誠實行事更有利可圖。
一般來說,沒有新創建的貨幣作爲驗證者的獎勵。因此,區塊鏈的原生貨幣必須以其他方式發行。這可以通過初始發行(即 ICO 或 IEO)來實現,也可以通過先使用 PoW 啓動協議,然後再過渡到 PoS。
到目前爲止,純粹的權益證明實際上只在較小的加密貨幣中得到部署。因此,目前還不清楚它是否可以作爲 PoW 的可行替代方案。雖然它在理論上看起來很合理,但在實踐中會有很大不同。
一旦 PoS 在具有大量價值的網絡上推出,該系統就變成了博弈論和財務激勵的競技場。任何知道如何“破解” PoS 系統的人很可能只有在能從中獲益的情況下才會這麼做——因此,唯一能確定其可行性的方法是在實時網絡上。
我們很快就會看到 PoS 大規模測試——Casper 將作爲以太坊網絡一系列升級的一部分實施(統稱爲以太坊 2.0)。
其他共識算法
工作量證明和權益證明是討論最多的共識算法。但還有許多其他算法,它們各有優缺點。請查看以下文章:
延遲工作量證明詳解
租賃權益證明共識機制解析
權威證明解釋
燃燒證明解釋
委託權益證明機制解釋
混合 PoW/PoS 共識詳解
結束語
達成共識的機制對於分佈式系統的運作至關重要。許多人認爲,比特幣的最大創新是使用工作量證明,使用戶能夠就一組共享的事實達成一致。
如今,共識算法不僅支撐數字貨幣系統,還支撐區塊鏈,讓開發人員能夠在分佈式網絡上運行代碼。它們現在是區塊鏈技術的基石,對現有各種網絡的長期生存至關重要。
在所有共識算法中,工作量證明仍占主導地位。目前還沒有提出更可靠、更安全的替代方案。話雖如此,人們正在對 PoW 的替代方案進行大量的研究和開發,未來幾年我們很可能會看到更多替代方案出現。



