Layer2.finance 實現了對 DeFi 生態進行「原地擴容」,具備低成本、可組合性的優勢。

撰文:董沫,Celer Network 創始人

今天我們正式發佈 Celer Network 旗下最新解決方案:Layer2.finance 致力於降低 DeFi 使用門檻,讓普羅大衆再不必擔心高昂的交易手續費,能夠自由且方便地使用現有 DeFi 協議從而獲得高額收益。Layer2.finance 不是一個新的 DeFi 協議,而是一個低門檻且無需信任中心化第三方的「DeFi 世界總入口」。

詳解 Celer 新擴容方案 Layer2.finance:「原地擴容」而無需遷移 DeFi 應用

衆所周知,現有的 Layer 2 擴容解決方案都需要將 DeFi 協議和生態進行整體遷移,這樣不僅會影響 DeFi 的可組合性,同時還會造成生態、用戶以及流動性的割裂。Layer2.finance 則實現了對現有 DeFi 生態進行「原地擴容」。由於不需要將 DeFi 遷移到 Layer 2,在確保 Defi 協議流動性不被分散的同時,還能保證其可組合性。Layer2.finance 讓多個用戶,原本需要多次,多賬戶,完成的資金分配交易,通過 Layer 2 Rollup 聚合爲單次交易。這個聚合過程是通過一個創新性的 Layer 2 到 Layer 1 的廣義函數調用來實現的,能夠在確保與 Layer 1 同等安全性的情況下,不需要對任何中心化的第三方有額外信任。下面我們將詳細介紹發佈 layer2.finance 的動因、具體解決方案以及上線計劃。

DeFi 落地速度正在大幅降低,或將成爲巨鯨專屬遊戲

在過去的兩年中,我們一起見證了 DeFi 用戶和鎖定資金的雙百倍增長。這樣一個開放自由且不依賴第三方的國際金融體系擁有讓人熱血沸騰的潛力:我們都希望 DeFi 迅速開啓狂暴增長模式,早日從一個加密朋克的烏托邦進入尋常百姓家。

但是當我們仔細研究鏈上數據,卻發現 DeFi 的增長在最近已經明顯放緩。DeFi,一個本應是無歧視,無國界,能讓普通人站在和大型機構一樣起跑線上,共享全人類有效金融市場的開放理想國,正在崩解成爲一個平常人無法進入的貴族圍城。

詳解 Celer 新擴容方案 Layer2.finance:「原地擴容」而無需遷移 DeFi 應用圖一:DeFi 用戶增長速度放緩

如圖一所示,在去年夏天的快速增長之後,DeFi 生態的整體增速已經放緩,每日新增用戶回落到了 2000 左右,並且如果我們去看一些「藍籌」和「入門級」DeFi 項目的話,比如 Maker,yEarn,Curve,其增速放緩的趨勢更加顯著。

另一個重要的指標是 DeFi 每日活躍地址數(日活)。某種程度上講,日活可能是一個更精確的 DeFi 活躍度指標,因爲它能夠比較好的排除一個人多賬戶的現象,並可以真實反應有多少人每天在活躍”的使用 DeFi 產品。我們可以從圖中看到,在經歷了去年夏天的 10X 增長之後,DeFi 日活基本不再大幅增長,穩定在一個 4 萬的水平。

問:那麼 4 萬日活是什麼概念?

答:少的可憐。

如果我們拿

「單個」

「蘋果手機系統上的」

「美國市場上的」

「綜合排名 1500 左右的」

遊戲來看的話(注意加了四個限制定語)。這個遊戲的 DAU 大約是全世界 DeFi 日活的兩倍有餘。如果按照這個趨勢,再過一年,整體 DeFi 的活躍度都不一定能超過一個很普通的手機遊戲。

詳解 Celer 新擴容方案 Layer2.finance:「原地擴容」而無需遷移 DeFi 應用

