內容來源:blockgeeks
翻譯 : Nicole Yao
整理:區塊鏈兄弟

什麼是加密經濟學(cryptoeconomics)?以太坊社區開發者 Vlad Zamfir 解釋道:

這是一門獨立的學科,旨在研究去中心化數字經濟學中的協議,這些協議被用於管理商品及服務的生產、分配和消費。它也是一門實用科學,重點研究對這些協議的設計和界定方法。

一份加密經濟學的終極學習指南

區塊鏈技術是運行在加密經濟學理論基礎之上的。

我們不妨將此概念分解一下。加密經濟學(Cryptoeconomics)來源於兩個詞彙:密碼學(Cryptography)和經濟學(Economics)。人們常常會忽略其中「經濟學」的成份,而恰恰正是這一成份賦予了區塊鏈以獨特性。區塊鏈並非是首個使用「去中心化的點對點系統」的技術,洪流網站(torrent sites)在文件共享上對此技術的使用由來已久。然而,從某種意義上來說,這是一次失敗的應用。

1 爲什麼點對點的文件共享是個失敗的應用?

在一個洪流系統(torrent system)中,任何人都能通過一個去中心化的網絡來共享文件。這個想法旨在讓每個下載者在下載的同時也保持着向網絡裏的其他下載者提供種子(上傳已下載的數據)。問題是,這一系統的運作邏輯是建立在榮譽系統制度上的。如果你下載了一個文件,系統預期你也會提供種子。但是在沒有經濟激勵的情況下,人們認爲持續上傳種子是件毫無意義的事情,尤其是當這一行爲還將佔據電腦裏更多的存儲空間時。

2 中本聰和區塊鏈技術

2008 年 10 月,中本聰(一位匿名男士、女士,或組織)發佈了一篇論文,此文爲比特幣(Bitcoin)後續的發展奠定了基礎。這篇論文將會動搖網絡社區的根基,因爲這是我們有史以來第一次擁有了一個以加密經濟學爲理論依據的工作模型。與之前的點對點去中心化系統不同的是,人們現在有了經濟激勵去「遵守規則」。不僅如此,區塊鏈技術的真正天才之處在於其克服了拜占庭將軍問題,並創造了一個完美的共識系統(詳見下文)。

3 比特幣的加密經濟學屬性

那麼,像比特幣這樣的,基於加密經濟學理論的加密貨幣,究竟有哪些屬性呢?

讓我們一一闡述:

  • 它是基於區塊鏈技術而產生的貨幣。其中,每個區塊都包含前一個區塊的哈希值,從而形成一條連續鏈。
  • 每個區塊都包含多筆交易。
  • 新產生的交易會使所有區塊的特定狀態得以更新。例如,如果 A 有 50 個比特幣,且想把其中的 20 個比特幣發送給 B,那麼在新的狀態下就會顯示:A 只剩下 30 個比特幣,而 B 擁有 20 個新的比特幣。
  • 區塊鏈必須是不可變的。只可能新增區塊,而不可篡改舊的區塊。
  • 僅允許有效交易。
  • 區塊鏈應當是可下載的,任何人在任何地點都可以輕鬆接入並查詢某筆特定的交易。
  • 如果支付了足夠高的交易費用,則交易可以被快速添加至區塊鏈上。

正如其名,加密經濟學有兩大支柱:

  • 密碼學
  • 經濟學

區塊鏈技術的運行中使用了多項密碼學函數。讓我們看一下其中一些主要的函數。

4 密碼學

區塊鏈技術的運行中使用了多項密碼學函數。讓我們看一下其中一些主要的函數:

  • 哈希算法
  • 簽名
  • 工作量證明
  • 零知識證明

5 哈希算法

簡言之,哈希算法是將任意長度的字符串映射爲較短的固定長度的字符串。比特幣則是使用 SHA-256 摘要算法對任意長度的輸入給出的是 256bit 的輸出。那麼,加密貨幣中哈希算法的應用有哪些?

  • 加密哈希函數
  • 數據結構
  • 挖礦

6 加密哈希函數

