三月將會是Rollup 擴容方案的高光時刻。從進度看各個 Rollup 方案已經蓄勢待發,有些方案已經明確將會在3 月上線,而Rollup 擴容方案的上線,將會為行業帶重大影響。

但由於 Rollup 之間難以互通,這就造成了以太坊生態的割裂,不同協議之間難以實現協同性,對DeFi 非常重要的可組合性也將支離破碎。那有沒有辦法解決這個問題呢?

今天聊一聊幾種想要解決跨Rollup 交互問題的方案,看看如何將不同Rollup Layer2 擴容方案連接起來,保持協議間的可組合性和協同性。

一、 Rollup 蓄勢待發

之前我們已經介紹了Optimism、ZkSync、Arbitrum 以及StarkEx 這四種主要的Rollup 擴容方案,這裡再進行簡要敘述,以作為背景。

四種Rollup 方案的詳細內容,可以點擊查看:《四種主流Rollup 方案及熱門DeFi Layer 2 進展盤點》。

不同的Rollup 方案和DeFi 協議的選擇

目前四種主要 Rollup 擴容方案各自都吸引到了一批生態用戶,其中:

Optimism 吸引了來自Uniswap、Compound 的目光,更是在主網預啟動之後,得到了合成資產交易平台Synthetix 的深度參與。

Curve、StablePay、GitCoin 採用或計劃採用Matter Labs 的zkSync 方案作為擴容選擇。

Offchain Labs 所創建的Arbitrum,有多個DeFi 項目已開始測試或有計劃使用,包括Bancor、Bounce、DODO、麥子錢包、Burgerswap、Hop、MCDEX 和Swapr 等。

StarkEx 一邊,也不乏戰友。去中心化合約交易平台dYdX 會使用StarkEx 所支持的Layer2 網絡,還有Paraswap,DeversiFi 等應用,也會使用StarkEx 的方案。

各Rollup 擴容方案進展如何?

Optimism 二月份宣布完成A 輪融資, 領投方為Andreessen Horowitz (a16z),將於三月份上線主網。

Arbitrum 由學術性研究計劃而肇始,在計劃進入商業化階段時,曾申請專利。團隊近日表示,在徵得普林斯頓大學同意後,考慮到項目進入社區成熟階段,將放棄專利。 Arbitrum 也公告主網處於即將上線階段。

zkSync 項目的創始團隊Matter Labs 也公開了A 輪融資的信息,“聯合廣場風投(USV)領投該輪,此前的投資者Placeholder、1kx 和Dragonfly 繼續參與本輪,除此之外還有zkSync的生態合作方參與了投資,其中包括Aave、Balancer、1inch、Curve、Binance、Coinbase Ventures、火幣、路印、Argent、MYKEY、imToken、Flexa、MoonPay、ripio、ZKValidator、CoinGecko”。 Matter Labs 表示,zkSync 將於今年支持圖靈完備的智能合約(Solidity)。

二、 Rollup 導致生態割裂

大多數DeFi 協議都是基於智能合約而創建的,這些智能合約部署在Layer1 的以太坊上,並通過各自的方式,連接到自己的Layer2 網絡。

對用戶來說,將資金存入智能合約,開始使用這些Layer2 網絡,智能合約會記錄所有的交易變化,用戶在Layer2 網絡上使用,能提升效率,降低成本。

但是如果Synthetix 和Uniswap 分別存在於不同的Layer2 網絡上,那麼彼此之間可能就處於各自的孤島,如何交互會成為問題。

如何讓不同的擴容方案連接起來,保持DeFi 協議最為人所知的可組合性和協作性?

在幣乎社區的一次線上AMA 中,Vitalik 提到了目前Rollup 等Layer2 方案需要解決的兩個問題:

以太坊的社區很多應用喜歡調用智能合約,比如DeFi 的項目。但目前的ZK Rollup 不支持智能合約,只支持發幣、交易幣等簡單的應用。這是第一個問題。當我們有支持完整EVM 的Rollup 的時候, 我覺得會有更多的用戶搬到Rollup。現在Rollup 相關的基礎設施生態還不多。比如我們還沒有解決不同的Rollup 之間交易的問題。如果我有一些幣在ZKsync 怎麼把幣搬到路印?首先需要把幣從ZKsync 的二層提取到以太坊底層,然後再轉移到Loopring 的二層賬戶。如果這樣做了,交易費會不會特別高?