不是,等一下。DeFi 用戶不增長,這完全沒道理啊!哪怕是最穩定可靠的一些 DeFi 應用,都能達到 10% 左右的無風險年化收益,且不論相較美國活期存款利息高出 250 倍,就是吊打不少私募基金也都完全不在話下。咱們別說老一輩的用戶,就說生在互聯網時代,對金融有所理解,收入較高的中青年白領階層,不說一窩蜂衝上去,怎麼不也有幾千萬用戶,每人放個萬八千的試試水?誠然,有區塊鏈理解門檻,用戶使用習慣等客觀問題存在,但是古話說得好,有錢能使 xxx,強大的資本勢能當然可以踏平一切門檻。

所以我們不禁要問:爲什麼?爲什麼沒有大批的用戶各自攜帶萬八千資金,湧入 DeFi?

高額的區塊鏈交易手續費正是罪魁禍首。區塊鏈交易對於不同價值的交易,只要是同樣的計算和儲存成本,都一視同仁。但諷刺的是,正是這樣的「無差別待遇」,造成了一個對小體量用戶極爲歧視的 DeFi 生態。這導致對於「小魚」級用戶,10% 的年化收益就是一個白日夢。
讓我們看兩個例子:

例 1

  • 小紅存了 5000 元到交易所,想要玩兒玩兒 DeFi
  • 小紅買了 1000 元的 ETH,以及 4000 元的 USDC
  • 小紅把 ETH 和 USDC 都取到了自己錢包裏面,花了 60 塊的手續費
  • 小紅想要把 4000 元 USDC 存到 Compound 賺取年化 10% 的收益
  • 小紅驚訝的發現,手續費需要支付 420 元
  • 小紅懵逼:爲了賺一年 400 元的收益,我要先交 420 元,這什麼操作?
  • 小紅放棄繼續探索 DeFi 世界

例 2

  • 小麗存了 5000 萬到交易所,想要玩兒玩兒 DeFi
  • 小麗買了 1000 元的 ETH,換了 4999.9 萬的 USDC
  • 小麗花了跟小紅一樣的 60 塊手續費,把 USDC 和 ETH 取到了錢包裏面
  • 小麗放了 3000 萬到 Compound,手續費也跟小紅的完全一樣:420 元。在不到兩小時後,小麗就收回了她 420 元的手續費交易成本
  • 剩下的 1999.9 萬,小麗徹底玩兒 high,在花了 6 萬嘗試了 50 種不一樣的 DeFi 協議之後,找到了一個風險較低,綜合收益達到 50% 的策略。
  • 在一個月內,小麗賺到了 45 萬的淨利潤,小麗很開心

我們可以很明顯的看到,我們所希望看到的「早期多數」用戶,被交易手續費赤裸裸的擋在了 DeFi 門外。

更細思極恐的是,雖然小紅這樣的用戶進不來,但小麗這樣的資本大鱷們看到高額的利潤,低廉的手續費佔比,會越來越多的湧進 DeFi 生態中,這進一步加劇了小紅這類小體量用戶的邊緣化,最終形成一個被大資本獨佔的封閉生態。

文化上面來講,這很不加密朋克,現實一點說,區塊鏈技術和應用,無法吸引圈外用戶,終究是整個生態可持續發展的重大阻礙。

這個問題亟待解決。

趕快使用 Layer 2 Rollup 擴容?冷靜!

對 DeFi 關注比較長時間的朋友應該都聽說過 Layer2 擴容,對於類似 SKALE 和 Matic 這類 POS 側鏈技術,由於不具有 Layer 1 的安全性,且和一個獨立的鏈建立 Ethereum 橋接沒有區別,我們將不把他們列入 Layer 2 擴容的範疇。

Layer 2 Rollup 是近期受到較多普及且被社區廣泛認同的技術方向(不論是 Optimistic Rollup 還是 ZK Rollup)。對於不同 Rollup 技術的介紹,請參加 Vitalik 的 文章,我們之後也會出一系列的 Rollup 中文文章,這裏不再贅述。除了使用 Rollup 技術做單獨的 DeFi 應用之外,目前社區中比較流行的觀點是未來將會出現一個 EVM 兼容的 Rollup 擴容鏈,現有 DeFi 生態皆可重新部署並遷移到一個(注意不是多個,因爲多個會破壞可組合性) Rollup 鏈上,然後大家就可以開心快速地使用 DeFi 應用了。若果真如此,那還等什麼,趕緊的啊!

