理解區塊鏈共識算法的指南
已發表: 2019-10-21區塊鍊是一個分散的分佈式網絡,提供更高的透明度、安全性和不變性。
我們都知道!!
但是,你有沒有想過它是如何實現這一切的?
如果沒有集中的權威,誰來管理這個網絡並驗證每筆交易?
聽起來很有趣吧!
嗯,這是區塊鏈共識算法——我們將在本綜合指南中討論的區塊鏈開發世界的核心部分。
目錄:
- 區塊鏈共識算法的定義
- 共識機制的目標
- 市場流行的區塊鏈共識算法
- 良好的區塊鏈共識機制的屬性
- 依賴糟糕的共識協議的後果
- 經常問的問題
- 結論
什麼是區塊鏈共識算法?
什麼是區塊鏈共識算法的最簡單答案是,它是一個程序,區塊鍊網絡的所有對等方都通過它就分佈式賬本的實時狀態達成共識或共識。
共識機制使區塊鍊網絡能夠獲得可靠性並在不同節點之間建立一定程度的信任,同時確保環境的安全性。 這就是為什麼它是每個區塊鏈應用程序開髮指南和分佈式賬本環境中每個 dApp 項目的重要組成部分之一的原因。
這些算法基於不同的目標運行,我們將在本文的下一節中介紹其中的一些。
區塊鏈共識機制的目標
1.統一協議
共識機制的主要目標之一是達成統一協議。
與需要對權威的信任的集中式系統不同,用戶即使沒有以分散的方式相互建立信任也可以操作。 分佈式區塊鍊網絡中嵌入的協議保證了過程中涉及的數據真實準確,公共賬本的狀態是最新的。
2.調整經濟激勵
在建立一個自行監管的去信任系統時,必須協調網絡參與者的利益。
在這種情況下,共識區塊鏈協議為良好行為提供獎勵並懲罰不良行為者。 這樣,它也可以確保監管經濟激勵措施。
3.公平公正
共識機制使任何人都可以參與網絡並使用相同的基礎知識。 這樣,它證明了區塊鏈系統的開源和去中心化屬性是合理的。
4.防止雙重支出
共識機制基於某些算法工作,確保只有那些交易被包含在經過驗證和有效的公開透明分類賬中。 這解決了傳統的雙花問題,即數字貨幣兩次花費的問題。
5.容錯
共識方法的另一個特點是它確保了區塊鍊是容錯的、一致的和可靠的。 這意味著,即使在出現故障和威脅的情況下,受治理的系統也可以無限期地工作。
目前,生態系統中有大量的區塊鏈共識算法,更多的區塊鏈共識算法正在進入市場。 這使得每個區塊鏈開發公司和熱心的企業家都必須熟悉定義良好共識協議的因素,以及使用糟糕的共識協議可能產生的影響。
在介紹了區塊鏈共識方法的基礎知識之後,讓我們深入探討該主題並查看流行的共識機制類型。
市場流行的區塊鏈共識算法
1.工作證明(PoW)
工作量證明由中本聰開發,是區塊鏈領域最古老的共識機制。 它也被稱為挖礦,參與的節點被稱為礦工。
在這種機制中,礦工必須使用綜合計算能力來解決複雜的數學難題。 他們使用不同形式的挖掘方法,例如 GPU 挖掘、CPU 挖掘、ASIC 挖掘和 FPGA 挖掘。 最早解決問題的人會獲得一個區塊作為獎勵。
然而,這個過程並不那麼容易。 謎題只能通過試錯法來解決。 此外,謎題的複雜程度隨著區塊被挖掘的速度而增加。 因此,必須在特定時間範圍內創建一個新塊以應對難度級別。
工作量證明機制被多種加密貨幣使用,例如比特幣、萊特幣、ZCash、Primecoin、Monero 和 Vertcoin 等等。
該機制中解釋的比特幣算法使用隨機數作為隨機值來改變哈希值的輸出。 在比特幣共識算法中,每個塊都旨在生成一個哈希值,而隨機數是用於生成該哈希值的參數。
在實施方面,工作量證明 (PoW) 不僅影響了金融行業,還影響了醫療保健、治理、管理等領域。 事實上,它提供了通過地址進行多渠道支付和多重簽名交易的機會,以增強安全性。
2. 股權證明(PoS)
權益證明是 PoW 共識協議的最基本、最環保的替代方案。
在這種區塊鏈方法中,區塊生產者不是礦工,但他們的行為類似於驗證者。 他們有機會在每個人身上創建一個塊,從而節省能源並減少時間。 然而,為了讓他們成為驗證者,他們應該投入一定數量的資金或股份。
此外,與 PoW 的情況不同,礦工有權在該算法中收取交易費用,因為該共識模型中沒有獎勵系統。
總的來說,這鼓勵了像以太坊這樣的品牌在他們的以太坊 2.0 更新中將他們的模型從 PoW 升級到 PoS 。 此外,它還幫助 Dash、Peercoin、Decred、Reddcoin 和 PivX 等各種區塊鏈生態系統正常運行。
現在,雖然 PoS 解決了早期與 PoW 相關的各種問題,但市場上仍有許多挑戰尚未解決。 為了緩解這些挑戰並提供增強的區塊鏈環境,出現了幾種 PoS 變體。
權益證明 (PoS) 的兩種流行變體是 DPoS 和 LPoS。
- 委託權益證明 (DPoS)
在委託權益證明 (DPoS) 的情況下,參與者將他們的代幣質押並投票給一定數量的代表,這樣他們投資的越多,他們獲得的權重就越大。 例如:如果用戶 A 為委託人花費了 10 個幣,用戶 B 投資了 5 個幣,則 A 的投票權重高於 B 的投票權。
代表還以交易費用或一定數量的硬幣的形式獲得獎勵。
由於這種權益加權投票機制,DPoS 是最快的區塊鏈共識模型之一,並且作為數字民主備受青睞。 這種區塊鏈共識機制的一些實際用例是 Steem、EOS 和 BitShares。
- 租賃股權證明 (LPoS)
LPoS 是在Waves 平台上運行的 PoS 共識機制的增強版。
與每個擁有一定數量加密貨幣的節點都有權添加下一個區塊鏈的常規權益證明方法不同,用戶可以將其餘額出租給該共識算法區塊鏈中的完整節點。 並且向全節點租用更多數量的那個有更高的概率生成下一個塊。 此外,租賃者將獲得由完整節點收取的交易費用的一定百分比的獎勵。
這種 PoS 變體是開發公共加密貨幣的一種高效且安全的選擇。
3. 權威證明
權威證明是權益證明的修改版本,其中網絡中驗證者的身份處於危險之中。 在此,為了驗證驗證者的身份,身份是驗證者的個人身份與其官方文件之間的相似之處。 這些驗證者將他們的聲譽放在網絡上。 在權威證明中,節點(成為驗證者)是唯一允許生成新塊的節點。 激勵身份存在風險的驗證者保護和維護區塊鍊網絡。 在這個證明中,驗證者的數量相當少,大約 25 個或更少。
4.拜占庭容錯(BFT)
拜占庭容錯,顧名思義,用於處理拜占庭故障(也稱為拜占庭將軍問題)——系統的參與者必須就有效的策略達成一致以規避系統的災難性故障,但有些他們是可疑的。
通過此視頻了解有關拜占庭將軍問題的更多信息:-
BFT 共識模型的兩個變體在區塊鏈領域是主要的,PBFT 和 DBFT。
- 實用拜占庭容錯 (PBFT)
PBFT 是一種輕量級的區塊鏈算法,它通過讓用戶通過執行計算來評估有關消息有效性的決定來確認已傳遞給他們的消息,從而解決了拜占庭將軍的問題。
然後,該方將其決定宣布給最終處理決定的其他節點。 這樣,最終決策依賴於從其他節點檢索到的決策。
Stellar、Ripple 和 Hyperledger Fabric 是這種區塊鏈共識機制的一些用例。
- 委託拜占庭容錯 (DBFT)
由 NEO 引入的 Delegated Byzantine Fault Tolerance 機制類似於 DPoS 共識模型。 在這裡,NEO 代幣持有者也有機會投票給代表。
但是,這與他們投資的貨幣數量無關。 任何滿足基本要求,即經過驗證的身份、正確的設備和 1,000 GAS的人都可以成為代表。 然後隨機選擇其中一名代表作為演講者。
說話者從等待驗證的交易中創建一個新塊。 此外,他向有責任監督所有交易並將其記錄在網絡上的投票代表發送提案。 這些代表可以自由分享和分析提案,以檢查數據的準確性和演講者的誠實度。 然後,如果 2/3 的代表驗證它,則該塊被添加到區塊鏈中。
這種類型的區塊鏈共識協議也被稱為“中國的以太坊”,通過將資產數字化並在區塊鏈上提供智能合約,可以成為構建“智能經濟”的有用資源。
5. 直接無環圖(DAG)
每個使用區塊鏈的移動應用程序開發服務公司都必須熟悉的另一個基本但主要的區塊鏈共識模型是 DAG。
在這種區塊鏈共識協議中,每個節點本身都準備成為“礦工”。 現在,當礦工被消滅並且交易由用戶自己驗證時,相關費用降低到零。 驗證任意兩個最近節點之間的交易變得更加容易,這使得整個過程輕量級、更快、更安全。
DAG 算法的兩個最佳示例是 IOTA 和Hedera Hashgraph 。
雖然這些是開發環境中的主要共識模型,但許多不同的區塊鏈共識機制已經慢慢地逐漸開始獲得動力,例如:-
6. 容量證明(PoC)
在容量證明(PoC)機制中,每個複雜數學難題的解決方案都累積在硬盤等數字存儲中。 用戶可以使用這些硬盤來生成塊,這樣那些評估解決方案最快的人就有更好的機會來創建塊。
它遵循的過程稱為繪圖。 依賴 PoC 區塊鏈共識協議的兩種加密貨幣是 Burstcoin 和 SpaceMint。
7. 燃燒證明 (PoB)
被認為是 PoW 和 PoS 在能源消耗方面的替代解決方案,燃燒證明 (PoB) 共識模型的工作原理是讓礦工“燃燒”或“破壞”虛擬加密貨幣代幣,這進一步為他們提供了寫入的特權塊與硬幣成比例。 他們燃燒的硬幣越多,為他們獲得的每一枚硬幣挑選新區塊的機會就越大。
但是,為了銷毀硬幣,他們需要將其發送到無法用於驗證區塊的地址。
這在分佈式共識的情況下被廣泛採用。 這種共識機制最好的例子就是 Slim 幣。
8.身份證明(PoI)
PoI(身份證明)的概念就像授權身份的概念一樣。 它是附加到每個特定交易的用戶私鑰的加密確認。 每個已識別的用戶都可以創建和管理可以呈現給網絡中其他人的數據塊。
這種區塊鏈共識模型可確保創建數據的真實性和完整性。 因此,它是引入智慧城市的不錯選擇。
9. 活動證明 (PoA)
PoA 基本上是一種通過融合 PoW 和 PoS 區塊鏈共識模型而設計的混合方法。
在 PoA 機制的情況下,礦工最早使用特殊的硬件和電能競相解決密碼難題,就像在 PoW 中一樣。 但是,他們遇到的區塊只包含有關區塊贏家身份和獎勵交易的信息。 這就是機制切換到 PoS 的地方。
驗證者(被任命驗證交易的股東)測試並確保區塊的正確性。 如果該塊被多次檢查,驗證器將激活一個完整的塊。 這證實了開放交易是進程,並最終集成到找到的塊容器中。
此外,區塊獎勵被劃分,以便驗證者獲得份額。
該機制的兩個實際實現是 Espers 和Decred硬幣。
10.經過時間證明(PoET)
英特爾引入 PoET 的目的是通過考慮 CPU 架構和挖礦硬件的數量知道礦工何時以及以什麼頻率贏得區塊這一事實來接管 PoW 機制中涉及的密碼難題。
它基於公平分配和擴大更大比例參與者的機率的想法。 因此,要求每個參與節點等待特定時間以參與下一個挖掘過程。 要求等待時間最短的成員提供塊。
同時,每個節點也有自己的等待時間,然後進入睡眠模式。
因此,一旦一個節點激活並且一個塊可用,該節點就被認為是“幸運的贏家”。 然後該節點可以在整個網絡中傳播信息,同時保持去中心化的屬性並獲得獎勵。
11. 重要性證明(PoI)
PoI由NEM引入,是 PoS 協議的一種變體,它考慮了股東和驗證者在其運營中的作用。 然而,這不僅受其股份規模和機會的影響; 其他各種因素,如聲譽、整體平衡和否。 通過任何特定地址進行的交易也在其中發揮作用。
基於 POI 共識模型的網絡攻擊成本高,並且獎勵用戶為網絡的安全做出貢獻。
到目前為止共享的信息將幫助您區分各種區塊鏈共識協議。
但是,為簡化起見,這裡有一個區塊鏈共識算法比較表。
現在,讓我們從確定是什麼讓區塊鏈共識成為一個好的共識開始。
良好的區塊鏈共識機制的屬性
1.安全
在良好的共識機制中,所有節點都能夠根據協議規則生成有效的結果。
2.包容
良好的共識區塊鏈機制確保網絡的每個特定節點都參與投票過程。
3.參與式
所有節點都積極參與並為更新區塊鏈數據庫做出貢獻的共識機制稱為良好共識模型。
4.平等主義
一個好的機制的另一個特點是它給從節點收到的每一個投票賦予相同的價值和權重。
考慮到這一點,讓我們看看當您不考慮這些因素並在您的開發過程中引入一個糟糕的共識模型時會發生什麼。
選擇錯誤的共識協議的後果
1.區塊鏈分叉
選擇較差的區塊鏈共識方法會增加鏈的脆弱性。 區塊鏈愛好者和開發人員面臨的此類漏洞之一是區塊鏈分叉。
用通俗的語言來說,區塊鏈分叉是指一條鏈分叉成兩條或更多條的一種或多種情況。 下面嵌入的視頻中提供了有關區塊鏈分叉及其類型的詳細說明。
當區塊鏈分叉發生時,應用程序開始以不可預知的方式運行,在前面創建兩個或多個分叉節點。
2.表現不佳
當考慮到糟糕的共識區塊鏈機制時,節點要么出現故障,要么遭受網絡分區的影響。 這延遲了節點之間交換消息的過程並增加了應用程序的延遲,最終降低了性能水平。
3.共識失敗
將糟糕的共識機制納入您的業務模型的另一個影響是共識失敗。 在這種情況下,一小部分節點無法參與任何過程,因此,在沒有他們的投票的情況下,共識無法提供準確和預期的結果。
現在涵蓋了區塊鏈共識方法的基礎知識,讓我們深入探討該主題並查看流行的共識機制類型。
關於區塊鏈共識算法的常見問題
Q. 什麼是區塊鏈共識協議?
共識協議是一組規則或程序,用於管理兩個或多個節點如何在區塊鏈生態系統中交互、交換信息和執行相關流程。
Q. 以太坊使用什麼共識模型?
早些時候,以太坊正在使用 PoW(工作證明)共識模型。 但是,它現在已經轉向 PoS(Proof of Stake)區塊鏈共識算法。
最終的想法
最後,所有這些組件都有一個相似的目標,即在去中心化網絡中達成共識。 然而,即使有了共同的目標,這些機制在達成共識的方式上也有所不同。 雖然理想的共識尚不存在,但從長遠來看共識機制如何發展和調整以適應此類協議不斷變化的要求,這令人著迷且令人感動,毫無疑問,觀察到突破性想法的實現將是令人興奮的.
根據業務網絡的必要性明智地選擇一個非常重要,因為如果沒有共識算法來確認正在提交的每筆交易,區塊鍊網絡就無法正常工作。