以太坊如何解決 L2 流動性分散問題?
來源:白話區塊鏈
爲什么流動性必須無縫流動?
上個周末,我所有的Farcaster朋友都在談論一個熱門的新幣 ,Base上的DEGEN。感受到了FOMO(恐懼失去的情緒),我查看了我的Rabby錢包,看看我可以投資多少:
"很酷,我可以投入$500到這個幣種,只是需要賣掉一些其他資產。不過,我的投資組合看起來是什么樣子的呢?"
"Oh NO"
幾乎每個Token都在不同的第二層網絡上。爲了獲取 DEGEN,我必須依次執行多個橋接和交換操作,即使手續費很低,這仍然是一小時令人沮喪的橋接和交換過程。
我們必須解決這個問題,我們的北極星是讓整個以太坊生態系統感覺像一個網絡。讓我們看看統一的流動性,再加上錢包升級,如何將橋接抽象化,並使跨鏈第二層體驗感覺像使用單一鏈一樣。
1、橋接本不應該需要這樣做
爲什么目前的橋接如此糟糕?這裏存在一些缺陷:
你必須訪問一個單獨的網站,連接錢包,批准轉账,轉账後祈禱它能到達另一端……
橋接通常需要 5 到 30 分鐘才能完成,這遠遠太慢了。少於 10 秒是可以實現的,也是理想的。
大多數橋接需要在兩個網絡上鎖定流動性。我們擁有的第二層網絡越多,流動性就會越薄弱。流動性不足使得在鏈之間轉移大量資金變得困難,並且結果會導致價格更低。
只有某些具有流動性的Token可以進行橋接,對於大多數網絡來說,這是 ETH + 穩定幣。
還有一種不需要鎖定流動性的封裝Token橋接。它可以支持任何Token。然而,在橋接之後,你會得到你所需Token的非本地版本,必須將其與真實的Token交換才能在新網絡上使用任何應用程序,這需要流動性,因此我們最終陷入了同樣的困境。
最重要的是,如果橋接確實不需要這樣做,爲什么我們要集體浪費數百萬小時去做它呢?
2、錢包和應用程序應該自動處理橋接
當你使用去中心化交易平台或借代協議時,它應該跟蹤你在所有鏈上的Token。當你存入來自另一條鏈的Token時,它應該自動在後台將其橋接到正確的鏈上,使整個過程感覺與以太坊主網完全相同。
應用程序和錢包想要實現這一點,但是底層基礎設施還不夠好。如果這個橋接過程需要花費10分鐘,而且你在過程中損失了1%的Token,大多數用戶會對這種體驗感到不滿意。
讓我們深入探討基礎設施層,看看如何解決這個問題。
流動性如何無縫流動
在L2網絡中,流動性可以通過以下3種主要方式進行統一,並且有一種增強方式可以提高它們的速度。這些方法有不同的權衡,但彼此互補。
它們是:
1)共享生態橋接:實現整個生態系統鏈上的流動性無縫聚合。
2)鑄造/銷毀Token:可以在任何支持的鏈之間以無限大小進行轉移。
3)本地橋接相互信任:實現跨生態系統的流動性無縫聚合。
共享生態系統橋接
當你從以太坊主網橋接到任何第二層網絡時,過程大致如下:
每個橋接都是以太坊上的一個智能合約,我們稱之爲“本地橋接”。當你橋接到第二層網絡時,你的資產將被鎖定在L1上,並在L2上鑄造出一份副本。這些網絡有權鑄造任何其本地橋接支持的資產的無限數量。
盡管它們具有相同的名稱,並且明確不被稱爲封裝資產,但通過鏈的本地橋接從以太坊橋接到任何L2的每個資產實際上都是封裝資產,因爲合約地址,有時甚至代碼都是不同的。在以太坊上,USDC的合約地址以0xa0b8开頭,而在Arbitrum上以0xaf88开頭,在Optimism上以0x0b2c开頭,在Polygon zkEVM上以0xa8ce开頭。
這些資產看起來和感覺都是相同的,因爲錢包和應用程序有一個官方資產列表,其中包含官方圖像以供顯示,所以用戶永遠不會知道其中的區別。
如果不是爲每個L2都有一個橋接,而是它們共享一個橋接會怎么樣呢?資產可以在一個稱爲interop層的共享鏈上鑄造,然後在最終目的地L2上鑄造它們。
Polygon將這種新設計稱爲“聚合區塊鏈”。
這種設計有什么用處呢?在這個生態系統中,當將資產從一條鏈移動到另一條鏈,比如從Polygon zkEVM到OKX X1時,不需要通過傳統的橋接或首先橋接回以太坊。相反,你可以銷毀該資產,並讓interop層在目標鏈上鑄造相同數量的該資產!
通過這個interop層橋接的每個資產現在在生態系統中的每條鏈上都完全相同。假設interop層是免費且速度快的(Polygon表示他們的將在<20秒內完成),你將能夠在幾秒鐘內免費地在生態系統中的任何L2之間無限大小地橋接資產!
Polygon和zkSync都在爲他們的生態系統开發這種interop層設計,從Optimism的設計文件中可以看出,它們似乎也在追求這個設計,盡管尚未確認。
缺點是它只適用於一個生態系統,並且需要所有鏈使用一個橋接,這增加了風險,但是在生態系統中讓流動性在所有鏈之間無縫流動的獎勵遠遠超過了這個缺點。
因爲所有Token在生態系統之間是可互換的,所以你的錢包不需要顯示你所在的鏈或者按鏈分开Token。相反,你的錢包可以是這樣的:
一個統一的錢包在一個統一的鏈上
在跨多個鏈執行交易時,您的錢包可以簡單地顯示您正在使用“Polygon”網絡,並在後台自動執行所有橋接操作。
如果這個設計如此出色,爲什么不早些實現呢?ZK證明直到最近才足夠快速和廉價,才使得這一切成爲可能。Interop層使用ZK證明進行所有的鑄造/銷毀操作,因此可以在幾秒鐘內完成,而無需任何挑战期。
優勢:
-快速、簡單、標准的方式在鏈之間轉移Token
-可以移動任意數量的Token,無滑點
-可能完全免費使用
劣勢:
-只在單個生態系統內起作用
-一個橋接是整個生態系統的單點故障/攻擊目標
-必須從一开始就進行設計,不能在現有生態系統中進行重大更改
3、鑄造/銷毀Token
與依賴共享生態橋接不同,鏈可以將橋接留給Token。Token需要實現鑄造/銷毀功能,並允許用戶隨時銷毀Token,在另一條鏈上進行鑄造。
將DAI從zkSync移動到Polygon,而不使用以太坊主網
將DAI從zkSync移動到Polygon,而不使用以太坊主網,可以通過諸如Layer Zero或Chainlink CCIP之類的中間件發送這些鑄造/銷毀消息。Layer Zero正在开發一個名爲Omnichain的項目,該項目將允許Token實現這一功能。
一些Token已經實施了這個系統。Circle最近推出了他們的跨鏈轉账協議(CCTP),該協議正是爲USDC在8個不同網絡之間實現這一功能。
由於USDC在許多網絡上具有高流動性,並且沒有流動性可用上限,它可能是在鏈之間移動資產的完美橋梁。錢包可以交換你想要橋接到的Token爲USDC,使用CCTP將該USDC進行橋接,然後在目標鏈上將其交換回你想要的Token。這可以在錢包自動處理的情況下進行,並且收取很少的費用或滑點。
將流動性統一留給Token的缺點是,由個別Token來實現它,錢包和應用程序必須知道哪些Token可以自動橋接,哪些不行。
這還要求Token等待鏈的最終確定,然後才能發送該Token,這可能需要幾分鐘到幾小時,具體取決於數據寫入以太坊的頻率。如果Token不等待最終確定,它可能會被雙倍消費,即在目標鏈上鑄造,然後在發送鏈上的重組中被撤銷。
另一個需要考慮的風險是,Token的安全性依賴於每個鏈和中繼系統的安全性。如果一個L2被攻擊,它可能會通過向其他鏈發送惡意消息(例如,聲稱它銷毀了一個Token,而實際上沒有)來鑄造新的Token。如果Token的中繼或預言機被攻擊,也可能發生同樣的情況。這將導致Token在所有鏈上都出現故障。
在Cosmos生態系統中以ICS-20實現了跨鏈Token。它通過跟蹤Token到達當前鏈的路徑來解決了“一個鏈破壞所有鏈上的Token”的問題。如果TokenX通過鏈A -> B -> C發送,而一些XToken通過A -> C發送,然後鏈B受到攻擊,第一組XToken將變得毫無價值,但是同一XToken的第二組仍然具有價值,因爲它們沒有跨越鏈B。這會帶來Token可替代性的額外問題,需要錢包和應用程序來解決,但這是一個解決方案。
優勢:
-Token可以自由地在任何L2鏈之間移動
-可以移動任意數量的Token,無滑點
劣勢:
-鏈必須安全,一個受損的鏈可能會在所有鏈上破壞該Token
-錢包必須了解每個個別Token的功能,以簡化用戶體驗
-Token必須等待最終確定才能移動,這需要幾分鐘,有時甚至幾個小時
4、相互信任的本地橋接
具有ZK橋接的L2鏈可以通過相互信任其他L2鏈的本地橋接來實現快速、免費的Token轉移。這可以通過用戶在一條鏈上銷毀一個Token,然後使用銷毀證明通過另一條鏈的本地橋接鑄造該Token來實現。
例如,如果Scroll審查了Linea橋接並認爲它是安全的(且無法通過升級使其不安全),他們可以設置一個監視Linea橋接L1狀態根的服務,允許Linea上的任何用戶發布他們在Linea上銷毀Token的證明,並且這個銷毀交易被包含在L1狀態根中,並在Scroll上鑄造等值的Token。
在兩個L2之間移動任何Token,而不使用以太坊主網
鏈之間相互檢查狀態的過程在 Vitalik 的這篇文章中有更詳細的技術說明。
這與先橋接回以太坊然後再到其他L2的方法類似,但這種方法節省了昂貴的L1 gas費用。
現在的風險是這些本地橋可能不會與在L2上鑄造的Token數量完全一致,這是一個核心屬性,直到現在還沒有被破壞。在上面的例子中,如果一個用戶將1百萬美元的DAI從Linea移動到Scroll,那么Scroll橋將缺少1百萬美元的DAI,如果一個用戶希望從本地的Scroll橋中提取大量Token,那么可能不會有足夠的Token可用。橋接可以通過彼此之間進行批量的L1Token轉账來協調這些差異,或者始終在它們之間保持雙向信任,因此即使Scroll橋被清空,大鯨魚仍可以通過Linea橋提取資金。
優勢:
-Token可以在受信任的鏈之間自由移動
-可以移動任意數量的Token,無滑點
劣勢:
-如果一個橋被破壞,它可能會危及所有信任它的橋
-橋的鎖定Token數量與其網絡上鑄造的Token數量可能會不同。這可能會導致提取資金時出現問題。
5、一個經濟上安全的快速確定性層
這三種方法具有很好的擴展性和安全性特性,但有一個缺點會嚴重減慢轉账速度——等待最終確定。最終確定一個區塊需要發送網絡將其數據寫入以太坊,這可能需要多達一個小時,然後以太坊再次確定,這可能需要多達另外15分鐘。
通過經濟激勵,我們可以創建“軟最終確定性”,其中一筆交易由經濟價值多於它的價值的節點最終確定。這可以通過節點在類似Eigenlayer的服務上抵押來實現,它們的抵押可以被削減,並且證明交易已最終確定。如果交易以某種方式被還原,那么這些節點將被削減,並且這種削減可能被用來填補由還原引起的漏洞。
這樣做的好處是交易可以在幾秒鐘內完成軟最終確定,大大加快了所有跨鏈Token轉移的速度。
這是Near正在努力實現的。與其需要將發送/銷毀的證明寫入以太坊L1並最終確定不同,相反,證明被寫入到一個NEAR快速確定性鏈中,最終確定性由Eigenlayer的質押者保證,如果有回滾或還原,他們將被削減。這條推文线程對它的工作原理進行了進一步詳細的介紹。
讓我們看看這個快速確定性層如何改進所有三種Token轉移方法:
1)Interop層已經是一個快速確定性層,由生態系統團隊(如Polygon、zkSync等)管理。它允許生態系統內的轉账在幾秒鐘內完成。
2)當Token在層之間進行鑄造/銷毀時,不必等待交易在以太坊上最終確定,這可能需要多達20分鐘,而快速確定性層可以證明交易已完成且不會被還原,並且如果有的話,進行證明的節點將被削減。然後,目標鏈可以信任該層,在其對交易進行證明後立即進行鑄造。
3)同樣,當網絡信任彼此的橋時,它們可以通過這個快速確定性層解決Token轉移,而不是等待以太坊,並且可以以與Token發送相同的方式使用證明者。
優點:
-Token轉移可以在幾秒鐘內最終確定並完成。
缺點:
-不清楚削減如何用於修復由於雙倍花費引起的還原造成的漏洞。
-依賴一個不是以太坊的次要鏈來保證安全。
6、一個未來的錢包體驗
在實施了這些新的統一流動性改進之後,跨L2錢包要感覺像是在使用一個鏈上還有哪些步驟?剩下的兩個最大的問題是跨鏈Gas和將應用程序與此系統集成。
跨鏈Gas共享
如果用戶不斷在多個鏈之間移動,他們如何在所有這些鏈上獲取Gas來支付轉账費用?
這正在通過账戶抽象(也稱爲EIP-4337)和支付中心來解決。支付中心是一個可以要求爲您支付交易費用的地址。一些錢包,如Avocado和Ambire,允許您預加載Gas余額,然後在任何鏈上使用此Gas,類似於預付借記卡。
另一個簡單的解決方案是Bungee Exchange Refuel,它將一條鏈上的Gas轉換成另一條鏈上的一點Gas。這比支付中心的UX差,會讓用戶在許多鏈上留下一點點Gas,但對於EOA账戶(標准非智能合約账戶)來說是有效的。
應用程序支付Gas費用
支付中心還可以解鎖應用程序本身運行支付中心並支付所有用戶交易費用的能力。這將允許任何人在自己的鏈上使用應用程序,而無需橋接。應用程序可以通過其他方式獲利,例如銷售需要Token的高級商品,或者擁有免費的演示模式,但必須支付完整體驗的費用。
使應用程序輕松利用統一的流動性
許多應用程序通過調用每個已知ERC-20上的balanceOf來加載用戶Token余額,這是一個緩慢的過程,並且不支持跨鏈。它們基本上對可能從其他網絡橋接的Token一無所知。
這個問題應該在錢包層面解決,這樣每個應用程序就不必爲支持多鏈未來而重新發明輪子。EIP-2256引入了一個標准函數,錢包可以實現它,這樣可以一次加載所有Token余額,盡管目前僅支持單鏈。
如果一個錢包是多鏈感知的,並且知道從一條鏈到另一條鏈的橋接Token的方法,它可以立即告訴應用程序用戶擁有這些可橋接的Token,並且當用戶與應用程序交互時,錢包會立即在執行交互之前進行橋接。這可以使用上述任何一種機制來橋接Token。
7、小結
希望現在您對未來如何更順暢地在L2之間流動流動性有了更好的理解,以及錢包如何利用這些新技術完全擺脫鏈的束縛,從而使使用以太坊像在2020年那樣簡單,而不會受到高額Gas費用的困擾!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。