詳解 Celer 新擴容方案 Layer2.finance:「原地擴容」而無需遷移 DeFi 應用

可惜理想豐滿,現實骨感,這樣的技術方向正面臨一些根本性挑戰。

先從技術角度來說。

對於一個單鏈 Rollup 架構而言,計算和存儲資源仍然是有上限的。爲了保證 Rollup 的 liveness (即,能穩定地產生 block),需要多個出塊節點之間保持同步。一旦存在這種多節點同步的要求,不論使用何種出塊節點選擇規則和算法,實事求是的說,一個單 Rollup chain,能夠比主鏈提升 50-100 倍的容量已經是非常好的結果了。目前流行的節選擇點同步方案也是類似一個 DPoS 的解決方案。這大概給我們了一個 2-4 百萬每日活躍地址的擴容上限。顯然,這個離我們所希望的 DeFi 走進千家萬戶的大規模落地,還遠遠不夠。

雖然遠期不夠,那我們是否能先用這個方法解決燃眉之急?遺憾的是,目前這樣的 Rollup 的技術架構,需要非常多的周邊生態基礎設施支持,並會對使用過程中的安全性假設造成深刻影響。想要將 DeFi 生態遷移到一個單獨的 Rollup 鏈上,首先要解決一系列的問題,隨手舉例如下:

  • 用戶在鏈正常運行的時候以及鏈發生暫停和回滾的時候,應該怎樣和應用交互?以怎樣的狀態爲準?
  • 中心化交易所怎麼接入 Layer 2 生態,是否將 Layer 2 的代幣和 Layer 1 的同種代幣等同對待?
  • 在周邊生態設施缺乏支持的情況下,如何讓用戶快速進入和退出 Layer 2 Rollup 鏈?
  • 區塊鏈狀態查詢服務(類似 Infura 和 Alchemy),現在需要擴充 100 倍的容量,並且同時接入 Layer 2 和 Layer 1 進行復雜的驗證和交易轉發分流工作,這樣的服務是否已經就緒?
  • 當出塊節點試圖停止出塊進度的時候,客戶端如何有效地通知客戶並且保證迅速地將用戶切換到 Layer 1 交互模式以保證安全性?
  • 對於那些依賴預言機的 DeFi 協議來說,這些預言機是否準備好能夠抵抗可能的 Layer 2 禁言攻擊?
  • 如果沒有和 Layer 1 同量級的狀態同步延遲假設,大部分 DeFi 協議是否需要重新評估其安全性?

這樣的問題還有很多很多。在我們扔 400 億到 Rollup 之前,所有這些問題,需要通過大量的時間和研究來找到合理的解決方案和折中。可一萬年太久,只爭朝夕。

那麼就算假設所有的技術問題,都有了很好的折中方案,除了擴容有上限的根本問題無法解決外,是不是就萬事無憂了呢?

可惜並不是這樣的,因爲從經濟博弈模型的角度來講,這條道路走下去,會不可避免地導致流動性割裂,極大的降低 DeFi 的市場效率。

如上所述,Layer 2 Rollup 擴容並不是免費的午餐。這個擴容是用各種各樣的「麻煩」換來的,在系統設計中,叫做「取捨」(tradeoff)。這些取捨包括更復雜的用戶交互,主鏈級別安全性確認的延遲,更復雜的周邊基礎設施,區塊回滾重構風險,禁言攻擊風險,還有被交易插隊(front running)等等。對於小體量的用戶來說,這些取捨是可以忍受的,因爲不忍受這些取捨就無法得到使用 DeFi 的好處,是一個 0 和 1 的對比。

