當 DeFi 遇上 Rollup

買賣虛擬貨幣

作者|Ryan Sean Adams去年,以太坊平臺出現了兩個新的時髦的流行語。在應用層上,我們在以太坊上看到了這些 "DeFi "專案:它們利用智慧合約提供類似傳統金融的服務,同時具有去信任(或者至少是信任最小化)的屬性。在擴充套件協議設計中,研究人員開始針對Optimistic Rollup發出自己的聲音(這是一種layer 2架構,且有些人相信它不僅僅只是過眼雲煙)。今年(2020年),隨著近期DeFi生態的繼續發展以及Rollups不斷衝擊主網,一個自然而然的問題出現了:二者將如何相遇?我們能不能用Rollups來擴大DeFi生態的規模?我們要面對哪些挑戰?

概述Optimistic Rollups是一種layer 2架構,目的在於減輕以太坊主鏈的負擔。其基本思想是,主鏈不對Rollup側鏈上的所有交易進行驗證,而是簡單地將其釋出出去,並 "樂觀地(optimistic)"假設它們是有效的(除非明確提出質疑)。採用Rollups的核心好處是它降低了使用者的gas成本,這對整個網路來說意味著每秒會發生更多的交易(至少幾百TPS)。它同樣也意味著某些原本耗費gas較多的應用(如採用複雜密碼學的隱私解決方案)則將變得可行。因此,雖然Rollup本身並不具備隱私保護的內在優勢,但它是構建隱私保護技術的合適基礎。同樣的,Rollup本身並不會降低交易延遲,但它提供了一個良好的環境,我們可以在此基礎上建立一個可以提供幾乎即時交易的渠道。Optimistic Rollups處理資料的方式可以讓應用構造變得簡單,尤其是相對於其他layer 2協議而言更是如此。重要的是這為終端使用者帶來了與使用layer 1協議幾乎相同的使用者體驗。同樣地對於開發者和協議設計者來說,他們所習慣的工具和思維模式仍然可以使用(儘管正如我們將看到的那樣,要解決一些圍繞著可組合性的挑戰可能需要一些額外的工作)。

使用者視角從使用者的角度來看,在Rollup上與DeFi應用或其他方式進行互動感覺幾乎與在layer 1上使用DeFi的感覺相同。它可以支援像Metamask和Burner這類比較流行的錢包,也可以支援區塊瀏覽器來監控Rollup的活動。使用Rollup實現DApp的基本生命週期如下:

首先,使用者將一些資金(該"資金 "可以是ETH、ERC20s、ERC721s等)存入Rollup;這第一步與了許多第1層DApp使用者第一步的使用者體驗相同,即使用者在使用前必須先將資金轉入合約。在這一點上,使用者可以像平時一樣在應用程式上釋出交易;如果Rollup的設計是為了優先考慮抗審查,那麼讓自己的交易被納入到Rollup上就不需要依賴更多的信任、聲譽或商譽,也不會比釋出layer 1交易面對更多的潛在審查。當使用者想把資產帶回至layer 1時,他們會釋出一個特殊的提現交易。在這一點上我們觀察到了一個潛在的區別:回顧一下,Optimistic Rollup的安全模式取決於各方發出質疑的能力;因此監控到並證實為欺詐行為的過程是需要一段時間的。這意味著一旦請求提現,使用者必須先做等待然後才能在layer 1上再次獲得資金;這種機制所提供的經濟安全性其實是區塊所需的stake數量和上述等待期長度的函式(Ed Felten認為3個小時其實就足夠了)。話雖如此,但我們希望看到的是的是使用者不用經歷這樣一個等待期。比如第三方可以透過在layer 1給你傳送等值的資金並減去一些相關費用從而讓你無需等待就能獲得資金的所有權。因此只要我們有這樣的流動性提供者,並且還能有把複雜的事情簡單化的互動介面,即使是在layer 2提現也會和layer 1的使用者體驗相差不大。T-word好吧,但是Optimistic Rollup真的是去信任的嗎?當然。任何使用者都可以在去信任的前提下選擇使用Rollup;如果他們不選擇使用Rollup的話他們的安全保障依然是非常強大的。為了消除任何信任隱患,任何人(使用者或其他使用者)都可以成為驗證者,以讓他們自己驗證有沒有人會在其中作弊(cheat),且如果他們想要作弊的話也會被及時制止。這相當於執行一些每隔一個爭議期(dispute period)至少要"檢查一次"的額外程式。而對於不執行驗證器(validators)的使用者來說,只有當所有的驗證方都參與不法行為並相互勾結,才有可能發生詐騙交易(比如說盜取資金)。換句話說,只要有一個誠實的驗證者在外面,不管是另一個使用者、交易所、應用開發者、區塊瀏覽器、錢包提供商,還是他們的地下室裡的一個匿名少年;或者說,即使所有的當事人都是惡意的,但只要他們不串通好了,即不至於一致地集體撒謊,整個Rollup就不會涉及任何的不法行為。一旦欺詐行為被證實,不良行為人就會被扣除押金,其中一部分會給到欺詐驗證者;這也就激勵了這些有關誠實行為的驗證(honesty validation),並讓不良行為人為不法行為給其他驗證者帶來不便而付出代價。

