在蜂巢學院公開課第二課上,導師郝玉琨(萬向區塊鏈新鏈空間負責人)用通俗易懂的例子講解了了解區塊鏈必須要掌握的10個核心關鍵詞,其中有一個是“共識”。在課上,導師解釋了什么是共識,并提到PoW、PoS、DPoS是目前公有鏈常見的共識算法。
在區塊鏈共識機制這片江湖里,除了PoW、PoS、DPoS“三秀”外,還有數個小弟隱于其中,他們雖然沒有那么大的名聲,但也有公鏈在用。這篇文章,將簡單介紹10種共識機制,讓大家更多地了解區塊鏈的共識。
首先,我們再來復習下什么是共識。
什么是共識
舉個例子,你約了一幫人玩游戲,玩游戲之前要定下游戲規則,規定好輸贏的獎懲措施。游戲規則需要每個參與游戲的人同意并達成一致,這樣才能保證整個游戲的公平性,讓每個參與者都玩得開開心心。這個游戲規則就是一個“共識協議”。
在區塊鏈中也一樣,共識是一個決策過程,它的目標是確保所有參與者在添加新數據塊后,能就其當前狀態達成一致。換言之,共識協議確保了一條鏈的正確性,并為做出貢獻的參與者提供了激勵措施。共識協議對區塊鏈來說是非常重要的,它可以防止一個人單獨控制整個系統,并確保每個人都遵守網絡規則。以比特幣區塊鏈為例,雖然中本聰創造了比特幣區塊鏈,但TA對這條鏈并沒有所有權,比特幣區塊鏈完全是透明和開放的,網絡中的每個節點都是平等的。
總結來說,一個協議就是一套規則,它有助于:
· 確保在線交易的可行性;
· 消除雙重損毀的可能性;
· 確保參與者不作弊。
區塊鏈協議還包含:
· 確定性的邏輯規則;
· 以加密技術和密碼學作為安全基礎;
· 使網絡協議得以延續的激勵措施。
目前行業里有多種區塊鏈協議,其中PoW(工作量證明)和PoS(權益證明)是最早的協議,通常也是其它共識協議的原型。讓我們來看看它們各自有什么優缺點。
Proof-of-Work(PoW)
使用范圍:公有鏈
使用案例:比特幣、以太坊、萊特幣。
要添加一個新塊,參與者必須證明TA已經完成了多少量的工作。更準確地來說,要證明TA解決了一個非常困難的任務,即找到了符合特定規則的哈希值。第一個找到正確哈希值的人即可獲得在鏈上添加新塊的機會。
因此,參與PoW意味需要大量的計算資源成本,如電費、CPU等。盡管點對點的可擴展性不錯,但PoW處理交易的效率很低。它的另一個問題是,參與者的動機通常是為了致富而不是為了維護“正義”。隨著時間的推移,降低挖礦費用和傭金,會極大地影響網絡安全。
PoW的優勢在于,能確保兩個互不信任的參與者在一個網絡中工作。任何人都可以加入網絡,而不需要任何許。盡管點對點的可伸縮性很高,但是事務處理率仍然很低。
Proof-of-Stake (PoS)
工作原理:網絡信任驗證者,驗證者抵押自己的資源作為創建塊的能力保障。抵押的資源越大,網絡允許這個驗證者創建塊的概率就越高。
使用范圍:公共/私有區塊鏈。
使用案例:Cosmos、Tezos、Ethereum也正準備從PoW轉向PoS。
PoS的技術特點是沒有復雜和不必要的計算。網絡參與者不與其他人競爭,而是抵押他們的資源,如在以太坊區塊鏈中的抵押以太幣,并等待他們被選中來創建一個新的塊。
參與者對網絡安全很看重,因為他們自己手里持有網絡中的TOKEN。系統根據參與者所擁有的 “股權”來選擇驗證者,如參與者擁有5%的股份,那么將驗證網絡中5%的交易。PoS的想法是驗證者持有的“股份”比例越高,TA操縱驗證程序的興趣就越低。
與PoW算法一樣,PoS中交易的完成是概率性的。盡管與PoW相比,PoS的交易速度相對較快,但它仍然需要TOKEN。有人指出,擁有大量股份的驗證者將會有更大概率被選中,因此會導致“富者更富”。
Delegated-Proof-of-Stake (DPoS)
工作原理:參與者將新塊的生產委托給一小群被選出來的、數量固定的驗證者。競爭激烈,但回報豐厚。
使用范圍:公共/私有區塊鏈。
使用案例:Eos、Bitshares
DPoS通過減少驗證者的數量來提高交易速度以及創建塊的速度。驗證者是TOKEN持有者通過投票選出來的,新塊由驗證者而不是TOKEN持有者創建。每票的權重由投票人的資產總和決定。投票人可以在任何時候投票給驗證者。這決定了網絡的高度靈活性,如果大多數驗證者失敗或出現問題,那么社區將立即投票選出新的驗證人來替代他們。
每個新塊的產生需要1-2秒的時間。與PoS相比,DPoS更快更公平,因為被委托的驗證人將會與為他們投票的人共享獲得的獎勵。
工作原理:PoW和PoS的混合。
使用范圍:公共區塊鏈。
使用案例:Decred。
活動證明(PoA)結合了PoW和PoS協議,這意味著參與者可以挖礦或抵押權益來驗證區塊。因此,PoA協議在礦工和普通網絡成員之間提供了平衡。
Proof-of-Location (PoL)
工作原理:信標用于查看處于同步狀態的節點,然后用臨時標記來標記其存在。
使用范圍:公共區塊鏈。
使用案例:FOAM、Platin。
位置證明(PoL)允許用戶保護特定的GPS位置,從而在網絡上進行身份驗證。這個區塊鏈協議依賴于BFT信標,它在區塊鏈中記錄地理位置和時間標記,從而防止系統中斷和欺詐。
Proof-of-Importance (PoI)
工作原理:和PoS類似,但是有影響排名的附加條件。
使用范圍:公共區塊鏈。
使用案例:NEM。
算法和PoS類似,但包含三個部分:賬戶內的TOKEN數量;賬戶活躍度;帳戶持有人在網絡上花費的時間。
第一個參數在驗證交易的評級中起著至關重要的作用;第二個和第三個參數只是幫助建立賬戶的“價值”。TOKEN的數量越小,其他參數的影響越大。
因此,一個擁有數十萬TOKEN的賬戶,由于其活躍性和上網時間,可以將重要性系數提高近3倍。反之,擁有數億TOKEN的人,如果不夠活躍以及上網時長不夠,其重要性將降低。
Proof-of-Elapsed-Time (PoET)
工作原理:塊是在相同的時間里以及受信任的環境中創建的。
使用范圍:私有/聯盟區塊鏈。
使用案例:Intel。
該系統類似于工作證明,但使用的電力較少。該算法不是參與者解決密碼難題,而是在受信任的執行環境環境中工作,如Intel Software Guard Extensions(SGX)。PoET協議保證這些塊是隨機生成的,不受其它因素干擾。
Proof-of-Authority (PoA)
使用范圍:聯盟/私有區塊鏈。
使用案例:Kovan、Rinkeby、Giveth、Tomochain、Rublix、Swarm City、Colony、Go-Chain。
與PoS和DPoS類似,在POA中,驗證人節點保護區塊鏈并生成新的區塊。區塊鏈上的新塊只有在驗證器達到最大值時才會創建。區塊鏈上的新塊,只有當驗證人節點達到最大值時才會被創建。
通過預先選定驗證人,Proof of Authority并沒有那么去中心化。因此,這種共識協議更適合私有或者聯盟區塊鏈,如銀行和保險公司。所有驗證人的身份都是公開的,可由任何第三方進行驗證。因此,驗證人的行為是為了使網絡利益最大化。
Proof of Capacity (PoC) or Proof of Space (PoS)
工作原理:礦工可執行的工作量取決于其磁盤可用空間量。
使用范圍:公共區塊鏈。
使用案例:Burstcoin、Bitcoin Ore。
PoC類似PoW,但兩者有個顯著區別,在PoC中,不需要做大量的工作來驗證每個區塊,這些工作在”Plotting”(繪圖)的過程中提前完成了,此過程的結果用于后面驗證每個塊。Plotting是生成稱為“plotting file”的特殊文件的過程,該文件存儲大量預先計算好的哈希值。最短的解決方案被授予挖掘下一個塊的權限。PoC具有高效、成本低和分布式的優點。
Proof-of-Concept (PoC)
PoC可用于任何領域,括投票追蹤、記錄存儲、法律文件等。PoC可以是沒有任何支持代碼的原型,也可以是具有基本功能集的最小可行產品(MVP)。PoC是組織內部用來更好地理解特定項目的模型。
共識協議是區塊鏈不可分割的一部分。它們有助于實現公正,也能避免當一個或部分參與者節點失敗時,系統出現故障。其次,也有助于互不信任的參與者在去中心化的環境中達成“共識”。
上文只簡單介紹了部分共識協議,還有很多協議未囊括其中,如Practical Byzantine Fault Tolerance(PBFT)、Proof-of-Brain (PoB)、Proof-of-Physical-Address (PoPA)、Proof-of-Bank-Account (PoBA)等。在蜂巢學院公開課第三課上,將詳細介紹比特幣的共識協議(PoW)。導師吳為龍(趣派科技CTO),是行業早期參與者和第一批區塊鏈開發者,他將會結合自己多年的行業經驗,為大家通俗易懂地講授比特幣的起源、發展、治理等各種知識,讓大家離區塊鏈更近一步。
責任編輯;zl
評論
查看更多