Ethport 通過批處理和零知識證明功能,使用戶能以低手續費直接在 Layer 2 與 Layer 1 DeFi 應用間交互。

原文標題:《DeFi 新玩法 | 一文了解 Ethport 如何降低以太坊 DeFi 操作成本》
撰文:Brecht Devos, Loopring 首席架構師

注:原文作者 Brecht Devos 是 Loopring 首席架構師,在這篇文章中,他闡述了能讓用戶在 Layer 2 網絡直接與 Layer 1 應用進行交互的 Ethport 設計。

概述:

  1. Loopring-zkRollup 用戶可利用批處理和零知識證明的能力,以低手續費直接在 L2 與 L1 DeFi 應用進行交互;
  2. Loopring 支持了便宜且高資本效率的跨 L2 轉賬;
  3. 中心化交易所(CEX)可使用標準的 L1 功能,輕鬆地將用戶資金提到 Loopring 的 zkRollup 二層網絡,同時可節省成本;
  4. Ethport 將在 2021 年 5 月作爲 Loopring 3.7 版本的一部分上線以太坊主網。

當前 zkRollup 的問題

  1. 目前, Loopring 的 zkRollup 二層網絡非常適合轉賬以及訂單薄 /AMM 交易,然而它並不支持通用智能合約,如果用戶想要做更復雜的事情,那隻能與以太坊 L1 主網進行交互,但以當前網絡的 gas 費計算,這種操作是非常昂貴的。
  2. 對於中心化交易所而言,提幣的成本也是很高的,並且每一個 L2 網絡都有自己的特殊性,因此中心化交易所要整合這些方案並不容易,而如果有一個標準的 L1 接口,其隱藏了所有的實現細節,同時仍能提供節省費用的好處,那它將是非常有吸引力的。
  3. 現在,越來越多的 L2 網絡在以太坊主網上線,而用戶希望在這些 L2 之間移動,而不必通過 L1 的交互。
  4. 即使將來會有更多的功能直接遷移到 L2,這也需要一段時間才能完全實現。部分(甚至大部分)流動性可能暫時仍停留在 L1 上,直到更通用的 L2 變得成熟。我們需要一些有助於過渡期的東西。

解決方案

儘可能讓任務發生在 Layer 2 網絡,是使得交易變得足夠便宜的關鍵,這樣用戶就無需擔心手續費太高的問題。通常,我們可以將多筆交易批處理在一起,這樣就可以分攤 L1 網絡的 gas 成本。L2 交易用於完成大部分工作,而所有用戶只需一筆 L1 交易,那麼理論上就可以顯著降低 Gas 成本。

zkRollup 技術特別適合解決這一問題,因爲只要立即提供有效性證明,L1 網絡上的 L2 狀態就會立即完成。這不僅意味着提款(withdrawal)這樣的操作很快就可以完成,我們還可以立即使用 L2 數據進行 L1 交易,而不必擔心無效的 L2 狀態轉換。

通常情況下,最佳解決方案取決於具體問題以及所需的用戶體驗。首先,讓我們先詳細介紹一下 Loopring 工具包中有哪些工具,以及它們各自解決了哪些問題。

流動性提供者(LP)

DeFi 新玩法 | 一文了解 Ethport 如何降低以太坊 DeFi 操作成本

這就是當前 Loopring 的現狀,其依靠專門的流動性提供者在 L2 上提供流動性,當然,有時用戶之間也會提供流動性。例如,如果有人想要進入一個金庫,而另一個用戶想要退出該金庫,只要允許這些用戶相互交易,則至少有一個用戶已實現了他的目標。最好的情況是,用戶之間總是可以進行交易,但這是不可預測的,而且在合理的時間內並不總是可能的。

這種方法的缺點是,流動性提供者(LP)只能利用有限的資金,他們還需要讓這些資金隨時可用。zkRollups 實際上非常擅長這一點,因爲資金從來不會被長期鎖定(zkRollups 中的存款和取款都很快),所以即使是有限的資金也可以很快地被重新使用。不過,這種方法的資本效率是不高的,實際上我們可以做的更好。

單相轉換器(Single Phase Converter)

DeFi 新玩法 | 一文了解 Ethport 如何降低以太坊 DeFi 操作成本