開發者視角接下來讓我們轉移到應用開發者的角度,我們非常高興地發現在構建和部署Rollup DApps的過程中,很多開發者同樣不會覺得陌生;開發者工具和庫,如 truffle、web3 和 ethers.js,都可以在Rollup環境中重新應用於開發。此外,部署到Rollup上的合約仍然可以用Solidity編寫,只有會有一些限制而已。那麼,在設計Rollup應用的時候,最大的區別就是有關可組合性(composability)的問題(這一點與DeFi應用特別相關)。關於可組合性所面對的挑戰DeFi應用的一個比較著名的(偶爾也會讓人震驚的特點)就是它們之間能夠相互協作進而直接和無許可權限制地整合其他金融服務。這種看似激進的互通性實際上為以太坊合約在layer 1提供了"免費"服務,當然其缺點就是其應用擴充套件(scaling)會遇到瓶頸。當我們將各項活動分割成獨立的layer 2環境時,不同的layer 2鏈之間的互通性雖然不會丟失,但也會變得更加困難。

打個比方來說,如果說layer 1的APP是舍友,那麼單獨的Rollup上的APP就是住在同一個小區但在不同房子裡的朋友。也就是說,他們的生活區並沒有那麼擁擠,但現在溝通或制定計劃不會與他們之前生活在一個共同空間裡見面進行一樣簡單。拿PoolTogether來說,PoolTogether這是一個免損失博彩(no—loss lottery)的 DeFi應用。PoolTogether的合約管理著隨機博彩的贏家選擇和資金的分配;資金由Compound(這是一個獨立的(也是預先存在的)應用)產生的利息組成;而其資金形式(對於其所有池子中的一個池子而言)則是Dai(由一個分離的合約發行)。這種互通性同三者在layer 1所表現出的互通性沒什麼兩樣。但是,如果這三個合約都在單獨的Rollup上呢?像DAI這樣的資產從一個Rollup上遷移到另一個Rollup上並不是一件難事,甚至看起來和普通的layer 1合約之間的資產遷移非常相似。然而購買PoolTogether的博彩需要先使用PoolTogether將資產存入Compound,但如果PoolTogether和Compound是在不同的鏈上,那麼只透過一次簡單的交易是不可能的。PoolTogether Rollup需要一個新的策略來訪問和及時跟進有關Compound Rollup更新的訊息。在其他一些情況下,我們可以想象到兩個合約可能都希望有權力與另一個合約進行雙向互動以及時獲得這些更新安排;或許在其他情況下,我們可能只需要一方偶爾從另一方那裡定期獲得的"更新"的通知。這裡的Rollup通訊工具集類似於layer 1區塊鏈之間的通訊方法,比如很像在以太坊2.0這樣的系統背景下的不同分片(shards)之間的通訊安排。簡而言之,我們有許多不同的方法來適用於不同的用處,每一種方法都有各自的技術複雜度和/或使用者體驗權衡,這取決於具體的需求。本文不會提到技術相關的細節,但使用者體驗的權衡往往會涉及比如要求使用者等待更長時間來確認他們的交易和/或釋出多個交易來完成他們所需的操作等類似的事情。讓我們再把剛剛那個類比更誇張地講一下:難道已經居住在同一空間下的朋友們需要各自搬去不同的房子,然後彼此在窗外大喊大叫通訊?或是透過一些處在中間位置或是共有房間通訊?或是直接透過數字聊天(速度快,但需要更先進的電話技術)?雖然可能性有很多,但簡而言之Rollup的溝通永遠不會像“面對面聊天”一樣簡單。注意一下,跨Rollup通訊(cross-Rollup communication)仍然十分簡單。因為這肯定至少在一個方面比跨任意兩種鏈的通訊更加容易:它們有一個共同的參考框架,即以太坊2.0的beacon鏈和Rollup的底層layer 1。我們可以想象一下這樣的極端狀況:我們把一大堆應用(比如說所有的DeFi)放在一個巨大的Rollup上。此時跨Rollup互操作性的複雜性就消失了;Compound和PoolTogether可以像在layer 1一樣自由地在layer 2上互動。但這個願景唯一問題是它破壞了我們開始時所追求的可擴充套件性的收益。layer 2的可擴充套件性在很大程度上來自於分割(partitioning)和本地化工作(localizing work),否則就必須在全域性範圍內進行;單一的而繁忙的Rollup將會變得更難驗證,並會使我們更加面對一開始想要避免的問題。換句話說,我們不希望搬出一個已經人滿為患的房子而去擠佔一個新的房子。那麼也許理想的實現就在一個折衷的位置上執行:那些從(或需要)相互之間的可組合性中受益的應用可以選擇在一個共同的Rollup上執行,同時根據需要透過適當的方式與其他鏈進行通訊。

(應用程式可以根據其保持密切溝通聯絡的需要,將其聚集到某些Rollup區域中——這與人口聚集在某些地區和城市的方式相同。)最終,layer2的一個關鍵價值主張我們可以藉此實現去許可權的實驗;應用和使用者可以根據他們預期需要的服務和互動選擇進入本地環境,讓他們獲得新的功能同時支付更低的費用,並緩解網路擁堵現象。就layer2結構而言,Optimistic Rollups是提供這些優勢的最佳競爭者,同時它還能保留使用者所期望的核心使用者體驗。隨著擴充套件解決方案逐漸變得可用,以及我們正逐漸接近去中心化金融演進的下一個階段。圍繞著促進互操作性的問題是現階段的重要考慮因素。

免責聲明:

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

推荐阅读

;