以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > 屎幣 > Info

詳解 PBS 機制:對以太坊協議和 MEV 生態有何影響?_PRO

Author:

Time:1900/1/1 0:00:00

先備知識:

對MEV有基本的認識,知道Flashbot的角色及Flashbot對MEV的影響

知道PoS機制的基本認識以及TheMerge帶來的改變

了解mev-boost架構

https://medium.com/taipei-ethereum-meetup/after-the-merge-mev-309e836698cf

Proposer-BuilderSeparation指的是將原本Proposer所負責,進行交易排序的工作,分拆給另一個角色Builder來負責,讓Proposer專心驗證區塊并投票以確保PoS網路的安全。

而mev-boost其實就是一種PBS:Builder透過Relay去競標收入自己區塊內容的權利,Proposer透過Relay選擇對他最有利的區塊內容。複雜的交易排序由Builder來計算,Proposer只需單純地選擇競標價格最高的區塊內容,如此即便是普通人自己跑的Proposer都能享受到MEV收益,而不必擔心自己需要參與激烈的MEV套利競爭。

而這裡指的PBS是由Ethereum協議本身去實行PBS的規則,而不再像是mev-boost一樣是單純Proposer、Relay及Builder之間沒有強制力的私下協議。

PBS對Ethereum協議本身的好處

在PBS中,Proposer因為不再需要處理交易排序而可以變成Stateless的狀態,也就是Proposer節點不需保存著Ethereum完整的狀態。負責交易排序的Builder才需要保存完整的狀態,Proposer只需要在收到Builder區塊內容時驗證MerkleProof就能確認交易會使用到的Ethereum狀態,例如Uniswap某個Pool的馀額及Alice本身的代幣馀額,有了狀態Proposer就能模擬交易執行來確認交易有效性。

Proposer是Stateless,他不保存State,只需要驗證MerkleProof

這讓Proposer本身的負擔又變得更輕,表示成為Proposer門檻又降得更低,就有更多人能成為Proposer,讓Ethereum變得更去中心化。

另外一個優點是Dank-Sharding或Sharding都會讓區塊容量變得更大,表示Proposer負擔會變得更重。在PBS中這些負擔是由Builder來承擔,因此Proposer的中心化程度不會受影響。

Blur以太坊銷毀量突破1.7萬枚ETH,超越0x協議:金色財經報道,據ultrasound.money最新數據顯示,NFT交易聚合市場Blur以太坊銷毀量已突破1.7萬枚ETH,本文撰寫時達到17,111.59 ETH,超越0x協議,后者當前以太坊鏈上ETH銷毀量為17,098.86 ETH。[2023/6/25 21:58:01]

https://medium.com/taipei-ethereum-meetup/rollup-and-the-boost-from-proto-danksharding-85d2fe0566b6

(In-Protocol)PBS

原本在mev-boost中是由被信任的Relay來擔任Proposer及Builder之間的中間人。Relay負責保管區塊內容,確保Proposer會拿到區塊內容但不能輕易偷走Builder的區塊內容。但如果Relay是惡意的,則Proposer和Builder都會受害,且他們只能轉向和其他Relay合作并期望其他Relay不是惡意的。PBS則是以Ethereum協議來取代這個需要被信任的Relay角色,如果Proposer或Builder任一方作惡,都能由Ethereum協議本身來施加懲罰,而不是必須要仰賴對某個角色的信任。

但要移除這個信任的代價不小,首先我們必須要確保

Builder的區塊內容需要被保護,不能直接揭露Proposer如果偷走Builder的區塊內容,他必須要付出代價Builder如果沒有公佈區塊內容,他必須要付出代價綜合第1,2點,Proposer必須要先對Builder的區塊內容進行承諾,然后Builder才揭露實際的區塊內容。如果Proposer違反承諾,改為propose其他區塊內容,則他會被懲罰:他的押金被部分沒收而且他propose的區塊內容無效,也就是收不到該區塊內容的手續費及MEV。這也是目前mev-boost有的懲罰機制。

第3點,如果Builder沒有公佈區塊內容,Builder還是要將競標費用支付給Proposer。這會由Ethereum協議來強制執行,也是mev-boost做不到的。

Proposer或Builder作惡都會被懲罰,反之合作則都獲益