現在以太坊上會有很多用戶體驗方面的挑戰(問題)。但我覺得6個月之後很多這些問題都會解決。

那麼如何解決?

三、 Vitalik 提案:如何實現跨Rollup 轉賬

幾天前以太坊聯合創始人Vitalik Buterin 提了個想法,將不同的第二層擴展解決方案連接起來,這樣它們就可以相互“交談”,以保持DeFi 協議的可組合性和協同性。

假設存在兩個Rollup:A 和B。用戶Alice 想要將Rollup A 上的一些代幣,換成Rollup B 上的另外一些代幣。假設存在兩種情況:

Rollup A 和Rollup B 都能夠支持合約只有一個Rollup 支持智能合約,另一個Rollup 只支持簡單的轉賬。

第一種情況,社區也有一份提案,名為"Hop: Send Tokens Across Rollups(Hop: 跨Rollup 發送代幣)",地址見:https://ethresear.ch/t/hop-send-tokens- across-rollups/8581。

Vitalik 的提案,針對第二種情形,即:如果RollupA 只支持簡單的轉賬交易,而Rollup B 支持智能合約。

V 神提議,有一種簡單的方法,可以將這些各自孤立的合約網絡連接起來。

跨 Rollup 轉賬的基本場景

“假設有一個交易中介,名為Ivan(當然有很多中介可以選擇,這裡只是舉例)。Ivan 在Rollup A 上有一個帳戶IVAN_A (他完全控制該帳戶)。Ivan 也有一些資金存入到Rollup B 上的智能合約IVAN_B 中。”

設想有如下的操作:

Alice 向 Rollup A 上的 IVAN_A 賬戶發起一筆交易,轉賬到Rollup B 上的賬戶:ALICE_B。 (Alice 在 Rollup A 上轉給 IVAN)Ivan 能怎麼辦呢?他會通過IVAN_B 賬戶,發送一筆交易,將扣除了手續費之後的代幣數量,發送到ALICE_B 這個賬號中。

在第一步之後,第二步可以立即進行。如果Ivan 證明第二筆交易跟第一筆交易之間的差異非常小,那麼甚至可以在合約裡設置規則,允許收取更高的費用。

“最壞的情況”是Ivan 沒有像預期的那樣向ALICE_B 發送代幣。在這種情況下,Alice 可以等待Rollup A上的交易確認,然後通過其他途徑獲得Rollup B 上的代幣用來支付跨Rollup 傳輸的手續費,然後她自己就可以claim,獲得資金。

按照V 神的解釋,用戶Alice 可以直接在Rollup B 上完成。只需要讓Rollup B 可以獲得在前一批Rollup 記錄之前的L1 上的相應hash 記錄,然後RollupB 就能夠記錄下來Merkle 分支,能夠在Rollup 裡驗證。

通俗來說,通過技術方式能夠確保用戶Alice 在Rollup A 上交易確認之後,可以有方式安全的在Rollup B 上領取到對應的資金(支付了手續費之後),避免因為其中某一個或者幾個交易中介出現問題,導致資金受損。

無論這個交易中介Ivan 是誰,為什麼別人會選擇轉給他代幣,這些可以暫時不管;這裡的含義是,存在連接層,讓存入到各類孤立的Layer2 智能合約上的資金保持同步,實現跨Rollup 轉賬的功能。

具體的實現細節,可能要了解在Rollup B 上的合約IVAN_B 的規則了。遵從下面的設定(為便於理解有所刪減):

如果任何人發起一個交易,發送若干數量的比特幣到IVAN_A 這個賬戶(存在Rollup A上),在memo 中,包含了目標地址的信息。那麼,在若干時間之後,他們可以向合約IVAN_B 發送一筆交易,該交易包含了轉賬的證明,該證明能夠將對應數量的比特幣提到在Rollup B 上的目標地址之中。提款要經過一些延遲(例如,1天的時間),是為了確保對應的轉賬批次和索引可以記錄到Rollup A 的Layer2 網絡之中。當Ivan 在IVAN_A 收到資金時,他可以自己將代幣發送到目標地址。他可以通過IVAN_B 合約發送交易。

