博弈均衡(Game Equilibrium)#
博弈均衡是指博弈各方實現了各自認為的最大效用,即所有參與者都認為自己當前略最佳而不願做出改變的一種相對靜止的狀態。
當然,在實現各方對博弈結果滿意的均衡狀態中,各方實際得到的效用和滿意程度卻是不同的。
博弈均衡不僅體現為博弈各方的利益競爭關係,更體現為各方的合作關係。例如,企業之間通過收購、兼併等方法進行資產重組,以實現雙贏戰略,正是博弈均衡的現實體現。
博弈實質上是由動態競爭(討價還價)到相對靜態的合作(達成共識)的一個過程,所以博弈均衡不僅是市場競爭的需要,也是企業發展的內在要求。
納什均衡(Nash Equilibrium)#
納什均衡(又稱為非合作博弈均衡)是博弈論的一個重要術語,以約翰・納什命名。
在一個博弈過程中,無論對方的策略選擇如何,當事人一方都會選擇某個確定的策略,則該策略被稱為支配性策略。
如果任意一位參與者在其他所有參與者的策略確定的情況下,其選擇的策略是最優的,那麼這個組合就被定義為納什平衡。
一個策略組合被稱為納什平衡,當每個博弈者的平衡策略都是為了達到自己期望收益的最大值,與此同時,其他所有博弈者也遵循這樣的策略。
一般將嚴格佔優策略均衡、重複剔除的佔優策略均衡、純策略納什均衡和混合策略納什均衡統稱為納什均衡。
嚴格佔優策略均衡是重複剔除的佔優策略均衡的特例,重複剔除的佔優策略均衡是純策略納什均衡的特例,純策略納什均衡是混合策略納什均衡的特例。
經典案例#
囚徒困境(Prisoners' Dilemma)#
1950 年,美國蘭德公司的梅里爾・弗勒德和梅爾文・德雷希爾擬定出了相關困境的理論,後來由顧問艾伯特・塔克以囚徒的方式闡述,並命名為 “囚徒困境”。
囚徒困境是一種博弈論模型,也是博弈論的非零和博弈中具代表性的例子。它包含了佔優策略均衡,反映個人最佳選擇並非團體最佳選擇,或者說集體中的個人做出理性選擇卻往往導致集體的非理性。在現實中的價格競爭、環境保護等方面,也會頻繁出現類似模型的情況。經典的囚徒困境如下。
警方逮捕甲、乙兩名嫌疑犯,但沒有足夠證據指控二人人罪。於是警方分開囚禁嫌疑犯,分別和二人見面,並向二人提供以下相同的 3 種選擇。
- 第 1 種
若二人都保持沉默或者抵賴(互相合作),則二人同樣判監禁 1 年。
- 第 2 種
若二人互相檢舉或者都坦白(互相背叛),則二人同樣判監禁 8 年。
- 第 3 種
若一人認罪並作證檢控對方(單方背叛),而對方保持沉默或者抵賴,此人將即時獲釋,對方將判監禁 10 年。
囚徒困境支付矩陣表:
乙抵賴 | 乙坦白 | |
---|---|---|
甲抵賴 | 1,1 | 10,0 |
甲坦白 | 0,10 | 8,8 |
如果二人都選擇第 1 種方案,對二人整體來說是最優的選擇,也就是顧及團體利益的帕累托最優解決方案。但對於理性個體來說,因為不知道對方作何選擇,從自身利益出發,選擇 “坦白” 才是最合理、最保險也就是最優的策略。所以最後甲乙二人都會選擇 “坦白”。
由此,不難看出,選擇 “坦白” 是甲乙任何一方的佔優策略,而都選擇 “坦白” 是一組佔優策略均衡。
這個例子證明了在非零和博弈中,帕累托最優和納什均衡是相衝突的,而且納什均衡是較常發生的。
因為二人確實都以利己為目的選擇了 “坦白”,但對於整體而言卻不是最好的結果。
囚徒困境反映在現實社會中有著廣泛深刻的意義:個人理性與集體理性存在衝突。因個人追求利己行為而導致的最終結局往往是一個納什均衡,也就是對整體不利的結局。這顯然違背了亞當・斯密在《國富論》中的觀點:“通過追求(個人的)自身利益,他常常會比其實際上想做的那樣更有效地促進社會利益。”
囚徒困境也給了人們一個啟發:按照納什均衡,如果要實現對整體有利,或者說合作是有利的 “利已策略”,必須符合以下黃金定律,即按照自己願意別人對待自己的方式來對待別人,而且同時被所有參與者所遵循,這類似於 “已所不欲勿施於人”。
智豬博弈(Pigs' Payoffs)#
智豬博弈是約翰・納什於 1950 年提出的一個著名的 “納什均衡” 例子。
假設豬圈裡有一頭大豬、一頭小豬。豬圈的一頭有食槽,另一頭安裝著控制豬食供應的按鈕,按一下按鈕會有 10 份豬食進槽,但按按鈕得先消耗相當於 2 份豬食的體力。按鈕和食槽在相反位置,所以按按鈕的豬不但要消耗體力,而且喪失了先到槽邊進食的機會。大豬、小豬之間將面臨以下幾種選擇。
- 如果小豬跑去控制按鈕,大豬在食槽邊等待,那麼大豬可以優先吃到 9 份豬食,只剩下 1 份豬食留給小豬;
- 如果大豬跑去控制按鈕,小豬在食槽邊等待,那麼小豬可以優先吃到 4 份豬食,剩下 6 份豬食留給大豬;
- 如果大豬和小豬一起跑去控制按鈕,那麼大豬可以吃到 7 份豬食,小豬可以吃到 3 份豬食。
智豬博弈的問題是假如這兩只豬都具有足夠的智慧,也都希望自己盡可能少消耗、多吃豬食,那麼會採取怎樣的行動方案?
智豬博弈支付矩陣表:
小豬等待 | 小豬行動 | |
---|---|---|
大豬等待 | 0,0 | 9,1(-1) |
大豬行動 | 6(4),4 | 7(5),3(1) |
如果大豬選擇等待,小豬會怎麼做?此時小豬選擇等待,收益是 0;如果行動,收益是 - 1。無論怎麼選擇,小豬都只能餓死,所以當大豬等待時,小豬的最優策略是等待,大家一起餓死。
大豬也深知小豬的選擇,所以大豬要想不被餓死,只能選擇行動。
既然大豬無論如何都只能行動,那麼小豬還有行動的必要嗎?如果小豬等待,收益是 4;如果行動,收益是 1。顯然,小豬最佳的策略仍然是等待。由此可見,大豬行動小豬等待,是智豬博弈必然走向的局面,即納什均衡。
智豬博弈放在現實的企業市場競爭中仍然解釋得通。例如,大企業往往勇於開拓市場,或者把資本投入到科技創新,而小企業更傾向於坐享其成,步隨大企業賺快錢。這並不是因為小企業缺少創新精神,如果僅從本案例博弈的角度來分析,那麼小企業並沒有搞創新的需要。小企業和大企業之間的關係,就好比小豬和大豬的關係。
如果某個小企業投入大量成本去搞創新,就仿佛是小豬親自去控制按鈕,這時候大企業可以憑藉自身的體量優勢來模仿,賺走大部分利潤,而小企業自身卻得不償失,最終成為 “餓死” 的小豬。因此,出於理性決策,大企業可以選擇搞創新,小企業普遍只能選擇跟風搭便車。
“小豬躺著大豬跑” 的現象是由於案例中的遊戲規則所導致,規則核心指標的改變必然會導致結果的改變。對於社會法則而言,因 “小豬” 未能參與競爭的搭便車行為會影響到資源優化配置。因此,要實現社會資源的有效配置,首先應得益於有關規則核心指標的合理化設置。
博弈論與區塊鏈#
區塊鏈融會貫通了多門學科,是對現有成熟技術上的巧妙組合。博弈論是區塊鏈技術組成的八大支柱之一,是區塊鏈思維的驅動引導,而區塊鏈的誕生則為博弈論提供了更深厚的技術保障以及更低的機會成本。
從宏觀來看,各種博弈達到的理想狀態是納什均衡,更極致的是實現帕累托最優。區塊鏈技術的去中心化、自治與集體維護等眾多基本特性恰恰有力支撐了多層次多維度博弈的展開,通過博弈 - 妥協 - 博弈的不斷循環演進,最終發展形成共識機制,從而引出智能合約。
從微觀來看,博弈論使得數據庫加密體系免受內部破壞,而區塊鏈使用分佈式開源共識和密碼學有助於實現博弈論中的納什均衡,正是這兩組有趣概念的結合使得博弈論成為區塊鏈中如此特殊的存在。由博弈形成的共識機制再到制度化標準化為智能合約,這種開創性的設計將永遠存在於數字貨幣中。
智能合約技術#
智能合約最早於 20 世紀末被提出,但直到近年隨著區塊鏈技術的發展才逐步被大眾所熟悉,智能合約的概念具備承諾、協議、數字形式三大要素,因此能夠將區塊鏈的應用範圍擴展至金融行業交易、支付、結算和清算的各個環節。
智能合約是指當一個預先編好的條件被觸發時,智能合約會立即執行相應的合同條款,其工作原理類似於計算機程序的 if-then 語句。
智能合約的分類#
智能合約的分類主要依據圖靈完備與否分為兩類,即圖靈完備和非圖靈完備。
影響實現圖靈完備的常見原因包括循環或遞歸受限、無法實現數組或更複雜的數據結構等。
圖靈完備的智能合約有較強適應性,可以對邏輯較複雜的業務操作進行編程,但有陷入死循環的可能。
對比而言,圖靈不完備的智能合約雖不能進行複雜邏輯操作,但更加簡單、高效和安全。
區塊鏈平台 | 是否圖靈完備 | 開發語言 |
---|---|---|
BTC | 不完備 | BTC Script |
ETH | 完備 | Solidity |
EOS | 完備 | C++ |
Hyperledger Fabric | 完備 | Go |
Hyperledger Sawtooth | 完備 | Python |
R3 Corda | 完備 | Kolin/Java |
智能合約技術應用#
智能合約有利於降低簽訂合約、執行和監管方面的成本。因此,對很多低價值交易相關的合約來說具有明顯的經濟價值。智能合約技術也會帶來一些機會。例如,公共監管的影響力可以通過法律與技術代碼去混合實現,而不像現在只能通過法律規則去實現。在本質上,技術代碼可以用於確保遵從法律規則,從而降低合規性方面的成本,這可以作為增強監管所用技術的應用案例(RegTech,英國政府科技辦公室一份 FinTech 報告中提到)。
在區塊鏈領域,智能合約用來封裝區塊鏈系統中的各類腳本代碼。這些腳本代碼規定了合約中交易的執行方式及交易的具體內容。智能合約使得區塊鏈可以成為一種可編程的貨幣,而且比傳統的貨幣交易更加靈活和高效。通常在合約中可以設置合約的執行時間、合約的觸發規則等。智能合約是 ETH 等區塊鏈交易系統致力實現的功能。
基於區塊鏈的智能合約的構建及執行通常包括如下 3 個步驟。
- 產生合約。根據合約參與方的需要,設計腳本代碼來實現合約的內容。
- 存儲合約。實現合約的腳本代碼需要存儲到區塊鏈的塊中。
- 執行合約。合約的腳本代碼能自動執行而無須人為干預或操作。智能合約層負責將區塊鏈系統的業務邏輯以代碼的形式實現、編譯並部署,完成既定規則的條件觸發和自動執行,最大限度地減少人工干預。
智能合約應用風險#
智能合約的操作對象大多為數字資產,數據上鏈後難以修改、觸發條件強等特性決定了智能合約的使用同時具有高價值和高風險,如何規避風險並發揮價值是當前智能合約大範圍應用的難點。智能合約應用仍處於初級階段,這是區塊鏈安全的 “重災區”。從歷次智能合約漏洞引發的安全事件來看,合約編寫存在較多安全漏洞,對其安全性帶來了巨大挑戰。
目前,提升智能合約安全性一般有以下幾個思路。
- 形式化驗證(Formal Verification)
通過嚴密的數學證明來確保合約代碼所表達的邏輯符合意圖。此方法邏輯嚴密,但難度較大,一般需要委託第三方專業機構進行審計。
- 智能合約加密
智能合約不能被第三方明文讀取,以此減少智能合約因邏輯上的安全漏洞而被攻擊。此法成本較低,但無法用於開源應用。
- 嚴格規範合約語言的語法格式
總結智能合約優秀模式,開發標準智能合約模板,以一定標準規範智能合約的編寫可以提高智能合約質量,提高智能合約安全性。