原文來源:joncharbonneau.substack.com
原文作者:JonCharbonneau
原文翻譯:Franci,ECN
目前的rollup基本上都是需信任且需許可的:
強制交易打包機制?——即便出現rollup運營者審查用戶的情況,用戶也應該能夠強制打包其交易,以實現抗審查。
L2定序器去中心化和(可選)本地共識?——單一型定序器、PoA、PoS領導者選舉、PoS共識、MEV拍賣、基于基礎層的rollup、PoE,等等。
共享定序器和跨鏈原子性?——這是真正有趣和完全新的東西。
MEV可捕獲設計?——我將簡要地介紹FCFS(先到先服務)的一些變化。對于加密的交易池,你可以參考我最近的帖子。
許多其他提高rollup安全性的要求將不在本文的討論范圍內(比如減少升級密鑰的權力、實現強健的和無需許可的證明,等等)。
智能合約Rollup(SCR)
首先,簡單復習一下SCR的工作原理,這是我們當前在以太坊上常見的rollup。從高層次來說,一個SCR基本上包括:
1.一批有序的輸入數組。
2.在它們上面運行的代碼。
3.對這些輸入運行函數產生的確定性輸出。
cr:?HowRollups*actually*work-KelvinFichter
更具體地說,傳統的定序器通過向其在L1的智能合約發布rollup區塊的狀態根和calldata來對rollup區塊生成承諾。新的區塊不斷擴展rollup對區塊頭。鏈上合約運行一個rollup的輕客戶端,將其區塊頭的哈希值保存起來。在收到有效性證明后,或在欺詐證明窗口期過后,該智能合約就會敲定結算。如果一個未被敲定的ORU區塊無效,它會因為欺詐證明對提交而被回滾,最后成為孤塊。證明幫助保護橋接:
交易batch的提交應該需要應用某種類型的保證金/押金規則,以抑制惡意行為的發生。例如,當一個欺詐性的batch被提交了(即無效的狀態根),押金將被銷毀,并按某種比例分給欺詐挑戰者。
SCR具有?“合并的共識”?-即可在鏈上驗證的共識協議。Rollup協議可以完全在L1智能合約中運行。它不影響主鏈的任意共識規則,也不需要這些規則的支持。
去中心化共識協議通常包括四個主要特征?(注意,以下是一個非常簡化的版本,并沒有完全列出共識協議的各種類型。比如無領導協議):
1.區塊有效性函數?-狀態轉換函數。區塊有效性在鏈下執行,然后通過有效性證明或者欺詐證明機制來證明其有效性。
2.分叉選擇規則?-如何在兩條原本有效的鏈之間選擇。Rollup旨在從構造上實現無分叉,所以不嚴格要求有一個復雜的分叉選擇規則。
3.領導者選舉算法?-選出一位領導者,ta可以通過添加新區塊以擴展鏈頭,從而使區塊鏈不斷延伸。
4.抗女巫機制?-PoW、PoS等
可以認為1和2已經實現了,那么對于去中心化一個定序器的最低要求便是某種形式的抗女巫攻擊領導者選舉。?FuelLabs一直都是這個陣營的支持者,他們認為PoS:
不應該用于rollup中的完全共識協議(即rollup驗證者/定序者將對區塊進行投票)
應該只用于rollup中的領導者選舉
當然,也有其他論據很好地反駁了FuelLabs的觀點,認為需要有L2本地共識。稍后會有更多關于這方面的內容。
SCR?-rollup規范鏈由L1智能合約決定
SR?-沒有L1智能合約來決定rollup規范鏈。Rollup主鏈可以由rollup節點自己決定(檢查L1DA,然后在本地驗證分叉選擇規則)。
Celestia
相關說明:有人提出一個有趣的觀點,即不存在全球規范鏈(只有決定哪條鏈為規范鏈的橋接),對此有人提出有力的反駁。以及其他相關長推,闡述了rollup在主權性和(自動)可組合性之間的權衡。我鼓勵大家瀏覽一下這些觀點,還有最近這條關于Bitcoin主權rollup的長推。
在任何情況下,上述所討論到的“規范鏈”框架都很容易理解,并且這不是本文的重點,所以我還是會繼續使用“規范鏈”這個術語。有關rollup一般架構的更多背景,請參考此處。
用戶發起的強制交易打包
智能合約Rollup
如上所述,定序器通常負責批處理交易并將它們發布到L1智能合約。但是,用戶也可以自己直接在合約中插入一些交易:
當然,這是低效且昂貴的,所以定序器將負責批處理交易,并在常規的過程中一起提交這些batch。這將在許多交易中攤銷固定成本,從而實現更好的壓縮:
定序器承諾最終在L1上發布這些交易,同時我們可以計算輸出,以獲得更軟的預確認(softerpre-confirmation):
當定序器將這些交易發布到L1時,輸出被敲定:
通常情況下,用戶只會在從L1橋接資產到L2時需要自己提交交易。這被添加為L1合約的輸入,它告訴L2可以鑄造由相應L1鎖定資產支持的資金了。
如果我想把我的錢提回L1,我可以在L2上銷毀它,并告訴L1把我的錢還給我。L1不知道L2發生了什么(L1并沒有執行這些交易),所以需要在請求解鎖我在L1上的資金的同時提交一份證明。
因為我來自L2,所以定序器可以發起這個提款請求并提交給L1。然而,這樣做的話就說明需要信任L2定序器的抗審查能力(CR,censorshipresistance),也就是說不再獲得L1的同樣安全保證。也許這些定序器不喜歡你,或者定序器宕機了,所以你只能永遠卡在L2上了。
Rollup可以通過多種措施在本地提高自己的CR。這可能包括具有高價值質押的L2共識集、一些交易打包列表的各種變體,添加閾值加密等等,以最大限度地減少L2用戶審查的可能性。這些都很棒,但理想情況下,我們還是希望L2用戶擁有與L1相同的抗審查保證。
如果用戶正在被審查,他們需要一些方法來強制退出rollup或者強制將他們的交易打包到L2中。這就是為什么L2用戶應該保留做一些事情的能力,比如自己可以強制將他們的L2交易直接包含到L1合約中。例如,被審查的用戶可能能夠直接向L1提交單個操作的batch。
來源:?Starknet逃生艙口研究
但是,如果L2用戶的唯一選擇是將交易直接強制包含到L1中,這并不理想。這對于許多低價值用戶來說可能是不可行的,特別是當L1的交互成本越來越高時。更高級的設計可能能夠繞過這個限制,在rollup之間強制進行原子交易。KalmanLajkó?正在研究一個迷人的設計,強烈推薦大家閱讀。它希望在具有共享證明和共享DA層的系統中啟用跨rollup強制交易打包。
主權Rollup
強制打包在SR中的運作不同,因為如前所述,它們執行的分叉選擇規則與SCR不同(SovereignLabs寫了一篇關于這方面的帖子)。
在SCR中,L1智能合約執行rollup的分叉選擇規則。除了驗證ZK證明之外,它還檢查該證明是否建立在之前的證明(而不是其他的證明分叉)之上,以及它是否處理了所有在L1上發送的相關強制打包交易。
SR可以將它的ZK證明發布到L1DA層,以calldata/blobs的形式向所有人公開(即使L1沒有驗證它們)。然后,只需添加一個規則,即新證明只有建立在前一個有效證明的基礎上才有效。該規則可以在客戶端強制執行,但它隨后會要求用戶掃描鏈的歷史,直至創世區塊或者某個檢查點。
而另一種方式是,可以將calldata與L1區塊頭聯系起來,并且可以添加一個聲明“我已經掃描了DA層的證明(從區塊X開始,到區塊Y結束),并且這個證明基于最新的有效證明構建”。這在證明中直接證明了分叉選擇規則,而不需要在客戶端強制執行。
數據:Arbitrum One鏈上交易量突破3億筆,獨立地址已近90萬個:金色財經報道,據Dune Analytics數據顯示,Arbitrum One鏈上交易量突破3億筆,獨立地址已近90萬個,本文撰寫時總交易量達到311,851,012筆,獨立地址數為8,977,137個,其中橋接交易量超100萬筆,橋接存儲金額為2,731,913 ETH,按照當前價格計算超過50億滅源。[2023/8/7 21:28:44]
由于已經掃描了證明,同時還可以證明已經掃描了任何強制打包交易。任何人都可以在愿意的時候直接將強制打包交易發布到L1DA層。
交易敲定的層級&ZK用于快速敲定
以太坊上的鏈上證明驗證通常非常昂貴,因此目前的ZKR(如StarkEx)傾向于每隔幾個小時才向以太坊發布一次STARK。相對于交易的數量,證明的增長往往非常緩慢,因此這樣對交易生成batch可以有效地節省成本。然而,這么長的敲定時間并不理想。
如果一個rollup只是在鏈上發布狀態差異(而不是完整的交易數據),那么即使是全節點也不能在沒有證明的情況下確保這種最終確定性。如果rollup的完整交易數據被發布到鏈上,那么至少任意全節點都可以與L1一起敲定交易。
通常情況下,輕節點只依賴于中心化的定序器進行軟確認。然而,ZKR可以在p2p層快速生成并分發ZK證明,以便所有輕客戶端實時查看,并以L1速度為它們提供最終確定性。稍后,這些證明可以遞歸地批處理并發布到L1。
這就是?SovereignLabs計劃要做的,還有其他類似方案,比如?Scroll計劃在鏈上發布中間的ZK證明(但不驗證它們),因此輕客戶端可以相當快地同步。使用這兩種結構,rollup可以以L1的速度開始敲定區塊,而不是等待將batch發送上鏈以節省開銷。但是請注意,在這兩種情況下只是將“硬敲定時間”降低到絕對最小值(L1速度)。
不同的定序器設計永遠不會比L1區塊時間更快地敲定。不同的定序器設計所能做的最好的事情就是提供比L1區塊時間更快的預確認,不同設計提供的確定性水平不同(例如,你可能會相信具有高價值質押的去中心化共識集的L2的預確認,而不是相信單一型需信任的定序器的預確認)。
PatrickMcCorry?最近也對?rollup交易最終確定性的層級進行了很好的概述。現在你可能已經明白了基本的概念:
交易“最終確定性”具有不同的層級,這取決于誰提供了承諾(以及rollup結構是怎么樣的)
不同的參與者在給定的時間會對“真相”有不同的認知水平(例如,L2輕客戶端、全節點和L1智能合約將在不同的時間了解相同的“真相”)
CR?—如上所述,用戶強制打包交易的機制。
活性?—如果一些主要的定序器宕機了,所具備的一些熱備份選項(類似ZKR證明器和ORU欺詐證明的備份應該是無許可的)。如果備用定序器也宕機了,任何人都可以頂上。
例如,備用定序器可以由rollup的治理選出。通過這種設置,用戶獲得了安全性、抗審查和活性。即使從長遠來看,單個活躍型的定序器也可能是一個可行的選擇。
Base很可能是一種趨勢的開始。公司現在可以管理和優化他們的產品,就像他們對企業區塊鏈的炒作一樣,但現在它實際上可以成為一個無需許可的、安全的和可互操作的鏈。
Base打算最終去中心化他們的定序器集,但關鍵是他們并不嚴格地“需要”去中心化,而其他方案并不是(或者只需要非常有限范圍內的去中心化,如一個小規模的定序器集)。需要明確的是,這需要rollup來實現必要的步驟,來確保rollup是安全的且維護抗審查性(移除任意的即時升級功能、實現健壯的證明、強制交易打包、MEV拍賣等)。而當前的rollup并不安全。
這將是對中心化/托管產品的巨大改進,而不是最大限度地取代去中心化產品。Rollup只是擴展了設計空間。這在很大程度上也是為什么定序器去中心化并不是大多數rollup團隊的首要任務——對于確保用戶安全、抗審查性和減少對rollup運營者的信任,其他項要重要得多。
然而,如果用戶/其他方需要介入以維持活性和“實時抗審查性”(不同于通過L1進行強制打包交易獲取的“最終抗審查性”),這仍然不是理想的。基于強制打包交易機制,低價值用戶介入可能成本高昂或不切實際。高度偏好實時抗審查和活性最大保證的rolllup將尋求去中心化。在運營單一許可型定序器時,也可能存在監管方面的考慮。
Arbitrum的AnyTrustDA?的委員會。但重要的是,定序器在這里的權力要小得多(用戶不依賴于rollup定序器來確保安全,不像多簽橋接運營者可以提取鎖定的資金)。總的來說,比起單一型定序器,這種方案具有更好的抗審查性和活性,但仍然不完善。
PBS類型的拍賣系統將會出現,類似于我們今天在L1以太坊上看到的。在這種情況下,費用/MEV可能會流向質押者。如果拍賣被納入協議,那么費用/MEV可能會進入某種形式的rollupDAO財庫(盡管在兩種情況下它也可以被分配、銷毀等等)。
領導者選舉的無需許可PoS
任何人都可以作為定序者無需許可地加入,但前提是必須質押(可能是L2的原生代幣)。質押機制可以通過智能合約在基礎層建立,也可以直接在rollup中建立。Rollup可以使用這個PoS某種形式的鏈上隨機性,以此實現領導者選擇機制(像一些L1做的那樣)。
任何人獲得區塊排序權的概率=ta的質押占總質押的比例。可以通過丟失獎勵、怠工懲罰和罰沒對錯誤/惡意定序器施加懲罰。
請注意,由于上述原因,這不要求定序器達成共識。Rollup使用L1作為共識,因此不需要本地共識(localconsensus)。質押權重在輪換機制中起主導作用,決定了哪些定序器可以提議區塊,但他們不需要對其他定序器提議的區塊進行投票。
這可以給任意長度的epoch授予排序權。某個參與者可能有權為100個連續的rollup區塊排序,或者1000個,等等。更長的周期可能效率更高,并且在給定的時間里只需要一個定序器。然而,給擴展的壟斷者授權也會帶來其他外部效應。或者,領導者可以像普通L1那樣交替使用每個區塊。
Dymension
Dymension?就是這樣一個項目。DymensionHub將是Cosmos中典型的使用誠實大多數PoS機制的L1。它的L2(“RollApp”)將使用它來結算和達成共識,同時依賴Celestia作為數據可用性存儲(因此這些L2實際上是“optimisticchain”而不是“rollup”)。
根據他們的?Litepaper,去中心化的RollApp排序將需要質押DYM(Dymension的原生資產)在DymensionHub中。領導者選舉由相應的DYM質押數量決定。這些定序器將從各自的rollup中獲得收入(費用和其他MEV),然后向DymensionHub和Celestia支付相關的基礎成本。
由于這種機制,幾乎所有在這個堆棧中捕獲的價值都會直接累積到DYM代幣中。而如果把自己的原生代幣用于排序的rollup(如StarkNet打算使用STRK所做的那樣,下文會介紹)會將價值累積到他們自己的代幣中。DymensionHub的設置類似于以太坊rollup只能使用ETH進行定序者選舉。
在我看來,這極大地降低了在這樣的結算層上部署L2的動機。大多數L2團隊自然希望他們自己的代幣能夠積累有意義的價值(而不僅僅是用作費用代幣,就像這里可能的那樣)。畢竟他們是在經營一個企業。
PoS定序器領導者選舉?—如上所述,某種形式的領導者選舉是必要的。
PoS共識?—激勵L2驗證者在交易被L1敲定之前達成臨時的L2共識,提供更強的預確認。如上所述,這點不嚴格要求,但它是一個有吸引力的選擇。
CZ:最好的用戶保護形式是全球一致的、基于風險的監管:金色財經報道,Binance首席執行官CZ在社交媒體上稱,最好的用戶保護形式是全球一致的、基于風險的監管。徹底的禁令只會導致用戶在陰影中操作,風險自負,沒有任何安全網。國際貨幣基金組織發布的文章支持這一立場:
1.我們的行業需要適合其跨境性質的穩健、全面和全球一致的加密監管。對于全球運作方式,它必須適應不斷變化的行業格局。
2.加密資產服務提供商應獲得許可、注冊和授權。許可和授權標準應明確定義。
3.履行多項職能的實體應遵守額外的監管、透明度和/或披露要求。
4.穩定幣是許多用例中保值的關鍵工具,應該受到監管以發揮其潛力并確保市場完整性。當立法者和監管者擴大允許的活動范圍時,用戶保護和市場誠信得到加強。我們在許多其他行業都看到了這一點:tradfi、醫療保健、制藥、互聯網、內容等。[2023/1/24 11:28:39]
此外,STRK可以以某種形式用于:
DA的PoS共識?—?用來激勵提供替代性的DA鏈(alt-DA,比如volition),這需要單獨的共識。
證明?—?激勵證明者生成STARK。
交易流程如下:
1.定序?—定序器排序交易并提議一個區塊
2.L2共識?—StarkNet共識協議對已提議的區塊簽名
3.證明生成?—證明者為已達成共識的區塊生成證明
4.L1狀態更新?—向L1提交證明以更新狀態
有關StarkNet計劃的更多細節,可以參考這個系列文章。
使用領導者選舉和本地共識的PoS?—“我只接受L2共識簽名過的區塊。”
使用領導者選舉的PoS?—“目前只有選定的定序器能夠提交區塊。”
如果rollup沒有本地共識,需要做的就是:
使rollup區塊提議過程無需許可。
創建一些標準,為給定的區塊高度選擇最佳的區塊
讓節點或結算合約強制執行分叉選擇規則
繼承L1的共識和最終確定性
注意,不管是哪種情況,L2的價值都可以累積到rollup代幣中。即使L2代幣只是用于某種形式的領導者選舉(而不是共識投票),排序權產生的價值仍然會累積到L2代幣中。
L2共識的缺點(只有領導者選舉)
現在讓我們來討論在L1敲定之前具有/不具有本地共識之間的權衡。
FuelLabs團隊提出的一個論點是,L2本地共識會降低抗審查能力。“這使得大多數驗證者可以審查新區塊,這意味著用戶資金可能會被凍結。Rollup不需要PoS來守護,因為rollup是由以太坊保護的。”?這里是一個有點灰色的區域。如前所述,即使定序器出現審查交易的情況,rollup仍然可以提供抗審查方案(例如,直接強制交易打包進入L1,或更復雜的設計,如?KalmanLajkó?正在研究的那個)。
另一種說法是,完全的共識只是"效率低下"。例如:
一次只有單個定序領導者在單個盒子中運行所有東西,
一次只有單個定序領導者在單個盒子中運行所有東西,然后所有其他節點需要對該提議投票以及達成共識,
前者比后者簡單得多。
當然,這因所選擇的特定的定序器設計和共識機制而有很大不同。
此外,請注意,有些人對在定序器去中心化中使用PoS提出了擔憂,如這里和這里。L1與L2的錯綜復雜的關系可能使處理某些類型的攻擊更具挑戰性。
添加L2共識的優點(加上領導者選舉)
對于定序器來說,最大的目標可能是在L1提供的完全安全保障之前給用戶提供更快的軟確認。看一下?StarkNet的機制要求:
“強健和快速的L2最終確定性是StarkNet的目標。由于只有在交易batch被L1證明之后,StarkNet的狀態才會被敲定(可能需要幾個小時)。因此,在下一個batch被證明之前,L2去中心化協議應該就規劃好的交易執行順序做出有意義的承諾。”
添加某種形式的共識(由許多定序者提供的經濟安全支持)有助于在這期間提供更強的保證?(rollup區塊的預先確認是沒問題的):
“Starknet共識必須具有很強的責任感,即違反安全和活性的行為可以通過罰沒任何一部分參與者(包括惡意的大多數質押)來執行懲罰。”
Rollup也可以靈活地嘗試不同共識機制光譜之間的權衡點,因為它們最終總是可以回到以太坊L1的安全性和動態可用性。
Vitalik早在2021年就提出了這個“完全無政府狀態”的想法。允許任何人在任何時間提交交易batch。第一筆擴展rollup的交易會被接受。它滿足了上面討論如何去中心化定序器的兩個最低要求:抗女巫?—由L1提供的抗女巫能力(即交易費用和區塊大小/gas上限)。
領導者選舉?—領導者選舉是隱性且延后的。
這就足夠了,因為L1已經提供了安全性。如果L2區塊已經發布到L1上,那么只有當它們是無效的或構建在無效塊之上時(將被回滾),它們才會變成孤塊。如果它們是有效的,并且發布到L1,那么它們具有與L1本身相同的安全保證。
Vitalik指出這種方案有一個很大的問題是,它的效率會非常低。多個參與者可能并行提交batch,并且只有一個會被成功打包。這在生成證明時浪費了大量的精力,或者說發布交易batch花費了許多不必要的gas。想要知道你的交易是否會很快被打包,這是非常麻煩的,而且效益很低。
基于基礎鏈的Rollup(BasedRollups)
然而,現在可以通過PBS使這種無政府狀態的設計可行。它允許更嚴格的排序,每個L1區塊最多一個rollup區塊,因而不會浪費gas。(盡管可能有浪費的計算)。L1構建者可以只打包最高價值的rollup區塊,并根據搜索者的輸入出價構建該區塊,這與任何L1區塊類似。為了避免計算的浪費,默認情況下也可以合理地使ZK證明過程需許可?(具有相應的機制允許無需許可地回滾)。
這就是?JustinDrake?最近提出的?“基于基礎鏈的Rollup”?的核心理念。他使用這個術語來指代由L1(“基礎”層)主導排序的rollup。L1提議者只需確保在他們自己的L1區塊中納入rollup區塊(大概是通過構建者)。這是一個簡單的設置,可以立即提供L1活性和去中心化。他們可以避免一些棘手的問題,比如在L2定序器正在審查的情況下解決強制打包交易的問題。此外,由于不需要定序器簽名驗證,因此可以減少一些gas開銷。
一個有趣的問題是關于這些L2交易在哪里被處理。L2客戶端需要將這些交易發送到某個地方,以便L1搜索者/構建者接收它們并針對它們創建區塊和數據blob。它們可能會被發送到:
L1交易池?—它們可以與一些特殊的元數據一起發送給“知情的”搜索者/構建者來解釋它們。但是,這可能會顯著地增加L1交易池上的負載
為每個L2提供的新的p2p交易池?—沿著這個思路的一些解決方案似乎更有說服力。除了他們平常的渠道之外,搜索者/構建者將開始檢查和解釋這些新交易池的交易。
一個明顯的缺點是基于基礎鏈的Rollup限制了定序器的靈活性。例如:
MEV緩解?—Rollup可以創造性地使用FCFS、加密交易池等各種變體。
預確認?—L2用戶喜歡快速交易“確認”。基于基礎鏈的Rollup最多會回到L1區塊時間(?12秒),或者等待更長的時間來發布完整的交易batch。
有趣的是,這正是早期rollup團隊正在構建的:
https://twitter.com/DZack?23/status/1635503593070657536??s=?20?
美國眾議院金融服務委員會主席:FTX現任CEO將在聽證會上作證:12月9日消息,美國眾議院金融服務委員會主席表示,“在FTX聽證會上可能會增加更多證人,FTX現任首席執行官John J Ray III將在聽證會上作證”。[2022/12/9 21:32:58]
Justin指出,再質押(restaking)可能會有所幫助。
https://twitter.com/jon_charb/status/1635898303106756609??s=?20?
這些都是?EigenLayer?的研究領域,至少在他們的白皮書中提到過。目前還不清楚這是否是一個切實可行的解決方案。為了通過再質押有效地改善這些缺點,可能會寄望于所有的質押者都選擇運行它。因此,這個想法這樣來實現似乎更合乎邏輯:讓想要這樣做的質押者子集選擇進入一個單獨的共享排序層(稍后會詳細介紹)。
效率證明(ProofofEfficiency,?PoE)
去年,PolygonHermez提出了一個名為?PoE?的提案。這是另一種專門針對ZKR的L1定序變體。這里的定序器是一個完全開放的角色,任何人都可以提交交易batch(即完全無政府狀態/基于基礎鏈的Rollup,因此它具有相同的限制)。PoE機制由兩個參與方組成兩個步驟:
定序器
定序器收集L2用戶交易并通過發送一個L1交易(其中包括所有選定的L2交易的數據)來創建一個交易batch。定序器將根據收到的經濟價值來提交區塊,或者為用戶提供服務級體驗(例如,在每個L1區塊中發布一個交易batch,即便這會使L2交易更昂貴,因為用戶想要交易更快完成)。
定序器將支付L1gas費來發布交易batch,并且協議在MATIC中定義了必須存入的額外費用。一旦發布,獲勝的batch立即定義新的鏈頭,允許任何節點確定性地計算出當前狀態。然后需要一個有效性證明來敲定輕客戶端的見證(包括L1智能合約)。
聚合器
聚合器在這里指的是ZK-證明器。同樣,這是一個無需許可的角色,任何人都可以競爭。非常簡單:
攜帶交易數據的已排序的batch按照它們在L1上出現的位置在L1上排序。
PoE智能合約接受更新到了最新有效狀態的第一個有效性證明,這個有效狀態包括一個或多個尚未被驗證的已提議的batch。
聚合器可以自由地運行自己的成本效益分析,以找到發布證明的適當頻率。如果他們贏得了比賽,他們會得到一部分費用,但如果等待更長的時間以發布新的證明,他們的固定驗證成本將攤銷到更多的交易中。如果聚合器晚發布了一個證明(它并沒有證明一個新的狀態),那么合約將只執行一個復原函數。證明器浪費了計算,但他們會省下大部分gas。
費用的分配方式如下:
L2交易的費用將由創建有效性證明的聚合器處理和分配。
所有交易費用將發送給每個batch相應的定序器。
定序器為獲取創建單個batch的權限而存入的費用將被發送到聚合器,聚合器將該batch包含到有效性證明中。
純分叉選擇規則
Rollkit?SR有一個非常類似的“純分叉選擇規則”概念,如這里所述,指的是沒有特權定序器的任意rollup。節點聽從DA層的規則進行排序,并應用“先到先得”的分叉選擇規則。
L1排序經濟學
這些L1排序設計對經濟學有很重要的影響,因為?L2交易產生的MEV現在將在L1區塊生產者級別被捕獲。在“傳統的”L2排序模型中,L2交易產生的MEV由L2定序器/共識參與者/拍賣機制捕獲。目前還不清楚在這種情況下,有多少MEV會泄漏到基礎層。
對于這是好事還是壞事,很難說:
好處?—這有些像“L1經濟聯盟”(例如,ETH可以捕獲更多價值)。
壞處?—有人會擔心這種基礎層激勵?(例如,比特幣礦工的中心化風險,但也許為時已晚)。
利用L1排序可能也行得通,特別是能夠更容易地啟動一個rollup,但讓它們放棄如此多的MEV給L1(而它們本身自己就可以捕獲這些MEV)是不太可能的。Rollup的最大好處之一確實是經濟上的——一旦DA層開始擴展,這些成本就會下降,他們只需要向L1支付很少的費用。更慢的區塊時間和原始的MEV方法對用戶來說也不太理想。
如何激勵證明者創建這個證明
如何使提交證明無需許可,從而使其成為一個有競爭力和具有魯棒性的市場(例如,主要的證明者宕機了也不會影響網絡)
讓我們看看?ZK證明者市場的兩個簡單模型:
競爭市場
在一個極端,你可以有一個開放的競爭模式。在一個無許可的證明者市場中,所有的證明者都爭先恐后的為rollup定序器/共識產生的區塊創建一個證明。第一個創建證明的人可以獲得指定給證明者的任何獎勵。在尋找最佳證明者方面,這種模式是非常高效的。
這看起來非常類似于工作量證明挖礦。然而,這里有一個獨特的區別——證明是確定性的計算。因此,一個具有較小但始終如一的優勢的證明者幾乎“總是”會贏。這個市場很容易形成中心化的局面。
在PoW挖礦中,隨機性方面有更好的屬性——如果我有1%的挖礦算力,我應該得到1%的獎勵。
這種競爭性的證明模型在計算冗余方面也是次優的——許多證明者會相互競爭并花費資源來創建證明,但只有一個會勝出(類似于PoW挖礦)。
基于輪換的機制(如質押權重)
或者,可以在證明者之間輪換,讓他們每個人都有機會(例如,基于一些質押,亦或是基于聲譽)。這樣可能更加去中心化,但可能會帶來證明延遲這樣的低效率情況(“慢”的證明者將有機會創建證明,而另一個證明者可能已經有能力更快更有效地創建證明)。然而,它可以防止許多證明者競相創建一個證明而浪費了計算,畢竟最終只會有一個證明有效。
此外,如果輪到的人不能產生證明(無論是惡意的還是偶然的),就出現問題了。如果輪次的時間很長(例如,當時輪到的證明者可以壟斷好幾個小時的證明生成),并且證明者宕機了,協議將很難恢復。如果輪次時間很短,其他證明者可以介入并趕上主要證明者未能生成證明的地方。
你也可以允許任何人發布證明,但只有指定的證明者才能在給定的時間內獲得獎勵。所以如果這些指定的證明者宕機了,另外的證明者可以發布證明,但他們無法獲得獎勵。這將是無私的,因為花費資源進行計算卻沒有回報。
Scroll正在探索更多基于輪換的方法,將執行跟蹤分配給隨機選擇的“roller”(證明者):
還有許多有趣的問題,即在排序時應如何在用戶層面上收取證明費用。關于這些主題的進一步討論可以在這里找到:
-Scroll?的?YeZhang?在他的文章《去中心化的zk-Rollup》中討論了在不需要L2共識的情況下,這種基于質押MEV拍賣來獲取排序權的輪換roller網絡的可能性
-《Scroll架構的概覽》提供了一個關于可能的roller模型的更多細節
-Starknet去中心化協議IV-協議中的證明
-Starknet去中心化協議VI-TheBufferProblem
躺平?—不要再擔心如何去中心化你的定序器了,這很難!嵌入這個選項就好了。不需要招募和管理一個額外的驗證者子集。雖然總會遇到很多打著“模塊化”名號的融資宣講稿,這確實是一種非常“模塊化”的方法——將交易排序剝離到單獨的一層。SharedSequencing(共享排序)實際上是一個SaaS(排序即服務)公司。
匯集安全性和去中心化?—讓單個排序層建立強大的經濟安全性(更強的預確認)和實時抗審查,而不是為每個單獨的rollup執行許多小委員會。
瑞銀:美聯儲或在2023年年中停止量化緊縮:10月22日消息,瑞銀集團經濟學家和策略師表示,鑒于貨幣市場改革帶來的影響和債務上限,預計美聯儲將被迫在明年年中左右停止縮表。根據周三發布的報告,另一個影響因素包括市場對美聯儲逆回購協議工具的使用存在“相對粘性”。(金十)[2022/10/22 16:35:25]
快速交易確認?—其他單一型rollup定序器也可以做到這一點,但請注意,共享排序情況下用戶還可以獲得超快的亞L1區塊時間預確認。
跨鏈原子性?—在鏈A和鏈b上同時執行事務(這個很復雜,所以我將在下文更深入地展開)。
簡單地使用本地L1作為許多L2的定序器,基本上有幾個缺點:
仍然僅限于L1的數據和交易排序吞吐量
失去了為L2用戶提供快于L1區塊時間的快速交易確認的能力(盡管在最終達成L1共識之前有較弱的保證)
L1排序所能做的最好的事情是消除L1的計算瓶頸(比如,如果交易執行是吞吐量的瓶頸),并在通信復雜性上實現小的因素改進。
那么,我們能否設計出專門的、更高效的共享排序層,而不是讓L1來做這件事……
將執行與排序分離
當前的Rollup節點實際上處理了三件事:
這里的關鍵屬性是“執行和排序分離”。這樣情況下共享定序器:
為那些選擇將其作為排序層的各種鏈的交易排序
不執行(或證明)?這些交易但對其生成結果狀態
排序是無狀態的?——共享定序器節點不再需要為所有不同的rollup存儲完整的狀態。它們移除了執行計算。傳統定序器目前面臨的巨大瓶頸已經不復存在。
當把執行從共識中抽離出來時,共識的效率就會變得特別高。這個過程只是被限制在信息廣播層(因此變得很快)。如果節點所要做的只是生成已排序的交易區塊,并在不執行所有操作的情況下就該區塊達成共識,那么節點可以非常高效。執行和證明可以在排序共識達成后由另一方負責。
匯集定序器安全性和去中心化
共享定序器節點可以保持相對輕量級,甚至可以在水平上進行擴展(通過選擇一個隨機的共識節點子集來排序不同的交易子集)。結果——可能會使這個排序層更加去中心化。而傳統的定序器則需要存儲著鏈的大狀態并對其實現完整的執行。
此外,我們將許多鏈上的資源匯集起來——不需要在許多rollup之間分割PoS共識。把它們都集中在一個地方。與許多自己實現定序者子集的rollup相比,這種方式可能會產生一個更加去中心化的定序者子集(抗審查),在這個子集上質押了更多可被罰沒的價值(抗重組)。這很重要,因為:
排序?——是為rollup用戶提供實時抗審查性和活性的第一道防線。
執行和證明?——可以在排序完成,沒有強烈的去中心化要求。我們只需要一個誠實方就夠了。
一旦交易排序的共識達成,執行(和證明)可以延遲到一個完全不同的鏈去進行:
軟共識和排序?—共享定序器為用戶提供快速的預確認
確認的共識和DA?—交易數據已在DA層上被敲定,供所有人查看
輕松執行和證明?—任何人都可以對確認后的交易狀態執行和生成證明
在執行層進行的工作不需要去中心化,因為這不是抗審查的來源。單一型定序器對于抗審查來說并不理想,但這其中不利于抗審查的點與定序器的執行流程無關。它們的審查權來自于它們能夠排序并打包交易的權限。而在執行層,共享定序器已經提供了排序好的交易輸入,因此也提供了抗審查性。那么之后對狀態承諾的計算和比較就不需要那么去中心化了。
軟執行
快速軟執行的第一步是用戶喜歡的:
這需要某種形式的共識(或者一個中心化的定序器)來提供這樣的出色用戶體驗:
如果你只是依賴于像Celestia這樣的基礎層的共識,你就不能很好地保證這些關于排序和打包的軟承諾。如果共享排序層具有一個質押了大量價值的去中心化委員會,那么它可以在快速出塊(亞L1區塊時間)上提供相當強的承諾。
因此,一旦共享定序器創建一個區塊,用戶就可以得到軟確認。任何人都可以下載已達成共識的交易,并提前地將它們應用到狀態中。這種確認的強度取決于共享定序器的構造(去中心化、經濟安全、分叉選擇規則等)。一旦數據實際發布到基礎層,就可以將這些交易視為最終被敲定。然后可以生成狀態根和相關證明的最終計算并提交。
懶人Rollup(LazyRollups)
“懶人Rollup”非常簡單。這些rollup等到它們的交易全部被排序并發布到DA層,然后它們就可以下載這些交易,可選地應用一個分叉選擇規則來選擇一個交易子集,執行交易處理,并將這些交易應用到狀態中。然后就可以生成區塊鏈鏈頭并進行廣播。
注意,因為共享定序器不能以一種訪問完整狀態的方式產生區塊,所以它們沒有檢查無效的狀態轉換的功能。因此,使用共享定序器的“lazyrollup”的狀態機必須能夠處理無效交易。節點在執行已排序的交易以計算結果狀態時,可以簡單地刪除無效的/回滾的交易。實施即時執行的傳統rollup就沒有這種限制。
如果rollup要求訪問狀態來壓縮交易,再將它們打包上鏈,在這里是行不通的。例如,在這里rollup有一個區塊有效性規則,其中區塊中包含的所有交易都是有效的。如果rollup需要壓縮交易,但不需要狀態訪問,那么可以專門為這種類型的rollup創建一個特殊的共享定序器(例如,類似Fuelv2或具有私人交易池的rollup)。
支付gas
要讓這個共享定序器運行,必須有某種機制讓用戶為他們的交易打包到L1中而付費。可以簡單地使用大多數rollup交易類型中已經包含的現有簽名和地址來支付共享排序層的gas?費用。這將要求共享定序器了解不同實現所需的最小狀態,例如:解析簽名、nonce,從帳戶中減去氣體,等等實現。或者,支付可以涉及共享定序器上的一些封裝交易,任何人都可以為打包的任意數據付費。這是一個開放的設計空間。
分叉選擇規則
Rollup能夠繼承它們所使用的共享定序器的分叉選擇規則。然后,rollup的完整節點實際上是共享定序器的輕客戶端,它們檢查某些承諾,以表明對于給定的區塊高度,哪個rollup區塊是正確的。
然而,繼承共享定序器的分叉選擇規則是可選的——你可以簡單地要求rollup處理(不一定執行)提交到基礎層的所有交易數據。它將有效地繼承基礎層的抗審查性和活性,但這將犧牲許多用戶喜愛的共享定序器所擁有的功能。
MEV
假設一個rollup想要繼承其共享定序器的分叉選擇規則并獲得快速的軟執行,從MEV方面來說,這個共享定序器自然會處于一個非常中心化的位置。它決定rollup將遵守怎樣的交易打包和排序。
然而,并不是說rollup必須執行共享定序器提供的交易,或者按提供的順序執行。從技術上講,你可以允許自己的rollup運營節點執行第二輪處理,以便在執行之后對共享定序器發布的交易重新排序。然而,如上所述,你將會失去大部分首先使用共享定序器的良好特性,因此這種情況似乎不太可能發生。
即使在這種情況下,共享排序層仍然可能存在MEV,因為它有權打包交易。如果你真的想,你甚至可以允許你的rollup在第二輪處理中排除某些交易(例如,利用一些有效性條件來排除某些交易類型),但這當然會變得混亂,減少了抗審查性,并再次失去共享定序器的好處。
交換共享定序器
區塊鏈中難以分叉的是任何形式的有價值的共享狀態。看看像ETHvs.ETC或類似的ETHvs.ETHPOW,社會共識決定了什么是“真正的以太坊”。我們都同意的“真實”狀態是有價值的。
Circle將發行由歐元支持的穩定幣Euro Coin:6月16日消息,USDC發行商Circle宣布將于6月30日在以太坊上發行由歐元支持的、受監管的穩定幣Euro Coin(EUROC),今年晚些時候支持其他區塊鏈。自2022年6月30日起,機構客戶將可以通過免費的Circle賬戶使用EuroCoin,開發人員目前可以開始與EuroCoin智能合約集成。
AnchorageDigital、Binance.US、Bitstamp、Compound、Curve、CYBAVO、DFX、Fireblocks、FTX、HuobiGlobal、Ledger、MetaMaskInstitutional和UniswapProtocol將在EuroCoin啟動時給予支持。(prnewswire)[2022/6/16 4:32:52]
然而,共享定序器實際上只是一個服務提供者——它們沒有與之相關的有價值的狀態。使用給定共享定序器的rollup可以保留分叉的能力,只需要一個較小型的硬分叉就可以轉而支持其他排序機制(例如,當出現共享定序器提取了太多價值的情況)。這將有望保持共享定序器的競爭力。
網絡效應可能會讓這變得更具挑戰性。如果許多rollup都開始使用共享定序器,并且它們獲得了巨大的網絡效應(例如,如果他們從許多鏈的潛在跨鏈原子性中獲得了有意義的價值),那么除非其他rollup也愿意轉移,否則脫離這個網絡效應可能是很痛苦的。
好吧,Espresso剛剛公開宣布他們的共享定序器計劃。它可以利用EigenLayer再質押者來為其共識提供安全保障。為了更好地可視化,下圖為當前rollup的樣子:
下圖為rollup有了像Espresso這樣的共享定序器之后的樣子:
EspressoSequencer(ESQ)與Metro的總體思路非常相似。它的工作原理是一樣的——將交易執行從排序中剝離出來。除此之外,ESQ還將為交易提供數據可用性。
HotShot共識&Espresso數據可用性(DA)
簡單說一下背景,以太坊目前使用Gasper作為其共識機制(CasperFFG作為敲定工具LMDGHOST作為分叉選擇規則)。與此相關的“太長不讀”是:即使在大多數節點可能退出網絡(動態可用性)的悲觀條件下,Gasper也能維持網絡活性。它有效地運行兩個協議(CasperFFG和LMDGhost),這兩個協議共同維護一個具有敲定前綴的動態可用鏈。但是維持網絡實時活性的同時,Gasper犧牲了交易的快速最終確定性(在網絡允許的情況下盡可能快地確認交易的能力)。
總的來說,ESQ包括:
HotShot?—ESQ是建立在HotShot共識協議之上的,它優先考慮快速的最終確定性(樂觀的響應能力)而不是動態的可用性,不像Gasper。它還能像以太坊一樣,可以將支持的驗證者數量擴展到令人難以置信的水平。
EspressoDA?—ESQ還為鏈提供可選的DA選項。該機制也用于擴大他們的共識。
定序器智能合約?—這個智能合約作為輕客戶端驗證HotShot共識并記錄檢查點(對已排序交易日志中的點的承諾)。此外,它還負責管理ESQ的HotShotPoS共識的質押者。
網絡層?—使參與HotShot和EspressoDA的節點之間能夠進行交易和共識消息的通信。
RollupRESTAPI?—L2rollup用于與Espresso定序器集成的API。
讓我們仔細看看DA的情況。在樂觀的情況下,高帶寬節點將向所有其他節點提供數據,并且每個單獨區塊的可用性也由隨機選出的小型委員會提供支持。考慮到針對小型委員會的DDoS和賄賂攻擊的風險,可驗證的信息分散(VID)?將用于提供可靠(但速度較慢)的備份路徑以保證DA,只要所有節點中足夠高的比例(按質押計算)沒有受到攻擊。
這個系統是為擴容而構建的,因此ESQ希望為選擇其作為共享定序器的L2提供更便宜的DA。他們仍然會將他們的證明和狀態更新結算給L1以太坊,但請注意,這將使使用ESQ的鏈默認成為“validium”或“optimistic鏈”,而不是完整的“rollup”(即他們的DA不受以太坊L1的保證)。它比數據可用性委員會(dataavailabilitycommittees,dac)?的簡單實現更強大,但它比真正的rollup提供的安全保證要弱。
交易流程
定序器合約?—HotShot直接與其L1定序器合約進行交互。這個合約驗證了HotShot共識,并為其他參與者提供了一個接口來查看它已排序的區塊。該合約存儲的是一個只能追加的區塊承諾日志,而不是完整的區塊。然而,任何人都可以根據承諾驗證任何區塊。
L2合約?—每個使用ESQ的L2仍然有自己的以太坊L1rollup合約。為了驗證發送給每個rollup的狀態更新(通過有效性/欺詐證明),每個rollup合約必須能夠訪問已認證的區塊序列,這些排序過的區塊帶來確定的狀態更新。Rollup合約與定序器合約連接以查詢這些。
轉發到共享定序器的交易將被排序,然后在L1上敲定之前發送回rollup的執行器和證明器中。共享定序器還向其L1定序器合約發送對區塊的承諾,以及用于驗證區塊的一個證書。這允許L1rollup合約將rollup狀態更新證明與被認證為共識輸出的區塊承諾進行比較。
交易流程的完整視圖:
跨鏈原子性
正如Espresso文章中提到的,一個共享定序器可以提供一些和跨鏈原子性相關的令人興奮的用例:
“跨多個rollup的共享排序層有望使跨鏈消息傳遞和橋接更便宜、更快、更安全。無需為另一條鏈的定序器構建輕客戶端是一個免費的好處,沒有成本,這為前期創造了潛在的節省空間。通過移除給定rollup獨立地同步其他rollup共識的需要,跨rollup橋接也可以實現持續的節省。共享定序器還為橋接提供了安全優勢:它可以保證當且僅當(甚至同時)一筆交易在另一個rollup中被敲定時,該交易才會在它所在的rollup中被敲定。
另外,共享定序器增強了用戶在不同rollup交易之間表達原子依賴關系的能力。通常來說,Alice會在Bob的rollup-B交易t’之外簽署和發布她的rollup-A交易t。在這種情況下,Alice的交易可能會在Bob的交易之前很長時間被排序,讓Bob有一個長時間的中止選項(例如,中止交易)。這種可選性失衡可以通過共享定序器來緩解,其中Alice和Bob可以將兩個交易作為一個已簽名的捆綁包一起提交(即,定序器必須將這兩個交易視為一個)。”
隨著鏈上活動最終開始增長(我希望),這對跨域MEV?有影響。典型的例子是“原子套利”。同樣的資產在兩條不同的鏈上以兩種不同的價格進行交易。搜索者希望通過在沒有執行風險的情況下同時執行兩筆交易來從中套利。例如:
交易?1(T?1)—在Rollup1(R?1)上低價購買ETH
交易?2(T?2)—在Rollup2(R?2)上高價出售ETH
要實現原子套利=要么兩個交易都被填充,要么兩個都沒有被填充。如果兩個rollup都選擇到相同的共享定序器中,那么它可以為搜索者實現這種原子套利。在這里共享定序器可以保證:
T?1被包含在到R?1的指令流中,當且僅當:
T?2也包含在到R?2的指令流中
假設rollup虛擬機依次執行各自流中的所有交易(即沒有無效指令,只是一些指令可能會拋出錯誤,但不影響狀態),那么我們也可以保證:
T?1在R?1上執行,當且僅當:
T?2也在R?2上執行
然而,這和在共享狀態機(例如,完全在以太坊L1上)上進行交易仍然是不一樣的保證。如前所述,共享定序器不持有這些rollup的狀態,并且它們不執行交易。因此不能完全保證某個交易(在R?1或R?2上)在執行時不會回滾。
直接在此基礎上構建更高級的原語是有問題的。例如,如果試圖在此共享定序器之上構建一個即時“銷毀-鑄造”的跨鏈橋接功能,該功能同時在完全相同的區塊高度上執行以下操作:
燒毀R?1的某個輸入
在R?2上鑄造一個輸出
你可能會遇到這樣的情況:
R?1上的銷毀行為可能會拋出一個意想不到的錯誤,例如被別的交易執行導致無效,但是
R?2上的鑄造行為不會因為任何原因而無效,所以它會完全執行。
你可以看到這將是一個多么大的問題。
可能在某些情況下,只要這兩個交易都包含在輸入流中并因而被執行,就可以確定這兩個交易的預期結果,但情況往往不是這樣的。這是一個懸而未決的問題,這個過程可以:
保證?—T?1和T?2將包含在各自的流中,并且(可能)兩者都會執行。
不保證?—成功執行兩個交易和由此產生的預期狀態。
這種“保證”對于原子套利(搜索者已經擁有在每條鏈上執行這些交易所需的資產)來說可能是足夠的,但它顯然不是共享狀態機的同步可組合性。對于像跨鏈閃電貸這樣的東西來說,這種保證本身是不足夠的。
但是,當與其他跨鏈消息傳遞協議結合使用時,這在其他設置中可能仍然有用。讓我們看看在與跨rollup消息傳遞協議一起使用時,如何促進跨鏈原子NFT交換:
-T?1將ETH從U?1(用戶?1)移動到R?1上的SC?1(智能合約1)
-T?2將NFT從U?2(用戶?2)移動到R?2上的SC?2(智能合約2)
-當且僅當SC?1首先收到來自SC?2確認已存入NFT的消息時,它才會允許U?2贖回ETH
-當且僅當SC?2首先收到來自SC?1確認已存入ETH的消息時,它才會允許U?1贖回NFT
-兩個智能合約都實施了一個時間鎖,這樣如果任何一方失敗,各方都可以收回他們的資產
這里的共享定序器允許兩個用戶在步驟1中進行原子提交。然后,使用某種形式的跨rollup消息傳遞機制來驗證彼此的結果狀態,并解鎖資產以執行交換。
如果沒有共享定序器使其以原子的方式進行,雙方可以商定一個價格。但是U?1可以提交他們的交易,U?2可以等待并決定他們是否想要中止交易。而有了共享定序器,他們的交易是被鎖定的。
共享定序器實現的跨鏈原子性的內容大概就這么多。總結:
這里所提供的保證的確切強度和有用性仍未得到證實
這可能對跨鏈原子套利非常有用,同樣也可能對其他應用有用,如跨鏈swap和NFT交易(可能與其他消息傳遞協議結合使用)
提供額外的加密經濟保證?(例如,存入抵押品)來擔保某些類型的跨鏈交易可能會有所幫助
然而,你永遠不會對你的交易結果具有無條件的保證(你可以通過在共享狀態機上原子地執行交易來獲得)
關于跨鏈原子性的其他有趣的主題,我推薦查看:
Optimism的超級鏈?——他們也正探索如何跨OP鏈使用共性定序器。共享定序器可以達成共識,然后嘗試實現原子跨鏈交易。
Anoma——?HeterogeneousPaxos?和?Typhon?是非常不同的方法。
如前所述,Kalman的跨rollup強制打包交易。
顯然,這個坐標圖不是定律,一切都是高度主觀的,它非常依賴于確切的結構。但是總的來說可以這樣進行比較:
中心化定序器?——如果你完全控制系統,通常最容易實現你想要的任何功能。但是,在預確認強度方面具有次優的保證、強制退出可能是不可取的、活性也可能是次優的,等等。
去中心化的L2定序器?——與單一型定序器相比,質押了有意義的價值的分布式集合應該增加rollup的魯棒性。但是,可能會根據它的實現方式,需要以延遲等方式為代價(例如,許多L2節點可能需要在確認rollup區塊之前進行投票)。
L1負責排序?——最大化去中心化、抗審查性、活性等等。然而,它缺少一些特性(例如,快速預確認、數據吞吐量限制)。
共享定序器?——可以從中獲得去中心化定序器的功能;與其他人共享定序器可以從中獲益(得到某種程度的原子性);不需要啟動自己的定序器子集,等等。然而,在L1最終敲定之前的過渡時期,與L1排序相比,確實具有更弱的保證。此外,共享排序層可以將多個rollup中的委員會、經濟安全等聚合到一個地方(可能比每個rollup都有自己的委員會這種情況要強得多)。
最終,一旦區塊在L1敲定,所有rollup都會返回到100%的L1安全性。大多數定序器設計只是試圖在獲得L1結算的完全安全之前的過渡時期給用戶提供非常好的功能,但對狀態的保證力度較弱。他們都有不同的權衡。
去中心化構建者vs.共享定序器
當我們討論這些試圖為許多其他鏈處理交易的共享層時,這里的差異可能會變得非常令人困惑。特別是?SUAVE?作為“排序層(sequencinglayer)”這一組件經常和其他術語一塊出現,比如還有另一個組件是“針對rollup的去中心化區塊構建者”。需要明確的是——SUAVE與上面描述的共享定序器設計非常不同。
讓我們看看SUAVE如何與以太坊對接。SUAVE不會以任何方式被寫入以太坊協議。用戶只需將他們的交易發送到加密的交易池中。然后,SUAVE執行器網絡可以為以太坊(或類似的任何其他鏈)生成一個區塊(或部分區塊)。這些區塊將與傳統的以太坊中心化構建者的區塊競爭。以太坊區塊提議者可以同時監聽這兩種區塊,并選擇他們想要提議的區塊。
同樣,SUAVE也不會取代rollup選擇其區塊的機制。例如,rollup可以實現PoS共識子集,其運作方式可能與以太坊L1的運作方式大致相同。然后,這些定序器/驗證者可以選擇由SUAVE為他們生成的塊。
這與上文描述的共享定序器非常不同。**在共享定序器的設計中,rollup可以完全移除去中心化定序器的需要。他們只是簡單地通過添加Metro或ESQ之類的可選項來外包這個排序功能,并且可以選擇繼承這些共享排序層的分叉選擇規則。**以太坊、Arbitrum、Optimism等不會改變其分叉選擇規則,以選擇SUAVE進行所有的交易排序。
SUAVE并不關心你的鏈的分叉選擇規則是什么,也不關心你的區塊是如何被選擇的。它旨在為任何域提供最有利可圖的排序。請注意,與前面描述的共享定序器節點不同,SUAVE執行器通常是“完全有狀態的”(盡管它們也可能滿足某些不需要狀態的首選項)。他們需要模擬不同交易的結果,以創建最優排序。
為了解兩者的差異,在這里舉一個用戶想要進行跨鏈原子套利的示例。他們將交易提交給SUAVEvs.提交給共享定序器,獲得以下保證:SUAVE共享定序器
那么現在我們討論SUAVE如何與去中心化的rollup定序器、甚至共享定序器互動?Espresso似乎相信SUAVE與ESQ兼容,正如他們在文章中所描述的。ESQ旨在與私有交易池服務(如?SUAVE)兼容,這些服務可以作為區塊構建者。它看起來類似于我們在以太坊上使用的PBS:
共享提議者?=共享定序器
共享構建者?=SUAVE
與PBS一樣,構建者可以從提議者(即這里的定序器)那里獲得一個盲承諾,來提議一個給定的區塊。提議者只知道從提議區塊中獲得的總效用(構建者的出價),而不知道區塊的交易內容。
現在把它們放在一起,讓我們再回頭看剛剛想要做跨鏈套利的搜索者那個例子。SUAVE本身可以構建并發送到兩個不同的rollup:
包含交易1(T?1)的區塊1(B?1)——在Rollup1(R?1)低價購買ETH
包含交易2(T?2)的區塊2(B?2)——在Rollup2(R?2)高價出售ETH
但很有可能B?1贏得拍賣,而B?2輸掉(或反之)。然后,讓我們想一下,如果這兩個rollup被選擇到相同的共享定序器中會發生什么。
共享定序器節點基本上是愚蠢的。
他們不了解交易到底在做什么,所以他們需要有人(比如?SUAVE,或者其他MEV構建者)為他們構建一個完整的區塊,如果他們要提高效率的話。那么,SUAVE執行器可以將B?1和B?2提交給共享定序器,條件是這兩個區塊都可以被填充或被斃掉(即原子地執行或放棄這兩個區塊)。
現在你可以在整個過程中得到很好的經濟保證:
SUAVE=共享構建者?=可以保證B?1和B?2都被包含并以原子的方式執行時的狀態結果。
共享定序器=共享提議者?=可以保證B?1和B?2都被包含并以原子的方式執行了。
Hasu也針對再質押和rollup之間的權衡做了一些非常深思熟慮的回應,我鼓勵大家去閱讀一下。以下是他的回應的摘要:
Rollup由L1提供安全性/抗審查性/活性保障,但SUAVE不像大多數鏈那樣從中受益,因為?SUAVE鏈不是為普通用戶設計的。事實上,Flashbots正在研究如何積極地限制作為用戶橋接資產到SUAVE的需求。理想情況下,一條鏈主要是要求搜索者/構建者在那里保留足夠的運營資金。這可能遠低于針對用戶的傳統rollup所鎖定的資產額。此外,與針對普通用戶的鏈相比,強制通過L1進行狀態轉換對該鏈中的搜索者/構建者來說可能沒有那么有價值。
數據可用性(DA)是昂貴的,至少在今天。我們將看到EIP-4844在這其中如何發揮作用,以及隨后對的DA需求可能會增長。相反,我想提醒的是,對于代幣持有者來說,再質押可能更“昂貴”(即,如果費用收入低,并且需要增發代幣給ETH再質押者以激勵形成足夠的經濟安全模型)。一種對用戶來說更昂貴,而另一種對代幣持有者來說更昂貴。選擇哪一個,在很大程度上取決于任何潛在鏈的時機,以及當時以太坊DA層的成熟度。
SUAVE需要將從其他域的狀態轉換報告回主鏈(因此可以解鎖對執行器的條件式支付)。關于從以太坊L1和其他rollup讀取狀態的能力,rollup具有很好的信任最小化屬性。
但我有一個新想法——兩者都做怎么樣?再質押rollup。
這并沒有解決Hasu提到的所有問題,但它仍然是一個非常有趣的新選項,特別是從長遠來看。
相比于僅僅由EigenLayer的再質押者(更像是它自己在L1借來的安全)來提供安全保證,rollup可以利用這些EigenLayer的再質押者來維持它的本地共識,但是這個鏈隨后會回到以太坊(即,它向以太坊發布它的數據和證明)。
如前所述,rollup可以決定實現自己的本地共識,以便在真正的L1敲定之前,對短期預確認和抗重組實現更強的保證。那么,為什么我們不把這個rollup共識子集變成一組以太坊再質押者?現在兩樣都有了:
L1之前的最終確定性——高價值、去中心化的再質押共識,提供強大的短期內抗重組。
L1之后的最終確定性——仍然是一個rollup!它將其數據發布到以太坊,并且可以發布ZK/欺詐證明。
一旦L1敲定了,這與任何rollup的安全性是一樣的。這只是實現其自身共識的rollup的一種變體。只是,它沒有像前面描述的那樣,在其rollup上擁有自己的驗證者子集,并由自己的原生代幣保護,而是選擇讓以太坊的再質押者運行共識。
同樣,如果Celestia能夠在其協議實現某種形式的再質押,那將是一件很有趣的事情(目前的計劃是Celestia的L1是非常小的,并且沒有智能合約的功能)。我之前曾寫過,對于Celestia來說,寫進協議的rollup將是一個有趣的方向,而原生再質押將是另一個令人著迷的工具,允許自由市場決定他們想要加入什么功能。再質押對Celestia的經濟安全性方面也有幫助,因為可替代DA層的價值累積模型仍未得到證實。
上面提到的一些解決方案已經含蓄地處理了這個問題(例如,舉辦一個完全免費的公開拍賣),但顯然沒有一個rollup想讓它們的用戶被發起三明治攻擊。所以,我們可能需要一些創意。將拍賣的好處與可編程隱私結合起來會讓它變得更有趣。
這就是為什么中心化定序器現在也喜歡使用私有交易池——試圖確保用戶不會搶跑交易等等。但是實現去中心化并不容易。如果向許多定序器開放,你會相信它們運行自己的私有交易池?即使你相信,如果每個定序器都有自己的私有交易池,并且你需要開始輪換活躍的定序領導者,那也可能會有問題。
加密交易池是解決這些問題的一個很吸引人的研究領域。下面我簡單向大家推薦我剛發的這個帖子的相關信息:
https://twitter.com/jon_charb/status/1635837710605639683??s=?20?
Inthispost,I’lljustgiveabriefoverviewofsomevariationsofFCFSproposals.
在這篇文章中,我將簡要概述FCFS提案的一些變體。
需信任的中心化定序器繼續為用戶的交易運營一個私有交易池
定序器在收到每一個交易時都會為其標記時間戳
默認情況下,將在接收到交易后500毫秒內執行交易
用戶可以選擇為他們的交易支付額外的優先打包費用,給這個交易一個“時間加速(timeboost)”,可以最多減少500毫秒
Timeboost的計算公式如下:
其中:
F=交易的優先打包費用
g=可用的最大時間加速(?500毫秒)
c=待確定的常數
目前,搜索者只能通過盡量減少對Arbitrum定序器的延時來表達他們對快速打包到定序器的偏好(打開許多連接、在物理上接近它、在基礎設施方面投入資本等)。TimeBoost反而會減少對上述延時優勢進行投資的動機,因為搜索者現在可以通過優先打包費用競價來表達他們對快速打包的偏好。
這是對簡單FCFS的明顯改進,但在我看來仍有一些缺點:
這減少了對延時競爭的激勵,但它并沒有消除它。最小化延時總是允許搜索者出價低于競爭對手,并且上面圖表的弧線顯示,延時優勢對于高價值的MEV機會來說特別有意義。
不清楚交易池隱私和時間戳如何有效地去中心化。
搜索者的出價缺乏更多其他表現。搜索者只能為更快的打包而競價,但他們無法表達更復雜的偏好,這將是更靈活的顯式拍賣(例如當前以太坊L1)的情況。
與此相關的是,如果在這個級別實現,將沒有能力恢復失敗的競標。
Themis的一個頻繁batch拍賣風格的變體。在這個方案中:節點向領導者報告部分排序,然后領導者將這些聚合到一個未排序的batch中。在設定的批次時間"公平粒度"內(例如,也可以是500毫秒),所有交易都假定是在同一時間發生的。
然后領導者通過某種形式的拍賣來解決批次內的弱排序問題。
與TimeBoost提案類似,有一些嘗試保證相對較快的打包時間(建議小于500毫秒,但可以更改),并防止通過可信節點搶跑。同樣,它通過允許搜索者來表達他們的偏好(優先打包費用機制),減少了對延時競爭的激勵(盡管并沒有完全消除所有優勢)。
對于“快速搜索者”來說,在給定batch結束時,其他“慢速搜索者”無法與之競爭的延時優勢仍然存在:
TimeBoost——較低的延時是總是有利的(較低的延遲=總是可以有較低的平均出價)。
FBA-FCFS——較低的延時有時是有利的(當“慢”和“快”搜索者之間的小差距顯示出相關信息時)。
關于時間延時:
TimeBoost——所有用戶的交易在收到時默認延遲了500毫秒的速度。
FBA-FCFS——Batch處理時間為500毫秒,因此在窗口期間收到的用戶交易可以包含在其中,距離中間點平均<500毫秒
FBA-FCFS帶來更多的可變性(例如,交易可能會根據接收時間滑到下一個batch),但不支付優先打包費的常規用戶交易的平均打包時間應該更低。在TimeBoost模型中,時間是連續的(沒有區塊的概念),而在FBA-FCFS模型中,時間是離散的。總的來說:
結論
希望讀者現在對定序器去中心化的路徑和相關的障礙有了個較為清晰的框架。這是rollup在未來幾年走向成熟時需要應對的眾多挑戰之一。
其他一些有趣的探索領域包括:
不同層的交互——隨著定序器去中心化,它們如何與交易供應鏈的不同部分交互?什么類型的拍賣(例如,SUAVE)應該插入一個去中心化的定序器子集(例如,共享定序器)?
交易費用機制——多維度資源定價vs.狀態定
L2費用市場——收取“L2原生”費用(例如L2堵塞費用)和“L1原生”費用(例如L1數據可用性費用)
ZK證明者市場——如何正確激勵去中心化和無需許可的ZK證明者市場。這是L2費用的一個重要子集,在其他背景下也會有相關的地方。
Rollup的商業模式——Rollup代幣和構建它們的團隊如何積累價值并實現可持續性。
可升級性和治理——去中心化這些組件和減少信任假設,同時保持系統的靈活性。
欺詐/ZK證明——構建更具有魯棒性的機制,比如使用多個證明者機制。
感謝BenFisch、JoshBowen、Cem?zer、KelvinFichter、ZakiManian、Hasu、RobertMiller、TarunChitra、SreeramKannan,以及其他許多人圍繞這個話題的精彩討論。
原文鏈接
周一主要大盤BTC調整,拖累市場,但山寨幣在ETH護盤下,山寨幣的跌幅不大,目前ETH強于BTC,限制市場下跌空間,市場還處于平穩狀態,短期風險有限,并且經過昨天調整后,今天有機會止跌反彈.
1900/1/1 0:00:00尊敬的XT.COM用戶:BSC錢包升級維護已完成,XT.COM現已恢復BSC鏈上代幣的提現業務.
1900/1/1 0:00:002023年3月份,根據Luffy(LUFFY)官方要求,Gate.io為Luffy(LUFFY)按照1,000,000:1兌換為新合約代幣,目前已完成代幣縮減.
1900/1/1 0:00:00行情昨天維持高位震蕩,本月主要需要關注的點已經可以從經濟數據轉移到ETH質押率的變化上,ETH解質押提款在15,16日大幅增長之后,目前已經出現了下滑.
1900/1/1 0:00:00ForesightNews消息,Solana發文稱,北京時間2月25日大約13:46:16,Solana主網Beta集群降級的原因是主要區塊傳播協議「Turbine」的擁堵.
1900/1/1 0:00:00Stacks是一個建立在比特幣之上的區塊鏈平臺。這意味著Stacks可以利用比特幣的安全性和穩定性,同時還提供新的特性和功能。Stacks的關鍵特性之一是它支持智能合約的能力.
1900/1/1 0:00:00