一個加密哈希函數有如下特性:

  • 確定性:無論在同一個哈希函數中解析多少次,輸入同一個 A 總是能得到相同的輸出 h(A)。
  • 高效運算:計算哈希值的過程是高效的。
  • 抗原像攻擊(隱匿性):對一個給定的輸出結果 h(A),想要逆推出輸入 A,在計算上是不可行的。
  • 抗碰撞性(抗弱碰撞性):對任何給定的 A 和 B,找到滿足 B≠A 且 h(A)=h(B) 的 B,在計算上是不可行的。
  • 細微變化影響:任何輸入端的細微變化都會對哈希函數的輸出結果產生劇烈影響。
  • 謎題友好性:對任意給定的 Hash 碼 Y 和輸入值 x 而言,找到一個滿足 h(k|x)=Y 的 k 值在計算上是不可行的。

加密哈希函數對區塊鏈的安全性和挖礦有巨大的幫助。

7 數據結構

有兩種數據結構對於理解區塊鏈非常重要:鏈表和哈希指針。

  • 鏈表:鏈表是依次按順序連接而成的數據區塊,如下圖所示:

一份加密經濟學的終極學習指南

在鏈表中的每個區塊都通過一個指針指向另一個區塊。

  • 指針:指針是包含其他變量地址的變量。因此,正如其名,指針就是指向其他變量的變量。
  • 哈希指針:哈希指針不僅有其他變量的地址,還有該變量中數據的哈希值。那麼,這對區塊鏈而言有何幫助呢?

區塊鏈的構成如下圖所示:

一份加密經濟學的終極學習指南

區塊鏈本質上是一個鏈表,其中的每個新區塊都包含一個哈希指針。指針指向前一區塊及其含有的所有數據的哈希值。藉此特性,區塊鏈擁有了不可更改性(immutability)的偉大特質。

8 區塊鏈如何實現其不可更改性?

假設在上面的圖表中,有人嘗試篡改 1 號區塊中的數據。請記住加密哈希函數的一個重要特質是任何輸入端的細微變化都會對哈希函數的輸出結果產生劇烈影響。

那麼,即便有人嘗試對 1 號區塊裏的數據進行細微的改寫,也會使得存儲在 2 號區塊裏的 1 號區塊的哈希值產生巨大的變化。接下來,這將導致 2 號區塊的哈希值發生變化,進而影響存儲在 3 號區塊的哈希值。以此類推,最終整條區塊鏈上的數據都會發生變化。這種通過凍結整條鏈條來修改數據的方式幾乎是不可能做到的。正因如此,區塊鏈被認定爲是不可篡改的。

每個區塊都有自己的梅克爾根(Merkle Root)。現在,正如你已知道的,每個區塊裏都包含多筆交易。如果將這些交易按線性存儲,那麼在所有交易中尋找一筆特定交易的過程會變得無比冗長。

而這就是我們使用梅克爾樹的原因。

一份加密經濟學的終極學習指南

在梅克爾樹中,所有個體交易通過哈希算法都能向上追溯至同一個根。這就使得搜索變得非常容易。因此,如果想要在區塊裏獲取某一特定的數據,我們可以直接通過梅克爾樹裏的哈希值來進行搜索,而不用進行線性訪問。

一份加密經濟學的終極學習指南

9 挖礦

加密謎題被用來挖掘新的區塊,因此哈希算法仍然至關重要。其工作原理是調整難度值的設定。隨後,一個被命名爲「nonce」的隨機字符串被添加到新區塊的哈希值上,然後被再次哈希。接着,再來檢驗其是否低於已設定的難度值水平。如果低於,那麼產生的新區塊會被添加至鏈上,而負責挖礦的礦工就會獲得獎勵。如果沒有低於,則礦工繼續修改隨即字符串「nouce」,直至低於難度值水平的值出現。

正如你所見,哈希算法是區塊鏈和加密經濟學中一個至關重要的部分。

10 簽名

在加密貨幣中,簽名是其中一個最爲重要的密碼學工具。在現實生活中,簽名的概念是什麼?又有哪些特性?想象一下,你在一張紙上簽名後,如何鑑定這是一個好的簽名?

  • 可被驗證的。這個簽名要可以證明確實是你在紙上簽名了。
  • 不可僞造的。沒有其他人能夠僞造及複製你的簽名。
  • 不可抵賴的。如果你使用自己的簽名進行簽署,你就無法將其收回或聲稱他人代替你簽名。

但是,在現實生活中,無論簽名有多複雜,都有被僞造的可能性。你無法通過簡單的視覺輔助工具來真正地驗證簽名的有效性,這樣做既無效率也不可靠。