但對於巨鯨用戶來說,相對於本身持有的巨量資金,Layer 1 的交易手續費本身就是很小的一部分,在這個很小比例基礎上的費用降低,對巨鯨用戶而言收益有限,但上述各種取捨所帶來的潛在麻煩和安全不確定性,要遠遠超過降低手續費所帶來的好處。他們顯然不會遷移到這樣的 Layer 2 系統中,而是會繼續留在 Layer 1 的 DeFi 生態裏。

綜上來看,如果我們沿着這條路走下去,就算各種技術問題得到了比較合理的解決,我們仍然陷入了一個具有擴容上限,並且流動性割裂的 DeFi 生態系統,如果想要突破單個 Rollup 的擴容上限,就要開啓多個具有獨立 DeFi 生態的 Rollup 鏈,這將進一步導致流動性割裂和整體市場有效性下降。可謂是進退維谷。

我們需要一個全新的解決方案。

Layer2.finance: 不要將 DeFi 遷移至 Layer 2,把 Layer 2 帶給 DeFi

爲了解決上述挑戰以及實現 DeFi 生態系統的廣泛落地應用,我們以不同的方式使用 Layer 2 Rollup,引入了 Layer2.finance。類似於任何 Rollup,用戶可以通過對 Layer 1 上的 Rollup 合約進行存款交易來將資金存入 Layer2.finance 的 Rollup 鏈。

但是,與大多數流行的方法不同,Layer2.finance 不會將 DeFi 協議本身遷移到 Layer2。簡單的來說,Layer2.finance 構建了一個類似去中心化中介的模型。用戶將資金存在 Layer 2 鏈上,並且通過特殊的 Layer 2 交易 (transaction) 形式,指明自己的資金希望被放在哪個 DeFi 協議中去。在 Layer2.finance 的二層 Rollup 鏈上,「交易」(transaction)不再是「A 給 B 發錢」,或者直接的智能合約函數調用,而是一個「資金分配指令」,比如「我想放¥500 到 Compound 協議中去」。而 Layer2.finance 的 Rollup 架構,實現了一個無需信任的「資金分配指令彙總」功能。比如在 2 個小時內,有 10 個人,陸陸續續的發出了「我想存 X 元到 Compound」的交易,Layer2.finance Rollup 則將所有這些交易實現彙總,並且實現“二層到一層」的函數調用,加和總的資金分配後,向 Compound 合約發起單一的一個調用,直接分配所有資金之和。通過這樣聚沙成塔的模式,將原本需要的 10 個交易,簡化爲了一個交易。當有越多人聚合的時候,平攤到每個人頭上的交易手續費,也就更少。計算機術語來說,就是原本 O(N) 的操作,簡化爲了 O(1) 的操作,極大的提升了效率,降低了成本。

詳解 Celer 新擴容方案 Layer2.finance:「原地擴容」而無需遷移 DeFi 應用圖二:Layer2.finance 的體系架構

接下來,我們使用一個示例來說明 Layer2.finance 的體系架構。

生成資金分配方案

Alice, Bob 和 Charlie (簡稱 A,B 和 C)首先將資金放入 Rollup 基金池合約中,就像對待各種常見 Rollup 一樣。然後,他們開始在 Layer2 上使用其資金。 Layer2.finance Rollup 上的帳戶和資金狀態不只是地址到值的映射, 對於每個用戶,其資金的任何部分都可以處於三種不同的狀態:1. 閒置; 2. 已承諾; 3. 已分配。

「已承諾」是指用戶已發出第 2 層交易,以表示有意將資金分配給某些 DeFi 策略(我們將在後面說明)或從某些 DeFi 策略中提取資金。 我們需要這種「已承諾」狀態,因爲新彙總的資金分配建議在鏈上發佈到實際執行的時間點之間存在延遲。 在下一部分中,我們將討論延遲的原因以及在 ZK 和 Optimistic Rollup 之間進行選擇的權衡。

用戶「已分配」狀態的資金呈現爲在鏈上執行資金分配後收到的一定數量的「流動性證書」。它類似於 Compound 和 yEarn 中使用的 cToken 或 yToken 概念。這些帶有收益率的流動性證書以後可用於贖回基礎流動性,並將收益返還至閒置資金。在 Layer2.finance 中,我們將這些計息收益率流動性證書稱爲 stToken (st:strategy 策略)。

