對以太坊上的 DeFi 農民來說,種地不僅要關注收成(收益率)如何,還得看汽油 (gas) 費怎樣。不過只要在以太坊交易還能獲得巨大的經濟價值,gas 價格就會居高不下。
對於致力於為以太坊提供擴充套件方案的團隊,交易手續費高昂帶給使用者的困擾,則是個好訊息。以太坊 2.0 姍姍來遲猶抱琵琶半遮面,Layer2 方案則如火如荼,進展不錯。
在《DeFi+Layer2已成趨勢,Layer2誰更受青睞?有哪些機會?》中,我們對比了多個 Layer2 領域的方案,而每組方案都在安全性、通用性、效能等諸多方面互有長短。這篇文章,我們關注 Layer 2方案的另外一面:對於 DeFi 可組合性的影響。
DeFi 被稱為金融樂高,可組合性是 DeFi 最基本的特性。在以太坊網路上,不同 DeFi 應用的聚合和互動非常常見,聚合交易、閃電貸,流動性挖礦,持有 LPtoken(流動性憑證)挖礦,甚至將 NFT 結合 DeFi 平臺的玩法,也逐漸出現。這是因為大家都是基於以太坊底層之上,在單個事務之中,可以同時呼叫多個智慧合約。
不過當我們把目光轉向 Layer2 的時候,問題會複雜得多,未來隨著越來越多的 DeFi 採用了 Layer2 方案,DeFi 的可組合性還能存在嗎?
DeFi+Layer2 三種場景
假設有這樣兩個 DeFi 應用:A 和 B。當 Layer2 方案上場,我們會遇到這幾種場景:
場景 1:A 應用和 B 應用,都採取了同一種 Layer2 方案;
場景 2:A 應用採用了一種 Layer2 方案,而 B 應用採取了另外一種方案;
場景 3:A 應用採取了 Layer2 解決方案,而 B 應用仍然是原生的以太坊應用。
場景1:兄弟同框,萬事好商量
如果不同的 DeFi 應用,使用了相同的 Layer2 解決方案,問題相對容易一些。不過,前提是所採用的的 Layer2 技術支援不同 DeFi 之間的互操作,並且 Layer2 方案一定要支援智慧合約才行,對於 EVM 的相容性,也要足夠強,才足以支援 DeFi 應用之間實現可組合性。
這些標準列下來,就排除了許多的 Layer2 方案了。這也是本文關注的重點:採用同一種 Layer2 方案的 DeFi 應用,如何實現組合性?下面我們會重點了解 OR (Optimistic Rollup) 方案下,對於 DeFi 可組合性的影響,這可能也是最有可能實現二層可組合性的方案了。
場景2:雞同鴨講,靠譜的翻譯挺重要
筆者視野所限,暫時還沒留意到比較好的解決方案,能夠解決場景 2 的問題,能夠讓使用了不同 Layer2 方案的 DeFi 應用,能夠用一種優雅可信的方式相互組合,能夠互操作。也歡迎讀者予以指教。
場景 2 所提到的困難在於,由於不同 Layer2 方案在實現機制上千差萬別,而 DeFi 應用與其他應用不同之處在於是重資產型別, 對於資金安全的要求更苛刻。如果由於 Layer2 方案之間彼此不相容而帶來資金安全方面的問題,就失去了 Layer2 方案的意義了。
不過也並非完全沒有可能,畢竟就算是 Layer2 方案不同,其底層也都是以以太坊底層為基礎。如何構建一種彼此相容的底層構件,讓 Layer2 方案之間的互通性更為普遍,用協議約定的方式,方便不同 Layer2 生態下的 DeFi 之間能夠良好相容,這也是需要持續努力的方向。
場景3:可能用單向通道的方式來解決
在該場景下,A 應用採取了 Layer2 解決方案,而 B 應用仍然是原生的以太坊應用。那麼 Layer2 方案對於複雜操作的支援靈活性,就變得很重要。支援簡單的轉賬操作相對容易,而和原生底層的以太坊網路之間進行互動,就要考驗到 Layer2 在智慧合約支援、轉賬的完結性確認效率等方面的設計了。
值得提醒的是,在 Layer2 解決方案如何影響 DeFi 應用的可組合性這個問題上,目前實際的探討、文獻和實踐案例並不太多,所以本文更多是起到拋磚引玉的作用,難免受到筆者本人認知侷限的限制,還請讀者批評指正。
以上是3種場景的簡單介紹,下面我們重點探討場景 1 的情況,即如果不同的 DeFi 應用採取了同樣的Layer2方案,可組合性會受到什麼影響。在那之前我們要先了解下Optimistic Rollup的實現原理。
Optimism釋出了測試網,是上週 Layer 2領域的大新聞
Layer2中文名為第二層擴充套件方案,鑑於以太坊處理能力有限、gas 費高昂的現狀,Layer2的專案近來熱度上漲,而在諸多解決方案中,Optimism公司所開發的Optimistic Rollup的方案,得到了包括Vitalik 、Uniswap、Synthetix等各方的讚揚或合作。
在 Optimism 測試網釋出的同一天,知名合成資產平臺 Synthetix 也公佈了 Layer2 版本的 demo,採用 Optimism 的 Layer2 解決方案,進行 SNX 的鑄造管理。
在許多人看來,OR 的方案優秀可靠,不僅具有以太坊的安全特性,同時不需要發幣,OVM (Optimism 所建立的通用虛擬機器)還可以完美相容 EVM(以太坊虛擬機器)。如此一來,提供了通用的方案,讓諸多以太坊應用可以很方便的遷移升級,用 Layer2 增加應用的擴充套件性。之前的文章裡,我們也對此做了更詳細的介紹。
這裡先解釋下什麼是 Rollup ? 簡單說來,將多筆交易彙集,然後壓縮至一筆交易中傳送到以太坊之上,透過這種方式,用第二層網路分擔了以太坊的交易壓力,從而節省交易費用。
為了確保交易有效,讓 Layer2 上的交易也像以太坊上交易一樣,具有同樣的安全性,不同團隊也提出了不同的方案,常見的有 ZK Rollup 和 Optimistic Rollup 方案。前者用零知識證明來確保安全性,後者則參考了 Plasma 的懲罰機制。
OR: 分擔以太坊的負荷
在 2020 年 4 月份釋出在 banless 的一篇文章中,Daniel Goldman 探討了 OR 和 DeFi 應用的多個方面。本文中探討可組合性問題,多數的思考源自這篇文章。
Rollup 的方案中,側鏈分擔了以太坊網路的交易壓力。從使用者角度看,可以分為2個部分。
首先使用者將資金存入到以太坊上的智慧合約中,資金會轉入到位於第二層的 rollup 鏈上。如何確保資金不會被 rollup 的操作者或者使用者所挪用? 如何確保使用者對於交易並不需要額外增加信任?這就要考驗 rollup 鏈的設計了。
其次如果使用者希望將資產返回到 Layer1 的以太坊時,他們需要發起一筆特殊的取款操作。在 OR 的安全模型下,會設計一個寬限期,防備存在欺詐行為。簡單說來,使用者取回資產到 Layer1 上,需要等待一定時間。有研究者認為大概 3 小時就足夠了。透過流動性提供者的存在,可以減少等待時間。
不過,也有不同意見存在。
Matter Labs CEO Alex Gluchowski 看來,OR 並非最好的 DeFi 擴容方案,他更傾向於 ZK Rollup。“Optimistic Rollups 將如何成功地實現其 100% 可組合性的承諾?我們尚不清楚。到目前為止,我們還沒發現其中隱藏的陷阱。這項技術並不像看起來那麼簡單。”
除此之外,Alex 也擔心 OR 方案中需要使用者等待期過長,儘管可以透過引入流動性提供者來緩解,但是需要以類似於使用訂單簿的分散交易的方式,每個訂單單獨去撮合,快速撤資可能會成為問題。
DeFi
可組合性的挑戰
Rollup 技術實現的 Layer2 方案,相當於是建立了一條或者多條的側鏈,用技術手段確保側鏈上交易也同樣有效。
同一條 rollup 鏈上存在多個 DeFi 的情景
這是 Layer2 中最簡單的一種情形:不同交易存在同一條 rollup 鏈上,處理之後的結果會傳送到位於底層的以太坊網路。這樣一來,跨鏈操作通訊的複雜度就消失了,使用不同的 DeFi 進行組合拼裝,和在 Layer1 上幾乎一致。唯一不同的是,當資產需要向原生賬號轉換時候,使用者需要花費時間等待。這是所有 Layer2 方案都會遇到的情形。
儘管 DeFi 間的可組合性不會受到太多影響,但是問題也存在:如果大量的 DeFi 應用和交易,集中到了同一條 rollup 鏈上,那麼 Layer2 帶來的優勢會打折扣。儘管 Layer2 方案可以在效能上有所提升,但是隨著大量使用者的進入到同一條 Layer2 的鏈上,無論是採用了哪種解決方案,也都會面臨這一問題。
不過,這其實並沒有什麼好擔心的。因為未來以太坊 2.0 上線之後,也會出現同樣的情形。儘管採用了不同的分片,但是在不同的分片之中,如同都市裡的空間錯落一樣,也會出現金融區,DeFi 將會聚整合群。金融區/金融分片上,相比其他的分片而言,交易量更為集中,費用也會更高。這跟我們在 Layer2 領域未來會見到的情形一致。
由於以太坊的 DeFi 頭部效應,未來 DeFi 應用集中在某種 Layer2 生態甚至某條專門鏈上的情形,並不讓人意外。目前 Optimism 公司在建立通用的 OVM, 也跟頭部 Uniswap、Synthetix 推進合作,正是這類效應的體現。
不同 rollup 鏈或者不同 Layer 方案之間
DeFi 在 Layer1 的以太坊上,就像在同一個屋子裡的舍友一般,吃吃喝喝打打鬧鬧,親密無間。而如果採用了不同的 Layer2 方案,或者採用了同一種方案但在不同的 rollup 鏈上,那麼他們就像是住在同一條街上,不同房子裡的鄰居一樣,活動空間更大,不過彼此交流和協作,也相比之前多了一些阻隔。
不同的操作,複雜度也會有所不同。由於採用了不同 Layer2 方案的 DeFi 相互之間是否能夠操作還很難說,所以我們主要看下采用了比如 OR 這種方案的例子。
如果只是簡單的轉移資產,比如將 DAI 從一個 DeFi 應用轉到位於另一條 rollup 鏈上的 DeFi,並沒有什麼太困難的。但是如果涉及到複雜的操作,就很難說了。
在 Daniel Goldman 的文章中,舉了 PoolTogether 無損失彩票的例子。
使用者存入資金到 PoolTegether ,使用者存入的資金PoolTogether 會存到 Compound 等 DeFi 平臺中賺取利息。隔一段時間平臺開一次獎,中獎者能夠得到平臺在此期間理財所得到的收益,而沒有中獎的人,也可以取回本金。整個過程中平臺沒有抽傭,使用者需要支付的也僅僅是發起交易時的手續費而已。
假設 PoolTogether、 Compound 和 Dai 三者位於三條不同的 rollup 鏈上,PoolTogether 要將 Dai 資產存放到 Compound 上,這個交易就沒那麼簡單了。
有單向的監聽:PoolTogether 所在的 rollup 鏈(Layer2 的一條鏈),就需要具備訪問和“偵聽” Compound 所在 rollup 鏈更新資訊的能力。還有更復雜的情況:雙向對話。某些情況下,雙方都需要知曉對方所在 Layer2 鏈的情形。
如何實現跨 rollup 鏈通訊,跟以太坊 2.0 中實現分片的跨區通訊類似,都需要藉助於一套系統的架構協議才行,而 Layer2 解決方案是否提供了這種支援,也無法一概而論。
總之當出現了多一條鏈或者多個解決方案,複雜程度是急速增長的,而複雜度增加的地方,往往是更容易隱藏錯誤之處,需要謹慎對待。
跨 Layer2 方案進行 DeFi 應用的組合,會是一個棘手的問題。而即便在同一個 Layer2 方案之中,如果涉及到不同側鏈的情形,也有賴於 Layer2 方案比如 OR 提供的底層支援。
Layer2:一條長長的光譜
經過上述探討,我們或許可以得到一點啟示:既然全部集中在一條 Layer2 鏈上的方式會帶來擁堵,而基於以太坊、不同 Layer2 方案或者不同 rollup 鏈之間進行通訊也有麻煩之處,是否可以將這兩者結合?
這是可能的。回到前面的例子,在都市之中不可避免出現金融區、娛樂區、購物區,在 Layer2 領域中,隨著時間推移,也會出現聚焦於 DeFi 的 Layer2 鏈,聚焦於遊戲的 Layer2 鏈等。但是透過地鐵、CBD 可以和住宅區打通,就像不同的 Layer2 方案之間可以藉助於通訊協議彼此相通一樣。
考慮到 DeFi 的特殊性,筆者認為,頭部 DeFi 集中在某條 Layer2 生態中的情況並不奇怪。而別忘了,同一DeFi 也仍然可以在不同的 layer2 上設立“分部”,形成協同效應。聚焦和分散,藉助於通訊協議或者底層的以太坊實現互通或者單向監聽,會是 Layer2 生態中同時存在的現象。
小結
以太坊堵了又堵,Layer2 希望曲徑通幽,另闢蹊徑。Layer2 許諾了一個更美好的未來,應用程式和使用者可以根據需要,獲得更優質的服務和體驗,網路更順暢,費用更低。
就當前的 Layer2 解決方案而言,儘管有評價認為當前測試網表現不及預期,但 OR(Optimistic Rollup) 提供了一套有希望的解決方案,這也是本文著重觀察的方案。
隨著第二層網路(Layer2)相關專案的進展,我們應該可以有更多方案可供選擇;而隨著頭部應用逐漸青睞 DeFi + Layer2 的組合,如何實現 DeFi 之間互操作的問題,我們會見到更多有趣的思路。
筆者認為,觀察 Layer2 的發展,一定程度上也是在窺探以太坊 2.0 的未來。就 Layer2 而言,DeFi 會聚族而居麼,聚集和分散會以什麼面貌出現在不同的 Layer2 方案中,又要花費怎樣的氣力去改善使用者使用 DeFi 的體驗,這些都留待時間給我們答案。
但一個可能的結果是,隨著 Layer2 的逐漸發展,DeFi 的可組合性可能在一段不短的時間內變得支離破碎。