密碼學給了我們一種通過公鑰和私鑰來解決問題的方案。讓我們來看看這兩種祕鑰的工作原理和其對加密貨幣系統的促進作用。假設有兩個人,Alan 和 Tyrone。Alan 想要發送一些非常重要的數據,而 Tyrone 想要鑑別這一數據確實來自 Alan,他們可以通過使用 Alan 的公鑰和私鑰來實現這一目標。

有一點必須指出,通過某人的私鑰來確定其公鑰是不可行的。公鑰正如其名,指公開的密鑰,可以被任何人獲取。而私鑰是僅個人擁有的密鑰,你不可以將其與他人分享。

那麼,讓我們再回到 Alan 和 Tyrone 的話題,如果他們要使用密鑰來交換信息,具體該如何操作呢?

假設 Alan 想把信息「m」發送出去,Alan 有一把私鑰 Ka-和一把公鑰 Ka+。那麼,當他把信息發送給 Tyrone 時,他會用私鑰將該條信息加密,於是信息變成了 Ka-(m)。當 Tyrone 收到這條信息時,他可以使用 Alan 的公鑰來取回信息,Ka+(Ka-(m)),於是便得到了原始信息「m」。

總結一下:

  • Alan 有一條信息「m」,當他用私鑰 Ka-對其進行加密之後,得到加密信息 Ka-(m)。
  • Tyrone 隨後使用 Alan 的公鑰 Ka+來解密這條加密信息 Ka+(Ka-(m)),從而得到原始信息「m」。

通過下圖可以得到上述過程的直觀表示:

一份加密經濟學的終極學習指南

可驗證性:如果加密信息能夠用 Alan 的公鑰進行解密,那就可以 100% 確定是 Alan 發送了該條信息。

不可僞造性:如果說有其他人,例如 Bob,攔截了該條信息,並用自己的私鑰發送了一條自己的信息,那麼 Alan 的公鑰將無法對其解密。Alan 的公鑰只能用來解密 Alan 用自己的私鑰加密過的信息。

不可抵賴性:同樣的,如果 Alan 宣稱,「我沒有發送信息,是 Bob 發的」,但 Tyrone 卻能夠用 Alan 的公鑰來解密信息,那就證明 Alan 在撒謊。如此,Alan 就無法收回他之前發出的信息,並將其歸咎於他人。

加密貨幣的應用:現在,假設 Alan 正在發送一筆交易「m」給 Tyrone。首先,他要用哈希函數對該交易進行哈希,然後使用私鑰對其加密。Tyrone 知道他正在收到一筆交易「m」,因此他能用 Alan 的公鑰對其解密,並將解密後得到的哈希結果與他已有的交易「m」的哈希結果進行比對。由於哈希函數具有確定性,並且對於同樣的輸入總是給出相同的輸出,那 Tyrone 可以直接確定,Alan 確實發送了同一筆交易,且其中沒有任何作惡。

更簡單地來說:

  • Alan 有一筆交易「m」,並且 Tyrone 知道他正在接收該筆交易。
  • Alan 對 m 進行哈希運算,得到 h(m)。
  • Alan 用自己的私鑰對哈希結果進行加密,得到 Ka-(h(m))。
  • Alan 將加密數據發送給 Tyrone。
  • Tyrone 使用 Alan 的公鑰來解密,Ka+(Ka-(h(m))),並得到原來的哈希結果 h(m)。
  • Tyrone 用已知的「m」進行哈希運算,可以得到 h(m)。
  • 哈希函數的確定性特徵決定了如果 h(m)=h(m),就意味着這筆交易是真實有效的。

11 工作量證明

當礦工們通過「挖礦」來產生新區塊並添加至區塊鏈上時,其中驗證及添加區塊涉及到的共識系統被稱爲「工作量證明」。礦工們使用龐大的計算機算力來解決這道密碼學謎題,而難度值決定了這道題的所需要的計算量。這是區塊鏈技術中最具開拓意義的機制之一。早期的去中心化點對點數字貨幣系統之所以會失敗,是由於「拜占庭將軍問題」導致的,而工作量證明的共識系統爲該問題提供了一種解決方案。

12 什麼是拜占庭將軍問題?

一份加密經濟學的終極學習指南

