V神最新思考:兩種途徑解決PoS共識機(jī)制下的MEV問題
特別感謝Justin Drake以及Flashbots團(tuán)隊(duì)給予的反饋和討論。
威脅共識網(wǎng)絡(luò)持續(xù)去中心化的一個(gè)主要風(fēng)險(xiǎn)是圍繞礦工可提取價(jià)值(MEV)的經(jīng)濟(jì)學(xué),這是從選擇下一個(gè)區(qū)塊內(nèi)容的能力中獲取利潤的復(fù)雜技巧。列舉一個(gè)簡單的MEV示例:針對自上一個(gè)區(qū)塊以來發(fā)生的價(jià)格變動對所有鏈上去中心化交易所進(jìn)行套利。雖然一般的PoS獎勵(lì)是相當(dāng)平等的,因?yàn)閱我或?yàn)證器的回報(bào)率與強(qiáng)大的驗(yàn)證池相同,但在尋找復(fù)雜的MEV提取機(jī)會方面,存在著顯著的規(guī)模經(jīng)濟(jì)性。
簡單說,一個(gè)規(guī)模大10倍的池子就擁有10倍的機(jī)會來提取MEV,并且它可以花費(fèi)更多的精力來進(jìn)行優(yōu)化,以從每個(gè)利潤機(jī)會中提取更多。除了這個(gè)問題之外,MEV 還使得去中心化池復(fù)雜化,因?yàn)樵谌ブ行幕刈又?,仍然需要一個(gè)實(shí)體來負(fù)責(zé)打包并提出區(qū)塊,并且他們可以輕松地秘密提取MEV,而無需和池子本身分割收入。
最出名的解決方案就是提議者(proposer)/區(qū)塊構(gòu)建者(block-builder)分離。與區(qū)塊提議者試圖自己生產(chǎn)收益最大化的區(qū)塊不同,他們依賴于一個(gè)市場,在這個(gè)市場中,我們稱之為區(qū)塊構(gòu)建者的外部參與者生產(chǎn)包含完整區(qū)塊內(nèi)容和提議者費(fèi)用的bundle包,而提議者選擇最高費(fèi)用的bundle包。提議者的選擇被簡化為選取費(fèi)用最高的bundle包,這種算法非常簡單,以至于在一個(gè)去中心化池子中,它甚至可以在 MPC 內(nèi)完成以防止欺詐。
這篇文章提出了一些關(guān)于如何實(shí)現(xiàn)這一點(diǎn)的設(shè)計(jì)。
另請參閱 2018 年的想法,這些想法與此處的想法密切相關(guān):優(yōu)化提議承諾方案(Optimised proposal commitment scheme)
提議者/構(gòu)建者分離區(qū)塊提議設(shè)計(jì)的所需屬性
我們將重點(diǎn)關(guān)注五個(gè)主要的期望屬性:
- 不受信任的提議者友好性:提議者欺騙區(qū)塊構(gòu)建者的風(fēng)險(xiǎn)很小或沒有風(fēng)險(xiǎn),因此區(qū)塊構(gòu)建者沒有動機(jī)選擇具有一定鏈下聲譽(yù)或與構(gòu)建者有個(gè)人關(guān)系的提議者(因?yàn)檫@將有利于大型池子)。
- 不受信任的構(gòu)建者友好性:區(qū)塊構(gòu)建者欺騙提議者的風(fēng)險(xiǎn)很小或沒有風(fēng)險(xiǎn),因此提議者沒有動機(jī)選擇具有一定鏈下聲譽(yù)或與提議者有個(gè)人關(guān)系的構(gòu)建者(因?yàn)檫@會讓新的構(gòu)建者更難進(jìn)入市場)。如果需要存款來實(shí)現(xiàn)這一點(diǎn),則應(yīng)最大限度地降低門檻。
- 弱提議者友好性:該機(jī)制不應(yīng)該要求提議者具有 (i) 高帶寬或其他計(jì)算資源或 (ii) 高技術(shù)復(fù)雜性。
- Bundle包不可竊取:提議者應(yīng)不可接受區(qū)塊構(gòu)建者提出的Bundle包并從中提取交易來制作自己的Bundle包,從而阻止區(qū)塊構(gòu)建者獲利(并可能進(jìn)一步損害他們)。
- 共識層的簡單性和安全性:從共識層的角度來看,該機(jī)制應(yīng)該繼續(xù)是安全的,并且最好與現(xiàn)有的區(qū)塊提議機(jī)制進(jìn)行相同的分析。
想法1
- 區(qū)塊構(gòu)建者生成bundle包并發(fā)布它們創(chuàng)建的bundle包的頭(headers),一個(gè)bundle包頭包含對包主體(bundle body)的commitment承諾(預(yù)期的區(qū)塊內(nèi)容)、對提議者的付款以及構(gòu)建者的簽名。
- 提議者選擇提供最高付款的bundle包頭(僅考慮構(gòu)建者有足夠余額來實(shí)際支付的bundle包)。他們簽署并發(fā)布包含該包頭(bundle header)的提議。
- 看到簽名的提議后,提供包含包頭(bundle header)的區(qū)塊構(gòu)建者將發(fā)布完整的bundle包。
在這一點(diǎn)上,分叉選擇規(guī)則有能力做出三個(gè)判斷中的一個(gè)(而不是通常的兩個(gè)):
- 區(qū)塊提議不存在
- 區(qū)塊提議存在,但包主體(bundle body)不存在
- 區(qū)塊提議存在,并且包主體(bundle body)存在
請注意,在第二種情況下,proposal仍然成為了鏈的一部分,并且至關(guān)重要的是,區(qū)塊構(gòu)建者向提出者的付款仍在處理(但區(qū)塊構(gòu)建者自己不會獲得任何費(fèi)用或自己獲取MEV)。
分析
五個(gè)屬性中的三個(gè)很容易滿足:
- 提議者無條件地接受承諾的付款,因此bundle包不能欺騙提議者;
- 三個(gè)步驟都是非常自動化和低帶寬的,因此這滿足弱提議者友好性;
- 提議者無法看到他們正在簽署的bundle包的內(nèi)容,因此這滿足bundle包的不可竊取性;
而共識層屬性,以及不受信任的提議者友好性要更加棘手。這種設(shè)計(jì)確實(shí)改變了分叉選擇的工作方式,將其從2個(gè)選項(xiàng)增加到3個(gè)選項(xiàng),這也意味著提議者不再是游戲中的最后一個(gè)參與者。從理論上講,人們可以推斷,如果分叉選擇能夠做出決定,那么這應(yīng)該是好的,但這仍然是一個(gè)潛在未知的重大變化。
提議者看不到bundle包內(nèi)容,也不能通過bundle包竊取來欺騙區(qū)塊構(gòu)建者,但是他們可以對區(qū)塊構(gòu)建者使用更微妙的攻擊。他們可以在一個(gè)slot時(shí)間段的末尾發(fā)布他們的提議,確保證明人(可能)按時(shí)看到proposal提議,但不能給區(qū)塊構(gòu)建者足夠的時(shí)間發(fā)布body,因此證明人很有可能沒有按時(shí)看到body。這給區(qū)塊構(gòu)建者帶來了風(fēng)險(xiǎn),并激勵(lì)他們青睞值得信賴的提議者。此外,它還創(chuàng)造了一個(gè)機(jī)會,通過這個(gè)機(jī)會,惡意的大多數(shù)人可以對自己不喜歡的區(qū)塊構(gòu)建者進(jìn)行重罰。
對于這一問題,我認(rèn)為有兩種緩解方法:
- 證明人在接受提議的最長時(shí)間和接受一個(gè)body的最長時(shí)間之間有2秒的延遲。如果你信任證明人,這基本上可以解決問題,盡管區(qū)塊構(gòu)建者有損失資金風(fēng)險(xiǎn)的基本問題仍然存在。此外,尚不清楚證明者以這種方式投票是否符合激勵(lì)措施(盡管可通過要求他們證明提案的2 秒長VDF 解決方案來迫使他們等待)。
- 如果一個(gè)body沒有被包含在內(nèi),提議者只會得到一半的付款(而區(qū)塊構(gòu)建者只支付一半)。這使得提議者惡意破壞的代價(jià)很高,但它仍確保了區(qū)塊構(gòu)建者惡意破壞的代價(jià)仍然很高(在這兩種情況下,代價(jià)都足以讓你相信甚至匿名參與者也不想這么做)。例如,如果一個(gè)bundle包的提議者費(fèi)用為1,區(qū)塊構(gòu)建者利潤為1.05:
(1)誠實(shí)的行為將導(dǎo)致(構(gòu)建者,提議者)回報(bào)為(0.05, 1);
(2)提議者或證明人發(fā)布太晚,導(dǎo)致一個(gè)只有header頭的區(qū)塊被接受,則回報(bào)為 (-0.5, 0.5) ;
想法2
- 區(qū)塊構(gòu)建者制作bundle包并發(fā)布他們創(chuàng)建的bundle包頭。一個(gè)bundle包頭包含對內(nèi)容的承諾、對提議者的付款以及來自構(gòu)建者的簽名。
- 提議者選擇并簽署一份聲明,該聲明由他們所看到的bundle包頭列表組成。
- 看到該聲明后,選定的區(qū)塊構(gòu)建者會發(fā)布其相應(yīng)的包主體(bundle body)。
- 提議者從他們預(yù)先提交的列表中選擇一個(gè)bundle包頭,并用它發(fā)布一個(gè)提議。
有一個(gè)新的罰沒條件,它可以驅(qū)逐和懲罰任何發(fā)布不屬于(相同slot時(shí)間段內(nèi))列表提議的提議者。
還要注意的是,提議者在步驟(2)中提交的bundle包頭列表也可以是包頭的加密哈希列表,其中每個(gè)哈希都加密到該bundle包的構(gòu)建者的公鑰,以便只有構(gòu)建者知道它們是否被接受。這降低了DoS攻擊風(fēng)險(xiǎn)。
分析
同樣,五個(gè)屬性中有三個(gè)很容易滿足:
- 提議者不能竊取bundle包,因?yàn)樗麄冎挥性谝褜⒆约合拗圃谟邢薜默F(xiàn)有bundle包頭集時(shí)才能看到任何bundle包主體。
- 如果不包括完整的body,就不可能發(fā)生構(gòu)建者對提議者的付款,因此提議者也不能在經(jīng)濟(jì)上欺騙構(gòu)建者。
- 共識屬性和以前一樣,因?yàn)橄到y(tǒng)仍然是提議者為最后一個(gè)行動者的游戲,并且共識規(guī)則決定的內(nèi)容沒有變化。
在這種情況下要確保的兩個(gè)較難的屬性是,弱提議者友好性和不受信任的區(qū)塊構(gòu)建者友好性。令人擔(dān)憂的是,惡意的區(qū)塊構(gòu)建者可以通過提出大量的提議來攻擊提議者,這些提議都提供了非常高的費(fèi)用,但從不公布其中任何一個(gè)提議的body。如果提議者對他們接受多少bundle包有上限,那么這種攻擊可以將所有合法bundle包定價(jià),并使提議者沒有可合法包含在其區(qū)塊中的bundle包。如果提議者可接受的bundle包數(shù)量沒有上限,那么這可能導(dǎo)致向提議者發(fā)送無限數(shù)量的全bundle包體(相想每個(gè)500 kb),這是一個(gè)巨大的帶寬需求。
該難題的一個(gè)解決方案是以某種非硬性限制的方式對bundle包頭提交進(jìn)行速率限制。
- 提交bundle包的費(fèi)用,通過一些類似 EIP-1559 的機(jī)制進(jìn)行調(diào)整以達(dá)到一定的速率(例如每個(gè)slot 8個(gè)bundle包)。
- 作為區(qū)塊建設(shè)者的存款要求,以及一條規(guī)則,即當(dāng)更低價(jià)格的bundle包被包含了,而你發(fā)布的bundle包沒有被包含,那么你就不能為接下來的N個(gè)slot提交bundle包。
費(fèi)用本身也可能僅在你的bundle包未包含,但較低價(jià)格的undle包包含在內(nèi)的情況下收取,因?yàn)檫@是你可能存在惡意行為的具體情況(或提議者是惡意的或網(wǎng)絡(luò)當(dāng)時(shí)是壞的)。
這是有先例的,比如ENS拍賣收取0.5%的失敗者費(fèi)用,以阻止人們在顯然不會獲勝的情況下進(jìn)行出價(jià)(只是為了增加獲勝者必須支付的金額)。
然而,這些技術(shù)存在對提議者引入信任要求的風(fēng)險(xiǎn),因此需要謹(jǐn)慎完成,并且未能將bundle包包含在內(nèi)的懲罰不能太高。
另一種解決方案是允許免費(fèi)和無限制的bundle包主體發(fā)布,但限制網(wǎng)絡(luò)層的主體傳播。一種簡單的算法是:
- 為可以傳播bundle包主體的最小時(shí)間添加一個(gè)輕微的延遲:最高支付bundle包的延遲為0秒,第二高支付bundle包的延遲為0.2秒,第三高支付 bundle包的延遲為0.38秒,第K高支付的bundle包,就延遲
秒。
添加一個(gè)規(guī)則,如果節(jié)點(diǎn)已廣播了一個(gè)更高收入的bundle包主體,則該節(jié)點(diǎn)不會再廣播一個(gè)bundle包主體。
這兩種技術(shù)可以結(jié)合在一起:你可以收取少量費(fèi)用來將預(yù)期的bundle包數(shù)量減少到(例如)每slot 50個(gè),然后使用這樣的網(wǎng)絡(luò)層機(jī)制進(jìn)一步降低帶寬需求。
結(jié)論
截至目前,我還無法確定上述兩種方法是否是解決問題的唯一途徑,可能還會有其他的方法。在這兩種方法中,想法 (1) 在概念上更簡單,但它給區(qū)塊構(gòu)建者帶來了風(fēng)險(xiǎn)以及更復(fù)雜的分叉選擇規(guī)則要求。
而從分叉選擇和共識角度來看,想法 (2)要更簡單,但它在處理惡意區(qū)塊構(gòu)建者DoS攻擊方面存在挑戰(zhàn),并且該問題的任何解決方案也有可能產(chǎn)生其他的問題(盡管可以想象這可以最小化)。到目前為止,我仍然不確定哪個(gè)方案會更好一些。
注:原文作者是以太坊聯(lián)合創(chuàng)始人Vitalik Buterin。
你可能感興趣的文章
-
Vitalik Buterin是誰?以太坊創(chuàng)始人完整介紹
Vitalik Buterin將于2025年正式重奪加密貨幣億萬富翁的地位,無論您是對Vitalik Buterin 的凈資產(chǎn)感到好奇,還是想了解誰創(chuàng)建了以太坊,或者想深入了解他對區(qū)塊鏈技術(shù)的最…
2025-08-13 -
DeFi 詐 騙代幣的 9 種工具是哪些?如何識別?一文介紹
隨著騙子手段越來越精妙,騙 局也越來越復(fù)雜,在 DeFi(去中心化金融)中識別騙 局代幣變得越來越困難,因此在接觸任何代幣之前務(wù)必進(jìn)行嗅覺測試,不過,無需驚慌!幸運(yùn)的是…
2025-08-13 -
區(qū)塊鏈安全指南:常見的區(qū)塊鏈安全問題和網(wǎng)絡(luò)威脅匯總
2025 年初,區(qū)塊鏈上所有資產(chǎn)的總價(jià)值超過 1.4 萬億美元,這意味著,保護(hù)區(qū)塊鏈免受其特有的網(wǎng)絡(luò)危險(xiǎn)比以往任何時(shí)候都更加重要,Chainalysis 最新研究(2025 年)顯示,2024 …
2025-08-13 -
ERC-7660是什么?有什么作用?
ERC-7660 是一種區(qū)塊鏈協(xié)議,致力于滿足去中心化應(yīng)用(DApp)中對更高級代幣管理工具的需求,它能通過智能合約在預(yù)定時(shí)間段內(nèi)線性釋放代幣,從而增強(qiáng) ERC20 代幣的功能,ERC-…
2025-08-13 -
什么是幽靈鏈?一文介紹如何識別死鏈或休眠的加密項(xiàng)目
幽靈鏈指的是那些雖然技術(shù)上仍在運(yùn)行,但已被其開發(fā)者和社區(qū)遺棄的區(qū)塊鏈,這些有時(shí)被稱為死區(qū)塊鏈網(wǎng)絡(luò)或休眠加密項(xiàng)目,雖然這些鏈可能曾經(jīng)有過動量或炒作,但隨著時(shí)間的推移…
2025-08-13 -
BitcoinSwift是什么?比特幣與 BitcoinSwift有哪些不同?
如今,加密貨幣重塑了全球金融格局,比特幣引領(lǐng)潮流,成為最受認(rèn)可的數(shù)字資產(chǎn),隨著技術(shù)的進(jìn)步和新項(xiàng)目的涌現(xiàn),旨在改進(jìn)比特幣的原始設(shè)計(jì),其中之一便是官方白皮書中介紹的B…
2025-08-12 -
什么是Brevis?Brevis的愿景、優(yōu)勢、應(yīng)用場景及生態(tài)合作伙伴介紹
Brevis是一個(gè)基于零知識證明的全鏈資料平臺,支持dApp安全、無信任地跨鏈訪問和計(jì)算鏈上歷史資料,Brevis已在DeFi、身份、社交等領(lǐng)域?qū)崿F(xiàn)場景,推動資料驅(qū)動型Web3 應(yīng)用的普…
2025-08-12 -
幣安智能鏈?zhǔn)鞘裁?BSC)?與BNB Chain幣安鏈有何關(guān)系?
幣安智能鏈(BSC, Binance Smart Chain)是由幣安開發(fā)的平行鏈,其功用不同于既有的幣安鏈,開發(fā)者能夠在幣安智能鏈上部署智能合約,加上能與以太坊兼容,所以主網(wǎng)上線后,已…
2025-08-12 -
ETH Gas費(fèi)是什么?如何計(jì)算?以太坊Gas追蹤 器和計(jì)算器完整指南
以太坊 Gas 費(fèi)用在 2025 年經(jīng)歷了最顯著的轉(zhuǎn)變,在Dencun 升級之后,費(fèi)用暴跌了 95%, 本指南將全面探討您需要了解的有關(guān) ETH Gas 費(fèi)用的方方面面,從基本概念到高級優(yōu)化策…
2025-08-12 -
如何挖以太坊?你需要了解的以太坊挖礦知識
2022年9月15日,以太坊挖礦變得不可能,加密貨幣世界從此徹底改變,本指南將消除這些困惑,準(zhǔn)確解釋以太坊挖礦究竟發(fā)生了什么、它為何結(jié)束,以及在 2025 年賺取以太坊有哪些…
2025-08-12