博弈論解釋一切:從世界杯小組賽消極比賽,到礦工博弈及共識算法區(qū)塊鏈
安比(SECBIT)實驗室的研究員利用均衡的概念來揭示世界杯比賽中消極比賽、比特幣系統(tǒng)中礦工挖礦博弈,以及共識系統(tǒng)所面臨的挑戰(zhàn)背后所蘊含的均衡模型。
博弈論被認為是20世紀經(jīng)濟學(xué)最偉大的成果之一,其思想被廣泛的應(yīng)用到經(jīng)濟學(xué),政治學(xué),計算機科學(xué),生物學(xué),運籌學(xué)等學(xué)科。通過分析博弈各方的收益情況而對參與者的行為進行預(yù)測,博弈論已經(jīng)被應(yīng)用于處理國際關(guān)系、研究軍事戰(zhàn)略、制定公司經(jīng)營策略等領(lǐng)域。諾貝爾經(jīng)濟學(xué)獎獲得者約翰.納什(John F. Nash)在他的博士論文中提出的“納什均衡”概念,完全顛覆了傳統(tǒng)經(jīng)濟學(xué)家的固有觀念,因此“納什均衡”對經(jīng)濟學(xué)的影響被類比為“DNA雙螺旋結(jié)構(gòu)對生物科學(xué)的影響”。納什均衡提供了一種分析社會和經(jīng)濟參與者行為的工具,安比(SECBIT)實驗室的研究員利用均衡的概念來揭示世界杯比賽中消極比賽、比特幣系統(tǒng)中礦工挖礦博弈,以及共識系統(tǒng)所面臨的挑戰(zhàn)背后所蘊含的均衡模型。
6月26日,第21屆世界杯小組賽C組法國對戰(zhàn)丹麥隊的比賽由于兩個國家隊踢默契球而引起了球迷的抱怨,安比(SECBIT)實驗室的研究人員通過博弈論的分析方法來討論比賽規(guī)則對球隊行為的影響,從而說明規(guī)則會影響參與者的行為。接著,我們描述了在比特幣挖礦的情境下,礦池之間存在的博弈現(xiàn)象。最后,我們討論了比特幣系統(tǒng)共識算法所面臨的潛在威脅。通過對這些實例的分析,安比(SECBIT)實驗室希望將博弈論的思想引用到智能合約的部署中,當開發(fā)人員在設(shè)計有多個參與者參加的智能合約時,通過添加智能合約的博弈論屬性來預(yù)測參與者的行為。
世界杯消極比賽與重復(fù)剔除的占優(yōu)戰(zhàn)略均衡
在世界杯小組賽中,每個小組有4支球隊,通過互相比賽最終兩支獲得最高分數(shù)的球隊出線進入下一輪,小組賽的得分規(guī)則是:贏一場得3分,平局的話兩隊各得1分,輸?shù)年犖榈?分。如果兩支隊伍積分相等,出線隊伍通過比較凈勝球和紅黃牌數(shù)量來決定。
世界杯C組有四支隊伍:法國,丹麥,秘魯和澳大利亞。在法國隊和丹麥隊比賽之前,法國隊已經(jīng)戰(zhàn)勝澳大利亞和秘魯,得到了6分,丹麥隊戰(zhàn)勝秘魯,打平澳大利亞積4分,澳大利亞積1分,秘魯兩場全輸積0分。具體賽況如下圖所示。
C組還剩下兩場比賽,分別是丹麥對戰(zhàn)法國,澳大利亞對戰(zhàn)秘魯。在這個前提下,我們畫了下面的收益圖來表示丹麥對戰(zhàn)法國的比賽的可能結(jié)果。
在上圖中,有兩個參賽隊伍法國和丹麥,每個參賽隊伍有兩個策略:積極比賽和消極比賽。消極比賽中,每個球隊的重點不在于如何積極地發(fā)動進攻獲得進球,而是將比賽的重心放在如何消磨時間上,比如持續(xù)在后場傳球。還有就是派遣替補隊員上場,讓主力球員休息從而避免意外受傷。
在這張圖表中有四個狀態(tài)組合,第一個狀態(tài)(積極,積極)表示兩個隊都積極地應(yīng)對比賽,這個狀態(tài)下丹麥隊的收益是 , 表示丹麥隊有較大的可能性出線, 是一個很小的小數(shù),它表示的意思是隊伍中的隊員由于獲得黃牌或者受傷而需要付出的代價。法國隊的收益是,這表示雖然法國隊出線了,但是球隊隊員由于受傷或者黃牌而導(dǎo)致收益下降。
第二個狀態(tài)(積極,消極)表示丹麥隊積極比賽,而法國隊消極比賽,在這種情況下,丹麥隊獲勝的可能性大大的增加,但是由于需要付出相應(yīng)的代價,丹麥隊的收益成為。法國隊由于以前的兩場比賽均獲得了勝利,因此無論這場比賽是輸是贏都會出線,因此法國隊的收益為1.
第三個狀態(tài)(消極,積極)表示丹麥隊消極比賽而法國隊積極比賽,這樣丹麥隊輸?shù)舯荣惖母怕屎艽螅欠癯鼍€會受到澳大利亞和秘魯比賽結(jié)果的影響,因此我們設(shè)置其收益為,與此同時,由于法國隊積極比賽會付出代價,因此法國隊的收益為。
第四個狀態(tài)(消極,消極)表示兩隊都消極比賽,在此狀態(tài)下,由于平局兩隊都可以增加積分,這樣無論澳大利亞和秘魯?shù)谋荣惤Y(jié)果如何,法國和丹麥都會出線,因此我們設(shè)置兩隊的收益都為1.
觀察本次比賽的收益圖可以發(fā)現(xiàn),對于法國隊而言,無論采取什么策略都可以出線,但是積極比賽會讓其損失的收益。因此消極比賽是法國隊的占優(yōu)戰(zhàn)略。我們假設(shè)法國隊是理性的,因此法國隊會剔除自己的劣勢策略:“積極”,而選擇對自己最有利的策略:消極比賽。我們同樣假定丹麥隊是理性的,他會正確的預(yù)測到法國隊會選擇消極比賽,在此狀況下,丹麥隊獲得最大收益的策略也是消極比賽。在實際比賽中,法國隊讓替補隊員首發(fā)上場比賽,這無疑給了丹麥隊一個消極比賽的信號,因此丹麥隊會做出消極比賽的決定。
在本次博弈中,狀態(tài)(消極,消極)是一個納什均衡狀態(tài)。
納什均衡:在一個狀態(tài)下,沒有一個參與者可以在獨自改變策略的情況下增加自己的收益。
接下來我們將會運用相同的分析方式來描述比特幣挖礦系統(tǒng)中所存在的均衡現(xiàn)象。
礦工博弈
比特幣系統(tǒng)的安全性依賴于其自身所具有的穩(wěn)定的激勵規(guī)則,這個激勵系統(tǒng)所運用的底層數(shù)據(jù)結(jié)構(gòu)是區(qū)塊鏈,區(qū)塊鏈中記錄了所有比特幣的交易記錄,因此區(qū)塊鏈可以被認為是一個在分布式系統(tǒng)中維護的一個全局賬本。由于區(qū)塊鏈的開放性,任何人都可以加入到這個系統(tǒng)中,比特幣系統(tǒng)中的參與者(即礦工),需要通過提供代價高昂的計算來提供工作量證明(Proof of Work)來產(chǎn)生新的區(qū)塊,礦工產(chǎn)生新的區(qū)塊的過程被稱為挖礦。當一個礦工完成了比特幣系統(tǒng)所要求的工作量證明,一個新的區(qū)塊會被添加到原有的區(qū)塊鏈當中,提供工作量證明的礦工會得到相應(yīng)的比特幣獎勵。隨著比特幣系統(tǒng)的發(fā)展,其中所運用的激勵規(guī)則被認為是穩(wěn)定且可擴展的。
由于比特幣的市值很高,越來越多的礦工加入到挖礦的隊列,為了保證每個區(qū)塊的創(chuàng)立時間保持基本恒定(每10分鐘產(chǎn)生一個新的區(qū)塊),比特幣系統(tǒng)在不斷地調(diào)整挖礦的難度。因此計算能力小的礦工很難依靠自己的算力生成新的區(qū)塊,這就導(dǎo)致礦工會選擇加入其它挖礦的機群,從而聚集成一個礦池一起進行挖礦,如果這個礦池成功的生成一個新的區(qū)塊,即完成工作量證明(Proof of Work),這個區(qū)塊所得到的比特幣獎勵會根據(jù)每個礦工的貢獻進行分配。
在一個礦池中,會有一個管理員和諸多礦工,管理員負責(zé)分配和監(jiān)督礦工進行工作。如果有一個礦工完成了一個工作量證明(Proof of Work),管理員會將其發(fā)布到網(wǎng)絡(luò)中并且將新區(qū)快添加到區(qū)塊鏈中。為了對礦工進行管理,管理員每隔一段時間會要求礦工礦工向其提交部分工作量證明(partial Proof of Work)。通過這個檢查機制,管理員一方面可以確認所有的礦工都在為挖礦而工作,另一方面也可以評估每個礦工的工作量,從而計算礦工的收益。有些礦池為了增加自己的算力,會公開自己的服務(wù)器接口,其他礦工只需要注冊便可以加入礦池,接收挖礦任務(wù),進而發(fā)送工作量證明給管理員,當這個礦池創(chuàng)造出新的區(qū)塊,每個礦工根據(jù)自己貢獻的大小獲得利潤分成。
區(qū)塊截留攻擊
在正常狀況下,不同的礦池各自獨立挖礦,獨自分享挖礦的收益。然而,一個礦池(A)可以對另一個礦池(B)發(fā)動攻擊,礦池A將其中的一部分礦工注冊到礦池B,這些礦工像正常礦工一樣接收礦池B管理員所分發(fā)的挖礦任務(wù),然后入侵的礦工會開始挖礦,如果他們完成了部分工作量證明任務(wù),他們會將這些信息發(fā)送給管理員。但是,如果他們完成了一個完整的工作量證明,他們會選擇丟棄該信息,拒絕向管理員發(fā)送工作量證明。由于入侵礦工會向管理員發(fā)送部分工作量證明,他們會被管理員認定為正常礦工,并且在該礦池其他礦工創(chuàng)建新的區(qū)塊鏈的時候得到利潤分成,因此攻擊者可以獲得被入侵的礦池的收益。一個礦池可以通過比較期望收益和實際收益的差異來確定自己是否受到攻擊,但是由于每個礦工所要完成的部分工作量證明的任務(wù)相對較小,礦池管理員很難判斷出到底是哪個礦工發(fā)起了攻擊。
為了衡量一個礦池的挖礦效率,我們提出了一個衡量標準:
收益密度:一個礦池的收益密度是礦池中每個礦工的平均收益與每個礦工單獨挖礦所獲得收益的比率。
顯而易見,一個礦池的收益密度越高,其獲得的收益就相對更多。一個沒有受到攻擊的礦池的收益密度是1,而一個受到攻擊的礦池的收益密度會小于1。
現(xiàn)在我們構(gòu)建一個具有兩個礦池的博弈模型,在這個模型中,我們假設(shè)除了礦池A和礦池B之外的所有礦工均獨自挖礦。而且礦池A和礦池B的運算能力并沒有超過整個系統(tǒng)中運算能力的50%。每個礦池都可以設(shè)置自己的攻擊比率,即在自己所有的礦工中選擇一定數(shù)量的礦工作為入侵礦工,礦池可以根據(jù)自己的算力來調(diào)整自己的攻擊比率,從而最大化自己的收益。
我們設(shè)定為礦池A的收益密度,為礦池B的收益密度。是礦池B在受到礦池A攻擊而不做出反擊的情況下的收益密度,是礦池A在受到礦池B攻擊而不做出反擊的情況下的收益密度。
當?shù)V池A受到礦池B的攻擊,其收益會下降,當?shù)V池A發(fā)起反擊的時候,他的收益會上升,而礦池B的收益會下降。為了更直觀的表示兩個礦池的博弈過程,我們特意構(gòu)造了一個更為直接的博弈模型,見下圖:
在上圖所示的博弈中,對于礦池B而言,當?shù)V池A選擇攻擊時,礦池B同樣選擇攻擊會獲得0.8的收益密度,如果礦池B不選擇反擊,他只會獲得0.7的收益密度,所以當?shù)V池A發(fā)動攻擊時,礦池B應(yīng)當選擇反擊;當?shù)V池A選擇不攻擊時,如果礦池B選擇攻擊,他會獲得1.25的收益密度,這個收益要大于礦池B不攻擊的收益。因此對于礦池B而言,發(fā)動攻擊是一個可以獲得高收益的優(yōu)勢策略。對于礦池A而言,重復(fù)上述分析,他的優(yōu)勢策略也是發(fā)動攻擊。因此這個博弈存在一個占優(yōu)策略均衡,即狀態(tài)(攻擊,攻擊)。這個狀態(tài)也是一個納什均衡狀態(tài),也就是說,一方參與者獨自改變策略,不會增加自己的收益。
這個博弈模型是一個典型的囚徒困境模型,但是,由于挖礦行為是一直持續(xù)的行為,所以這個博弈可以無限次的重復(fù)發(fā)生,而囚徒困境只進行了一次博弈。在這個模型中,相互發(fā)動攻擊會造成雙方收益的下降,所以對于兩個礦池而言最好的狀態(tài)是達成默契互不攻擊(雖然單方攻擊可以提升收益,但是如果對方發(fā)動反擊,雙方利益都會受損)。
當博弈推廣到具有多個礦池的一般情況下,礦池之間互相發(fā)動攻擊依然會造成收益下降;如果有礦池單方面發(fā)動攻擊也會增加收益,但是有受到報復(fù)的風(fēng)險。總而言之,受到攻擊的礦池挖礦的效率并沒有得到提升,并且由于其將利潤分給了入侵礦工,原有的礦工收益會下降。發(fā)動攻擊的礦池由于分散了一部分礦工進行攻擊,其計算能力也會下降,但是由于入侵其他礦池,他會得到額外的收益。入侵行為會導(dǎo)致整個挖礦系統(tǒng)的算力縮減,進一步會導(dǎo)致比特幣系統(tǒng)降低挖礦的難度。在實際挖礦中,礦場可以選擇建造自己私密的礦池,開放的礦池可以選擇降低自己的規(guī)模,從而減少被攻擊的風(fēng)險。上面所描述的博弈模型的數(shù)學(xué)推導(dǎo)可參考論文[1].
接下來我們討論比特幣系統(tǒng)中可能存在的另一種類型攻擊:賄賂攻擊。
賄賂攻擊者模型與共識算法
在這個模型中,我們假設(shè)有兩個候選人A與B,我們想要通過投票的方式從這兩個參與者之中選擇出一個優(yōu)勝者。每個參與投票的人可以投一票,最終獲得票數(shù)最多的候選人贏得勝利;投票給勝利者的候選人可以獲得1000人民幣的獎勵。假設(shè)Bob是參與投票的參與者,其獲得的收益可以由下圖表示。
我們現(xiàn)在假設(shè)候選人B有很多預(yù)算,他準備對投票的參與者發(fā)起賄賂,并且承諾付給投票給他的參與者人民幣,通過賄賂的手段候選人B可以獲得勝利,代表一個很小的小數(shù)。受到賄賂攻擊后的Bob收益如下。可以看到本輪博弈會產(chǎn)生新的均衡點,即接受賄賂攻擊者選擇投票給賄賂者,由于會有較高的潛在收益,投票給賄賂者還是一個很穩(wěn)定的狀態(tài)。
比特幣系統(tǒng)同樣存在這樣的潛在攻擊威脅,一個攻擊者可以通過賄賂其他礦工來讓大家同意其挖掘的區(qū)塊。由于參與者眾多,賄賂其他礦工的成本太高(取得其他礦工的信任很難),現(xiàn)在的比特幣系統(tǒng)成功的避免了賄賂攻擊。關(guān)于賄賂攻擊的詳細討論可以參考以太坊的博客[3].
結(jié)語
通過上面的分析,安比(SECBIT)實驗室的研究人員為世界杯上法國隊和丹麥隊的默契球比賽建立了一個博弈模型,并且根據(jù)模型分析了產(chǎn)生默契球比賽的原因。消極比賽的行為不僅存在于世界杯比賽,在奧運會羽毛球比賽中也會發(fā)生消極比賽的狀況,相關(guān)報道可參考[2]。接下來的實例分析了在比特幣挖礦的場景下,礦池之間的博弈,雖然互相發(fā)動攻擊是一個均衡狀態(tài),但是為了長遠的利益考慮,礦池之間通過達成互不攻擊的默契可以保證各方的共同利益。最后,我們又討論了比特幣共識算法所存在的潛在攻擊威脅,但是由于在現(xiàn)存系統(tǒng)中攻擊的成本太高,比特幣系統(tǒng)成功的避免了賄賂攻擊。
由于博弈論的廣泛應(yīng)用,已經(jīng)有很多數(shù)學(xué)家和經(jīng)濟學(xué)家獲得了諾貝爾經(jīng)濟學(xué)獎,例如,2012年諾貝爾經(jīng)濟學(xué)獎頒發(fā)給了美國經(jīng)濟學(xué)家埃爾文·羅斯(Alvin E. Roth)與羅伊德·沙普利(Lloyd S. Shapley),以表彰他們創(chuàng)建穩(wěn)定分配理論和進行市場設(shè)計的實踐。安比(SECBIT)實驗室的研究員通過利用博弈論的分析工具對兩個不同場景(比賽及加密貨幣)下的活動進行建模,說明了博弈論和納什均衡的概念及應(yīng)用。更進一步,安比(SECBIT)實驗室希望開發(fā)人員在設(shè)計有多個用戶參與的智能合約的時候,可以運用博弈論的分析工具對智能合約中的規(guī)則進行分析和證明,從而引導(dǎo)參與者做出更有利于全體社會收益的行為。
參考文獻
[1] Eyal, I., 2015, May. The miner's dilemma. In Security and Privacy (SP), 2015 IEEE Symposium on (pp. 89-103). IEEE.
[2] 于洋/王曉理消極比賽 四對女雙被取消奧運資格 http://2012.163.com/12/0801/20/87RM0LPI000506A2.html
[3] The P epsilon Attack. https://blog.ethereum.org/2015/01/28/p-epsilon-attack/
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補充。