重點要記住

  • 工作量證明(PoW)是一種爲了防止數位支付系統中的雙重支付而建立的共識機制。

  • PoW 是挖礦過程中的關鍵元素,它包含將新的交易區塊新增到區塊鏈,並創造新的加密貨幣單位。

  • 比特幣及許多其他加密貨幣使用 PoW 作爲保護其網路與區塊鏈資料的方法。

介紹

簡而言之,工作量證明(PoW)是一種爲防止數字支付系統發生雙重支出的機制。比特幣以及許多其他加密貨幣會使用PoW來保障其網絡和區塊鏈數據的安全。這些機制通常被稱爲共識算法或共識機制,因爲它們需要多個參與方在不必相互信任的情況下達成一致。

工作量證明是最早出現的共識算法,它仍然是最重要的算法之一(與權益證明PoS並列)。它由中本聰在2008年的比特幣白皮書中提出,但這項技術的設計早於加密貨幣出現很久。

Adam Black的HashCash是一個在加密貨幣誕生之前就存在的工作量證明算法示例。通過要求發送方在發郵件之前先進行一小段計算,就能輕鬆減少垃圾郵件。對合法的發送方來說,這項計算幾乎不需要成本;但對羣發郵件的人而言,這項計算會帶來明顯的代價。

什麼是雙重支出?

當資金被花費多次時就會發生雙重支出。這個術語幾乎只在數字貨幣的語境中使用。因爲要同時花掉兩次同樣的幣或鈔票非常困難。 

當你買一杯咖啡時,你會把現金交給收銀員,收銀員隨後會把這筆錢鎖在自己的錢櫃裏。你不能再去另一家咖啡店,並用同一筆錢付款。不過,在數字現金系統中,這種情況是存在的。 

你可能已經通過複製粘貼命令把一個文件“複製”過一份。你也可以很容易地把同一個文件通過電子郵件發送給幾十個人。由於數字貨幣本質上只是數據,因此必須阻止人們在不同地點複製並花費相同的單位。一個無法阻止雙重支出的數字支付系統會在極短時間內崩潰。

想了解更多關於雙重支出,請隨時閱讀《雙重支出詳解》這篇文章。

爲什麼需要工作量證明?

如果你讀過我們的區塊鏈技術文章,你就會知道:加密貨幣用戶會不斷地在網絡中廣播交易。這些交易並不會被立刻視爲有效。只有在它們被確認並添加到區塊鏈之後,纔會變得有效。

以比特幣區塊鏈爲例,它運行方式類似於一個公開的交易數據庫(賬本),每個用戶都可以查看。想象一下:你和你的三個朋友有一本記事本,用來記錄你們的比特幣交易。每當你們中的某個人想轉移價值時,你就會把它寫下來:

Alice 向 Bob 支付 5 BTC;Bob 向 Carol 支付 2 BTC,等等。

每次你進行一筆交易時,你都會引用資金來自於哪一筆交易。因此,如果 Bob 用 2 BTC 支付給 Carol,那麼輸入看起來實際上會像這樣: 

Bob 用來自這筆先前交易的 2 BTC 支付給 Carol,而這筆交易由 Alice 發起。

我們現在有辦法追蹤 BTC 的這些單位。如果 Bob 試圖再次用剛剛發送給 Carol 的同一筆 2 BTC 進行交易,那麼所有人都會知道。該羣組不會允許把這筆交易添加到記事本里,因爲這 2 BTC 已經被花掉了。

這也許能在一個小團隊裏運作得很好。大家彼此認識,並且很可能會就哪些人應該把交易寫進記事本達成一致。但如果是這一次換成一個有 1 萬人的羣體呢?記事本不適用,因爲沒有人願意相信一個陌生人來管理它。

這時工作量證明就發揮作用了。它確保用戶不會把沒有權限的資金拿去使用。通過將博弈論與密碼學結合起來,PoW 算法讓所有人都能在遵守系統規則的情況下更新區塊鏈。

