區塊鏈的共識機制解釋
共識機制是一個熱門話題,涉及到環境、可擴展性和安全性。但它們究竟是什么?
什么是共識機制?
在加密貨幣世界中,共識機制是使計算機網絡能夠共同工作以確保網絡安全的協議和算法。
網絡中51%的節點必須就網絡的全球狀態達成一致,以便達成共識。
在某種程度上,這只是一種通俗的說法,"這是我們要用的方法,以確保我們都同意對方的觀點"。
我們達成了什么共識?
區塊鏈技術由經過驗證的區塊組成,然后添加到一個鏈上(因此得名區塊鏈)。
每個區塊包含一個特定時間段內經過驗證的交易列表。這是每個人都可以看到的;也就是說,你可以回去看區塊鏈上的每一筆交易。
共識機制被用來驗證添加到區塊鏈上的交易。
一些更高級的區塊鏈項目也會使用共識機制來驗證存儲的數據、智能合約等。
但在基本層面上,共識機制是用來驗證交易的。
協商一致機制是如何運作的?
嗯,這取決于一個區塊鏈決定使用的模式。有兩種主要類型的共識機制:工作證明(PoW)和權益證明(PoS)。
什么是工作證明
工作證明是比特幣使用的共識機制。其他使用它的加密貨幣項目有以太坊1.0,Dogecoin,和Litecoin。
它最初是由辛西婭-德沃克和莫尼-瑙爾在1992年開發的,作為防止垃圾郵件的一種方式。盡管是該模型的首次提出,但他們當時并沒有將其稱為工作證明。相反,它被稱為 "定價功能"。
一直到2009年,中本聰創造了比特幣,它使用工作證明作為共識機制。它被用來驗證交易,以及在區塊鏈上創建新區塊。
從那時起,它已經發展成為加密貨幣項目中廣泛使用的共識機制。
工作證明是如何運作的?
網絡上的節點將試圖回答難以解決,但容易驗證的加密難題--試圖解決難題的節點被稱為礦工。一旦一個礦工完成了一個謎題,他們就會把這個謎題廣播到區塊鏈上,以便其他礦工可以驗證這個解決方案。
密碼謎題的答案是一個叫做 "NONCE "的隨機數,它代表只使用一次的數字。這個數字不能被預測,只能被猜測。
這意味著你必須投入大量的時間來尋找NONCE。
一旦與區塊內的數據相結合,并通過哈希函數,NONCE將產生一個具有一系列條件的結果。這就是礦工將通過的過程,以驗證解決方案是否正確。
當有效的NONCE與一個區塊結合時,它會創建一個區塊哈希。然后,這將被存儲在經過驗證的區塊上,作為礦工工作的證明。然后,區塊將被創建并添加到區塊鏈上。
現在你有證據證明你付出了工作來解決這個難題。因此,你會得到一個加密貨幣形式的獎勵,稱為礦工的獎勵,。
這個獎勵只給首先找到NONCE的人,而不管其他人可能為解開這個謎題投入了多少精力。
工作證明的能源問題
由于礦工的獎勵,比特幣挖礦是一種為自己創造被動收入的方式,這就是個人和大公司投資成為礦工的原因。
你的計算能力越強,解決加密難題的設備越好,你就越有可能收到錢作為獎勵。
換句話說,一臺超級計算機比一臺2008年的戴爾電腦更有可能找到NONCE。
這導致了比特幣網絡上使用了大量的能源。它導致了環境保護者反對工作證明的共識機制。
比特幣網絡占全球電力消耗的0.66%,占全球能源消耗的0.23%。
比特幣消耗的電力足以為劍橋大學供電1081年,或為英國所有的茶壺供電33年。
然而,并非所有都是壞事。比特幣網絡所消耗的大量計算能力實際上意味著該網絡更加安全。
這是因為,為了攻擊區塊鏈,你需要控制網絡上51%的計算能力(稱為51%攻擊)。擁有這么多計算能力可能要花費數十億美元,這在經濟上是不可行的。
什么是 "權益證明"
權益證明是Solana、Cardano和Tezos使用的共識機制。
它最早于2011年在比特幣論壇上創建,作為工作證明的替代品,以改善舊的共識機制的不足之處。2012年,我們看到了第一個采用權益證明的加密貨幣項目 - Peercoin。
以太坊2.0將看到區塊鏈從工作證明轉向權益證明。試圖做到 "更可擴展、更安全、更可持續"。
這種方法比工作證明方法使用的計算能力要少得多。而且,因此,使用它的項目被視為更環保。
權益證明是如何工作的?
權益證明的共識機制是偽造區塊,而不是像工作證明方法那樣挖礦。
在工作證明項目中,代幣被創造出來作為對礦工的獎勵,但在權益證明項目中,交易費被用作獎勵。因此,權益證明項目通過出售預先開采的代幣啟動,或者最初以工作證明方式啟動,然后過渡到權益證明。
如果你想參與偽造區塊,你必須將你的代幣入股。抵押過程要求你將你的代幣鎖定在網絡中,這意味著,你在這段時間內無法使用它們。
這是因為如果你是一個壞的行為者,你將會被奪走你的抵押代幣作為懲罰--使這樣的行為在經濟上是可行的。
Stakers,也被稱為驗證者,在工作證明中承擔著與礦工類似的角色。
接下來,使用偽隨機選擇方法選擇驗證人。其中最流行的三種方法是node wealth、coin age selection和randomized block selection。
讓我們仔細看看每種方法。
node wealth
簡單地說,你押的代幣越多,你被選中驗證下一個區塊的機會就越大。
如果這是選擇驗證者的唯一變量,那么只有最富有的投幣者才能保證網絡的安全;使項目的分散性降低,更容易受到壞人的攻擊。
coin age selection
一個節點將根據代幣被抵押的時間來選擇,使用這個公式。
幣齡 = 抵押的天數 x 抵押的幣數
一旦一個節點完成了區塊的鍛造,它的幣齡就會被重置為零。因此,他們必須等待一段時間才能鍛造另一個區塊。這可以防止富裕的釘子戶主導鍛造過程。反過來,使區塊鏈更加分散。
randomized block selection
隨機區塊選擇將通過尋找具有最低哈希值和最高股權的節點來選擇下一個偽造者。
值得注意的是,每個使用權益證明共識機制的加密貨幣項目在選擇偽造者時都使用自己的一套規則和方法。
回到驗證一個區塊...
當一個節點最終被選中時,它將驗證該區塊上的交易。每筆交易都用發件人的私鑰簽名。
驗證者將使用這個密鑰來找到發件人的公鑰和地址。利用這些信息,他們將驗證發件人是否真的有他們要花的錢,以及他們是否有多次花費代幣(被稱為雙重消費問題)。
接下來,散列函數將經過驗證的散列交易分組為一棵Merkle樹。然后,偽造者使用其私鑰簽署區塊,并將其廣播到區塊鏈上,讓其他驗證者(現在稱為證明者)證明該區塊是有效的。
槽和紀元是用來劃分時間的。槽是為創建一個區塊而設定的時間(以太坊2.0的12秒)。
一個紀元是一個更大的定義時間段,它通常預示著什么時候會選擇一組新的驗證者(以太坊2.0的32個槽位,大約6分24秒)。
通常情況下,每個槽會在區塊鏈上產生一個區塊。然而,如果偽造者未能及時產生區塊,這可能是空的。
一旦區塊被驗證并添加到區塊鏈上,偽造者節點將獲得加密貨幣形式的獎勵。
如前所述,這通常來自于交易費用。如果證明人正確證明,也會得到獎勵。
并非所有的權益證明項目都會遵循這個確切的方法,并對系統稍作調整。
委托持股證明
一些權益證明項目允許你把你的代幣委托給其他驗證者,而不是自己去設置一個節點。這降低了賭注獎勵的準入門檻。
個人根據記錄和聲譽來選擇將他們的代幣委托給哪個驗證者。其他因素也可以決定某人將他們的代幣委托給哪里,比如他們是否使用環保能源,是否有一定比例的捐贈給慈善機構。
工作證明(Proof-of-Work)和權益證明(Proof-of-Stake)之間的區別
好吧,這是一個很大的信息。讓我們快速總結一下共識機制的差異。
工作證明
- 比特幣使用它
- 區塊被挖掘出來
- 礦工解決密碼學難題
- 需要大量的計算能力來挖礦
- 只有解開謎題的人才能得到獎勵
- 對環境非常不利
權益證明
- Cardano使用它
- 區塊是偽造的
- 密鑰和簽名被用來驗證交易
- 驗證者必須用他們的代幣做賭注才能被選中來偽造區塊
- 驗證者和證明者都會得到獎勵
- 更加環境友好
其他共識機制
盡管這是最流行的兩種共識機制,但它們并不是唯一的。事實上,在我們說話的時候,更多的共識機制正在被創造出來。
以下是一些替代性共識機制的例子。
空間和時間證明
這種共識機制允許項目存儲數據,而不僅僅是驗證交易。
從本質上講,該模型設置了一種將信息放到硬盤上的方式,然后會隨機檢查信息是否還在那里。
人們為他們的信息被存儲而付費,然后那些存儲數據的人則為存儲付費。
授權證明
這是一個更集中的權益證明的版本。
權威證明項目不允許任何人成為驗證者,而是選擇幾個他們信任的節點。這樣做是為了更快地處理交易,以及進一步減少對環境的影響。
唯一節點列表
這是瑞波(XRP)使用的共識機制。
與授權證明類似,你選擇幾個你信任的節點。這一次,節點不需要抵押任何東西,他們只需要驗證交易。
交易被發送到大量的節點,他們被要求簽署有效的交易。如果一個交易沒有得到很多簽名,它就被認為是無效的,所以它被扔掉。
共識機制對于確保區塊鏈的安全并使其成為今天的樣子至關重要。我們從工作證明開始,目前正在演變為權益證明,作為減少我們對地球傷害的一種方式。
但是,這將是剩下的時間里的共識機制嗎?或者我們很快就會看到另一種演變?