好了,讓我們想象一下,有一羣拜占庭將軍想要攻打一座城市,他們將面臨兩個不同的問題:

  • 每個將軍及其軍隊在地理上相距甚遠,因此通過中央集權來指揮是不可行的,這使得協同作戰變得異常困難。
  • 被攻打的城市擁有一隻龐大的軍隊,他們能獲得勝利的唯一方式是所有人在同一時刻一同發起進攻。

爲了讓合作成功,位於城堡左邊的軍隊派遣一位信使,向城堡右邊的軍隊發送了一則內容爲「週三攻擊」的信息。然而,假設右邊的軍隊沒有做好攻擊準備,並讓信使攜帶一則內容爲「不,週五攻擊」的信息返回。而信使需要通過穿越被攻打的城市返回到左邊的軍隊,那麼,問題就來了。在這位可憐的信使身上,很多事情都有可能會發生。例如,他有可能被抓獲、泄露信息、或被攻打的城市殺害後將其替換了。這將導致軍隊獲得被篡改過的信息,從而使作戰計劃無法達成一致而失敗。

上述例子對區塊鏈有明顯借鑑意義。區塊鏈是一個巨型網絡,你要如何信任他們呢?如果你想從錢包裏發送 4 個以太幣給某人,你如何確認網絡中的某人不會篡改信息,將 4 個以太幣改成 40 個?中本聰發明了工作量證明機制來繞過拜占庭將軍問題。其運行原理是:假設左邊的軍隊想要發送內容爲「週一進攻」的信息給右邊的軍隊,他們需要執行如下步驟:

  • 首先,他們會給初始文本添加一個「nonce」,這個 nonce 可以是任何一個隨機十六進制值。
  • 其次,他們將添加了「nonce」的文本進行哈希,得到一個結果。假設說他們決定僅當哈希結果前 5 位是零的時候,才進行信息共享。
  • 如果哈希結果滿足條件,他們就會讓信使帶着有哈希結果的信息出發。否則,他們會持續隨機改變 nonce 的值,直到得到想要的結果。這一過程不僅冗長耗時,且佔用大量的算力。
  • 如果敵人抓到了信使,並企圖篡改信息,那麼根據哈希函數的特性,哈希結果將會劇烈變化。如果城市右邊的將軍看到信息沒有以規定數量的 0 作爲開頭,那麼他們就會叫停攻擊。

然而,這裏有可能有個漏洞。

哈希函數並不是 100% 免碰撞的。那麼,如果城市中的敵人拿到信息之後將之篡改,並通過不斷改變 nonce 值,獲得了以規定數量的 0 作爲開頭的結果,那該怎麼辦?雖然極度耗時,但是仍然可行。針對這種情況,將軍們可以使用數字的力量。

假設,如果不是 1 個左邊的將軍給 1 個右邊的將軍發送信息,而是有 3 個左邊的將軍來給右邊的將軍們發送信息。爲了實現上述目的,他們可以製作自己的信息,然後對累積的信息進行哈希。緊接着,再給哈希結果添加 nonce 值後,再次進行哈希。這次,他們希望產生一個以 6 個 0 開頭的信息。

顯而易見,這將會非常耗時。但這次,如果信使被城市抓獲,那麼敵人想要篡改信息,並且找到符合結果的 nonce 值,將會耗費無限長的時間,可能歷時數年。例如,將軍們派遣多個信使,那麼,城市在計算到一半的過程中就可能會遭受攻擊並且被摧毀。

右邊的將軍們要做的非常簡單。他們只要將之前給他們的正確的 nonce 值添加在信息上,並進行哈希,然後對照其結果是否匹配即可。對一個字符串進行哈希是非常容易的。那麼,從本質上來說,工作量證明的過程是:

  • 尋找一個符合哈希目標的 nonce 值,是一個非常困難且耗時的過程。
  • 然而,驗證結果中是否有作惡行爲卻是非常簡單的。

13 零知識證明

什麼是零知識證明(Zero Knowledge Proof,ZKP)?ZKP 意味着 A 可以向 B 證明,他知道特定的信息,而不必告訴對方自己具體知道些什麼。在這個例子中,A 是證明者,B 是驗證者。在密碼學中,這尤爲有用,因爲這將爲證明者提供一層額外的隱私保護。