以上是PBS要做到,用來保護Proposer及Builder的規則,而實際上該怎麼完成Proposer承諾及Builder發布區塊內容則有不同方式,后面會介紹。但在那之前,必須要先提到當我們把每個區塊的交易排序權利都交給Builder時,即便Builder會彼此競爭,都還是會比原本交給Proposer排序交易來的中心化許多。這迫使我們必須要加入額外的機制來避免Builder審查交易。

去中心化交易平臺Maverick Protocol推出流動性激勵措施:5月2日,據官方消息,去中心化交易平臺 Maverick Protocol 推出流動性激勵措施。該措施可以讓 Token 發行者可以設定一個特定的價格范圍,在此范圍內發行者可提供更有競爭力的流動性激勵措施,以幫助穩定幣、流動性質押衍生品等固定資產保持價格穩定。[2023/5/3 14:39:23]

Censorship

Censorship最著名的例子是2022年八月美國財政部將TornadoCash列入反洗錢制裁名單,許多mev-boost的Relay紛紛將TornadoCash的交易加入黑名單。這使得TornadoCash使用者的交易平均需要比普通交易等上數倍的時間才能被收入區塊里。

絕大部分Relay還是遵從OFAC,來源mevWatch.info

注1:OFAC甚至將一個只會Echo的合約納入制裁名單。

注2:這篇文章分析OFAC制裁對Builder的影響。

注3:你可以為自己的Proposer節點設置一個最低競標價門檻,避免全都採用mev-boost的區塊,藉此增加整體網路的抗審查能力。有將近一半的mev-boost區塊競標價都沒有到0.05ETH的門檻。

雖然仍有一些Relay是不甩OFAC的,但在PBS中我們沒有Relay、也不能指望為數不多的Builder會愿意違背政府的命令。因此我們需要有機制來迫使Builder收錄指定的交易。

Censorship成本

在mev-boost/PBS之前,攻擊者想要審查一筆最多愿意付XETH的交易,則攻擊者必須要不斷產生并廣播新交易,迫使區塊超過半滿,藉此把BaseFee拉高到BaseFee*150k>X,如此該交易才不會被收入。假設每個區塊只收入最多5mgas的交易,則他每個區塊都要燒掉(X/150k)*10m=X*66.67ETH,等同于每個小時要燒掉約X*20000ETH。

但在mev-boost/PBS中,如果BuilderCharlie想要審查一筆交易,他只需要讓他的競標價高過其他Builder。假設該筆交易的手續費中扣掉BaseFee費用后為P,也就是PriorityFee的費用,也就是一個Proposer收入這筆交易實際會獲得的手續費,則P就是Charlie在每個區塊競標時都要額外付出的成本。而這和EIP-1559市場機制相比其實是一個非常低的成本,表示mev-boost/PBS讓Censorship變得更容易。

不同CensorshipResistance的設計

在PBS中,因為我們不能仰賴Builder是好人,所以我們只能仰賴Proposer,透過Proposer來(1)強迫Builder收入疑似被審查的交易,或是(2)乾脆自己收入疑似被審查的交易。

南非金融服務提供商監察辦公室現已受理比特幣投訴:金色財經報道,金融服務提供商監察辦公室(FAIS)本周宣布已對加密行業擁有管轄權。FAIS監察辦公室表示,該辦公室可以調查針對提供加密貨幣建議的現有注冊金融服務提供商的投訴。這些供應商需要遵守該準則的所有要求,例如材料披露、進行需求分析以及推薦適合個人需求和情況的產品。

此前,金融部門行為監管局(FSCA)在10月份宣布數字資產現在屬于金融產品類別。此外,FAIS僅能處理去年10月19日之后發生的事件的投訴,即 FSCA 宣布比特幣為金融產品的那一天。[2023/1/29 11:34:51]

注意到(2)其實打破了前面對PBSCensorship的假設,不只有Builder可以決定交易排序,Proposer也可以自己插入交易,也因此Censorship自然就沒有那麼容易。

(1)InclusionListorcrList(censorshipresistancelist)

Proposer透過指定一個交易清單crList,要求Builder只要區塊還有空位,就必須收入crList中的交易,直到塞不下為止。

沒有交易被審查的情況,crList會為空。如果一個Proposer發現一筆交易的手續費符合規定可以被收入,且過去一段時間的Builder的區塊都還有足夠空間可以容納該筆交易但卻沒有收入該筆交易的話,就可以懷疑該筆交易正在被審查。輪到他propose時他就可以將該筆交易加入到他的crList中,要來競標的Builder就必須要收入該交易,除非區塊沒有足夠空間。

