Rollup割裂以太坊生態,V神、Matic、Celer等想怎麼解決?

買賣虛擬貨幣
誰能扛起跨 rollup 互動的大旗?


三月將會是 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 方案需要解決的兩個問題:


  1. 以太坊的社羣很多應用喜歡呼叫智慧合約,比如 defi 的專案。但目前的 zk rollup 不支援智慧合約,只支援發幣、交易幣等簡單的應用。這是第一個問題。當我們有支援完整 evm 的 rollup 的時候, 我覺得會有更多的使用者搬到 rollup。
  2. 現在 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


宣告:本文為作者獨立觀點,不代表區塊鏈研習社(公眾號)立場,不構成任何投資意見或建議。


加密行業前沿趨勢,區塊鏈行業一手資訊,挖掘分析潛力專案,歡迎加入區塊鏈研習社精心打造的「區塊客空間」,與資深投資人一起捕獲百倍幣!



-end-



免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;