關鍵點

  • 工作量證明(PoW)是一種共識機制,旨在防止數字支付系統中的雙重支出。

  • PoW 是挖礦過程的重要組成部分,它向區塊鏈添加新的交易區塊並創建新的加密貨幣單位。

  • 比特幣和許多其他加密貨幣選擇 PoW 作爲保護其區塊鏈網絡和數據的方法。

介紹

簡而言之,工作量證明(PoW)是一種爲防止數字支付系統中的雙重支出而創建的機制。比特幣和許多其他加密貨幣選擇 PoW 作爲保護其區塊鏈網絡和數據的方法。這種機制通常被稱爲共識算法或共識機制,因爲它們需要多方達成共識,而不必相互信任。

工作量證明是第一個出現的共識算法,它與權益證明(PoS)一樣仍然是最重要的算法之一。 PoW 是由中本聰在 2008 年的比特幣白皮書中提出的,但該技術本身早在這之前就已建立。

Adam Back 的 HashCash 是加密貨幣出現之前的工作量證明算法的早期示例。通過要求發件人在發送電子郵件之前進行一些計算工作,收件人可以減少收到垃圾郵件。這種計算操作對於合法發件人來說幾乎不需要任何成本,但對於大量電子郵件發件人來說卻非常耗費資源。

什麼是雙重支出?

雙重支出或雙重支出是指多次花費相同金額的錢。這個術語幾乎專門用於數字貨幣領域——因爲實際上很難將一張現金花兩次。 

當用現金支付一杯咖啡時,您將給收銀員現金以放入現金抽屜。但如果你想去街對面的咖啡店,繼續用這筆錢再買一杯咖啡,那是完全不可能的。然而,在數字現金系統中,這是可能的。 

就像您使用複製和粘貼來複制計算機上的文件一樣。您可以輕鬆地將同一文件通過電子郵件發送給數十個人。由於數字貨幣只是數據,因此您需要確保避免雙重支出欺詐的風險,即在不同的地方複製並使用相同的貨幣。無法防止雙重支出欺詐的數字支付系統遲早會崩潰。

爲了更好地瞭解雙重支出欺詐,請參閱雙重支出解釋。

爲什麼需要工作量證明?

如果您讀過有關區塊鏈技術的文章,您就會知道加密貨幣用戶不斷地將交易傳輸到網絡。但是,這些交易不會立即被視爲有效。交易在確認並添加到區塊鏈後纔有效。

例如,比特幣區塊鏈作爲每個用戶都可以看到的公共交易數據庫(分類帳)運行。爲了更容易想象:您和三個朋友有一個筆記本來跟蹤您的比特幣交易。每當團體中有人想要轉移價值時,就必須記錄下來:

Alice 向 Bob 支付 5 BTC;鮑勃向卡羅爾支付了 2 BTC,...

但是,每次進行交易時,您都必須記錄交易資金的來源。因此,如果 Bob 向 Carol 支付 2 BTC,則實際輸入如下: 

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 是否可以與其安全性相競爭,需要進行長時間的適當測試。

概括

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

閱讀更多:

  • 什麼是加密貨幣挖礦及其工作原理?

  • 什麼是公鑰密碼學?

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

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