注:一筆交易是否正在被審查是主觀的,不一定每個Proposer都會看到一樣的交易或觀察到一樣的現象。

當crList裡有交易,Builder就被迫要收入交易,除非塞滿區塊或原本就已經滿了

如此一來,想要審查交易的Builder就必須要將區塊用其他交易塞滿,除了這些填充用的交易會一直消耗Builder的成本,BaseFee也會因為區塊持續塞滿而呈指數型上升,導致Builder成本跟著指數型上升,其長期的審查成本會遠超過單純EIP-1559市場機制的審查成本。

不過想要審查交易的Builder可以透過在網路上發布了一系列交易黑名單,要求Proposer不要將裡面的交易加入crList,否則就會拒絕產出區塊。假設有Proposer是好人,他寧愿收益減少也不會理會Builder的威脅,那就沒問題。但如果假設Proposer皆為理性的,則他們會因為經濟考量而配合Builder。因此如果我們要能在Proposer皆為理性的情況下還能做到抗審查,那必須要對crList機制做一點調整。

FTX旗下日本金融科技公司Liquid:正在開發退款網頁,將返還用戶資金:金色財經報道,FTX旗下日本金融科技公司Liquid宣布將返還用戶資金并且發布了相關計劃。根據聲明顯示,退款流程將特定于持有FTX Japan和Liquid Japan賬戶的用戶,相關委托支持將會通過Liquid Japan網頁版進行提款,用戶可以從平臺上查詢自己的FTX Japan余額,目前相關網頁正在開發中。(The Block)[2022/12/30 22:15:55]

Revised(1):ForwardInclusionList

為了避免Proposer和來競標的Builder有利益關係而臣服,在ForwardInclusionList中是由slotn-1的Proposer來決定slotn區塊的crList。而因為slotn-1的Proposer收的是slotn-1而不是slotn的競標收益,所以就沒有利益衝突的問題。

Proposer不必擔心crList會影響到來競標的Builder。影響的是下一個Slot的Builder

注:提出crList的人不一定要是Proposer,也可以由其他人來負責提crList,只要能夠避免有利益衝突即可。

(2)Proposerbuildpartialblock

除了透過crList指定交易的方式,我們也可以讓Proposer來直接插入交易。依插入的交易安排在Builder區塊的前或后可以分成Proposerprefixes或Proposersuffixes。

Proposerprefixes中Proposer在commit時會先插入他自己安排的交易,然后再告訴Builder剩下多少gas可以用以及這些交易執行完的狀態,讓Builder能夠調整區塊內容。

注:這會需要比較彈性的commit方式,稱作SlotAuction,讓Builder先競標到產塊權利再決定區塊內容。

Proposer先插入他安排的交易

Proposersuffixes中Proposercommit時會順便commit一個他想插入的交易清單并交給Builder,Builder發布區塊內容后Proposer再按照清單裡的順序,一一安插交易到Builder的區塊內容之后,直到區塊空間不夠或沒有剩余交易。

Binance的儲備金證明頁面已可查看,但CZ稱此功能仍在開發中:11月10日消息,Nansen首席執行官Alex Svanevik曾在推特上指出Binance的儲備金證明頁面存在的錯誤,當時ERC20 USDC余額為0。趙長鵬(CZ)對此表示尚未推出該功能,仍在開發中,并稱會將這個錯誤轉達給團隊,會很快修復。

根據Svanevik分享的頁面鏈接,幣安的儲備金證明頁面已可查看,上述USDC余額已顯示。該頁面涵蓋93種資產,包括125351枚BTC、1,904,674枚ETH、約57億枚USDT、約53億枚BUSD等。不過尚不清楚該頁面數據是否仍存在問題,因為趙長鵬稱此功能仍在開發中。[2022/11/10 12:43:11]

Proposer先commit他想插入的交易,最后如果有空間再一一插入

prefixes和suffixes這兩個方法都會加重Proposer的責任,而且Proposer因為要負責親自插入交易,所以必須要儲存完整的Ethereum狀態來進行交易運算,也就沒辦法變成Stateless節點。

注:目前比較有共識的是ForwardInclusionList的做法。

以上是關于抗審查機制的設計,接下來將繼續完成對Proposer如何commit及Builder如何發布區塊內容的介紹。

mev-boost中Relay要在區塊最終上鏈之前,確保Proposer已經做出承諾、確保Builder的區塊內容真的存在。我們要怎麼取代這個角色呢?我們可以用ValidatorCommittee來取代。另外Relay和Proposer/Builder之間的溝通管道也會被p2p網路取代。