運行一個 ZKP,要滿足以下這些參數:

  • 完整性:如果陳述屬實,那麼誠實的驗證者能被誠實的證明者說服。
  • 可靠性:如果證明者不誠實,他們無法通過說謊來說服驗證者相信陳述是可靠的。
  • 零知識:如果陳述屬實,那麼驗證者無法得知陳述的內容是什麼。

舉一個零知識證明的例子。讓我們觀察一下阿里巴巴洞穴是如何運作的。在這個例子中,證明者(P)對驗證者(V)說,他知道洞穴後面暗門的密碼,並提出在不向驗證者透露密碼的情況下證明此事。那麼,其驗證過程如下圖所示:

一份加密經濟學的終極學習指南

證明者可以走路徑 A 或者路徑 B,假設他們一開始決定通過路徑 A 到達暗門。同時,驗證者 V 來到入口,他對證明者選擇哪條路徑並不知情,並宣稱他們希望見到證明者在路徑 B 出現。

如圖所示,證明者確實出現在路徑 B 上,但萬一這僅是巧合呢?也有可能是證明者憑運氣在出發時選擇了路徑 B,卻因不知道密碼被困在了門口。

所以,我們需要通過多次試驗來確定測試的有效性。如果證明者每次都能出現在正確的路徑上,那麼證明者的確可以在不向驗證者透露密碼的情況下,證明自己知道密碼。

區塊鏈中的零知識證明是如何應用的?

許多基於區塊鏈的技術都在使用 Zk-Snarks。事實上,以太坊在大都會階段就計劃引入 Zk-Snarks,並且將其加入以太坊的功能庫。Zk-Snarks 是「零知識簡潔無交互知識認證」的簡稱,是一種在無需泄露數據本身情況下證明某些數據運算的一種零知識證明。

以上內容可用來生成一個證明,通過對每筆交易創建一個簡單的快照來驗證其有效性。這足以向信息接收方證明交易的有效性,而無需泄露交易的實質內容。

這就實現了以下兩種情況:

  • 實現了交易的完整性和隱私性。
  • 實現了系統的抽象性。由於無需展示整個交易內部的工作方式,因此係統非常易用。 因此,以上就是區塊鏈使用的一些重要的加密函數。現在,讓我們觀察其第二個支柱,經濟學。

14 經濟學

正如開篇所述,區塊鏈與其他去中心化點對點系統的區別在於,它給用戶提供了金融和經濟激勵去完成某項工作。和其他牢固的經濟系統一樣,我們都需要通過激勵和獎賞的方式讓人們去完成工作。同樣的,如果礦工行爲不道德或者不盡職,那就要對礦工採取懲罰措施。接下來,讓我們去觀察一下區塊鏈是如何將所有的經濟學基礎原理融合進來的。

15 區塊鏈用到了以下兩種激勵組合

第一種激勵組合:

  • 代幣:加密貨幣作爲獎勵分配給那些活躍度高且爲區塊鏈做出貢獻的參與者。
  • 特權:參與者可以獲得決策權,這將給予他們收取租金的權利。例如,挖出新區塊的礦工們可以成爲新區塊的臨時決策者,將短暫地成爲新區塊的獨裁者,並有權決定將哪些交易添加至該區塊。他們可以對收錄在區塊內的所有交易收取手續費。

第二種激勵組合:

  • 獎勵:好的參與者可以獲得貨幣獎勵,或因盡職而得到決策權。
  • 懲罰:壞的參與者必須支付貨幣罰款,或因作惡而喪失權利。

16 加密貨幣如何實現價值?

加密貨幣和普通貨幣擁有價值的原因大體上是一樣的,即基於信任。當人們信任某一種商品並賦予其價值,它就成爲一種通貨。這就是起初法幣和黃金有價值的原因。因此,當某個給定的商品擁有一個給定的價值時,價值就會隨着供求關係而發生改變。供求關係是經濟學中最古老的規則。

什麼是供求關係?

一份加密經濟學的終極學習指南

這是供需曲線,也是經濟學中最常見的一張圖表。如上圖所示,商品的需求與供應呈反比關係。兩條曲線的交匯處是均衡點,也是你想要達到的甜蜜點。那麼,讓我們用這個邏輯來觀察一下加密貨幣,比如說比特幣。

