關鍵方面

  • 工作量證明(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 支付了之前與 Alice 的交易中的 2 BTC。

我們現在有辦法追蹤 BTC 單位。如果 Bob 嘗試用他剛剛發送給 Carol 的 2 BTC 進行另一筆交易,每個人都會立即知道。該組織不會允許將交易添加到筆記本中,因爲這 2 個 BTC 已經被花掉了。

這是在小團體中可以很好地發揮作用的事情。每個人都互相認識,因此他們可能會就哪些朋友應該向筆記本添加交易達成一致。但如果我們想要一個擁有 10,000 名參與者的小組,會發生什麼呢?筆記本電腦的想法不能很好地擴展,因爲沒有人願意相信陌生人來管理它。

這就是工作量證明機制發揮作用的地方。它確保用戶不會花他們無權花的錢。 PoW 算法結合了博弈論和密碼學,允許任何人根據系統規則更新區塊鏈。

工作量證明如何運作?

想象一下,上一個例子中的筆記本是區塊鏈,但我們並沒有將交易逐一添加,而是將它們分組爲區塊。我們向網絡宣佈交易,然後創建區塊的用戶將它們包含在候選區塊中。只有當其候選塊成爲確認塊(這意味着它已被添加到區塊鏈數據庫中)時,交易纔會被視爲有效。

驗證交易和添加新塊的過程稱爲挖掘。這是昂貴且困難的,但也可以是有益的。區塊獎勵由用戶交易費用和協議創建的新比特幣組成。 

工作量證明機制要求礦工(創建區塊的用戶)投入電力和計算能力等資源來散列候選區塊的數據,直到找到難題的解決方案。

對塊數據進行哈希處理意味着將其傳遞給哈希函數以生成塊哈希。塊哈希的工作原理就像“指紋”:它是輸入數據的身份,並且對於每個塊來說都是唯一的。

換句話說,礦工必須驗證和收集待處理的交易,將它們組織成候選塊,並將塊數據通過哈希函數傳遞以創建有效的哈希。如果它設法爲其候選塊找到有效的哈希值,則會將其廣播到網絡,將該塊添加到區塊鏈中,並收集挖礦獎勵。

當礦工將其候選塊和哈希傳輸到網絡時,其他網絡參與者將重複哈希過程以驗證輸出是否確實有效。 

儘管需要無數次哈希嘗試才能找到有效的哈希,但必須有人確認生成的哈希是正確的。他們只需通過哈希函數發送相同的輸入(塊數據)並檢查輸出是否相同。

在工作量證明中,您必須提供散列滿足特定條件的數據。但是,您不知道如何實現它。您唯一的選擇是通過哈希函數傳遞數據並檢查是否滿足條件。如果沒有,您將需要稍微修改數據以獲得不同的哈希值。即使更改數據中的單個字符也會產生完全不同的結果,因此無法預測輸出會是什麼樣子。

因此,如果你想創建一個區塊,你就是在玩猜謎遊戲。通常,您獲取有關要添加的所有事務的信息以及一些其他重要數據,然後將它們分組在一起。但由於您的數據集不會更改,因此您必須添加可變信息。否則,您總是會得到與輸出相同的哈希值。這個變量數據就是我們所說的隨機數。這是一個每次嘗試都會更改的數字,因此每次都會得到不同的哈希值。

簡而言之,挖掘是收集區塊鏈數據並使用隨機數對其進行哈希處理,直到找到特定哈希值的過程。如果你找到滿足協議設定條件的哈希值,你就有權將新區塊廣播到網絡上。此時,其他網絡參與者更新他們的區塊鏈以包含新區塊。

對於當今領先的加密貨幣來說,滿足這些條件非常具有挑戰性。網絡上的哈希率越高,找到有效哈希值就越困難。這樣做是爲了確保不會太快地找到塊。

正如您可以想象的那樣,嘗試猜測大量哈希值對於您的計算機來說可能代價高昂:您浪費了計算機週期和電力。但是,如果您找到有效的哈希值,協議將獎勵您加密貨幣。

讓我們回顧一下到目前爲止我們所知道的:

  • 挖礦既困難又昂貴,但它爲網絡提供了安全性。

  • 成功產生有效區塊的礦工將獲得新發行的加密貨幣和交易費用的獎勵。

  • 生成有效的哈希值需要時間,但其他用戶可以通過重複哈希過程輕鬆驗證其有效性。

到目前爲止,一切都很好。但如果你試圖作弊怎麼辦?是什麼阻止您將大量欺詐性交易放入區塊並生成有效的哈希值?

這就是公鑰密碼學發揮作用的地方。我們不會在本文中深入探討這一點,但請查看什麼是公鑰加密技術?以獲得對該主題的全面瞭解。簡而言之,有一些加密技巧可以讓任何用戶檢查某人是否有權轉移他們試圖花費的資金。

當您創建交易時,您需要對其進行簽名。網絡上的任何人都可以將您的簽名與您的公鑰進行比較,看看它們是否匹配。他們還將檢查您是否真的可以花費您的資金,以及您的投入總和是否大於您的產出總和(也就是說,您的支出沒有超過您擁有的)。

任何包含無效交易的區塊都將被網絡自動拒絕。即使嘗試作弊也是要付出代價的:你將失去自己的資源而得不到任何獎勵。

這就是工作量證明機制的美妙之處:它使得欺騙成本高昂,但誠實行事卻有利可圖。任何理性的礦工都會尋求投資回報,因此他們的行爲方式更有可能產生收入。

工作量證明(PoW)與權益證明(PoS)

除了 PoW 之外,還有許多共識算法,但最流行的算法之一是權益證明(PoS)。這個概念可以追溯到 2011 年,並已在以太坊和其他幾個協議上實現。

在權益證明系統中,礦工被驗證者取代。不涉及挖礦或猜測哈希值的競賽。相反,用戶是隨機選擇的:如果他們被選擇,他們必須提出(或“僞造”)一個區塊。如果區塊有效,他們將獲得由區塊交易費用組成的獎勵。

然而,並不是任何用戶都可以被選擇:協議根據許多因素來選擇他們。爲了獲得資格,參與者必須鎖定一定數量的股份,這是區塊鏈本機貨幣的預定數量。質押的作用就像保釋一樣:就像被告支付大筆費用以避免接受審判一樣,驗證者也會阻止質押以阻止欺騙。如果他們行爲不誠實,他們的股份(或一部分)將被沒收。

與工作量證明相比,權益證明機制具有一些優勢。最值得注意的是碳足跡更低:由於 PoS 不需要高功率礦場,因此消耗的電力只是 PoW 消耗的一小部分。 

話雖如此,PoS 的歷史與 PoW 不同。儘管挖礦可能被認爲是一種資源浪費,但它是唯一經過十多年考驗的共識算法。自推出以來,比特幣的 PoW 機制已經保障了價值數萬億美元的交易。爲了確定 PoS 是否可以與 PoW 的安全性相媲美,需要進行長期的適當測試。

結論

工作量證明是雙重支出問題的最初解決方案,並且已被證明是可靠和安全的。比特幣證明我們不需要中心化實體來防止相同的資金被重複使用。通過巧妙地使用密碼學、哈希函數和博弈論,去中心化環境中的參與者可以就金融數據庫的狀態達成一致。

進一步閱讀

  • 什麼是加密貨幣挖礦或加密挖礦以及它是如何工作的?

  • 什麼是公鑰密碼學?

  • 什麼是區塊鏈共識算法?

法律聲明和風險警告:此內容“按原樣”呈現,僅供一般信息和教育目的,不作任何形式的陳述或保證。它不應被視爲財務、法律或其他專業建議,也不旨在建議購買任何特定產品或服務。您應該向合適的專業顧問尋求個人建議。由於本文由第三方貢獻,請注意,所表達的觀點僅代表第三方貢獻者的觀點,並不一定反映幣安學院的觀點。欲瞭解更多信息,請在此處閱讀我們的完整法律聲明。數字資產價格可能會波動。投資的價值可升可跌,而且您可能無法收回投資金額。只有您對您的投資決定負責。幣安學院對您可能遭受的任何損失不承擔任何責任。本材料不應被視爲財務、法律或其他專業建議。欲瞭解更多信息,請參閱我們的使用條款和風險警告。