當用戶正在部署和提取流動性時,stToken 和空閒流動性都可以處於「已承諾」狀態。

現在,A,B 和 C 開始發出交易,以將其閒置流動資金投入不同的策略以獲取收益,如圖 3 所示。它們還可以從已分配的協議中撤出其流動資金。 出塊節點在 Rollup 區塊鏈上彙總這些交易。每當這些小額交易彙總到數額足夠大,交易手續費相對佔比較低,或等待一定時間後,Rollup 中的出塊節點就會在 Rollup 鏈中生成一個區塊。出塊節點不僅將每個用戶帳戶狀態的狀態根(state root)發佈到第 1 層,而且還將整個池的彙總「資金分配方案」發佈到不同連接的 DeFi 收益協議之間進行重新平衡。在此特定示例中,資金分配方案爲「將 $300 分配給策略 0,將 $500 分配給策略 1」。

出塊節點是一個邏輯概念,最終將成爲去中心化的 Celer 狀態守護者網絡 (SGN),以確保能夠對抗審查並增加 Rollup 鏈的安全性。

從資金分配方案生成到真的資金移動的延遲:ZK 和 Optimistic Rollup 之間的選擇

在生成區塊並將狀態根哈希和資金分配方案發布到鏈上之後,會在直到實際發生資金流動爲止前有一個延遲。值得注意的是,Layer2.finance 極大的拓展了第二層和第一層之間簡單的信息接口,即把「誰有多少錢」這樣簡單的存取資金的狀態,擴展爲更通用的「指令接口」來表達資金分配方案,即「將多少資金分配給哪些協議”」。這本質上是二層對一層的函數調用。

在使用 Layer2.finance 的 Optimistic Rollup 時,延遲是確保在轉移資金之前最終確定總資金分配建議的挑戰時間窗口。與取款不同,這裏不會有第三方從系統中拿走資金,且由於在彙總期間的長延時與挑戰證明的簡單性,這裏的挑戰期可以從數週縮短爲數小時。

使用 ZK Rollup 時,狀態根有效性不需要挑戰期,所以資金移動延遲取決於區塊時長。

在 1.0 版本中,我們選擇使用 Optimistic Rollup 以簡化並加快迭代速度。 將來我們會計劃遷移到 ZK Rollup,以在協議成熟後縮短執行延遲。

資金分配方案的執行

當延遲結束,資金分配將在鏈上執行。 我們定義了一個名爲「Strategy Adapter」(可插拔策略策略)的通用抽象層,而不是直接與每個不同的 DeFi 協議進行交互。 它們和 yEarn 的 vault 具有類似的概念。該層用於三個目的:

  • 流動性證書(stToken)抽象。 策略適配器跟蹤總存款流動性的基礎價值,並生成一定數量的收益證書代幣(stToken),被 Layer2.finance 的用戶接收;
  • 易於擴展。 通過爲 Layer2.finance Rollup 合約定義的公共接口,可以更容易地將協議的右側擴展到任何具有收益的協議;
  • 靈活的策略配置。 策略抽象爲使用不同策略(例如抵押比率)到同一收益協議甚至將多個 DeFi 協議組合爲一個策略提供了靈活性。

我們打算與 yEarn,Curve,Aave,Compound 等 DeFi 領域的開發者社區合作,構建適配器,並使更多用戶訪問這些產品。

當資金分配執行真實發生在鏈上時,Layer 2 出塊者層將根據 Layer 1 交易生成 Layer 2 並進行狀態更新,將每個用戶的新 stToken 添加到 Layer 2 狀態(在本例中爲 A ,B,C),並清除那些處於「已承諾」狀態的資金。在此步驟中,我們使用從第 1 層到第 2 層的廣義反向通信來實現此目的。

上述就是系統的一個完整循環,layer2.finance 由此可以允許用戶自由選擇並在與不同協議相對應的不同策略之間移動資金。