PoW 是如何運作的?

想象一下:上面這個例子中的記事本就是區塊鏈。不過我們不會把交易一筆筆地添加進去,而是把它們打包到區塊中。我們會在網絡中公佈這些交易,然後創建區塊的用戶會把它們加入到一個候選區塊裏。只有當候選區塊變成“已確認區塊”之後,交易纔會被視爲有效,也就是說它已經被添加到了區塊鏈。

交易驗證以及添加新區塊的過程稱爲挖礦。它很昂貴、很困難,但也可能令人感到有成就感。區塊獎勵由用戶的交易手續費以及協議所新生成的比特幣組成。 

工作量證明(PoW)機制要求挖礦者(創建區塊的用戶)投入諸如電力和計算能力等資源,對其候選區塊的數據進行哈希運算,直到找到一個解得出謎題的解決方案。

對區塊數據進行哈希意味着將這些數據輸入到哈希函數中,以生成區塊哈希。這個區塊哈希就像是一種“數字指紋”:它能標識你的輸入數據,並且每個區塊都不一樣。

換句話說,挖礦者需要驗證並收集待處理的交易,將它們整理到一個候選區塊中,並通過哈希函數對區塊數據進行處理以創建一個有效的哈希。若他們能夠爲自己的候選區塊找到一個有效哈希,就會將其廣播到網絡中,添加該區塊到區塊鏈,並收取挖礦獎勵。

當挖礦者在網絡中廣播其候選區塊及對應的哈希時,網絡中的其他參與者會重複哈希過程,以確認輸出結果確實有效。 

儘管爲了找到有效哈希可能需要無數次嘗試,但任何人都很容易確認生成的哈希是否正確。只要將相同的輸入(區塊數據)再次通過哈希函數,並檢查輸出是否相同即可。

在工作量證明中,你需要提供一些數據,使其哈希結果滿足特定條件。但你並不知道該如何做到。你的唯一選擇就是把數據輸入到哈希函數中,並檢查結果是否符合條件。如果不符合,你就必須對數據做一點點修改以獲得不同的哈希結果。只要你對數據中的任意一個字符做出改變,結果就會完全不同。所以根本無法預測結果。

因此,爲了創建一個區塊,你需要“猜謎”。通常情況下,你會先收集你想加入的所有交易信息以及其他重要數據,然後對這些數據進行哈希處理。由於你的數據集合不會變化,你必須向數據集合中添加一個變化項。否則你每次都會得到相同的輸出哈希。這個變化項就是 nonce。它是在每次嘗試時都會改變的一個數字,以便你每次都能得到不同的哈希。

總結來說,挖礦就是將區塊鏈中的數據彙總起來,並在不斷調整 nonce 的情況下對其進行哈希,直到你找到一個滿足條件的特定哈希爲止。如果你找到了一個符合協議規定條件的哈希,你就獲得了在網絡中廣播新區塊的權利。網絡中的其他參與者會更新各自的區塊鏈,以納入這個新區塊。

對於最重要的加密貨幣而言,這些條件極難滿足。網絡上的哈希率越高,找到合適的哈希就越困難。這能確保區塊不會被過快地挖出來。

正如你所想,試圖猜測海量的哈希值對你的電腦來說代價非常高。除了消耗你的硬件設備,你還會浪費電力。正因如此,協議會在你找到正確哈希時用加密貨幣獎勵你。

先來回顧一下我們目前已知的內容:

  • 挖礦既困難又昂貴,但它能確保網絡安全。

  • 能夠成功生成有效區塊的挖礦者會獲得新發行的加密貨幣以及交易手續費作爲獎勵。

  • 生成一個有效哈希需要時間,但其他用戶只要重複同樣的哈希過程,就能很容易驗證其有效性。

到目前爲止一切都還好。但如果你想作弊會怎樣?在你產出一個有效哈希之前,你又有什麼辦法阻止自己把欺詐性交易塞進區塊裏呢?