比特幣的發行總量固定在 2100 萬枚。這即是所有比特幣的市值。由於總量是固定的,那麼當涉及到比特幣的供應時,有幾件事必須要考慮清楚。首先,需要制定一些規則來使比特幣的挖礦變得逐漸困難。否則,礦工們將會肆意挖礦,把剩餘的比特幣開採出來,並投放至市場,從而降低整體價值。

爲了確保礦工們不會馬上把所有剩餘的比特幣都開採出來, 我們需要採用如下手段:

  • 首先,每隔 10 分鐘將一個新的區塊添加至鏈上,每添加一個區塊可以獲得 25 枚比特幣作爲獎勵。時間間隔必須是固定的,以確保礦工們不會無規則地在鏈上持續添加區塊。
  • 其次,比特幣協議要求難度值必須不斷地被提高。如先前所說,在挖礦過程中,區塊的哈希值及其 nonce 值需要低於某個特定的數值。該數值被稱爲「難度水平」,通常以數個 0 作爲開頭。當難度提高時,0 的數量也在增加。

有了以上兩種方式,挖礦過程變得十分專業,且投入巨大。整個過程確保可以覈實市場上所有比特幣的供應量。這也同樣適用於其他基於工作量證明機制的加密貨幣。

加密貨幣的需求有很多決定因素:

  • 該貨幣有怎樣的歷史?
  • 最近是否被黑客攻擊過?
  • 是否能夠持續產生結果?
  • 背後的開發團隊實力如何?
  • 是否有變得更好的潛力?
  • 宣傳力度如何?

所有這些因素都決定了該貨幣的「熱度」如何。其結果是價值圍繞着需求而波動。

17 區塊鏈中的博弈論

那麼,一個無序的、去中心化的點對點系統是如何保持其誠信的呢?礦工權利很大,且很容易作惡並逃脫。這就是先前嘗試構建去中心化系統失敗的地方。畢竟,用戶是人類,而人類就有作惡的傾向。因此,你如何建立一個有人類誠信的去中心化系統?答案就在一個最基本的經濟學概念中:博弈論。

博弈論本質上是對戰略決策的研究。其核心是做對自己最有利的決策,並記住對手的決策。博弈論中一個最基本的概念是:「納什均衡」。

納什均衡是一種狀態。在此狀態下,每個參與者的策略是對其他參與者策略的最優反應。沒有一個參與者可以通過獨自變換策略來增加收益。讓我們來觀察一個納什均衡的例子。

一份加密經濟學的終極學習指南

如上表所示,我們將其稱爲「收益矩陣」。上表中的數字代表參與方採取(或不採取)行動而得到的收益數量。讓我們逐一分析:

假設 A 採取行動:

那麼如果 B 也採取行動,收益將是 4;否則,收益是 0。因此,對 B 來說最佳策略是採取行動。

如果 A 不採取行動:

那麼如果 B 不採取行動,收益將是 0;否則,收益是 4。

因此,我們可以得出結論:無論 A 如何選擇,B 的最佳策略就是採取行動。現在,同樣的,我們來觀察下 A 的最佳策略是什麼。

如果 B 採取行動:

如果 A 不採取行動,收益將是 0;否則,收益是 4。那麼,對 A 來說最佳策略是採取行動。

如果 B 不採取行動:

如果 A 不採取行動,收益將是 0;否則,收益將是 4。那麼,無論 B 如何選擇,A 的最佳策略就是採取行動。

因此,我們可以得出結論,對 A 和 B 來說,最好的策略都是採取行動。

因此納什均衡是:

一份加密經濟學的終極學習指南

-當 A 和 B 都採取行動-

那麼,區塊鏈是如何運用納什均衡的呢?因爲鏈自身在一個自我強加性的納什均衡裏,所以不誇張的說,區塊鏈是真實存在的,而礦工們也可以維持誠信。

讓我們舉個例子:

一份加密經濟學的終極學習指南

如上圖所示,藍色的 1,2 和 3 號區塊是主鏈的一部分。現在,假設有個惡意的礦工挖出了一個 2A 區塊,並企圖用一次硬分叉來滿足自己的財務收益。那麼,用什麼來阻止其他礦工加入他,並在新的區塊後面挖礦?

其實,礦工們有一個非常困難但卻很快的鑑定規則,那就是任意一個區塊在無效區塊上挖礦,即被認定爲無效區塊。因此,其他礦工只需忽略無效區塊,並繼續在老鏈上挖礦即可。記住,所有貨幣都是建立在信任和認知價值上的。因此,爲什麼會有人將那麼多的資源浪費在一塊有效性無法被確認的區塊上?

