關鍵點
工作量證明(PoW)是一種共識機制,旨在防止數字支付系統中的雙重支出。
PoW 是挖礦的關鍵部分,涉及將交易塊添加到區塊鏈並創建新的加密貨幣單位。
比特幣和許多其他加密貨幣使用 PoW 機制來保護其區塊鏈網絡和數據。
介紹
簡而言之,工作量證明(PoW)是一種旨在防止數字支付系統中雙重支出的機制。比特幣和許多其他加密貨幣使用 PoW 來保護其區塊鏈網絡和數據。這些元素被稱爲共識機制或算法,因爲它們允許多方達成共識而無需相互信任。
工作量證明是第一個共識算法,並且仍然與權益證明(PoS)一樣是最重要的算法之一。 PoW 是由中本聰在 2008 年的比特幣白皮書中提出的,但該技術本身早在這之前就被提出了。
使用工作證明算法的一個早期例子是 Adam Back 的 HashCash 系統,它甚至在加密貨幣出現之前就出現了。在發送電子郵件之前需要進行少量計算,從而減少了垃圾郵件的數量。對於普通發件人來說,此類計算幾乎不需要花費任何成本,但會使批量郵寄過程變得非常複雜。
什麼是雙重支出?
當相同的資金被多次使用時,就會發生雙重支出。這個術語幾乎總是與數字貨幣相關,因爲在現實生活中很難想象同樣的錢被花兩次的情況。
例如,當您購買咖啡時,您將錢交給收銀員,收銀員將其放入收銀機。你將無法用同樣的賬單去另一家咖啡館購買第二杯咖啡。然而,在數字貨幣系統中這是可能的。
您可能已經在計算機上覆制了文件。相同的文件可以輕鬆發送給數十人。而且由於數字貨幣只是數據,因此有必要消除雙重支出的可能性,即在不同的地方複製和發送相同的單位。如果數字支付系統不能防止雙重支出,它很快就會崩潰。
要了解有關雙重支出的更多信息,請查看文章什麼是雙重支出。
爲什麼需要工作量證明?
如果您已經閱讀了我們的區塊鏈指南,那麼您就會知道加密貨幣用戶將交易廣播到網絡。但交易不會立即生效,而是在驗證並添加到區塊鏈之後才生效。
例如,比特幣區塊鏈作爲公共交易數據庫(註冊表)運行,任何用戶都可以查看。假設您和您的三個朋友有一個記事本,您可以在其中記下您的比特幣交易。如果你們中的一個人想要轉賬,他會在筆記本上記下:
Alice 向 Bob 支付了 5 BTC。 Bob 向 Carol 支付了 2 BTC,依此類推。
每次轉賬時,您必須參考之前收到資金的交易。也就是說,當 Bob 向 Carol 轉賬 2 BTC 時,條目如下所示:
Bob 將之前與 Alice 的交易中的 2 BTC 轉移給 Carol。
這樣我們就可以追蹤所有 BTC 轉賬。如果 Bob 嘗試使用他剛剛發送給 Carol 的 2 個 BTC 進行另一筆交易,每個人都會立即知道。該組織不允許他在筆記本中記錄此類交易,因爲他已經花掉了這 2 個 BTC。
這樣的系統可以在所有參與者都彼此瞭解的一小羣人中很好地工作,因爲他們更容易就誰負責將交易添加到總列表中達成一致。但是如果我們想要聚集 10,000 名成員怎麼辦?使用記事本的想法不能很好地擴展,因爲沒有人會相信陌生人來管理這樣的財務分類賬。
這就是需要工作量證明算法的原因。它確保用戶不會花他們不能花的錢。該算法使用博弈論和密碼學,允許任何用戶根據系統規則更新區塊鏈。
工作量證明如何運作?
將上面示例中的記事本視爲區塊鏈。然而,交易並不是一一添加到系統中,而是組合成區塊。創建區塊的用戶將交易包含在候選區塊中。只有候選區塊被確認並添加到區塊鏈數據庫後,交易纔會被視爲有效。
確認交易和添加新區塊的過程稱爲挖礦。它相當複雜並且需要成本,但可以以區塊獎勵的形式產生利潤。它由交易費用和協議創建的新比特幣組成。
工作量證明機制要求礦工(創建區塊的用戶)投入資源(電力和計算能力)對候選區塊的數據進行哈希處理,直到找到解決方案。
對塊進行哈希處理涉及將其傳遞給哈希函數以生成哈希值。塊哈希充當“指紋”,並充當每個塊唯一的輸入數據的標識符。
換句話說,礦工必須驗證並收集待處理的交易,然後將它們組合成候選塊,並通過哈希函數運行塊數據以獲得正確的哈希值。如果礦工設法找到其候選區塊的正確哈希值,他會將其提交到網絡,將該區塊添加到區塊鏈中並獲得挖礦獎勵。
一旦礦工將候選區塊和哈希提交到網絡,其他網絡參與者將重複哈希過程以確保結果的有效性。
找到正確的哈希值需要進行大量的嘗試,但檢查完成的哈希值的正確性非常容易。爲此,您只需通過哈希函數傳遞相同的輸入數據(塊數據)並檢查結果是否匹配。
在工作量證明中,您必須提供哈希值遵循協議中規定的某些規則的數據,前提是您不知道如何直接檢索它。唯一的選擇是通過哈希函數運行數據並檢查其是否符合條件。如果沒有匹配,您將不得不更改數據以獲得不同的哈希值。即使更改數據中的一個字符也會導致完全不同的結果,因此不可能簡單地預測輸出可能是什麼。
因此,要創建一個塊,您需要計算哈希值。爲此,用戶將需要添加到塊的所有交易的信息和一些其他數據散列在一起。但由於數據集不會改變,因此用戶添加一條信息,該信息將成爲變量。否則,輸出將始終是相同的哈希值。該變量數據稱爲隨機數。每次嘗試獲取新的哈希值時,它們都會發生變化。
因此,挖掘是收集區塊鏈數據並將其與一次性代碼一起進行散列的過程,直到找到合適的散列。如果您找到滿足協議設定條件的哈希值,您就有權向網絡廣播新塊。此時,網絡中的其他參與者需要更新其區塊鏈以包含新區塊。
主要加密貨幣設定的條件非常難以滿足。網絡哈希率越高,找到有效哈希值就越困難。這樣做是爲了防止區塊生成得太快。
定期嘗試猜測大量哈希值的成本很高,因爲它浪費了大量的計算資源和電能。然而,如果礦工設法找到有效的哈希值,協議就會獎勵他們的工作。
讓我們回顧一下我們所涵蓋的內容:
挖礦是一個複雜且昂貴的過程,需要確保網絡的安全。
創建有效區塊的礦工將以新的加密貨幣和交易費的形式獲得獎勵。
生成正確的哈希值需要一些時間,但通過重複哈希過程可以輕鬆快速地驗證其準確性。
但如果你試圖欺騙系統怎麼辦?是什麼阻止您將一堆欺詐性交易放入一個區塊並創建有效的哈希值?
公鑰密碼學就是爲此目的而開發的。要了解有關此主題的更多信息,請查看我們的文章什麼是公鑰加密技術。簡而言之,該算法使用某些加密技術,允許任何用戶驗證單個網絡參與者將資金轉移到另一個地址的權利。
當您創建交易時,您需要對其進行簽名。然後,任何網絡參與者都可以將您的簽名與您的公鑰進行比較,看看它是否匹配。這可以讓您知道您是否可以花費您的資金以及您的支出是否超過允許的金額。
任何包含無效交易的區塊都將被自動拒絕。試圖欺騙網絡會讓你付出很大的代價,因爲你最終會浪費你的計算資源而得不到任何回報。
這就是工作量證明的思想:用戶誠實行事比試圖欺騙系統更有利可圖。礦工們正在努力收回投資,因此大多數礦工都會遵守規則來獲利。
工作量證明 (PoW) 和權益證明 (PoS)
除了 PoW 之外,還有許多其他共識算法,但最流行的算法之一是權益證明(PoS)。它的概念可以追溯到 2011 年,並已在以太坊和其他幾個協議中實現。
在具有權益證明共識的網絡中,礦工的角色由驗證者扮演,因爲該協議與挖掘過程和猜測哈希值無關。相反,用戶是隨機選擇的,所選的參與者必須提出一個新的區塊。如果發現一個區塊有效,驗證者將獲得包含該區塊交易費用的獎勵。
該協議根據幾個因素選擇一個新的驗證器。爲了有機會被選中,您需要通過將一些代幣添加到質押中來鎖定它們。該金額充當一種抵押品:驗證者在系統中阻止一定數量的代幣,如果驗證者試圖欺騙系統,這些代幣將會丟失。如果驗證者嘗試驗證無效區塊,則質押代幣將被沒收。
與工作量證明相比,權益證明有一些優勢。其中之一是更小的碳足跡。這是因爲權益證明不需要維護強大的礦場,因此比工作量證明消耗的電力要少得多。
然而,PoS 的記錄不如 PoW。雖然 PoW 可能被認爲是浪費,但挖礦是目前唯一一個十多年來一直運行良好的共識算法。在此期間,比特幣的 PoW 機制已經安全地處理了價值數萬億美元的交易。 PoS 協議尚未證明其長期有效性和競爭力。
綜上所述
工作量證明是解決雙重支出問題的可靠且安全的解決方案。比特幣已經證明它不需要中心化的組織。通過正確使用密碼學、哈希函數和博弈論,去中心化環境中的參與者可以自己監控整個金融數據庫的正確運行。
推薦閱讀
什麼是加密貨幣挖礦以及它是如何工作的?
什麼是公鑰密碼學?
什麼是區塊鏈共識算法?
免責聲明:以下材料“按原樣”提供,不提供任何形式的保證,僅供一般參考和教育目的。此信息不應被視爲財務建議、法律建議或購買任何特定產品或服務的建議。您應該向適當的專業顧問尋求自己的建議。由於本文由第三方作者撰寫,請注意,所表達的觀點僅代表第三方作者的觀點,並不一定反映幣安學院的觀點。欲瞭解更多詳細信息,請點擊鏈接。數字資產的價值可能會波動。投資資金的價值可能會上升或下降。您可能無法取回您的投資資金。您對您的投資決定承擔全部責任。幣安學院不對您可能造成的損失負責。該信息不構成財務、法律或專業建議。要了解更多信息,請閱讀我們的使用條款和風險披露。