這時公鑰密碼學就派上用場了。這裏我們不會深入講解,但你仍然可以閱讀《什麼是公鑰密碼學?》以瞭解更多。簡而言之,存在一些巧妙的密碼學技術,可以讓任何用戶驗證:某個人是否有權轉移他試圖花出去的資金。

當你創建一筆交易時,你會對它進行簽名。網絡中的任何人都可以把你的簽名與公鑰進行比對,以確認它們是否匹配。他們還會檢查你是否真的能夠花費這些資金,以及你的輸入總額是否大於你的輸出總額(也就是說,你花出去的不會超過你擁有的)。

任何包含無效交易的區塊都會被網絡自動拒絕。作弊會讓你付出高昂的代價。除了浪費資源之外,你也不會得到任何獎勵。

工作量證明的美妙之處就在這裏:誠實比作弊更划算。理性的挖礦者會尋找投資回報,因此我們可以預期他們的行爲會更有可能帶來收入。

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

除了PoW之外,還有許多共識算法,其中最受歡迎的之一就是權益證明(PoS)。這個概念可追溯到2011年,並已在以太坊以及其他多種協議中實現。

在權益證明(PoS)的機制下,礦工會被驗證者取代。不存在挖礦,也沒有競爭去找到正確的哈希。相反,用戶會被隨機選中:如果他們被選中,就需要提出(或“鑄造”)一個區塊。如果區塊有效,他們將獲得由該區塊交易手續費構成的獎勵。

並不是所有人都能被選中,協議會考慮一些參數來做出選擇。要想被選中,參與者需要鎖定一定數量的質押(stake),即區塊鏈原生代幣的預定金額。質押就像保證金:就像辯護方爲了阻止自己逃避訴訟而投入一大筆錢一樣,驗證者會鎖定質押以避免作弊。如果他們行爲不端,他們的全部質押(或其中一部分)將被扣取。

權益證明(PoS)相較於工作量證明(PoW)具有一些優勢,其中最值得注意的是降低碳足跡。由於PoS不需要大型算力挖礦場,因此消耗的電力只佔PoW所消耗電力的一小部分。 

話雖如此,PoS並沒有和PoW一樣的“戰績”。儘管它可能被視爲一種資源浪費,但挖礦仍然是十多年來唯一被測試過的共識算法。自推出以來,比特幣的PoW已經保障了數十億美元價值的交易安全。要想有把握地證明PoS在安全性上能與PoW相匹敵,就必須在大規模範圍內對質押機制進行正確測試。

結論

工作量證明(Proof of Work)最初用於解決雙重支出問題,並且此後已經證明了其可靠性與安全性。比特幣也證明了我們並不需要依賴中心化機構來阻止資金被多次花費。通過巧妙地運用密碼學、哈希函數和博弈論,一個去中心化環境中的參與者可以就金融數據庫的最新狀態達成共識。

想了解更多

  • 加密貨幣挖礦是什麼?它是如何運作的?

  • 什麼是公鑰密碼學?

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

免責聲明與風險提示:本內容僅以一般性信息與教學目的向你提供“按原樣”信息,不構成任何形式的陳述或保證。它不應被理解爲金融、法律或專業人士意見,也不應被視爲推薦購買某種特定產品或服務的方式。在你做出任何決定之前,應諮詢相應的專業人士。當本文由第三方貢獻者撰寫時,請注意文章中的觀點不一定反映幣安學院的觀點。欲瞭解更多,請在此閱讀完整的免責聲明。數字資產價格可能波動。你的投資價值可能會上漲或下跌,你可能無法收回你所投資的金額。你應自行承擔投資決策責任,幣安學院不對你可能遭受的損失負責。本內容不應被理解爲金融、法律或專業人士的建議。欲瞭解更多信息,請參閱我們的使用條款以及風險提示。