為什么 Based Rollup 需要預確認(Preconfs)技術?
作者:LindaBell來源:chainfeeds
2020年10月,Ethereum聯創Vitalik發布了「以Rollup為中心的Ethereum路線圖」。截止目前,我們已經處于一個多Rollup生態系統中。雖然EthereumRollup路線圖帶來了改善用戶體驗等顯著優勢,但其也引發了一系列新挑戰。例如,開發者在面對多樣化Rollup生態時,常常需要應對碎片化和決策困境。此外,中心化的排序器還帶來了交易審查和MEV利用等問題,導致部分用戶面臨不公平的成本或操作體驗。
為了解決中心化排序器的問題,目前的主流方案包括共享排序器和BasedRollup。共享排序器雖然能為多個Layer2提供統一排序服務,但作為第三方,存在信任和激勵機制問題。BasedRollup通過依賴EthereumL1的提議者排序,提升了Decentralization程度,但其交易確認時間依賴于EthereumL1的區塊時間(約12秒),無法實現快速確認。預確認的歷史淵源
預確認(Preconfirmations,或稱「Preconfs」)可以被理解為「在正式確認前提供可信的預告」。舉個簡單的例子,當你打電話預約餐廳時,餐廳確認了你的預約。這其實就是一種預確認行為:你還沒到餐廳,但是你已經得到了一個可信的承諾,確保在指定時間有位置吃飯,從而可以省去排隊的時間去做別的事情。
其實預確認并不是一個新概念。早在Bitcoin發展初期,為了讓Bitcoin更易于使用,Bitcoin社區就提出了「0conf」的概念,指的是在Bitcoin網絡完全確認交易之前,該交易就可以被視為有效,從而減少交易最終確認的等待時間。2023年,UriKlarman將這一思路引入Ethereum,提出了「鏈式預確認(ChainedPreconfirmations)」概念。其核心思想是,未來的預確認者不僅可以預先確認當前的交易,還可以繼承之前所有預確認者已經做出的預確認。隨后Primev進一步探索了這一概念,提出了一種新型的競價機制「預確認(pre-conf)」,讓區塊構建者聯盟承諾在特定時段內包含某筆交易的最有效方式,允許用戶參與預確認競價。
(Primev 正在構建mev-commit。mev-commit是一個專門用于協調MEV交易的Decentralization平臺,通過實時加密承諾和高效的執行出價機制,幫助用戶和提供商確保交易的可靠性和速度,適用于需要快速確認和執行的復雜交易場景,如預確認和其他高頻交易策略。)
JustinDrake則進一步推動了這一概念的發展,提出了「Basedpreconfirmations」的理念。當前L2多采用中心化排序器,其最大的優勢是可以為用戶提供預確認,這個確認表示排序器已經承諾將用戶交易包含在未來區塊中。不過,該確認并非是一種最終性確認,用戶仍可能會遇到交易被重新排序或取消的情況。而JustinDrake提出的「Basedpreconfirmations」機制,目標是提供即時的預確認的同時讓L1完成Decentralization排序(BasedRollup)。Basedpreconfirmations機制的提出與優化
BasedRollup概念最早由Vitalik在2021年發布的文章「AnIncompleteGuidetoRollups」中提出。在這篇文章中,Vitalik引入了「TotalAnarchy」的概念,描述了一種完全Decentralization的環境,在這種環境中,任何人都可以隨時提交交易批次(batch),沒有任何限制。
2023年3月,JustinDrake發布了文章「Basedrollups—superpowersfromL1sequencing」,進一步明確了BasedRollup的概念。當Rollup的排序由L1驅動時,稱其為BasedRollup或L1排序的Rollup。在這種架構下,Rollup區塊的生成和排序是通過L1上的提議者進行的,L1的提議者可以與搜索者和構建者合作,將Rollup區塊直接包含在L1區塊中。值得注意的是,默認情況下,BasedRollup區塊由L2構建者構建。因此,BasedRollup并不會增加L1驗證者的負擔。
通過將交易排序的責任轉移到L1,BasedRollup繼承了L1的安全性和活性,同時優化了L2的性能。這種機制帶來了許多優勢,例如可以減少L2的基礎設施和運維成本。不過,也存在一些挑戰,比如大部分BasedRollup的MEV收益會流向L1。但這實際上并不構成問題,因為中心化Rollup的主要收入來源于L2交易費用和MEV機會,前者是主要收入來源,后者則需要大量的基礎設施和高昂的維護成本。BasedRollup保留了L2交易費用這一主要收入來源,同時將提議者的角色外包給L1構建者,從而減少了基礎設施和運維成本。另一個挑戰是BasedRollup無法實現交易的快速確認。由于BasedRollup的交易確認時間完全依賴于EthereumL1的區塊時間(目前約為12秒),這與中心化排序器提供的快速軟確認形成了鮮明對比。
為了解決BasedRollup中交易確認速度的問題,JustinDrake在2023年11月提出了「Basedpreconfirmations」,通過Slash執行的方式為BasedRollup提供預確認。在最初的設想中,JustinDrake提出了兩個關鍵前提,一個是L1提議者必須選擇加入額外的懲罰條件才能成為預確認者(重質押機制),另一個是L1提議者必須能夠強制將交易包含在鏈上(inclusionlists)。
隨后,JustinDrake對該設想進行了優化,允許Rollup使用EthereumL1進行共享排序和預確認,更簡單而無需硬分叉。在新的提案中,一部分驗證者自愿成為排序者,不愿進行排序的驗證者則成為了「includers」,他們可以包含交易但不對其排序。而排序者可以重新排序includers的交易,甚至在其中插入更多的交易。用戶可以選擇兩種方式來提交交易:一是將交易發送至備用內存池,支付少量費用讓includers包含其交易;二是與下一個排序者溝通,支付更高的預確認費用以請求預確認。如果排序者未能在指定的slots內結算交易,includers仍然能夠處理這些交易。
與最初的提案相比,優化方案直接利用EthereumL1的經濟安全性,允許L1提議者自愿成為排序者,而無需額外的懲罰措施,減少了對額外的基礎設施的依賴。
為了提升效率,Taiko引入了預確認機制。提議者可以在正式提交區塊之前向網絡中的其他參與者發布預確認信息,告知哪些交易將包含在即將生成的區塊中。此外,提議者還可以定期向區塊構建者發布按順序排列的小批次預確認,而構建者可以選擇將這些已經獲得預確認的交易分批次發布至L1,而不是一次性發布一個大的數據塊,從而降低數據發布的成本。
此外,在Decentralization提議者系統中,可能會出現多個提議者同時嘗試提交包含相同交易的區塊的情況。如果遇到這種情況,其中只有一個區塊會被L1接受,而其他區塊會被回滾,而失敗的提議者則會損失區塊費用。為了避免這種潛在的沖突,Taiko引入了領導者選舉機制。在任何給定時間內,只有一個提議者被推舉為領導者,擁有最終確認區塊的獨占權。這樣可以確保由領導者創建的區塊被添加到Blockchain中,而其他提議者的區塊則會被棄用,從而防止多個沖突區塊的出現,并避免失敗的提議者損失提交區塊的費用。PufferUniFi:致力于重塑Decentralization應用鏈生態
PufferFinance也推出了基于預確認機制的PufferUniFi解決方案。作為BasedRollup,UniFi上的交易排序外包給了EthereumL1,而PufferUniFi的預確認機制則是通過Puffer的原生重質押驗證者來實現的。
此外,為了簡化用戶體驗,及更好的協調預確認請求,研究人員還在探索引入預確認網關,以將預確認的復雜性從用戶中抽象出來。通過網關,提議者可以將他們的預確認權利委托給網關。網關負責執行更復雜的任務,如與用戶通信、保持完整Node的正常運行時間等。值得關注的預確認Gateway項目包括 Aestus、Titan和 UltraSound。
面對當前Rollup生態中的流動性割裂問題,BasedRollup被廣泛視為一種有效的潛在解決方案。例如,CinneamhainVentures合伙人AdamCochran就曾發布推特稱,BasedRollups是解決EthereumLayer2經濟問題的潛在方案。而預確認則在提升BasedRollup的用戶體驗方面起著至關重要的作用。隨著一些主要協議逐步取得積極進展,我們也將持續關注這一領域的最新進展。