注:目前PoS中每個Slot會有1個Proposer及64個Committee的Validator要對該Slot的區塊進行投票。

也因此這個機制的安全性和穩定性就會變成奠基于PoS之上:Committee中非惡意成員不能超過一定比例、網路連線沒有出現重大延遲,否則會和PoS發生fork一樣出現錯誤,導致Proposer或Builder權益受損。但這還是比原本相信一個中心化角色的安全性來得高。

目前的設計中主要以整個過程多快做完分為TwoSlotPBS及SingleSlotPBS,也就是將整個過程分為兩個Slot來做完還是單一個Slot就做完。

TwoSlotPBS

TwoSlotPBS中,會新增一個IntermediateBlock的區塊類別,用來放得標Builder的區塊內容。Proposer在Slotnpropose一個正常的BeaconBlock,裡面會包含對得標Builder區塊內容的commit,Builder接著在Slotn+1proposeIntermediateBlock,裡面包含他的區塊內容。可以將兩者視為同一個大區塊,只是分成兩階段來完成,第一階段像是BlockHeader,第二階段才是真正的BlockBody,沒有BeaconBlock就沒有后面的IntermediateBlock。

區塊都要經過Committee投票,變成ForkChoiceRule的一部分

這兩個Block都要經過Committee投票,但Slotn的BeaconBlock只有1個Committee對其投票,而Slotn+1的IntermediateBlock則由剩下的N-1個Committee對其投票。

投給SlotnBeaconBlock的投票會被收入在Slotn+1的IntermediateBlock裡,投給Slotn+1IntermediateBlock的投票會被收入在Slotn+2的BeaconBlock裡。

直接引用原文裡的圖片:https://ethresear.ch/t/two-slot-proposer-builder-separation/10980

如果Builder一直沒有看到BeaconBlock,代表BeaconBlock可能沒有被即時發布,所以Builder不會發布IntermediateBlock。但如果該BeaconBlock過一段時間后出現,是否有可能會導致Builder賠錢?事實上該BeaconBlock會因為太晚出現而被其他Validator的ForkChoiceRule拒絕,所以Builder不需要擔心。

SingleSlotPBS

SingleSlotPBS可以想像成是把mev-boost中心化的Relay角色換成是去中心化的Committee:Committee負責保管區塊內容,等到Proposercommit得標Builder的區塊內容后,Committee再合作還原出Builder完整的區塊內容并廣播出去。

直接引用原文裡的圖片:https://ethresear.ch/t/single-slot-pbs-using-attesters-as-distributed-availability-oracle/11877

TwoSlotPBSv.s.SingleSlotPBS

複雜程度

SingleSlotPBS不影響ForkChoiceRule,因此其ForkChoiceRule也不需要像TwoSlotPBS被改得更複雜,進而影響PoS分析難度及安全性。

且SingleSlotPBS和mev-boost架構相似,Proposer和Builder不需要做太大的改動就可以切換。

但SingleSlotPBS需要標準化并實作一套加解密用的密碼學技術。

區塊時間影響

SingleSlotPBS在一個Slot就能執行完,不像TwoSlotPBS基本上等于把區塊時間延長,兩個Slot的時間才能有一個“完整”的區塊出現

TwoSlotsPBS可以選擇把Slot時間縮短,但代價是對網路狀況的要求和各個角色的負擔會更高,更容易出錯

對Committee依賴程度

SingleSlotPBS需要Committee大部分的成員都在線才有辦法順利解密,如果太多不在線會直接導致無法產出區塊內容

TwoSlotPBS則不會因為Committee成員不在線而無法產出區塊內容

加入crList

如果加入crList,則Committee在對區塊投票時的規則就要調整一下:如果Committee成員在crList發布時限之前有收到crList,則Builder的內容需要符合crList的要求,如果不符合要求則Committee成員當作區塊內容沒有被發布;如果crList沒有及時發布,則Committee成員不會檢查區塊內容是否符合crList要求。

另外因為crList并不是包含在區塊資訊中,而是透過p2p網路傳遞,所以有可能Builder會沒收到crList,這時候他可能就會選擇不競標或降低競標價格,避免發布區塊內容后才發現Committee都有收到crList,就他沒有收到,導致區塊內容不符合crList要求而賠錢。但要真的發生整個p2p網路中Committee成員都收到crList,就Builder沒收到的機率也不高。