爲了解決資本效率問題,我們可以利用 L2 上的閃電鑄造(flash minting)功能,因爲在 L2 上,每個代幣都內置了閃電鑄造(flash minting),我們可以根據需要創建任意多的代幣。所以,我們可以:

  1. Flash mint 所有用戶想要購買的代幣數量,因此所有交易都可以在 L2 上完成(可以是數千次交易);
  2. 按預期匯率填充 L2 上的所有交易;
  3. Withdraw 用戶出售的所有代幣;
  4. 使用這些代幣執行 L1 交易,以獲得用戶購買的真實代幣(並且已經在 L2 網絡上分發);
  5. 用這些代幣償還閃電貸;

當在 L2 上進行交易時,匯率是完全確定的,並且 L1 交易永遠不會失敗時(例如,ETH/WETH,或者只有 L2 本身可以與之交互的任意邏輯智能合約),這會是一個完美的解決方案,但如果:

  1. 匯率可能會發生不可預測的變化(通常是在任何用戶都可在 L1 上與智能合約進行交互時);
  2. 不管出於什麼原因,需要完成的 L1 交易失敗了;

那麼這個時候,就會有 flash mint 無法償還的風險。如果 flash mint 無法償還,就無法在鏈上提交區塊,因爲這會是無效的。這意味着必須恢復 L2 上的所有交易,用新的交易創建一個新的區塊,重新創建零知識證明……理論上這是可能的,但實際這是我們需要去避免的一種情況。

二相轉換器(Double Phase Converter)

DeFi 新玩法 | 一文了解 Ethport 如何降低以太坊 DeFi 操作成本

爲了解決可預測性問題,我們可以分爲兩個階段進行交易。

在第一階段,我們首先在專用金庫(僅用於特定的代幣 swap)中收集所有用戶的資金。我們首先給用戶一個表示他在金庫中所佔份額的 token (按固定的 1:1 比率),而不是直接交換成用戶想要購買的代幣。然後進行 L1 交易,觀察實際匯率。在第二階段,在轉換過程中接收到的代幣數量,可以在接下來的區塊中按比例分配給所有用戶。

Bridge (橋)

DeFi 新玩法 | 一文了解 Ethport 如何降低以太坊 DeFi 操作成本

橋(Bridge)是一種比轉換器(Converter)更爲強大的設計,但是由於一些額外的 L1 開銷,每筆用戶交易的成本也要貴一些。這種橋設計不僅可以更靈活的方式執行類似轉換器的批處理代幣交換,還支持不能簡化爲簡單代幣交換的 L1 交易。

這個橋允許用戶使用批存款將資金有效地存入 Loopring,相比每個用戶單獨加入 zkRollup 網絡,通過標準的 L1 智能合約直接在 L1 上提供批存款功能,以允許用戶一起加入 L2 網絡,通過這種設計,就可以將多筆交易聚集成一筆 L1 交易,從而有效降低手續費。這使得中心化交易所也可以使用標準的 L1 基礎設施輕鬆地支持 Loopring 的 L2 網絡。

這個資產橋還允許用戶直接在 L2 網絡進行高效的 L1 交易,這首先在 L2 上的資產橋賬戶中收集這些交易的所有資金,這樣就可以最小化 L1 代幣轉賬的數量。然後在 L1 資產橋合約(L2 資產橋賬戶的所有者)中,我們檢查所有到資產橋的轉賬(這是使用有條件轉賬完成的,條件是轉賬由資產橋合約處理)。通過讓用戶在轉賬後簽署一些額外的數據,資產橋可得知用戶希望使用提供的資金進行哪一次 L1 交易。這個資產橋將所有這些交易一起批處理,將它們按 L1 交易的類型進行分組,然後將它們發送到與該類型交易相關聯的連接器(Connector)。這些連接器是在所有用戶交易和批處理交易之間進行轉換的簡單合約。資產橋提供了一個通用接口,允許用戶連接到任何連接器合約,即使我們不知道這個連接器是做什麼的。

每個用戶都可以向連接器提供自定義數據(接受的數據取決於連接器),這允許批處理,但每個用戶都有可自定義的行爲。例如,如果一組用戶想要在 Uniswap 上交換代幣,那麼每個用戶都可以設置其所需的滑點。連接器只能對滿足滑點要求的用戶進行一次批量交換,而對於所有其他用戶來說,只需返回他們的資金。跨 L2 轉賬的另一個例子是,用戶可以在另一個 L2 網絡上設置其目的地地址。

而 Ethport,就是建立在以上這些設計的一個產品。