要點
工作量證明(PoW)是一種共識機制,旨在防止數字支付系統中的雙重支出。
PoW 是挖礦過程的關鍵部分,涉及向區塊鏈添加新的交易塊並創建新的加密貨幣單位。
比特幣和許多其他加密貨幣使用 PoW 作爲保護其區塊鏈網絡和數據的方法。
介紹
簡而言之,工作量證明(PoW)是一種爲防止數字支付系統中的雙重支出而創建的機制。比特幣和許多其他加密貨幣使用 PoW 作爲保護其區塊鏈網絡和數據的方法。這種機制通常被稱爲共識算法或共識機制,因爲它們涉及多方達成共識而無需彼此信任。
工作量證明是第一個出現的共識算法,它與權益證明(PoS)一樣仍然是最重要的算法之一。 PoW 是由中本聰在 2008 年的比特幣白皮書中提出的,但該技術本身早在那時就已被構思出來。
Adam Back 的 HashCash 是前加密貨幣時代工作量證明算法的早期示例。通過要求發件人在發送電子郵件之前執行少量計算,收件人可以減少垃圾郵件。對於合法發件人來說,這種計算幾乎不需要花費任何成本,但對於集體發送電子郵件的人來說,這種計算很快就會增加。
什麼是雙花?
當相同的資金被多次使用時,就會發生雙花。該術語幾乎專門用於數字貨幣——畢竟,你很難兩次花費相同的實物現金。
今天,當您購買咖啡時,您會將現金交給收銀員,收銀員可能會將現金鎖在收銀機中。你不能去馬路對面的咖啡店用同樣的賬單再買一杯咖啡。然而,在數字現金系統中,你有可能做到。
在使用複製粘貼命令之前,您肯定已經複製了計算機文件。您還可以輕鬆地將同一文件通過電子郵件發送給數十人。由於數字貨幣只是數據,因此需要防止人們雙重支出,即在不同的地方複製和花費相同的單位。無法防止雙重支出的數字支付系統很快就會崩潰。
要更深入地瞭解雙重支出,請查看雙重支出解釋。
爲什麼需要工作量證明?
如果您閱讀過我們有關區塊鏈技術的文章,您就會知道加密貨幣用戶不斷向網絡廣播交易。不過,這些交易不會立即被視爲有效。只有當它們得到確認並添加到區塊鏈時纔會發生這種情況。
例如,比特幣區塊鏈作爲每個用戶都可以看到的公共交易數據庫(分類帳)。想象一下:您和三個朋友有一個記事本來跟蹤您的比特幣交易。每當你們中的一個人想要進行價值轉移時,您都可以將其寫下來:
Alice 向 Bob 支付 5 BTC; Bob 向 Carol 支付 2 BTC,等等。
但是,每次進行交易時,您都會引用資金來源的交易。因此,如果 Bob 用 2 BTC 向 Carol 付款,則該條目實際上如下所示:
Bob 向 Carol 支付了 2 BTC,該金額來自之前與 Alice 的交易。
現在,我們有辦法追蹤 BTC 的單位。如果 Bob 嘗試使用他剛剛發送給 Carol 的 2 個 BTC 進行另一筆交易,每個人都會立即知道。該組織不允許將交易添加到記事本中,因爲這 2 個 BTC 已經被花掉了。
現在,這在小團體中可能會很有效。每個人都互相認識,因此他們可能會就哪些朋友應該將交易添加到記事本達成一致。如果我們想要 10,000 名參與者怎麼辦?記事本的想法不能很好地擴展,因爲沒有人願意相信陌生人來管理它。
這就是工作量證明的用武之地。它確保用戶不會花他們無權花的錢。通過結合博弈論和密碼學,PoW 算法使任何人都可以根據系統規則更新區塊鏈。
PoW 是如何運作的?
想象一下上面例子中的記事本就是區塊鏈。但我們不會一筆一劃地添加交易,而是將它們集中到區塊中。我們向網絡宣佈交易,然後創建區塊的用戶將它們包含在候選區塊中。只有當其候選塊成爲確認塊時,交易纔會被視爲有效,這意味着它已被添加到區塊鏈數據庫中。
驗證交易和添加新塊的過程稱爲挖掘。這是昂貴且困難的,但也可以是有益的。區塊獎勵由用戶的交易費和協議創建的全新比特幣組成。
工作量證明機制要求礦工(創建區塊的用戶)投入電力和計算能力等資源,以便對其候選區塊的數據進行哈希處理,直到找到難題的解決方案。
對塊的數據進行哈希處理意味着將其通過哈希函數傳遞以生成塊哈希。塊哈希的工作原理就像“指紋”——它是輸入數據的身份,並且對於每個塊來說都是唯一的。
換句話說,礦工必須驗證和收集待處理的交易,將它們組織成候選塊,並通過哈希函數傳遞塊的數據以創建有效的哈希。如果他們設法找到候選區塊的有效哈希值,他們會將其廣播到網絡,將該區塊添加到區塊鏈中,並收集挖礦獎勵。
當礦工將其候選塊和哈希值廣播到網絡時,其他網絡參與者將重複哈希過程以驗證輸出確實有效。
儘管需要無數次哈希嘗試才能找到有效的哈希,但任何人都可以輕鬆確認生成的哈希是否正確。他們只需通過哈希函數提交相同的輸入(塊數據)並檢查輸出是否相同。
在工作量證明中,您必須提供哈希值符合特定條件的數據。但你不知道如何到達那裏。您唯一的選擇是通過哈希函數傳遞數據並檢查它是否符合條件。如果沒有,您將必須稍微更改數據才能獲得不同的哈希值。即使更改數據中的一個字符也會導致完全不同的結果,因此無法預測輸出可能是什麼。
因此,如果你想創建一個區塊,你就是在玩猜謎遊戲。您通常會獲取要添加的所有交易的信息以及一些其他重要數據,然後將它們全部散列在一起。但由於您的數據集不會改變,因此您需要添加一條可變的信息。否則,您總是會得到與輸出相同的哈希值。這個變量數據就是我們所說的隨機數。每次嘗試都會改變這個數字,因此每次都會得到不同的哈希值。
總而言之,挖掘是收集區塊鏈數據並將其與隨機數一起進行散列的過程,直到找到特定的散列。如果您找到滿足協議規定條件的哈希值,您就有權將新塊廣播到網絡。此時,網絡的其他參與者更新他們的區塊鏈以包含新塊。
對於當今的主要加密貨幣來說,滿足這些條件非常具有挑戰性。網絡上的哈希率越高,找到有效哈希值就越困難。這樣做是爲了確保不會太快找到塊。
正如您可以想象的那樣,嘗試猜測大量哈希值可能會在您的計算機上付出高昂的代價。你正在浪費計算週期和電力。但如果您找到有效的哈希值,該協議將獎勵您加密貨幣。
讓我們回顧一下到目前爲止我們所知道的:
挖礦既困難又昂貴,但可以爲網絡提供安全性。
成功產生有效區塊的礦工將獲得新發行的加密貨幣和交易費用的獎勵。
生成有效的哈希值需要時間,但其他用戶可以通過重複哈希過程輕鬆檢查其有效性。
到目前爲止,一切都很好。但如果你試圖作弊怎麼辦?什麼可以阻止你將一堆欺詐性交易放入區塊併產生有效的哈希值?
這就是公鑰加密術的用武之地。我們不會在本文中深入討論,但請查看什麼是公鑰加密術?全面瞭解一下它。簡而言之,有一些巧妙的加密技巧可以讓任何用戶驗證某人是否有權轉移他們試圖花費的資金。
當您創建交易時,您需要對其進行簽名。網絡上的任何人都可以將您的簽名與您的公鑰進行比較,並檢查它們是否匹配。他們還會檢查您是否真的可以花費您的資金,以及您的投入總和是否高於您的產出總和(即您的支出是否超過您的支出)。
任何包含無效交易的區塊都將被網絡自動拒絕。即使嘗試作弊,對你來說也是昂貴的。你會浪費自己的資源而沒有任何回報。
這就是工作量證明的美妙之處:它使得作弊成本高昂,但誠實行事卻有利可圖。任何理性的礦工都會尋求投資回報,因此他們的行爲方式更有可能帶來收入。
工作量證明 (PoW) 與權益證明 (PoS)
除了 PoW 之外,還有許多共識算法,但最流行的算法之一是權益證明(PoS)。這個概念可以追溯到 2011 年,並已在以太坊和其他幾個協議中實現。
在權益證明系統中,礦工被驗證者取代。不涉及挖礦,也不存在猜測哈希值的競賽。相反,用戶是隨機選擇的——如果他們被選中,他們必須提議(或“僞造”)一個區塊。如果該區塊有效,他們將獲得由該區塊交易費用組成的獎勵。
不過,並不是任何用戶都可以被選擇——協議會根據多種因素來選擇他們。爲了獲得資格,參與者必須鎖定一定數量的股份,這是區塊鏈原生貨幣的預定數量。股份的作用就像保釋一樣:正如被告投入大量資金來阻止他們跳過審判一樣,驗證者也鎖定股份來阻止作弊。如果他們行爲不誠實,他們的股份(或一部分)將被沒收。
與工作量證明相比,權益證明確實有一些好處。最值得注意的是碳足跡更小——由於 PoS 不需要高功率的礦場,所以消耗的電力只是 PoW 消耗的一小部分。
也就是說,PoS 沒有與 PoW 相同的記錄。儘管挖礦可能被認爲是浪費,但它是唯一經過十多年考驗的共識算法。自推出以來,比特幣的 PoW 已確保了價值數萬億美元的交易。要確定 PoS 是否可以與其安全性相媲美,需要進行長期的適當測試。
結束語
工作量證明是雙花問題的最初解決方案,並已被證明是可靠和安全的。比特幣證明我們不需要中心化實體來防止相同的資金被重複使用。通過巧妙地使用密碼學、哈希函數和博弈論,去中心化環境中的參與者可以就金融數據庫的狀態達成一致。
進一步閱讀
什麼是加密貨幣挖礦及其工作原理?
什麼是公鑰密碼學?
什麼是區塊鏈共識算法?
免責聲明:此內容按“原樣”提供給您,僅供一般信息和教育目的,不作任何形式的陳述或保證。它不應被視爲財務、法律或其他專業建議,也無意建議購買任何特定產品或服務。您應該向適當的專業顧問尋求自己的建議。如果文章由第三方貢獻者貢獻,請注意,所表達的觀點屬於第三方貢獻者,並不一定反映幣安學院的觀點。請在此處閱讀我們的完整免責聲明以瞭解更多詳細信息。數字資產價格可能會波動。您的投資價值可能會下降或上升,並且您可能無法收回投資金額。您對自己的投資決定承擔全部責任,幣安學院對您可能遭受的任何損失不承擔任何責任。本材料不應被視爲財務、法律或其他專業建議。有關更多信息,請參閱我們的使用條款和風險警告。