BlockAuctionv.s.SlotAuction

除了目前mev-boost中Builder對區塊內容做競標,稱為BlockAuction,另一種做法是對“產出區塊內容的權利”做競標,稱作SlotAuction。

SlotAuction給Builder更多彈性,他可以先競標取得產出區塊內容的權利再開始組裝區塊內容,但缺點是Builder如果預估錯誤就有可能因為最后產出的區塊內容的MEV比競標價還少而賠錢,不像BlockAuction中Builder可以確定就是會賺這麼多錢。

總結與重點

PBS能減輕Proposer負擔,讓網路更去中心化,并能順利因應未來Sharding帶來的區塊容量大幅提升的挑戰當把交易排序權都交給Builder,自然必須要擔心Censorship的問題有幾個抗審查的設計,包含Proposer自己排序部分的交易,但目前比較有共識的是採取ForwardInclusionList的做法TwoSlotPBS和SingleSlotPBS是目前PBS架構的兩種設計,各有優缺點SingleSlotPBS較簡單,但也較中心化,仰賴單一個Committee成員需在線且誠實TwoSlotPBS較去中心化,和PoSForkChoiceRule整合并仰賴多組Committee增加安全性但又不需要Committee一定要在線,只是缺點是設計較複雜下一篇將介紹一些PBS的補丁,讓PBS機制及MEV供應鏈更加去中心化。

參考資料與推薦延伸閱讀

PBS資源整理:https://notes.ethereum.org/@domothy/pbs_links

https://ethresear.ch/t/single-slot-pbs-using-attesters-as-distributed-availability-oracle/11877

https://ethresear.ch/t/two-slot-proposer-builder-separation/10980

https://notes.ethereum.org/@fradamt/H1ZqdtrBF

https://barnabe.substack.com/p/pbs

https://iyusufali.xyz/writings/inclusion-lists

Rollup-Relay

另外有人提出了介于MEV-boost與In-ProtocolPBS之間的RollupRelay:不把PBS加在L1的共識層及p2p層上,而是把PBS實作成一個L2,但缺點是L2Sequencer的角色是需要被信任的。因為這個點子還很新所以這邊只做簡短介紹,如果未來討論更熱烈會再展開來介紹:https://hackmd.io/@echno/rollup-relay

Tags:PROPOSBUILDPROPTachyon ProtocolPoseidon Networkbuild幣圈PROP幣

屎幣
數據解讀 LooksRare、X2Y2 和 Blur 空投策略:表現如何?對 NFT 市場有何啟示?_BLU

簡介 NFT市場正在不斷發展。在過去的一年里,OpenSea面臨著越來越大的壓力,新的競爭對手正在蠶食它的市場份額.

1900/1/1 0:00:00
18分鐘售罄,漲幅278%,星巴克的第一款付費NFT首戰告捷_STA

星巴克于今日凌晨4點發布第一個付費NFTSirenCollection,mint價格$100,數量2k,18分鐘內售罄地板價一度突破$600,目前是$378,仍然是278%的漲幅.

1900/1/1 0:00:00
L2大亂斗即將上演?Optimism生態大盤點_ARB

最近Arbitrum(以下簡稱Arb)上各種DeFi和衍生品可謂是火爆異常,很多人甚至說Arb最近走出了2020年DeFiSummer的F那種感覺,可謂“ArbitrumSummer”.

1900/1/1 0:00:00
在ZkEVM主網啟動之際,哪些Polygon生態值得關注和布局?_LYG

Polygon的zkEVM主網即將啟動,現在是時候探索Polygon上最有趣的項目了,加密分析師RektFencer在這里分享了幾個他認為最能匹配此次敘事的項目.

1900/1/1 0:00:00
Otherside「2nd Trip」即將上線,可能出現哪些新功能?_TRI

去年7月,YugaLabs?元宇宙項目Otherside完成了「FirstTrip」內測首秀。在此次測試中,Voyagers可以參與多種活動,如自由移動,發送表情符號,沖刺、跳舞和完成空中翻轉,

1900/1/1 0:00:00
Optimism第十期激勵扶持入圍項目分析_ISM

過去,GMX、Velodrome等受到扶持和激勵的第2層(L2)應用程序已被證明其成功性并成為贏家;那么,通過研究下一輪潛在的激勵接受者,可能會指引我們發現下一波可能崛起的協議.

1900/1/1 0:00:00
ads