隨著區(qū)塊獎(jiǎng)勵(lì)的不斷降低,比特幣在未來(lái)的安全性是否能得到足夠的保障一直是我們關(guān)注的一個(gè)重點(diǎn)。
如果一個(gè)應(yīng)用或一個(gè)協(xié)議在對(duì)抗性環(huán)境中實(shí)現(xiàn)了它的目標(biāo),包括抵御那些愿意花費(fèi)大量資源來(lái)?yè)p害系統(tǒng)的行動(dòng)者,我們就將其稱(chēng)之為“安全” 。不幸的是,沒(méi)有一種系統(tǒng)可以抵御萬(wàn)能的攻擊者。因此,務(wù)實(shí)的安全性方法是最大化根據(jù)協(xié)議采取行動(dòng)的動(dòng)機(jī),同時(shí)最小化針對(duì)協(xié)議采取行動(dòng)的動(dòng)機(jī)。比特幣的目標(biāo)是建立這樣一種支付系統(tǒng):
1)任何人都可以參與(無(wú)需許可的訪(fǎng)問(wèn)),
2)只有合法擁有者才能花掉幣(安全),并且
3)所有有效交易最終都將進(jìn)入賬本(活性)
這些屬性現(xiàn)在已經(jīng)存在了10多年,表明比特幣在實(shí)踐上是安全的。另一方面,在理論上,比特幣通常無(wú)法產(chǎn)生相同的保證。這導(dǎo)致學(xué)者們稱(chēng)其為“不完整的(broken)1 ” 和“ 注定失敗的(doomed)2 ”,等等。
在本文中,我們希望通過(guò)引入我們的比特幣安全模型來(lái)彌合理論與實(shí)踐之間的鴻溝。我們證明了比特幣目前可以承受非常高的攻擊激勵(lì),這是少數(shù)出人意料的因素的作用。我們進(jìn)一步證明了為什么學(xué)者們提出的許多攻擊對(duì)礦工來(lái)說(shuō)是不理性的。
在下半部分,我們證明了,相比任何外部攻擊者,對(duì)比特幣安全性的最大威脅更多在于協(xié)議本身。作為比特幣固定發(fā)行計(jì)劃的一部分,區(qū)塊補(bǔ)貼計(jì)劃的不斷降低,將導(dǎo)致礦工的可預(yù)見(jiàn)收入降低。
最后,我們提供了思考該問(wèn)題的一些一般方法,包括一些可供社區(qū)討論的改進(jìn)建議。
1. 為什么比特幣需要挖礦
在過(guò)去的支付系統(tǒng)中,需要一臺(tái)或一組受信任的中央服務(wù)器來(lái)處理交易。事實(shí)證明,這是一個(gè)重要的故障點(diǎn),因?yàn)橹醒腧?yàn)證者通常會(huì)失效,或被迫排除某些人群或某些類(lèi)型的交易。因此,一個(gè)旨在提供無(wú)需許可的訪(fǎng)問(wèn)的系統(tǒng)不能使用中心的一方。中本聰看到了這樣一個(gè)解決方案,用扁平的點(diǎn)對(duì)點(diǎn)模型——該模型已經(jīng)在諸如 BitTorrent 之類(lèi)的極具彈性的分布式網(wǎng)絡(luò)中證明了其價(jià)值——來(lái)代替流行的客戶(hù)端-服務(wù)器模型。
借助公鑰加密技術(shù),我們已經(jīng)可以證明和驗(yàn)證消息的所有權(quán)。在比特幣中,一個(gè)幣的所有者可以用他的私鑰簽名一條消息。然后,網(wǎng)絡(luò)中的其他節(jié)點(diǎn)可以使用發(fā)送人的哈希公鑰來(lái)驗(yàn)證消息,以證明消息確實(shí)有效。這滿(mǎn)足了比特幣系統(tǒng)中的“安全性”要求。但是,當(dāng)節(jié)點(diǎn)收到兩條分別有效但彼此不能同時(shí)有效的沖突消息時(shí)(例如,當(dāng)某人嘗試兩次花同一枚幣時(shí)),公鑰加密幾乎沒(méi)有幫助。
比特幣通過(guò)用一組計(jì)算能力的簽名(節(jié)點(diǎn)可以遵循這些簽名來(lái)在單條鏈上進(jìn)行協(xié)調(diào))來(lái)替換受信任的服務(wù)器的簽名,從而優(yōu)雅地解決了這個(gè)問(wèn)題。節(jié)點(diǎn)可以高度信任此簽名,因?yàn)樗纳a(chǎn)成本很高,并且此成本很容易被驗(yàn)證。當(dāng)節(jié)點(diǎn)從礦工那里收到兩個(gè)相互沖突的簽名時(shí),他們會(huì)通過(guò)偏向價(jià)格更高的簽名來(lái)區(qū)分它們。這種“分叉選擇規(guī)則”現(xiàn)在被稱(chēng)為中本聰共識(shí)(Nakamoto consensus)。
貝克(Back)、科拉羅(Corallo)等人首先提出了將比特幣挖礦視為動(dòng)態(tài)多方成員身份簽名(dynamic multiparty-membership signature,DMMS)的想法。3 DMMS 是由一群可變的匿名簽名者——他們可以隨時(shí)加入和離開(kāi)——組成的簽名。他們對(duì)比特幣網(wǎng)絡(luò)的算力份額加權(quán)了他們對(duì)簽名的貢獻(xiàn)。這些簽名是累積性的,因?yàn)槊總€(gè)塊都引用前一個(gè)塊,從而創(chuàng)建了區(qū)塊鏈。
計(jì)算簽名的創(chuàng)建過(guò)程如下:首先,礦工通過(guò)生成隨機(jī)輸出來(lái)執(zhí)行負(fù)載計(jì)算。當(dāng)這些輸出落入特定范圍時(shí),其他節(jié)點(diǎn)可以以此為依據(jù),證明虛擬骰子必然已經(jīng)被擲出了一定的平均次數(shù)(類(lèi)似于必須將一個(gè) 1000 面的骰子平均擲出 100 次才會(huì)產(chǎn)生一個(gè)介于 1 到 10 之間的數(shù)字。4)接下來(lái),一個(gè)礦工將其區(qū)塊(包括工作量證明)發(fā)布給網(wǎng)絡(luò)的其余部分。如果滿(mǎn)足共識(shí)規(guī)則,則其他節(jié)點(diǎn)會(huì)將其添加到其區(qū)塊鏈中,并以區(qū)塊獎(jiǎng)勵(lì)和該區(qū)塊中的所有交易費(fèi)來(lái)補(bǔ)償獲勝的礦工。
1.1 密碼學(xué)的局限性
雖然礦工在構(gòu)建自己的區(qū)塊上有一定的自由度,但他們不能給自己多發(fā)幣,不能在同一條鏈上竊取別人的幣,甚至無(wú)法追溯性地改變區(qū)塊的收益。礦工必須像其他任何節(jié)點(diǎn)一樣遵循比特幣協(xié)議,并且節(jié)點(diǎn)會(huì)自動(dòng)拒絕任何破壞協(xié)議的嘗試。
但是,協(xié)議在一些重要方面無(wú)法通過(guò)密碼學(xué)強(qiáng)制執(zhí)行。一個(gè)節(jié)點(diǎn)不知道兩筆互相沖突的交易里哪一筆是有效的,或者兩條互相競(jìng)爭(zhēng)的鏈里該支持哪一條,因此用戶(hù)依賴(lài)于分叉選擇規(guī)則在單條鏈上進(jìn)行協(xié)調(diào)。雖然分叉選擇規(guī)則是比特幣保持共識(shí)所必需的,但它也賦予了礦工相當(dāng)大的權(quán)力,而該權(quán)力不受協(xié)議本身的管控(且不可管控!)。
最著名的“激勵(lì)失敗”是雙花攻擊,多數(shù)礦工首先用比特幣在原鏈上購(gòu)買(mǎi)非比特幣商品或服務(wù)。一旦他不可逆轉(zhuǎn)地得到了商品或服務(wù),他便產(chǎn)生一條更長(zhǎng)的鏈,在這條鏈上該交易從未發(fā)生過(guò),最終他錢(qián)貨雙收。勤奮地遵循最昂貴簽名的節(jié)點(diǎn)會(huì)自動(dòng)切換到新鏈,即使它包含了鏈下盜竊或其他惡意行為。
由此可見(jiàn),諸如加密簽名之類(lèi)的“硬”協(xié)議規(guī)則不能完全確保交易排序的安全——它也依賴(lài)于對(duì)礦工的“軟”經(jīng)濟(jì)激勵(lì)來(lái)發(fā)布服務(wù)于比特幣用戶(hù)的更新。
2. 為比特幣的安全性建立模型
如果用戶(hù)不能信任協(xié)議來(lái)強(qiáng)制執(zhí)行“正確的”交易歷史,他們?nèi)绾尾拍苤酪还P交易是不可更改的(final)還是將來(lái)會(huì)被礦工撤消?在傳統(tǒng)的金融系統(tǒng)中,交易是不可更改的,因?yàn)榉山箤⑵涑废T诒忍貛胖校蔁o(wú)法覆蓋礦工,礦工可以是匿名的,可以在世界任何地方運(yùn)營(yíng),并可以隨時(shí)加入和退出網(wǎng)絡(luò)。
如果這對(duì)礦工們有利可圖,那么我們就該認(rèn)為他們會(huì)一直撤消交易,包括為此付費(fèi)的其他人的交易。因此,用戶(hù)不應(yīng)將一筆付款視為不可更改的,除非撤消它無(wú)利可圖。民間智慧已將這個(gè)問(wèn)題表示為“一個(gè)人必須等多少次確認(rèn)才能讓一筆付款變成不可更改的”。我們證明了為什么額外的確認(rèn)對(duì)比特幣的安全性沒(méi)有多大意義。相反,安全性主要是兩個(gè)簡(jiǎn)單因素的結(jié)果。
2.1 安全假設(shè)
我們首先要設(shè)立一個(gè)基本的支付系統(tǒng),該系統(tǒng)有 12.5 BTC 的區(qū)塊補(bǔ)貼且沒(méi)有交易費(fèi)。挖礦所需的所有硬件和算力都可以按需租用,因此礦工對(duì)比特幣網(wǎng)絡(luò)沒(méi)有長(zhǎng)期的承諾。他們的行為不會(huì)影響比特幣的交易價(jià)格,也沒(méi)有用戶(hù)會(huì)忽略中本聰共識(shí)選出的最昂貴的鏈。所有模型均使用比特幣作為基礎(chǔ)貨幣。
我們把遵循協(xié)議(或“誠(chéng)實(shí)挖礦”)的比特幣價(jià)值定義為 EV(誠(chéng)實(shí)挖礦)。
比如,在一個(gè)持續(xù) 10 個(gè)區(qū)塊的例子里,礦工收入(MR)將是 125 BTC。假定礦工之間免費(fèi)進(jìn)入挖礦并完全競(jìng)爭(zhēng),我們可以認(rèn)為整個(gè)礦工會(huì)花 125 BTC的開(kāi)采成本(MC) 來(lái)贏得這個(gè)獎(jiǎng)勵(lì)。
等式 1 挖礦收入(MR) - 挖礦成本(MC) = 0
等式 2 EV(誠(chéng)實(shí)挖礦) = MR - MC
因此,誠(chéng)實(shí)采礦的 EV 被確定為 0 BTC的基線(xiàn)。
礦工可提取價(jià)值(Miner-extractable value,MEV)描述了一個(gè)礦工希望從他的攻擊中贏得多少BTC。這一概念是達(dá)揚(yáng)(Daian)、高德菲爾德(Goldfeder)等發(fā)明來(lái)描述礦工從智能合約中可提取的價(jià)值的5,但我們將其擴(kuò)展到涵蓋礦工通過(guò)操縱共識(shí)或交易訂單可提取的任何價(jià)值。
重要的是,MEV 并不描述單個(gè)用戶(hù)可以在一個(gè)區(qū)塊中安全地交換多少,因?yàn)楣粽呖梢砸淮坞p花許多不同的用戶(hù)。它甚至并不描述所有用戶(hù)可以安全地在一個(gè)區(qū)塊里交換多少,因?yàn)楣粽呖赡芸邕B續(xù)多個(gè)區(qū)塊雙花。MEV 描述的是攻擊者的全部?jī)r(jià)值,對(duì)于等待六次確認(rèn)的用戶(hù)來(lái)說(shuō),攻擊者的最低攻擊持續(xù)時(shí)間為七個(gè)區(qū)塊。因此,僅根據(jù)自己的個(gè)人交易來(lái)計(jì)算 MEV 的用戶(hù)將低估礦工實(shí)際激勵(lì)的數(shù)量級(jí)。
攻擊挖礦的最終 EV(例如,雙花)可以被建模為:
等式 3 EV(攻擊挖礦) = MEV + MR - MC
只要 EV(誠(chéng)實(shí)挖礦) 》 EV(攻擊采礦),一個(gè)理性的礦工就將遵循協(xié)議而非攻擊它。
因此,我們可以推導(dǎo)出,EV(誠(chéng)實(shí)挖礦) 》 EV(攻擊挖礦) 是比特幣確保對(duì)理性攻擊者安全的必要條件。
由此推論,EV(誠(chéng)實(shí)挖礦)和 EV(攻擊挖礦)之間的區(qū)別描述了比特幣對(duì)非理性(“拜占庭”)攻擊者——他們不關(guān)心利潤(rùn),但會(huì)出于任意原因攻擊比特幣——的耐受性。值得注意的是,這種耐受性不必包括攻擊者直接從攻擊中獲取的價(jià)值,例如,對(duì)比特幣價(jià)格下重注而獲得的價(jià)值。MEV 已經(jīng)捕獲了任何此類(lèi)價(jià)值。
在這個(gè)簡(jiǎn)單的模型中,我們甚至不需要談?wù)摪菡纪ナ焦粽摺T撓到y(tǒng)已經(jīng)無(wú)法抵御一個(gè)理性攻擊者了,因?yàn)槿魏?MEV 》 0 就足以讓攻擊比誠(chéng)實(shí)挖礦更具吸引力。假設(shè)一名礦工可以從一次持續(xù) 10 個(gè)區(qū)塊的攻擊中提取 100 MEV,我們可以看到
示例1:EV(攻擊挖礦) = MEV + MR - MC = 100 + 10 - 10 = 100; 100 》 0,因此比特幣不安全
這一發(fā)現(xiàn)與直覺(jué)相吻合,因?yàn)楣翩湆?duì)攻擊者來(lái)說(shuō)并沒(méi)有實(shí)際成本。它的預(yù)算要求僅為 10 BTC。在攻擊成功之后,他花在攻擊上的所有資源都回本了。這里有三個(gè)值得注意的警告:
1)如果攻擊者必須使他自己的某些區(qū)塊無(wú)效,那么攻擊將開(kāi)始具有實(shí)際成本,因?yàn)樗挠行?MR(攻擊)下降,而 MC 保持不變。
2)如果少數(shù)礦工(“防御者”)繼續(xù)挖原鏈,他可以增加攻擊的持續(xù)時(shí)間。但是,只要攻擊者最終趕上來(lái),這不會(huì)降低其 EV;它只會(huì)提高預(yù)算要求。防御者的資源將被浪費(fèi)。
3)在此模型中,我們假定攻擊者具有多數(shù)算力,或者幾個(gè)較小的攻擊者之間的協(xié)調(diào)沒(méi)有成本。在現(xiàn)實(shí)世界中,協(xié)調(diào)是有成本的,如果礦工對(duì) MEV 的價(jià)值或需要的攻擊持續(xù)時(shí)間意見(jiàn)不一,則協(xié)調(diào)的成本可能會(huì)增加。
2.2 市場(chǎng)治理
俗話(huà)說(shuō),作為經(jīng)濟(jì)行動(dòng)者,我們一直在投票——通過(guò)在某些事而非其他事上花錢(qián)。區(qū)塊鏈也是市場(chǎng),因此,當(dāng)用戶(hù)(消費(fèi)者)買(mǎi)賣(mài)比特幣時(shí),他們不斷投票支持礦工(生產(chǎn)者或服務(wù)提供商)以某種方式行動(dòng)。當(dāng)用戶(hù)對(duì)礦工提供的服務(wù)不滿(mǎn)意時(shí),對(duì)支付系統(tǒng)的信心可能會(huì)下降,與攻擊前相比,比特幣的交易價(jià)格可能會(huì)下降。
我們定義 p(攻擊后價(jià)格)為攻擊后的相對(duì) BTCUSD 價(jià)格,例如,95% 的攻擊后價(jià)格表示的價(jià)格在攻擊中下降了 5%。
等式 4 EV(攻擊挖礦) = p(攻擊后價(jià)格) * (MEV + MR) - MC
在更新的等式中,由于比特幣價(jià)格因攻擊而下降,MR(區(qū)塊獎(jiǎng)勵(lì) + 交易費(fèi))和 MEV 都變小了,而 MC(攻擊挖礦)保持不變。雖然在這里使用比特幣而非法幣作為基本單位可能并不常見(jiàn),但我們發(fā)現(xiàn)推理起來(lái)更容易。實(shí)際上,在攻擊后礦工的名義比特幣并沒(méi)有減少,但是由于它們損失了 5% 的購(gòu)買(mǎi)力,因此他只能將其換成 95% 的攻擊前比特幣。
由于引入了市場(chǎng)治理,因此,只要 MR(誠(chéng)實(shí)挖礦)大于 p(攻擊后價(jià)格) * (MEV + MR(攻擊挖礦)) ,則 EV(攻擊挖礦)現(xiàn)在將無(wú)利可圖。
等式 5 EV(攻擊挖礦) < 0,如果 MR > p(攻擊后價(jià)格) * (MEV + MR)
由此,我們可以得出系統(tǒng)安全的三種方式:
1)MEV 可以低,例如,因?yàn)楹苌儆腥嗽谟帽忍貛沤灰祝蛘哂脩?hù)在沒(méi)有額外保證比如知道買(mǎi)家身份的情況下,不考慮最終支付。
2)p(攻擊后價(jià)格)可以低,這意味著用戶(hù)需要對(duì)比特幣應(yīng)該是做什么的非常敏感,并且,需要愿意轉(zhuǎn)換到競(jìng)爭(zhēng)對(duì)手,如果礦工停止做他們的工作。這有點(diǎn)像一個(gè)“站隊(duì)”的參數(shù),因?yàn)槿绻尡忍貛诺膬r(jià)格崩潰很容易,其他形式的攻擊(例如破壞活動(dòng))將變得更具吸引力,從而增加了 MEV。6
3)MR 可以高,因此,p(攻擊后價(jià)格)對(duì) MR 的影響開(kāi)始超過(guò)來(lái)自 MEV 的潛在增益。
2.3 礦工承諾
到現(xiàn)在為止,我們做出了不切實(shí)際的假設(shè),即挖礦所需的所有東西都可以按需租用(該觀點(diǎn)主導(dǎo)了關(guān)于比特幣安全性的學(xué)術(shù)評(píng)論。)實(shí)際上,挖礦并非如此。在一個(gè)激烈競(jìng)爭(zhēng)的模型中,礦工們都在跑步機(jī)上奔跑。如果一個(gè)礦工加快速度,并以相同的成本并增加其收入,那么其他礦工就必須跟上步伐,否則就有可能完全破產(chǎn)。挖礦幾乎沒(méi)有可持續(xù)的護(hù)城河。結(jié)果,礦業(yè)的工業(yè)化速度可能超過(guò)歷史上任何其他行業(yè)。
隨著礦業(yè)的工業(yè)化,尋找一個(gè)區(qū)塊的單位成本變得越來(lái)越重要。有幾種降低企業(yè)單位成本的方法:
1)如果生產(chǎn)設(shè)施的運(yùn)營(yíng)低于產(chǎn)能,則企業(yè)可以賣(mài)更多產(chǎn)品,用更多的商品來(lái)分?jǐn)偲浣?jīng)營(yíng)費(fèi)用。在挖礦中,每份算力都有比特幣網(wǎng)絡(luò)作為自動(dòng)買(mǎi)家,因此這里沒(méi)有什么要優(yōu)化的。
2)該業(yè)務(wù)可以減少生產(chǎn)的日常材料成本。挖礦的等效目標(biāo)是不斷尋找更便宜的能源,更好地散熱或冷卻以及制造優(yōu)化。
3)企業(yè)可以通過(guò)使其生產(chǎn)設(shè)施專(zhuān)業(yè)化來(lái)降低經(jīng)營(yíng)費(fèi)用。在比特幣挖礦中,這導(dǎo)致硬件針對(duì)一項(xiàng)工作進(jìn)行了越來(lái)越多的優(yōu)化:哈希 SHA-256。此硬件無(wú)法再挖比特幣的那一刻,它實(shí)際上一文不值。值得注意的是,這甚至適用于以太坊等大型GPU挖礦網(wǎng)絡(luò)。即使可以使用通用硬件來(lái)挖以太坊,對(duì) GPU 的需求也不足以使供應(yīng)突然驟然飽和。如果以太坊的價(jià)格崩潰,以太坊礦工的承諾也將失去其大部分價(jià)值。
4)礦工還可以通過(guò)簽訂越來(lái)越長(zhǎng)的購(gòu)電協(xié)議(PPA)來(lái)降低單位能源成本。
因此,為了降低單位成本來(lái)開(kāi)始競(jìng)爭(zhēng)性的挖礦,一名理性的礦工需要高度專(zhuān)業(yè)化的硬件,并且需要對(duì)網(wǎng)絡(luò)采取長(zhǎng)期的看法。礦工的專(zhuān)業(yè)化程度越高,其資產(chǎn)和支出就越不能改變用途。從等式 1 中,我們知道 MR + MC = 0。這意味著,我們可以從挖礦總收入中得出采礦總成本,這僅僅是所有區(qū)塊獎(jiǎng)勵(lì)的總和。
礦工必須預(yù)先承擔(dān)多少費(fèi)用?在與比特幣礦工和專(zhuān)家交談之后,我們得出了一個(gè)粗略的估計(jì),即普通礦工,乃至整個(gè)采礦業(yè),其總成本中約有 50% 屬于此類(lèi)不可改變用途的資產(chǎn)。此外,我們了解到,這些資產(chǎn)平均會(huì)在 24 個(gè)月內(nèi)折舊。
如果我們以此假設(shè)運(yùn)行,那么整個(gè)礦業(yè)將獲得一整年的區(qū)塊獎(jiǎng)勵(lì)(兩年* 50%),承諾在未來(lái)兩年內(nèi)挖比特幣。在 12.5 BTC的區(qū)塊獎(jiǎng)勵(lì)下,等于 658800 BTC。
換句話(huà)說(shuō),在礦工們開(kāi)始挖礦前,他們不得不*預(yù)先*購(gòu)買(mǎi)他們期望在兩年時(shí)間內(nèi)挖出的所有幣的50%。
在這些幣到手之前,任何有損于其價(jià)值的事都極具破壞力。
因此,我們可以說(shuō),礦工們都在堅(jiān)定地致力于以最大化比特幣價(jià)值和網(wǎng)絡(luò)效用的方式挖比特幣。
等式 6 EV(攻擊挖礦) = p(攻擊后價(jià)格) * (MEV + MR) - MC - [1 - p(攻擊后價(jià)格)] * 承諾
在第一個(gè)例子里,算力仍然可以是租來(lái)的,95% 的 p(攻擊后價(jià)格),對(duì) MR 的影響只是持續(xù) 10 個(gè)區(qū)塊的攻擊。一旦礦工承諾了比特幣,同樣的價(jià)格下降影響整整一年的收入——52704塊!5%的價(jià)格下降,在所有礦工來(lái)說(shuō)現(xiàn)在將消滅相當(dāng)于攻擊前的 32940 BTC。
值得注意的是,攻擊者無(wú)需擁有 100% 的算力即可使攻擊成功。如果他用 60% 的算力進(jìn)行攻擊,那么他自己的承諾將僅占總承諾的 60%,即 395280 BTC。
示例2:EV(具有60%算力和100 MEV的10個(gè)區(qū)塊的攻擊) = 95% * (100 BTC + 10 * 12.5 BTC) - (100 * 12.5 BTC) - 5% * 395280 BTC = -19.675 BTC
對(duì)于一個(gè)具有 60% 算力的攻擊者而言,MEV 大約為 21000 BTC,即按今天的價(jià)格計(jì)算為 1.87 億美元,才能使攻擊有利可圖7。對(duì) MEV 的高耐受性表明,今天的比特幣網(wǎng)絡(luò)確實(shí)安全。這些研究結(jié)果可以推廣到所有使用 PoW 的加密貨幣,并說(shuō)明礦工支出不可改變用途對(duì)安全來(lái)說(shuō)是多么的重要。
2.4 暫停中本聰共識(shí)
我們已經(jīng)證明,比特幣網(wǎng)絡(luò)今天可以耐受大量的 MEV,這為攻擊獲利制造了巨大的障礙。但是,為了完善我們的比特幣安全模型,我們需要更新剩下的最后一個(gè)假設(shè),也就是比特幣用戶(hù)永遠(yuǎn)不會(huì)質(zhì)疑中本聰共識(shí)。
用戶(hù)正在市場(chǎng)上尋求最小化信任的信號(hào),該信號(hào)使他們可以在單條鏈上進(jìn)行協(xié)調(diào)。他們?yōu)檫@些信號(hào)花費(fèi)大量金錢(qián),因?yàn)檫@樣做比協(xié)調(diào)任何其他方式(例如,通過(guò)直接相互交談直到出現(xiàn)類(lèi)似的共識(shí))都便宜。
但是,這并不意味著即使大多數(shù)用戶(hù)對(duì)礦工不滿(mǎn)意,用戶(hù)也一定會(huì)遵循礦工產(chǎn)生的信號(hào)。比特幣歷史上有很多先例,用戶(hù)忽略了中本聰?shù)墓沧R(shí),因?yàn)橛纱水a(chǎn)生的鏈條不再代表他們已簽署的社會(huì)契約。
2010 年,區(qū)塊 74638 中的整數(shù)溢出錯(cuò)誤導(dǎo)致創(chuàng)建了高達(dá) 1840 億個(gè) BTC,比應(yīng)該存在的 2100 萬(wàn)大得多。在三個(gè)小時(shí)內(nèi),中本聰發(fā)布了一個(gè)沒(méi)有錯(cuò)誤的新比特幣客戶(hù)端,“回滾”了這條超通脹的鏈。8
第二個(gè)例子是 2013 年的 0.7/0.8 共識(shí)錯(cuò)誤,該錯(cuò)誤讓區(qū)塊鏈在幾個(gè)小時(shí)的時(shí)間里一分為二。當(dāng)時(shí)最受歡迎的比特幣實(shí)現(xiàn) Bitcoind 新近發(fā)布了 0.8 更新。開(kāi)發(fā)者并不知道的是,新軟件還對(duì)共識(shí)規(guī)則進(jìn)行了微小的改動(dòng),這導(dǎo)致區(qū)塊 225430 與較舊的客戶(hù)端不兼容。在比特幣開(kāi)發(fā)者和礦池們決定暫時(shí)中止分叉選擇規(guī)則后,分叉得到了解決。他們手動(dòng)支持了 0.7 分支并放棄了 0.8 鏈,這要求礦工們放棄 0.8 鏈中的任何區(qū)塊獎(jiǎng)勵(lì),以最大化網(wǎng)絡(luò)的整體效用。9
最后,最著名的例子可能是2017年的用戶(hù)激活軟分叉(UASF)運(yùn)動(dòng)。代碼發(fā)布一整年后,大多數(shù)礦工仍拒絕采用隔離見(jiàn)證(Segregated Witness)更新——可能是因?yàn)樗茐牧?ASICBoost,一種提高挖礦硬件效率的專(zhuān)利技術(shù)10。為了無(wú)論如何也能推動(dòng)這一改變,一些比特幣用戶(hù)安裝了一個(gè)客戶(hù)端,該客戶(hù)端再次有了中止中本聰共識(shí)的威脅,因?yàn)樗雎粤嗽谀硞€(gè)日期之后拒絕 SegWit 的礦工的區(qū)塊。如果礦工們?nèi)纹浒l(fā)生,那將導(dǎo)致主網(wǎng)上的有爭(zhēng)議分叉。比特幣的效用和價(jià)值受到的威脅嚴(yán)重觸及了礦工的底線(xiàn),他們最終放棄了對(duì) SegWit 更新的抵制。
這些示例表明,最終,用戶(hù)將領(lǐng)導(dǎo)礦工。當(dāng)他們不同意哪種治理決策將最大程度地利用整個(gè)網(wǎng)絡(luò)效用時(shí),用戶(hù)可以運(yùn)行自定義代碼(例如 invalidateblock 參數(shù))來(lái)暫時(shí)中止中本聰共識(shí),從而“剝奪”礦工的權(quán)力。
即使?jié)M足協(xié)議規(guī)則,攻擊者也必須考慮用戶(hù)拒絕其鏈的風(fēng)險(xiǎn)。
我們將 p(遵循中本聰共識(shí))定義為用戶(hù)協(xié)調(diào)鏈下中止中本聰共識(shí)的概率。從攻擊者的角度來(lái)看,這進(jìn)一步降低了潛在報(bào)酬,而他的成本保持不變。
等式7 EV(攻擊挖礦) = p(遵循中本聰共識(shí)) * p(攻擊后價(jià)格) - MC - [1 - p(攻擊后價(jià)格)] * 承諾
由于中止中本聰共識(shí)在攻擊持續(xù)時(shí)間內(nèi)僅影響 MR 和 MEV ,而對(duì)礦工承諾則沒(méi)有影響,因此,中本聰共識(shí)中止所帶來(lái)的安全性少于市場(chǎng)治理。但是,從理論上講,用戶(hù)不僅可以改變交易歷史,還可以改變核心協(xié)議規(guī)則。如果有共識(shí)將挖礦算法從 SHA256 變?yōu)槠渌惴ǎ瑒t即使比特幣價(jià)格不跌至零,用戶(hù)也可能立即使整個(gè)礦工承諾無(wú)效。這使得社會(huì)干預(yù)成為抵御主動(dòng)嘗試降低比特幣價(jià)格或破壞網(wǎng)絡(luò)的攻擊者的非常有用的防御手段。
2.5 總結(jié)
通過(guò)構(gòu)建此模型并用真實(shí)數(shù)據(jù)填充它,我們可以獲得一些關(guān)鍵的見(jiàn)解。
1)為了獲得高度的安全性,在用戶(hù)視為不可更改的任何持續(xù)時(shí)間內(nèi),誠(chéng)實(shí)挖礦必須比攻擊挖礦更有利可圖。
2)如果用戶(hù)希望能夠進(jìn)行大筆交易,則必須允許 MEV 高。
3)系統(tǒng)耐受高 MEV 的能力取決于礦工從惡意行為中受到懲罰的規(guī)模。用戶(hù)可以通過(guò)兩種主要方式懲罰礦工:
a)首先,他們可以出售部分或全部比特幣。當(dāng) BTCUSD 的交易價(jià)格下跌 10% 時(shí),礦工損失以攻擊前比特幣計(jì)的承諾價(jià)值的 10%。
b)其次,用戶(hù)可以鏈下協(xié)調(diào)來(lái)暫時(shí)中止中本聰共識(shí)。
4)為了讓?xiě)土P潛力變大,礦工的承諾必須很大,并且用戶(hù)賣(mài)幣的意愿必須很高。
5 )礦工承諾的規(guī)模是一個(gè)關(guān)于礦工收入(MR),承諾成本占總成本的比例,及其折舊時(shí)間表的函數(shù)。
6)如果我們保持承諾成本、折舊時(shí)間表和賣(mài)幣的意愿不變,則 MR 是 MEV 耐受度的決定因素,并因此是網(wǎng)絡(luò)可以支持多少用戶(hù)活動(dòng)的決定因素。
我們邀請(qǐng)任何人根據(jù)自己的條件下載并試用我們的模型。11
3. 挖礦攻擊
接下來(lái),我們想知道,根據(jù)我們的模型,對(duì)比特幣系統(tǒng)的最主要攻擊將如何進(jìn)行。
比特幣網(wǎng)絡(luò)上可能發(fā)生的攻擊在很大程度上取決于攻擊者擁有多少算力。從理論上講,一名礦工只需擁有 30% 的算力,就可以進(jìn)行自私挖礦(selfish mining)或固執(zhí)挖礦(stubborn mining)之類(lèi)的操作,用戰(zhàn)略性的隱瞞區(qū)塊來(lái)賺取超過(guò)礦工收入公平份額的收入(譯者注:自私礦池挖出新塊之后, 暫不發(fā)布這個(gè)區(qū)塊, 而是繼續(xù)挖下一區(qū)塊, 當(dāng)發(fā)現(xiàn)網(wǎng)絡(luò)上別人也挖出新區(qū)塊時(shí)再發(fā)布這個(gè)區(qū)塊, 以獲得更高的收益)。據(jù)我們所知,到目前為止,在比特幣中尚未發(fā)現(xiàn)這些策略。我們的模型表明,礦工采取可能降低公眾對(duì)比特幣信任度的策略確實(shí)是非理性的,因?yàn)榧词箖r(jià)格小幅下跌也會(huì)破壞其承諾的價(jià)值,這會(huì)大于他們希望獲得的 MEV。
至少有一個(gè)數(shù)據(jù)點(diǎn)支持這一理論。2014年,GHash.io 礦池(通過(guò)零手續(xù)費(fèi)政策吸引礦工來(lái))反復(fù)試探 》50% 的算力,甚至涉嫌參與雙花熱門(mén)的博彩網(wǎng)站 BetCoin Dice12。隨著有關(guān)礦池中心化的消息在比特幣社區(qū)傳開(kāi),人們對(duì)該系統(tǒng)的信任開(kāi)始動(dòng)搖。幾個(gè)重要人物公開(kāi)出售了部分比特幣13。
之后,個(gè)體礦工大量逃離礦池來(lái)保護(hù)他們的投資。在那之后,沒(méi)有任何一個(gè)礦池敢于再次接近這種算力水平。礦工似乎已經(jīng)意識(shí)到,任何形式的市場(chǎng)恐慌都會(huì)對(duì)他們的底線(xiàn)產(chǎn)生極大的不利影響。
在這里,我們可以看到拜占庭模型與理性模型之間的差異:在拜占庭模型下,一旦礦工的算力 》 50%,比特幣就變得不安全。但是,在復(fù)雜的世界中,比特幣的穩(wěn)定狀態(tài)很可能是算力壟斷。目前可能存在壟斷,我們無(wú)法反駁。查看所有參與者的動(dòng)機(jī)可以表明,比特幣不會(huì)因?yàn)榇嬖诙鄶?shù)礦工(majority miner)而自動(dòng)失敗。用戶(hù)仍然可以通過(guò)該礦工的激勵(lì)來(lái)構(gòu)建自己想要的區(qū)塊。
當(dāng)一名礦工擁有超過(guò) 50% 的算力時(shí),他就可以確定,他提出的任何鏈最終都將成為中本聰共識(shí)中的標(biāo)準(zhǔn)鏈。這種確定性是對(duì)比特幣用戶(hù)進(jìn)行更嚴(yán)重攻擊的前提。這些攻擊可分為兩類(lèi):雙花攻擊和破壞攻擊。
3.1 雙花攻擊
在雙花攻擊中,攻擊者把一條他用比特幣做過(guò)大量購(gòu)買(mǎi)的鏈,重組替換為他仍擁有商品但從未付款的版本。
我們的模型表明,比特幣價(jià)格的小幅下降可以讓即使是大規(guī)模的雙花攻擊也變得不可行,因?yàn)?MEV 的收益必須高于對(duì)礦工承諾的損害。此外,該礦工還必須考慮,用戶(hù)會(huì)中止中本聰共識(shí),從而完全否定他的獎(jiǎng)勵(lì)。
隨之而來(lái)的是,雙花攻擊者希望最大程度地減少網(wǎng)絡(luò)中可感知的和實(shí)際的中斷,以免觸發(fā)任何上述懲罰措施。他可以通過(guò)將重組保持少于 100 個(gè)區(qū)塊來(lái)開(kāi)始,在這里原鏈的 coinbase 獎(jiǎng)勵(lì)可被用于花費(fèi)。如此深入的重組將不再僅僅影響個(gè)體用戶(hù),而是實(shí)際上摧毀了幣及其后代,可能讓多于預(yù)期的交易無(wú)效。一名外科手術(shù)式的攻擊者會(huì)盡可能地重放每一筆交易(包括 coinbase 輸出在內(nèi))來(lái)重新創(chuàng)建完全相同的歷史記錄,只有雙花交易不同。
考慮到所有這些限制,孤立的雙花攻擊在近期極不可能成為理性礦工的選擇。
3.2 破壞攻擊
與孤立的雙花攻擊不同,破壞攻擊者無(wú)意在比特幣系統(tǒng)內(nèi)賺錢(qián)。結(jié)果,他根本不考慮用戶(hù)的懲罰。相反,一名破壞攻擊者可能試圖讓價(jià)格崩潰并讓用戶(hù)對(duì)比特幣失去信心。對(duì)于做空比特幣價(jià)格的人,或者為了捍衛(wèi)受到比特幣存在威脅的現(xiàn)有收入流的人來(lái)說(shuō),破壞攻擊可能是理性的。這樣的收入流可能是法幣系統(tǒng)的鑄幣稅,也可能是國(guó)家收稅的能力,而比特幣允許用戶(hù)對(duì)地方政府隱藏資金。這種方案也恰當(dāng)?shù)乇环Q(chēng)為“金手指進(jìn)攻”,以詹姆斯·邦德里的惡棍命名,他計(jì)劃玷污諾克斯堡的所有貨幣來(lái)讓自己的黃金更有價(jià)值14。
為了最大程度地削弱用戶(hù)對(duì)系統(tǒng)的信任,攻擊者應(yīng)專(zhuān)注于逐一廢除我們?yōu)楸忍貛沤⒌脑O(shè)計(jì)目標(biāo):安全性、活性和無(wú)需許可的訪(fǎng)問(wèn)。
實(shí)現(xiàn)這一目標(biāo)的一種方法是建立挖礦壟斷,并完全停止處理任何交易。如果愿意,任何多數(shù)礦工都可以通過(guò)簡(jiǎn)單地忽略少數(shù)礦工所挖的區(qū)塊來(lái)建立壟斷。因?yàn)樗隙ㄗ罱K會(huì)領(lǐng)先,所以少數(shù)礦工暫時(shí)添加的區(qū)塊將在以后重組。相比不處理任何交易,壟斷礦工也可以通過(guò)設(shè)置一個(gè)最低手續(xù)費(fèi)來(lái)勒索用戶(hù),或建立自己的規(guī)則來(lái)決定處理哪些交易。例如,他可以忽略所有未通過(guò)他私人 KYC/AML 檢查的交易。用戶(hù)可以通過(guò)三種基本方法來(lái)防御這種審查攻擊。
1)我們應(yīng)該確立,來(lái)自審查的損害等于被審查用戶(hù)在系統(tǒng)里的退出成本。比特幣存在的替代品越多,退出成本就越低,而首先審查比特幣用戶(hù)的動(dòng)機(jī)就越低。類(lèi)似的邏輯適用于出入口匝道,就像去中心化交易所一樣。這里有一個(gè)有趣的難題:盡管比特幣上強(qiáng)大的 KYC/AML 層使盜竊的吸引力降低(來(lái)自 Bitfinex 黑客的幣被列入了黑名單),但它也使系統(tǒng)更容易受到審查。另一方面,一個(gè)沒(méi)有任何身份概念的系統(tǒng)會(huì)增加盜竊的動(dòng)機(jī),但減少了審查的動(dòng)機(jī)。
2)當(dāng)交易被審查時(shí),攻擊者處理的交易減少,被審查用戶(hù)開(kāi)始增加未處理付款的交易費(fèi)。結(jié)果,在 MR(誠(chéng)實(shí)挖掘)和 MR(攻擊挖掘)之間開(kāi)始形成傳播。被審查用戶(hù)此時(shí)可以有效地自由滾動(dòng),并且可以隨著時(shí)間的流逝提高交易費(fèi),直到他們消耗掉幾乎所有余額為止。這些交易費(fèi)的差額可以轉(zhuǎn)化為對(duì)誠(chéng)實(shí)多數(shù)挑戰(zhàn)現(xiàn)有挖礦壟斷并可能將其推翻的豐厚獎(jiǎng)勵(lì)。
3)最后,用戶(hù)可以協(xié)調(diào)以暫停中本聰共識(shí)并進(jìn)行規(guī)則修改來(lái)懲罰壟斷礦工。一種作為最后手段的改法就是將工作量證明算法從 SHA256 改為一種尚未被攻擊者支配的算法。壟斷礦工也可以重復(fù)重組該鏈,而不是用無(wú)用的區(qū)塊來(lái)擴(kuò)展工作量最大的鏈,但是其效果和處理方法在很大程度上是相同的。
4. 不斷降低的區(qū)塊補(bǔ)貼
如果把我們的模型外推到未來(lái),我們必須考慮目前的參數(shù)哪些會(huì)發(fā)生改變,以及為什么。我們已經(jīng)確立,比特幣的絕大部分安全性來(lái)自令人驚訝的少數(shù)幾個(gè)因素:礦工承諾、MEV 和用戶(hù)價(jià)格敏感性。暫停中本聰共識(shí)的能力可以解決問(wèn)題,但這不能成為安全性本身的基礎(chǔ)。如果用戶(hù)知道一種比中本聰共識(shí)更便宜的協(xié)調(diào)機(jī)制,我們就不需要挖礦了。
如今,比特幣的波動(dòng)性要求礦工具有更高的風(fēng)險(xiǎn)承受能力。如果價(jià)格升值達(dá)到頂峰,并保持在穩(wěn)定的峰值,那么挖礦就將開(kāi)始類(lèi)似于更傳統(tǒng)的商品市場(chǎng),從而為生產(chǎn)者提供低收益和低波動(dòng)性。較低的波動(dòng)性自然會(huì)允許礦工使用較高的杠桿,讓即使是很小的價(jià)格變動(dòng)也更容易感覺(jué)到。
如果比特幣更嚴(yán)重地威脅本國(guó)貨幣的主權(quán)和地方政府收稅的能力,那么通過(guò)實(shí)施審查制度或其他形式的破壞來(lái)攻擊網(wǎng)絡(luò)的動(dòng)機(jī)會(huì)增加。深度衍生品市場(chǎng)的存在還可以讓人們更容易對(duì)比特幣的價(jià)格下重注,這進(jìn)一步增加了可能的 MEV。
但是,最大的變化被編程進(jìn)了比特幣協(xié)議本身。全部礦工收入是礦工承諾強(qiáng)度的決定性因素,它來(lái)自區(qū)塊獎(jiǎng)勵(lì),包括
1)以新鑄造的幣的形式存在的區(qū)塊補(bǔ)貼,和
2)交易費(fèi)。
區(qū)塊補(bǔ)貼目前占全部區(qū)塊獎(jiǎng)勵(lì)的 99%,目前正在根據(jù)比特幣的固定發(fā)行時(shí)間表逐步降低。2020 年,比特幣的年發(fā)行量將降至 1.8%。到 2028 年,該數(shù)字減半至0.5%。
其結(jié)果是,區(qū)塊補(bǔ)貼,礦工收入的最重要來(lái)源,需要被一個(gè)全新的收入來(lái)源代替。到目前為止,比特幣的安全性來(lái)自于比特幣自身的價(jià)值。展望未來(lái),它的安全性將來(lái)自于一個(gè)尚不存在的二級(jí)市場(chǎng)。
該過(guò)渡能否成功,在很大程度上決定了比特幣的未來(lái)。現(xiàn)在,收交易費(fèi)的目的是仲裁固定區(qū)塊空間的供應(yīng)優(yōu)先級(jí)。為了創(chuàng)造出足夠的礦工收入,對(duì)區(qū)塊空間的需求必須在一個(gè)有意義的價(jià)格水平上超過(guò)對(duì)區(qū)塊空間的供應(yīng),以此來(lái)創(chuàng)造出一個(gè)待處理交易的恒定積壓。
雖然未來(lái)對(duì)區(qū)塊空間的需求可能會(huì)很高且波動(dòng)性很小,但在某些情況下,也有可能市場(chǎng)發(fā)現(xiàn)比特幣很有用,但交易費(fèi)仍然很低。如果大多數(shù)人只是通過(guò)持有比特幣來(lái)使用比特幣,并且大多數(shù)交易都發(fā)生在中心化交易所或各種鏈下解決方案里,那就會(huì)是這種情況(沒(méi)有理由說(shuō)大型交易所之間應(yīng)該每天或每周結(jié)算一次以上。)
4.1 確認(rèn)對(duì)安全性的影響
民間智慧表明,區(qū)塊補(bǔ)貼的下降不會(huì)帶來(lái)重大風(fēng)險(xiǎn),因?yàn)橛脩?hù)可以通過(guò)等待更多確認(rèn)來(lái)彌補(bǔ)。我們的模型表明情況并非如此,因?yàn)榕c已有的承諾相比,礦工增加的承諾成本黯然失色。
我們將通過(guò)一個(gè)案例來(lái)對(duì)此進(jìn)行演示。回想一下,礦工已經(jīng)承諾了在兩年挖礦成本(即 105408 塊)的 50%。他們的總承諾為 658800 BTC(或每區(qū)塊 6.25 BTC)。在每個(gè)區(qū)塊中,礦工把 6.25 BTC的運(yùn)營(yíng)成本和 6.25 BTC的承諾成本合并為每個(gè)區(qū)塊 12.5 的總 MC,這等于區(qū)塊獎(jiǎng)勵(lì)。
如果用戶(hù)認(rèn)為在 6 個(gè)區(qū)塊之后的付款是不可更改的,則雙花攻擊者的最小攻擊持續(xù)時(shí)間將變?yōu)?個(gè)區(qū)塊。要挖出這7個(gè)區(qū)塊,攻擊者只需花費(fèi)額外的 7 * 6.25 BTC = 43.75 BTC。
在一次 7 個(gè)區(qū)塊的攻擊中,他現(xiàn)在從承諾中冒 658800 BTC 的風(fēng)險(xiǎn),再?gòu)倪\(yùn)營(yíng)成本中冒 43.75 BTC 的風(fēng)險(xiǎn)。在一次 70 個(gè)區(qū)塊(約12小時(shí))的攻擊中,他冒著658800 BTC 加 437.5 BTC 的風(fēng)險(xiǎn)。在 700 個(gè)區(qū)塊(約5天)的情況下,他的風(fēng)險(xiǎn)為 658800 BTC 加 4375 BTC。因此,我們可以看到,如果用戶(hù)愿意等待整整一周,那么礦工的總承諾量將增加不到 1%。最重要的是,等待更多確認(rèn)不會(huì)增加任何實(shí)質(zhì)性的安全性,并且在能增加的那個(gè)點(diǎn)上(數(shù)月以上)也不會(huì)存在交易的需求。
如果將來(lái)區(qū)塊獎(jiǎng)勵(lì)變少,則采用相同的邏輯。相對(duì)于 MR,確認(rèn)有助于有效的礦工承諾,每增加一次確認(rèn),準(zhǔn)確地增加當(dāng)前區(qū)塊獎(jiǎng)勵(lì)的 50%。隨著 MR 的減小,每個(gè)確認(rèn)的值將同步減小。
但是,等待更多確認(rèn)的確有另一個(gè)好處。通過(guò)增加礦工的最小攻擊持續(xù)時(shí)間,用戶(hù)可以獲得某種形式的群體免疫力。除非存在大量多余的算力,否則將大部分算力引導(dǎo)到鏈的歷史部分而不是鏈的末端,將會(huì)大大減慢區(qū)塊發(fā)現(xiàn)。雖然這聽(tīng)起來(lái)不像是一種好處,但對(duì)用戶(hù)的干擾越大,則通過(guò)賣(mài)幣或中止中本聰共識(shí)進(jìn)行反擊的用戶(hù)協(xié)調(diào)成本就越低。
因此,等待更多的確認(rèn)僅在邊際上增加了安全性,并且不可能取代系統(tǒng)忍受大量 MEV 所需的礦工承諾。
5. 長(zhǎng)期安全考慮
如果沒(méi)有出現(xiàn)一個(gè)健壯的區(qū)塊空間市場(chǎng),比特幣不會(huì)在一夜之間變得不可用。相反,區(qū)塊補(bǔ)貼會(huì)在很長(zhǎng)一段時(shí)間內(nèi)穩(wěn)定下降。由于 MR 較低而引起的任何問(wèn)題都將首先以較弱的形式出現(xiàn),然后隨著時(shí)間的推移變得更加嚴(yán)重,從而為用戶(hù)提供足夠的時(shí)間來(lái)對(duì)可能的解決方案做出反應(yīng)和協(xié)調(diào)。
我們認(rèn)為,必須注意到,即使這些問(wèn)題成為現(xiàn)實(shí),我們對(duì)比特幣的前景仍然樂(lè)觀。比特幣擁有最大的用戶(hù)基礎(chǔ),最受尊敬的供應(yīng)分配,并被越來(lái)越多地集成到金融基礎(chǔ)設(shè)施之中。在其短暫的生命周期中,比特幣(Bitcoin)已經(jīng)從一種技術(shù)演變?yōu)榱艘环N社會(huì)政治運(yùn)動(dòng),它有著意識(shí)形態(tài)上的追隨者,并以比特幣(bitcoin)為貨幣。除了完全缺乏需求之外,我們很難想象比特幣還能徹底死于其他任何事情。
盡管對(duì)于比特幣對(duì)不想要的改變的不變性有過(guò)許多討論,第 2.4 章的案例表明,只要系統(tǒng)健康處于危險(xiǎn),比特幣是可以發(fā)生改變的。未來(lái)提高安全性的建議通常分為三類(lèi):可以尋求增加 MR,降低 MEV 或提高懲罰礦工的能力。
5.1 改善區(qū)塊空間
首先,比特幣開(kāi)發(fā)者們可以嘗試增加對(duì)比特幣區(qū)塊空間的需求。這可以通過(guò)讓比特幣區(qū)塊空間更具吸引力和可用性的協(xié)議級(jí)改變,以及通過(guò)開(kāi)發(fā)消耗比特幣區(qū)塊空間來(lái)作為輸入的盈利業(yè)務(wù)流程來(lái)實(shí)現(xiàn)。
對(duì)比特幣區(qū)塊空間的需求包括交易比特幣的需求和在鏈內(nèi)存儲(chǔ)任意數(shù)據(jù)的需求。增強(qiáng)比特幣交易能力和靈活性的創(chuàng)新包括增加時(shí)間鎖和建設(shè)比特幣閃電網(wǎng)絡(luò)。任意數(shù)據(jù)存儲(chǔ)可用于實(shí)現(xiàn)非共識(shí)性資產(chǎn)帳本,如 USDT 或染色幣,或者錨定一個(gè)證明到另一個(gè)系統(tǒng)上,如 Factom 或 Veriblock 。
比特幣系統(tǒng)針對(duì)轉(zhuǎn)移比特幣進(jìn)行了高度優(yōu)化,但在不鼓勵(lì)存儲(chǔ)任意數(shù)據(jù)的程度上存在限制。因?yàn)榇巳我鈹?shù)據(jù)可以代表比特幣網(wǎng)絡(luò)之外的無(wú)限價(jià)值,所以以這種方式占用區(qū)塊空間的業(yè)務(wù)流程可能具有不可改變的需求和極高的支付意愿,這會(huì)(在必要時(shí),無(wú)效率地)改變比特幣交易結(jié)構(gòu)來(lái)實(shí)現(xiàn)其目標(biāo)。盡管這種對(duì)任意數(shù)據(jù)的需求可能會(huì)產(chǎn)生對(duì)比特幣區(qū)塊空間的穩(wěn)定需求,即使在轉(zhuǎn)移比特幣的需求經(jīng)歷較大瞬變的情況下,也會(huì)不斷提高費(fèi)用并增加 MR,但它也注入了潛在的無(wú)限 MEV,并增加了攻擊鏈的動(dòng)力。為此,比特幣用戶(hù)將不得不考慮為此目的使用區(qū)塊空間所帶來(lái)的相對(duì)價(jià)值和風(fēng)險(xiǎn),并估算鑒于對(duì)任意數(shù)據(jù)存儲(chǔ)的可歸屬性和技術(shù)不利因素的限制,比特幣為調(diào)節(jié)區(qū)塊空間需求的這一方面而產(chǎn)生的動(dòng)機(jī)。
5.2 永久發(fā)行
第二種機(jī)制可能是分叉出永久發(fā)行的新幣。雖然我們知道該話(huà)題將在比特幣社區(qū)中引起高度爭(zhēng)議,但我們還是想談?wù)撘幌滤韵恍┝餍械恼`解。如果我們接受要讓比特幣運(yùn)轉(zhuǎn)必需有一定水平的 MR,那么用戶(hù)就必須以某種方式支付 MR。如果必要的 MR 為每年 1%,那么所有比特幣用戶(hù)一起就已經(jīng)會(huì)每年失去其購(gòu)買(mǎi)力的 1% 來(lái)為比特幣系統(tǒng)供電。歸根結(jié)底,盡管比特幣可以是一種名義上的固定供應(yīng)資產(chǎn),但它不能是一種固定購(gòu)買(mǎi)力的資產(chǎn)。
此外,將永久發(fā)行視為通貨膨脹是錯(cuò)誤的。如果比特幣無(wú)論如何都會(huì)要求用戶(hù)損失其購(gòu)買(mǎi)力的 1%,那么通過(guò)永久發(fā)行支付這些費(fèi)用,就不會(huì)比通過(guò)交易費(fèi)來(lái)支付損失更多的購(gòu)買(mǎi)力。實(shí)際上,相比一個(gè) 0% 永久發(fā)行且安全性較低的比特幣系統(tǒng),一個(gè)每年 1% 永久發(fā)行且安全性較高的比特幣系統(tǒng)可能會(huì)購(gòu)買(mǎi)力更高。
相反,我們應(yīng)該問(wèn),誰(shuí)應(yīng)該為 MR 買(mǎi)單,以及用什么機(jī)制?在一個(gè)理想的系統(tǒng)中,用戶(hù)將根據(jù)從中獲得的價(jià)值來(lái)支付運(yùn)營(yíng)成本。這將最大程度地增加收入,從而最大化安全性,因?yàn)樗杏脩?hù)都會(huì)根據(jù)其效用付費(fèi)。它進(jìn)一步確保了系統(tǒng)的公平性和壽命。一個(gè)被某些成員視為不公平的系統(tǒng)不太可能維持很長(zhǎng)時(shí)間——對(duì)“笨蛋們”來(lái)說(shuō),有巨大的激勵(lì)去分叉一個(gè)自己的系統(tǒng)并把搭便車(chē)的人甩在身后。
實(shí)際上,系統(tǒng)的設(shè)計(jì)人員可能事先不知道誰(shuí)是最高價(jià)值的用戶(hù)。一旦建立,所有用戶(hù)可能會(huì)同意,將原始參數(shù)更改為更優(yōu)化的參數(shù),會(huì)比簡(jiǎn)單地使用它們花費(fèi)更多。
從概念上講,比特幣系統(tǒng)中有兩種主要用戶(hù):持幣者和交易者。它們之間沒(méi)有明確的界限,因?yàn)槿魏谓灰渍叨急仨氈辽僭诙虝r(shí)間內(nèi)持有比特幣,并且任何持幣者都必須最終計(jì)劃交易他的比特幣(盡管不一定在鏈上)。
一個(gè)具有對(duì)抗性的系統(tǒng)應(yīng)該能夠抵抗以軟參數(shù)形式存在的外部沖擊,例如持有比特幣的需求或使用區(qū)塊空間的需求。在永久發(fā)行的案例中,MR 將不會(huì)受區(qū)塊空間市場(chǎng)中事件的影響,而在當(dāng)前的案例中,對(duì)區(qū)塊空間需求的沖擊將使整個(gè)系統(tǒng)的安全性直線(xiàn)下降。
直覺(jué)在這里告訴我們,我們想要的貨幣化的商品的所有權(quán)至關(guān)重要。如果我們想從交易者那里貨幣化區(qū)塊空間,則必須確保大部分區(qū)塊空間單位一直由某人擁有。對(duì)持幣者收費(fèi)完全消除了這種摩擦,因?yàn)槊總€(gè)比特幣都總是有一位所有者。
最后,應(yīng)該注意的是,與交易者相比,持幣者的貢獻(xiàn)不那么明顯,但仍然是真實(shí)的。當(dāng)系統(tǒng)受到攻擊時(shí),持幣者的切身利益會(huì)更多,并且更有可能支付社會(huì)協(xié)調(diào)的成本。在評(píng)估每個(gè)用例對(duì)安全性有多大貢獻(xiàn)時(shí),在所有情況下對(duì)比特幣系統(tǒng)有一種整體觀非常重要。
雖然永久發(fā)行幣可以減少礦工收入的不確定性,一些人認(rèn)為零發(fā)行政策是加密貨幣永恒的謝林點(diǎn)(Schelling Point)。15如果用戶(hù)們真的討厭永久發(fā)行帶來(lái)的那種隱性稅收,那么對(duì)安全性較低的零發(fā)行架構(gòu)的賭注可以通過(guò)產(chǎn)生比一種低發(fā)行資產(chǎn)更高的永久需求而獲得回報(bào)。
5.3 眾籌
在區(qū)塊空間市場(chǎng)的范式下,比特幣持有者捐助 MR 的一種爭(zhēng)議較小的方法是使用眾籌。對(duì)維護(hù)比特幣安全有濃厚興趣的大戶(hù)和企業(yè)可以付款給一個(gè)基金,創(chuàng)建出“任何人都可以花的交易”(也許以比特幣-DAO的形式)。礦工可以在一定區(qū)塊高度索要這些交易來(lái)作為私人資助的區(qū)塊補(bǔ)貼。該解決方案的好處是無(wú)需更改協(xié)議。不利的一面是,您最終陷入了經(jīng)典的搭便車(chē)情景:許多人希望比特幣變得安全,但沒(méi)人愿意成為為其他人支付全部費(fèi)用的傻瓜。
搭便車(chē)問(wèn)題的一種解決方案可以是主導(dǎo)擔(dān)保合同(Dominant assurance contract,DAC),這是眾籌合同的一種變體,它試圖讓貢獻(xiàn)成為主導(dǎo)策略,而非等待其他人做出貢獻(xiàn)16。在DAC中,一方必須擔(dān)任企業(yè)家的角色,他希望某種公共物品(在本例中為MR)獲得資助。他定義了要籌集的目標(biāo)金額,并通過(guò)在籌款人未達(dá)到目標(biāo)的情況下,向他人支付少量資金來(lái)鼓勵(lì)其他人做出貢獻(xiàn)。據(jù)說(shuō)這個(gè)小細(xì)節(jié)讓捐款變得更具吸引力,因?yàn)榫杩钊爽F(xiàn)在在這兩種情況下都贏了——他們要么獲得該商品,要么就拿回本金和利潤(rùn)。
5.4 調(diào)整區(qū)塊空間的供應(yīng)
最后,一種提高 MR 的解決方案是改變區(qū)塊空間的供應(yīng)。固定供應(yīng)系統(tǒng)的最大缺點(diǎn)是,哪怕需求只是在邊際上低于供應(yīng),交易費(fèi)就會(huì)立即變?yōu)榱恪R粋€(gè)區(qū)塊中的所有用戶(hù)可能愿意集體支付 5 BTC 的交易費(fèi),但是如果供應(yīng)過(guò)剩,他們最終將不支付任何交易費(fèi),因?yàn)闆](méi)有擁堵。
即使總需求超過(guò)可用供應(yīng)的時(shí)候,也不能保證使收入最大化。例如,假設(shè)有 1 MB 的需求愿意支付 15 BTC,而另外 1 MB 的需求愿意支付 5 BTC。如果可用供應(yīng)介于 1 MB 到 2 MB 之間,則總交易費(fèi)會(huì)略高于 10 BTC,因?yàn)橄胍兜米钌俚慕M已經(jīng)為其他所有人設(shè)定了價(jià)格(第一組支付 5.01,第二組支付 5.00) 。如果供應(yīng)量降至1 MB以下,則第一組將不得不支付15 BTC,從而導(dǎo)致 MR 大大提高,即使第二組完全不再使用。
可以通過(guò)將區(qū)塊大小降低到略低于需求以造成永久性擁堵來(lái)捕獲該值。這樣的變化可以由開(kāi)發(fā)者手動(dòng)進(jìn)行,或者由比特幣協(xié)議自動(dòng)進(jìn)行。一種方案是自適應(yīng)的區(qū)塊大小:系統(tǒng)會(huì)觀察由交易費(fèi)產(chǎn)生的 MR,并將其與使系統(tǒng)安全所需的目標(biāo) MR 進(jìn)行比較。如果 MR 《 目標(biāo) MR ,則會(huì)降低最大區(qū)塊大小,從而造成人為擁堵。如果 MR 》 目標(biāo) MR,即用戶(hù)為安全進(jìn)行了過(guò)度支付,可以消除一些人為擁堵,從而增加區(qū)塊大小,直至達(dá)到社區(qū)選擇的硬頂限制(當(dāng)前為 2.3 MB)。
要求礦工控制區(qū)塊大小的其他提議并不健壯,因?yàn)榇嬖诩?lì)讓礦工愚弄系統(tǒng),并盡可能地使區(qū)塊更大。原因是隨著區(qū)塊的傳播時(shí)間增加,相對(duì)于規(guī)模較小或連接較差的礦工,規(guī)模最大、連接最好的礦工取得了一個(gè)競(jìng)爭(zhēng)優(yōu)勢(shì)。我們?cè)谶@里不必?fù)?dān)心這一點(diǎn),因?yàn)閰^(qū)塊大小的低上限確保了傳播時(shí)間總是很短。
5.5 降低礦工可提取價(jià)值
除了增加 MR,比特幣用戶(hù)還可以考慮各種辦法來(lái)降低 MEV。一個(gè)好的出發(fā)點(diǎn)是考慮比特幣區(qū)塊鏈上 MEV 的潛在來(lái)源。
如第2章和第3章所討論的,隨著從一個(gè)系統(tǒng)中退出的成本降低,審查系統(tǒng)的動(dòng)機(jī)也會(huì)降低。當(dāng)一個(gè)礦工無(wú)法區(qū)分不同的交易時(shí),他就無(wú)法審查任何個(gè)人用戶(hù)。因此,一個(gè)互相競(jìng)爭(zhēng)的各種加密貨幣的繁榮空間,有著私人交易和它們之間無(wú)需許可的交換,將使它們中的任何一個(gè)單獨(dú)地變得在抗審查上更強(qiáng)大。
如果用戶(hù)通過(guò)采用諸如 USAF 之類(lèi)的策略來(lái)降低忽視中本聰共識(shí)的障礙,則他們可能會(huì)降低某些攻擊帶來(lái)的 MEV,從而冒著降低系統(tǒng)的社會(huì)可擴(kuò)展性的風(fēng)險(xiǎn)。隨著比特幣系統(tǒng)中越來(lái)越多的人持不同甚至相反的政治觀點(diǎn),在沒(méi)有工作量證明的情況下達(dá)成社會(huì)共識(shí)似乎只會(huì)變得更加困難。
也許在此期間可以找到技術(shù)解決方案,以進(jìn)一步限制礦工的可用選項(xiàng),從而降低攻擊的吸引力。一種這樣的建議,是讓比特幣交易提交到某個(gè)特定的區(qū)塊,在該區(qū)塊之外它們變得無(wú)效。這將使礦工無(wú)法在重組中重播交易,這有兩個(gè)明顯的好處。
1)由于礦工無(wú)法訪(fǎng)問(wèn)以前的交易及其交易費(fèi),因此使攻擊的成本更高。
2)由于礦工不再能夠孤立地攻擊單個(gè)用戶(hù),因此可以更容易地圍繞暫停中本聰共識(shí)進(jìn)行協(xié)調(diào)。現(xiàn)在,他必須在一次重組很多交易或根本不重組任何交易之間做出選擇。
此外,我們可以改善對(duì)惡意礦工行為的自動(dòng)檢測(cè)。應(yīng)對(duì)攻擊首先需要所有用戶(hù)了解它們。我們?cè)侥鼙O(jiān)控比特幣系統(tǒng)的狀態(tài),礦工就越難以指望逃脫不遵循協(xié)議,包括自私采礦等非共識(shí)攻擊。
圍繞比特幣信任模型的更多教育,也可以幫助降低被盜的可能性。并非用戶(hù)收到的每筆交易都來(lái)自一名礦工,或賄賂一礦工的某人,并且有被雙重花費(fèi)的風(fēng)險(xiǎn)。在可能的情況下,在比特幣之外使用傳統(tǒng)的法律制度可以極大地增強(qiáng)其在商業(yè)中的生存能力。只要買(mǎi)方與賣(mài)方有法律關(guān)系,賣(mài)名方就可以通過(guò)傳統(tǒng)法律制度將其視為外部承諾,從而獲得額外的信心,即付款不會(huì)被撤消。
5.6 加強(qiáng)礦工懲罰
比特幣用戶(hù)對(duì)礦工惡意行為的低容忍度,是對(duì)其行為的有力檢查。當(dāng)價(jià)格對(duì)攻擊做出更強(qiáng)烈的反應(yīng)時(shí),比特幣可以在承諾的礦工較少的情況下,提供相同水平的 MEV。如果價(jià)格非常穩(wěn)健,則承諾必須更大。
再一次,比特幣價(jià)格對(duì)系統(tǒng)效用的敏感度是系統(tǒng)退出成本的函數(shù)。在離開(kāi)很便宜的時(shí)候,轉(zhuǎn)身離去就容易得多,可能是因?yàn)楸忍貛挪皇沁@里唯一的游戲,而且許多具有類(lèi)似保證的加密貨幣之間也存在競(jìng)爭(zhēng)。實(shí)際上,當(dāng)存在許多更脆弱但允許它們之間進(jìn)行流動(dòng)交換的“微鏈”時(shí),加密貨幣的概念最為強(qiáng)大。原因是較小的區(qū)塊鏈?zhǔn)褂脩?hù)更容易離開(kāi),導(dǎo)致針對(duì)攻擊者的焦土防御。17
6. 遺漏和未來(lái)的研究
可以通過(guò)多種方式擴(kuò)展我們的比特幣安全模型。首先,可以研究一下礦工從系統(tǒng)中“不提交”的能力。到目前為止,我們隱含地考慮——如果礦工對(duì) BTC 的價(jià)格押注很大,我們可以增加其 MEV 來(lái)反映這一點(diǎn)。有了無(wú)限的資本,礦工就可以完全對(duì)沖自己的承諾,同時(shí)保持相同水平的算力——從而具有潛在的 MEV。后續(xù)分析可以關(guān)注對(duì)沖的資本成本,其對(duì)成本和 MEV 的影響,以及復(fù)雜的衍生品市場(chǎng)的存在如何改變所有參與者的動(dòng)機(jī)。
責(zé)任編輯;zl
評(píng)論