Layer2.finance 作爲 DeFi 擴容提速解決方案的優勢

我們總結了使用 Layer2.finance 對廣大受衆的主要好處:

  • 低成本。由於 Layer2.finance 將少量流動資金彙總在一起,因此爲每個用戶分配資金和產生收益的成本要低得多。儘管存在一定的數據可用性成本,但越多的人使用它實際上越能將降低單個用戶與 DeFi 協議進行交互的成本。 我們估計完全有可能將成本降低 1000 倍;
  • 保持可組合性,沒有流動性碎片,也無需遷移 DeFi 協議。 Layer2.finance 可原地擴容 DeFi 協議,因此它不會造成任何流動性分散,並將進一步提高 DeFi 協議的可組合性;
  • 可疊加的可擴展性。如果單個 Layer2.finance 彙總鏈變得過於擁擠或狀態變得太大而無法維護,則可增加一條新鏈連接到 Layer 1 DeFi 中相同的流動性系統上。雖然短期內受限於於鏈上容量,但在將來使用 ETH2.0 時,擴展性的上限將得到幾乎無限的可疊加提高。
  • 靈活的 DeFi 分片。 除了可擴展性之外,還有很多原因可以啓動多個 Layer2.finance 鏈,例如不同的批處理配置,不同的策略風險特徵(無論風險高低)等等。 這有效地實現了 DeFi 生態系統中的功能性分片 .

侷限與權衡

儘管我們相信 Layer2.finance 是會將 DeFi 帶入大規模普及的解決方案,但我們同時也要說明此解決方案的侷限性與取捨。 同時我們便可更好地討論這樣的取捨是否「值得」。

  • 由於聚合導致延遲。 無論我們選擇 ZK 彙總方法還是 Optimistic 彙總方法。 從用戶表達出進行資金分配的意圖到實際進行資金分配的時間都存在固有的延遲。 這是由於 Layer2.finance 依賴的第 2 層聚合。但是,我們認爲這是一個合理的取捨,否則這些小額流動性用戶根本無法從 DeFi 中受益。 我們可以動態調整此延遲,以找到成本與反應性之間的正確的折衷點。
  • 高級操作的侷限性。 與 DeFi 生態系統的原始接口不同,Layer2.finance 爲用戶提供了抽象化的策略。 用戶無法執行多個 DeFi 協議的高級定製化組合。 但是,我們認爲這不是問題,因爲高級 DeFi 用戶不是 Layer2.finance 的目標受衆。

至於其他限制,最明顯的是交易插隊和交易禁言。 但是,它們並非 Layer2.finance 所獨有,其他 Rollup 構造也同樣存在此類問題。 實際上,考慮到 Layer2.finance 的可分片疊加擴展性,此類問題的嚴重性其實比傳統 Rollup 要小得多。

啓動計劃

我們什麼時候啓動 Layer2.finance?

我們的目標是在 2021 年第一季度推出推出基於 Optimistic Rollup 的 Layer2.finance 1.0,當然這取決於我們支持的協議數量和安全審計。 我們計劃在迭代初始階段之後升級到 ZK Rollup。 我們將在 1.0 版本支持一些最受歡迎的協議,例如 Curve,yEarn,Compound 和 Aave。

對於 DeFi 社區,如果您希望我們支持並降低使用某些協議的成本,請在我們的 Discord 頻道中提出。

協議經濟學

我們不會發行新的代幣。Layer2.finance 是一個生態系統項目,使用了 Celer 的開源第二層技術堆棧。最初的迭代之後,出塊者的關鍵基礎架構將在 Celer 的狀態守護網絡 (SGN) 上運行。可以通過質押 CELR 代幣成爲 SGN 的驗證節點。CELR 還將成爲治理代幣,用來對新策略的實施、集成和配置進行投票。爲了快速提高平臺上的流動性,我們很可能會考慮進行流動性挖礦。詳細的經濟學和費用模型不在本文的範圍之內,將在以後的文章中進行更詳細的描述。

希望 Layer2.finance 可以與社區一道,幫助 DeFi 早日走進千家萬戶。