現在你要思考的是:萬一有許多礦工決定加入新的礦羣,並在其新區塊上挖礦。這個問題在於,區塊鏈網絡是一個巨大且廣泛分佈的網絡,在裏面進行交流和協作幾乎是不可行的。大部分礦工只會選擇能將其收益最大化的那條路徑,正因如此,主鏈的納什均衡也就得以實現了。

18 區塊鏈中的懲罰

就像其他任何一個有效的經濟系統一樣,應當有正向激勵和負向激勵。在博弈論模型中如何實現懲罰?想象一個收益矩陣,其中參與者的收益很高,則其對社會的影響也非常高。例如:

一份加密經濟學的終極學習指南

假設有 A 和 B 兩個人,他們都將要犯罪。現在,根據收益矩陣,當他們犯罪時,他們的收益都很高。因此他們的納什均衡點是都去犯罪。雖然這在邏輯上是有意義的,但會帶來非常惡劣的社會影響。人類多半是被個人貪婪所驅動的,而非利他主義。如果這是真的,那麼世界將變成一個很糟糕的地方。那麼,人類如何應對的?答案是引入懲罰機制。

假設我們有一個系統,每當有-0.5 個因子的公共設施從公衆手裏被取走,就要相應的對任何犯罪的人記錄-5 個因子的懲罰。那麼,讓我們將懲罰因子加入上面的收益矩陣中,再觀察下表的變化:

一份加密經濟學的終極學習指南

如上表所示,收益發生了巨大變化。納什均衡變成了(1,1),不犯罪是最佳策略。現在,懲罰的代價是高昂的,但是社會畢竟損失了 0.5 個因子的公共設施。那是什麼激勵着社會加入這場懲罰博弈?這個問題的答案是將懲罰作爲針對每個人的強制措施,即任何一個沒有參與到懲罰博弈中的人也將會被懲罰。例如說,用稅收供養的警力。警察可以懲罰罪犯,但公共設施的損失會以稅收的形式從公衆手裏取走。任何參與博弈但沒有付稅的人,都會被認作爲是罪犯並受到懲罰。

在區塊鏈裏,任何不遵守規則並且非法開採的礦工都會受到懲罰。他們會被剝奪特權和承受被社會排斥的風險。這種懲罰會變得更加嚴厲,一旦權益證明被採用後(稍後詳述)。通過使用簡單的博弈論和懲罰系統,礦工們就能保持誠信。

19 礦工們的更多動機

當礦工(們)成功地挖到了一個區塊,他們成爲了這個區塊的臨時決策者。無論是選擇哪筆交易放入區塊中,還是提高該筆交易的速度,他們都擁有完全的管轄權。他們可以對收錄的交易收取手續費。這對礦工們是一種激勵,因爲他們除了能夠獲得挖到一個新區塊的獎勵之外(比特幣的新區塊獎勵是 25 個 BTC,以太坊是 5 個 ETH),還能得到額外的經濟獎勵。

爲了讓系統公平,同時也確保每次不是同一批礦工挖到新的區塊,並獲得獎勵,系統會階段性調整挖礦的難度水平。這就確保挖到新區塊的礦工是完全隨機的。長遠來看,挖礦是一個零和博弈,換言之,礦工通過挖出新區塊而得到的利潤終究將根據挖礦的成本來進行調整。

20P+Epsilon 攻擊

但是,一個工作量證明系統,容易受到一種名爲「P+Epsilon 攻擊」的特殊類型攻擊。爲了理解這種攻擊的原理,我們必須事先定義以下名詞。

非協作選擇模型:在一個非協調選擇模型中,所有的參與者都沒有動機與其他人進行合作。參與者可能形成羣體,但在任何時候,這個羣體都不會大到佔據多數。

協作選擇模型:在這個模型中,所有參與者都會爲一個共同的激勵而協作。

現在,假設區塊鏈是一個非協調選擇模型,但如果有一個動機能夠讓礦工們採取行動去損害區塊鏈的完整性,那該怎麼辦?如果可以通過賄賂使礦工們採取某一特定行動,那該怎麼辦?此時就要引用賄賂攻擊者模型。