在這種情況下, Ivan 充當了結算商的角色,可以收取一定的轉賬手續費,讓Rollup A 這個只支持簡單轉賬交易的Layer2 網絡,和可以支持智能合約交易的Rollup B,能夠連接起來。而通過轉賬證明、Merkle 索引等方式,也確保用戶資產能夠在轉移過程中不會遇到損失。

結算商充當了跨Rollup 轉賬的協作角色

Ivan 自己也需要進行內部結算,畢竟有可能在某個Rollup 上會耗盡資金。比如,用戶一直在通過Rollup A 向Rollup B 轉賬,需要通過Ivan 在Rollup B 上的儲備資金轉給用戶所指定的地址。這時候Ivan 這類交易中介,就需要進行內部結算了,也因此這提案的限制,會要求Ivan 這類中介商持有大量的資金在賬戶之中,以便服務用戶需求。

我們用法幣舉例,或許能更好理解。如果你從工商銀行向建設銀行的卡轉賬,儘管ATM 機上顯示立即變更了,但是實際的結算過程是每天進行一次,只有在工行結算後,才將實際的資金轉給建行,更具體來說,是通過在央行的結算賬號之間進行的。

同樣的,從支持智能合約的Rollup B 向只支持普通轉賬的Rollup A 發起轉賬交易,也是類似的操作。

Alice 發送代幣至合約賬號IVAN_B, 並附上了目標地址;若干時間之後,Alice 可以將資金取回;不過如果中間IVAN 這個中間商能夠提供證明至智能合約IVAN_B, 附上鍊上的轉賬記錄等信息,證明自己已經將資金在Rollup A 上轉給了Alice,那麼,Alice 就不能再取回資金了。這時候,跨Rollup 轉賬完成。

至此,我們大致理解了Vitalik 提案之中所提到的跨Rollup 轉賬原理,並且只需要其中一個Rollup 支持智能合約即可實現,主要引入了IVAN 這一中間商來支持跨Rollup 轉賬。

至於如何設置限定,避免中間結算層的資金不足和浪費、以及轉賬的Memo 應該如何設定等技術細節,可以查看Vitalik 的提案所述: https://ethresear.ch/t/cross-rollup-dex -with-smart-contracts-only-on-the-destination-side/8778。

四、Hop 的

跨Rollup 轉賬方案

上文中,我們還提到過另外一個場景:兩個Rollup,比如ZKSync 和Optimism,都支持智能合約,那麼如何實現跨Rollup 交互?

Hop 團隊成員 chris whinfrey 1 月24 日在ETH Research 論壇發了一篇帖子,介紹Hop 如何跨Rollup 進行去中心化的代幣轉賬。

內容如下:

Hop protocol 提供了去信任、可擴展的跨Rollup 通訊橋。致力於:

快速輕鬆實現跨Rollup 代幣轉移可以快速從Rollup 中退出最終實現跨Rollup 合約調用的功能

在Hop 團隊看來,對於解決跨Rollup 可組合性問題,他們提供了廣泛的解決方案,通過雙管齊下的方式實現:

創建一個跨網絡橋接代幣,可以快速而經濟地從一個Rollup 移動到另一個Rollup ,或者在Layer1 上創建,支持領取對應的底層資產。使用自動做市商(AMM) 在每個Rollup 上的每個橋接代幣和其對應的代幣之間進行交易,以便動態定價,並讓整個網絡的流動性再平衡。

換句話說,借助於一個錨定代幣(比如Bridge),在多個Rollup 上都有部署,也可以在Layer1 的以太坊網絡上部署並支持Layer1 跟Layer2 的Rollup 上的Bridge 代幣的1: 1錨定兌換。

如果用戶想要從Rollup A 轉賬100 個BTC 到Rollup B 上自己或者他人的賬號中,那麼,就有如下的過程:

首先,在Rollup A 上,通過AMM 將這100 個ETH 兌換為Bridge_A 代幣,即橋接代幣;交易確認之後,Rollup B 上通過AMM 將Bridge_B 代幣兌換為100 個ETH 代幣,然後轉給用戶所指定的在Rollup B 上的對應地址;由於Bridge_A 和Bridge_B 都是同樣的代幣,只是起到了跨Rollup 橋接的作用,他們的比值是1:1 錨定的。如果有價值波動,套利者會進行無風險套利,搬磚搬平差價。

Hop 目前已有測試網上線https://hop.exchange/send。

五、

還有沒有其他方案?

除了上述方案之外,Celer 跟Matic Network 的方向我們也一併聊聊。

Celer 的Layer2 方案:原地擴容

國產DeFi 項目Celer 提出了個新的思路,稱為“原地擴容”,原地的意思就是,讓DeFi 項目繼續在Layer1 即可,不需要專門去Layer2 另外部署專門的版本,即可通過Celer 的方案--Layer2.finance, 實現擴容。

根據Celer 團隊的介紹,在該場景下,用戶的資產存放在Layer2 鏈上(Celer 從基於Optimistic Rollup 的方案開始,後續擴展升級,支持ZK Rollup),然後用戶發送指令,告訴Layer2.finance 協議自己的操作要求,指明將自己的多少資金、存放到哪些DeFi 協議中,比如Curve、AAVE、Compond 等位於以太坊Layer1 網絡上的DeFi 協議。

通過這種方式,Layer2 充當了命令代理,用戶存儲資產+ 發送指令即可,而具體的業務邏輯,則仍然是交給了Layer1 上的DeFi 協議執行。而不同用戶的命令,可以通過合併交易的方式,更經濟的與Layer1 合約交互。

該方案預計在3月份上線。

Matic Network 品牌重塑:Polygon

Polygon 原名為Matic Network,則走了另外一條路,定調為Layer2 聚合器,通過兩種方式實現擴容:

依賴以太坊網絡,借助對應網絡上的驗證者,並支持Matic Plasma、zkRollups、Optimistic Rollups、Validium 等方案。建立自己的子鏈體系和獨立的驗證節點,自行負責自己的安全性。這一方向,目前已經上線的是Matic PoS 鏈。

Matic Network 升級之後的方案走得更遠,除了依托現有生態之外要獨立建立自己的生態體系,所付出的努力也要更多。據統計,目前有80 多個DApp 部署在Polygon 上,涵蓋DeFi、NFT、遊戲等領域。

按照當前的進展,Matic Pos 鍊和Matic Plasma 方案已上線,而目前還未支持zk Rollup 和Optimistic Rollup,這些方案會在未來上線。限於篇幅,對Polygon 不再展開。 Polygon 鏈接見:https://polygon.technology/

六、 小結

三月份會很熱鬧,Arbitrum、Optimism 的主網上線,標記著我們目前處在Rollup 等Layer2 方案的爆發前夜。 Layer2 方案爭奪用戶的舉措,會成為三月份以及上半年的一大母題。

而不同Layer2 (具體來說Rollup)之間如何兼容,避免破壞DeFi 的協作性?目前見到的這幾個方案,其實也都在摸著石頭過河。 Vitalik 的提案,Hop 的實現,以及Celer 的創意,或許能夠解決各自設想中的問題,但是跨Rollup 實現DeFi 的調用組合,仍然是個擺在前方的大難題。

另一方面,最近Sushi 等協議在多條鏈上部署的動作,或許預示了另外一種可能性,跟Hop 方案之中所提到的類似,借助於AMM + 協議自身代幣的方式,或許許多DeFi 協議會先嘗試在內部打通不同Layer2 網絡及Layer1 之間的隔閡,形成閉環。

也許未來隨著更多DeFi 加入Layer2 的行列,更廣泛意義的DeFi 聚合器巨無霸將會出現,現在還只是剛剛開始,讀者朋友們不妨多想想多看看。

參考資料:

https://mp.weixin.qq.com/s/2HYIsxnUaovKYs19xQ_KbQ

https://www.trustnodes.com/2021/03/02/vitalik-buterin-proposes-cross-rollup-scaling-solution

https://www.chainnews.com/articles/872971457746.htm

https://hop.exchange/whitepaper.pdf