現在,假設區塊鏈是一個非協調選擇模型,但如果有一個動機能夠讓礦工們採取行動去損害區塊鏈的完整性,那該怎麼辦?如果可以通過賄賂使礦工們採取某一特定行動,那該怎麼辦?此時就要引用賄賂攻擊者模型。

21 什麼是賄賂攻擊者模型?

像一個非協調選擇模型。現在,假設有一個攻擊者進入了系統,並賄賂礦工們去相互協作,那該怎麼辦?這個新的模型就是賄賂攻擊者模型。爲了成功地賄賂系統,攻擊者必須擁有以下兩種資源:

  • 預算:攻擊者願意支付給礦工們去執行某個特定行動的現金總額
  • 成本:最後實際支付給礦工們的金額。

然而,如果一個攻擊者決定對區塊鏈發起攻擊,我們會得到一個有趣的謎題….,此時就會出現「P+Epsilon 攻擊」。我們可以參考下圖:

一份加密經濟學的終極學習指南

想象一個簡單的博弈,例如選舉。如果人們投票給某個人,並和其他人一樣投票給同一個人,那麼就能獲得收益,否則就沒有收益。那麼想象一下,一個賄賂者接入系統,並對某個個體制定了這個規則。如果你投票時其他人沒有投,那麼你會得到

  • 「P ε」的收益。除了普通收益 P 之外,還有一個額外的賄賂收益 ε。

那麼現在,收益矩陣如下圖所示:

一份加密經濟學的終極學習指南

現在想象一下這個場景,博弈中的每個人都知道假設他們投票了,那麼都有可能得到收益,但如果他們不投票,那就只有 50% 的概率得到收益。

你認爲參與者會怎麼做?當然,他們會通過投票來確保收益。這正是有趣的地方所在。正如矩陣中所示,賄賂者只需支付費用「ε」,當有人投票了,而其他人沒有投票的時候。但是,在這種情況下,因爲所有人都投票了,納什均衡點轉變爲:

一份加密經濟學的終極學習指南

是的,賄賂者都不需要支付賄賂費用!

因此,讓我們從賄賂者的視角來看待這個問題:

  • 說服羣體按照某種方式去投票。
  • 無需支付賄賂費用即可實現目標。

這對賄賂者來說是一個巨大的雙贏局面,同時,這對區塊鏈影響重大,尤其是在基於工作量證明的系統中。讓我們把之前的虛擬區塊鏈再拿出來檢驗一下:

一份加密經濟學的終極學習指南

假設賄賂者真的想讓區塊鏈進行硬分叉,同時宣佈對那些選擇加入新鏈的礦工們給予賄賂費用ε,這將激勵整個礦工社區進行協作並加入新鏈。顯然,這需要極高的賄賂費用來實現上述情形,但正如我們在上面的賄賂攻擊模型中所看到的那樣,攻擊者甚至不用給出該數量的金額。根據 Vitalik Buterin 所說,這就是工作量證明系統最大的問題之一,即易受到「P+Epsilon 攻擊」。

22 解決方案在於權益證明

權益證明機制是針對這類以激勵驅動的攻擊的解決方案。在該類系統中,礦工們需要提取一定比例的私人財富,並將其投資於未來的區塊中。這將是一個更好的經濟系統,因爲其中的懲罰更爲嚴厲。礦工們將面臨其權益和財富被剝奪的可能性。而不是像之前一樣,僅僅被剝奪權利或在受到指責後逃脫。

因此,這是如何防治「P+Epsilon 攻擊」的?假設你是一名礦工,你有一部分的財富被投資於即將添加到主鏈上的一個區塊中。現在,來了一個賄賂者來告訴你,你能夠得到一個額外的收益,如果你將區塊加入主鏈。但是,如果新鏈未被確認,那麼你就有很大的風險會損失你投資在區塊上的所有金錢。此外,正如「P+Epsilon 攻擊」所述,你不會從賄賂者那裏得到額外的收益。顯而易見的,對於一個礦工來說,一旦他們投資了一個權益,他們將會繼續在主鏈上工作,而不是參與作惡。

23 結論

如你所見,密碼學和經濟學以一種非常美妙且複雜的方式結合起來創造了區塊鏈技術。在過去幾年中,它所經歷的成長令人難以置信。未來,它將變得更加強大,且應用更爲廣泛。