資訊正文

您的位置:首頁>資訊>正文

去中心化劇場幕後:DeFi 協議不可更改性研究

WikiBit 2022-05-21 20:50

摘要:去中心化金融(DeFi)帶來了自治協議,其功能由(有時)不可更改的智能合約確保。

  去中心化劇場幕後:DeFi 協議不可更改性研究 獨家 深度

  去中心化金融(DeFi)帶來了自治協議,其功能由(有時)不可更改的智能合約確保。它使來自世界各地的個人能夠使用金融服務,這些服務同時具有主權、可訪問性,並且比傳統金融中可用的服務更有效率和彈性。這是一個可愛的故事,新人被哄的神魂顛倒:現實要微妙得多。

  事實上,少數協議符合這一現實,但大多數都遠未達到標準。當多頭出局時,對協議彈性的興趣通常很淺:唯一重要的是價格升值。但熊市已經卷土重來,謝天謝地,這意味着對這些話題重新產生了興趣。

  最近 Luna 生態系統及其相關穩定幣 UST 的暴雷有望爲某些人敲響警鍾。不幸的是,這是一場完全可以避免的災難。用於該穩定幣的模型及其缺陷已爲人所知,本博客涵蓋了許多先前的實例:BAC、MIC、ESD、DSD 等(在以太坊上的應用層面而不是協議層面,但具有相同的基礎問題)。它們都有相同的結局:一個讓它們不斷接近歸零的無盡死亡螺旋。

  面對這一事件,許多投資者已經意識到並非所有穩定幣都是平等的,並尋求更多地了解市場上許多穩定幣的彈性以及不同 DeFi 協議的穩健性。因此,我抓住這個特殊的時刻來討論這個 DeFi 可持續性的重要話題;長期以來,這一直是我的熱情。

  確實,去年我已經向你提出了對 DeFi 借貸服務所產生的風險以及如何評估它們的詳盡分析。這篇文章仍然具有相關性,並且強烈推薦給任何知情的投資者閱讀。

  以上介紹就夠了。讓我們切入正題,定義“不可阻擋”這個術語以及它在協議級別的具體含義。

  所謂不可阻擋的 DeFi 協議是什麼意思?

  在最基本的層面上,當 DeFi 協議的基本功能由不可修改的智能合約提供,並且不需要外部幹預即可存在時,我們可以稱其爲不可阻擋的。

  對於這個相對簡單的定義,我必須添加許多注釋和說明,以涵蓋 DeFi 協議及其用例的多樣性。

  第三方協議依賴性

  在 DeFi 中,很少有協議自己完成所有事情。通常,給定的協議依賴於各種第三方協議。當然,最常見和最著名的案例是預言機——資產價格的來源——尤其是借貸服務的關鍵組成部分。

  對 ChainLink 等預言機的依賴

  在這方面,使用最廣泛的預言機是 ChainLink。盡管技術上很強大,但由於 Chris Blec 和其他一些關注服務彈性的參與者,該行業最近得到了提醒:ChainLink 的預言機容易受到操縱或審查。風險最大的攻擊向量似乎是其 3/20 多重籤名,它允許立即更改給定資產的價格來源。

  具體來說,如果 20 個人中有 3 個人籤名,他們可以更改 ETH/USD 預言機,例如,內部預言機返回 1 美元的價格,並且幾乎所有 DeFi 貸款都會在此過程中被清算。然而,ChainLink 團隊內部或接近內部的人似乎不太可能進行這樣的攻擊。

  最重大的風險似乎是外部攻擊者想要傷害整個 DeFi 空間的攻擊。事實上,有了這樣一個寬鬆的多重籤名,識別這個多重籤名的 3 個或更多成員、綁架他們並威脅他們改變 ChainLink 的價格來源就足夠了。這就是著名的“?扳手攻擊”。無論智能合約有多安全,如果它們是由多重籤名管理的,它們很容易受到這種通過協議背後的人而不是直接通過代碼的攻擊。

  這裏的主要問題不是這個多重籤名(當需要更新和改進 ChainLink 提供的服務時所必需的)的存在,而是它的設置:

  •   例如,從 ? 扳手攻擊的角度來看,3/20 比 3/6 非常寬鬆且風險更大(執行攻擊的潛在目標會更少)。如果總數 20 個籤名者,門檻更合理的數字是需要 8 到 12 個籤名者,即 8/20-12/20。

  •   沒有時間鎖定:所以更改是立即生效的。

  依賴於彈性低於基礎協議的其他協議

  DeFi 中令人着迷的元素之一是可組合性:協議相互集成和使用。雖然這允許出現協同效應和創新用例,但它也帶來了額外的風險。

  不做太多細節,稍後我們會回到這個話題,我們將以 PoolTogether 爲例,它是 DeFi 中最具彈性和“準”不可阻擋的協議之一。之所以只是“準”不可阻擋,這是因爲其外部依賴,更準確地說,對所使用的收益來源的依賴:Compound 或 Aave。

  實際上,PoolTogether 的智能合約是不可更改的,除了管理價格分配的部分(v4)。盡管如此,這些資金仍部署在由智能合約提供支持的協議中,這些協議可以被更改(例如添加新的抵押品,這是一個必要的功能,但也是一個潛在的攻擊向量)。

  一般規則是,協議的彈性由其可組合性鏈中最薄弱的一環決定。這條規則不是絕對的,因爲仍然可以減輕或控制整合帶來的風險,例如,通過實施冗餘,我們將在下面的詳細評估中看到。

  訪問協議:網站問題(前端)

  關於這個話題,有兩個關鍵問題:

  •   協議的訪問點(= 網站/前端)是否具有彈性/是否可以被審查,例如,由國家行爲者審查?

  •   網站安全嗎?惡意行爲者可以攻擊它嗎?

  •   前端審查風險

  •   在這裏,我必須首先提醒您一個基本點:DeFi 服務的存在歸功於一組智能合約。完全有可能通過直接通過合約與任何 DeFi 服務進行交互——因此,即使他們的網站無法訪問。當然,並非所有 DeFi 用戶都具備直接與智能合約交互所需的技術技能,這就是前端問題仍然必不可少的原因。

      因此,最大化其彈性的協議需要考慮這個問題。兩種主要方法是可能的並且可以組合。

      首先,一個協議可以有多個允許訪問其服務的訪問點:如果其中一個無法訪問,其他訪問點將保持在線,從而僅對服務用戶造成輕微的不便。例如,Aave 可以通過 App.aave.com 主站點使用,也可以通過 DeFiSaver、InstaDapp 等工具使用。

      盡管如此,這些網站中的大多數仍然由可以同時審查的中心化服務託管:這需要更多的工作,但在技術上是可行的。爲了克服這一限制,可以使用另一種選擇:通過 IPFS 等去中心化解決方案託管一個或多個站點。

      最後,在前端彈性方面,迄今爲止部署的最原始、最優雅、最有效的方法可能是 Liquity 協議之一。事實上,Liquity 沒有爲其應用程序直接部署和管理的官方網站。相反,該團隊提供了一個套件來部署 Liquity 的前端,所有人都可以使用。由於這種方法,該項目現在有無數不同的站點來使用其服務,其中一些託管在 IPFS 上:

  •   使用 Liquity 的不同前端概述(>20 個)

  •   前端的安全風險

  •   最後,不要忘記前端仍然是一個網站。即使它沒有受到審查,它也可能容易受到不同程度的攻擊:例如,去中心化交易所 SpiritSwap 和 QuickSwap 的網站最近就遭受了這種情況的困擾。

      攻擊向量與服務的域名管理器 (GoDaddy) 相關聯。其他類型的攻擊也是可能的:例如,通過網站集成的第三方服務進行代碼入侵,正如我們最近在 EtherScan 上看到的那樣,他們使用的廣告跟蹤器被入侵 (CoinZilla)。

  •   不可阻擋協議的限制

  •   不可阻擋的協議不能涵蓋所有用例。事實上,根據協議的復雜性,有時不可能避免對另一個本身至少部分可審查的協議的依賴。

      最後,必須牢記不可阻擋協議的智能合約的不可更改性所帶來的對應物:這些協議的更新在技術上是不可能的。

      因此,當一個不可阻擋的協議需要發展時,只有一條可能的路徑:部署一個新版本的協議(帶有一組新的不可更改合約)並鼓勵其用戶遷移到它。例如,Uniswap 已經做了兩次,在 2020 年 5 月遷移到 V2,一年後又在 2021 年 5 月發布 Uniswap v3。

  •   Uniswap 提供的一鍵式 v1⇒v2 遷移工具

  •   根據版本之間的差異,該協議還可以提供促進遷移的工具,如 UNIv1⇒UNIv2 的情況。然而,UNIv2⇒UNIv3 是不可能的,主要是因爲引入了流動性集中的功能。

  •   彈性的圖譜

  •   既然我們已經以所有必要的精度建立了“不可阻擋”的定義,我建議直接進行分析。在深入研究相關協議之前,讓我爲您提供一個突出不同級別彈性的圖譜:

      細節中心化或“DINO”(僅名字上的去中心化)協議,不是很有見地,所以我會讓你自己挖掘。相反,讓我們看看更令人興奮的一端的協議:在 MakerDAO 的右邊。

  •   關於最具彈性的 DEX 的分析

  •   在我們了解 Uniswap 和 Curve 的彈性之前,我們需要回顧一些關於去中心化交易所(DEX)的關鍵事項。具體來說,他們有兩種類型的用戶承擔着截然不同的風險:

    •   通過 DEX 交換代幣的用戶。這些用戶僅在交換時承擔與 DEX 智能合約相關的風險(以及如果 DEX 合約被破壞且不再是不可更改,與無限制“批準(approve)”相關的風險)

    •   只要維持其頭寸,流動性提供者就會面臨風險。

    •   在 Uniswap 和 Curve 上,與這兩種情況相關的合約是不可更改的。在技術上不可能設想流動性提供者的“跑路”,並非所有 DEX 都是這種情況:由於 SushiSwap 的流動性遷移功能,進行此類攻擊曾經是可能的。

        請注意,依賴於 Uniswap 或 Curve 等自動做市商的 DEX 不需要預言機即可工作,這大大減少了它們對可能受審查的第三方服務的依賴。

        最後,即使合約是不可更改的,對於承擔與該貨幣對所涉及的代幣相關的所有風險的流動性提供者來說,風險也不是零。這裏的一般規則類似於可組合鏈的規則:給定的 LP 頭寸與其最危險的代幣一樣具有風險。

    •   Uniswap

    •   這些合約在 Uniswap v1 和 v2 上是完全不可更改的。在 Uniswap v3 上,所有基本功能也是如此。然而,治理可以對引入管理費(= 協議)進行投票,正如在 Curve 上已經看到的那樣。

        在這裏,情況很簡單。如果確實存在治理,那麼好消息(對 UNI 持有者來說更少)是它可以做的非常有限。不可能沒收或轉移資金。除了費用之外,它還管理諸如在新鏈上部署 Uniswap、添加新的費用等級(穩定幣爲 1 bps)或使用協議的金庫等事務,例如,爲流動性挖礦活動提供資金或將 UNI 分發給需要它的友好人士,沒有任何限制或會計。

    •   Curve Finance

    •   Curve Finance 是具有同樣令人興奮的方法的彈性 DEX 的另一個示例。同樣,基本功能由不可更改合約提供。盡管如此,Curve 也有一個“緊急 DAO”,其成員由治理機構選舉產生。這個緊急 DAO 可以“殺死”一個池(僅適用於 2 個月以下的池而不是工廠池):除提款外的所有功能都被禁用。如果 Curve 的合約出現問題,它可以防止進一步的資金損失。緊急 DAO 還可以殺死一個 gauge——即處理 CRV(以及可能的其他代幣)獎勵的獎勵合約。然後主 DAO 可以復活被殺死的 gauge。

        與 Uniswap 一樣,Curve 的治理以 CRV 代幣發行和管理爲中心。但是,這裏的模型要精煉得多。我邀請您閱讀我之前關於該主題的文章以更好地理解它:

      •   CRV 戰爭:了解競賽以積累影響 Curve Finance 協議的能力

      •   高級 CRV 戰爭:基於 Curve 和 Convex 的協議分析

      •   與 Uniswap 不同,參與 Curve 的治理需要爲那些想要最大化其影響力的人鎖定 CRV 代幣(⇒veCRV)長達四年。因此,它可以保護治理免受不同類型的攻擊。

          最後,治理還管理授權與 veCRV 合約進行交互的智能合約白名單 [9]:從長遠來看,此類決定對 Curve 和 CRV 所有者的流動性提供者至關重要。

      •   深入分析其他值得注意的協議

      •   除了去中心化交易所之外,其他類型的協議也盡可能接近最具彈性的一端。盡管如此,我們現在將詳細介紹的協議的用例更加復雜,據我所知,如果不依賴於其他或多或少可審查的服務,則無法提供服務。

      •   Liquity

      •   Liquity 是一個頑固的項目,旨在創建最具彈性的借貸系統和穩定幣,同時爲借款人維持經濟高效的系統。我不會在這裏詳細介紹這個協議,我邀請您閱讀專門的文章。

          因此,讓我們關注與我們今天的主題相關的要點:

        •   Liquity 的代碼是完全不可更改的。

        •   流動性沒有治理。

        •   然而,與任何借貸服務一樣,Liquity 依賴於預言機(以美元計的 ETH 價格)。這裏使用了 ChainLink,但也有一個備份系統。進行計算以確定 ChainLink 提供的數據是否被認爲是可靠的。如果不是,只要需要,系統就會自動切換到第二個價格來源:Tellor 預言機。

        •   最後,正如我上面提到的,Liquity 也有一個有趣的方法來最大化前端去中心化。

          由於這種方法,Liquity 是以太坊上最具彈性的借貸協議,讓 LUSD 橫掃最強大和最去中心化的穩定幣的稱號。

      •   PoolTogether

      •   PoolTogether 是一個引人入勝的協議,它探索了一個新概念:“無損失”。具體來說,PoolTogether 是一個與彩票掛鉤的儲蓄賬戶,玩家在其中不承擔本金的財務風險:遊戲完全依賴本金產生的收益。它根據抽籤時的運氣將其重新分配給不同的玩家。

      •   介紹 PoolTogether 無損失彩票掛鉤儲蓄賬戶

      •   那麼讓我們來分析一下該協議的彈性。在這裏,主要問題是收益的初始來源,它是外部的:它來自 Aave 或 Compound 等服務,這些服務並非不可阻擋。因此,PoolTogether 玩家對他的全部存款承擔這種風險:本金和產生的收益(在它被收集和重定向之前)。

          盡管存在這種第三方依賴,PoolTogetger 協議還是非常有彈性的。事實上,在 PoolTogether 方面,合約是盡可能不可更改的。具體來說,它們都是不可更改的(所以一個給定的池不能改變它的收益來源),除了獎金分配部分,它只影響產生的收益。實際上,獎品分配模型可以在治理投票(主網)或多重籤名操作(Avalanche/Polygon)之後發生變化,這是必要的,因爲跨鏈治理尚不可用。

          這一點在 DeFi 中是引人入勝且獨一無二的:PoolTogether 是一個與獎金掛鉤的無損儲蓄賬戶。這種(財務)設計原則也體現在智能合約中。玩家不能失去本金,不包括 Aave/Compound 的問題或 PoolTogether 合約中的嚴重錯誤。代碼本身保證了這一點;只有回報有潛在風險。即使整個 PoolTogether 團隊遭受 ? 扳手攻擊或 PoolTogether 的治理變得敵對。因此,在智能合約層面維護了無損失的承諾。

          就風險而言,協議的 V3 和 V4 之間也存在細微差別和差異。最好的辦法是仔細閱讀文檔。

      •   TrustlessFi

      •   Trustless 是我最近很着迷的一種協議。它還沒有上線,但我認爲這種方法有很多優點。簡單地說,TrustlessFi 就像 Liquity 和 Reflexer 在 zkSync 上生了一個孩子。

          因此,與 Liquity 一樣,目標是創建一個最終將盡可能不可阻擋的協議,並且相關的穩定幣 (HUE) 將繼承此屬性。其他機制與 Liquity 類似,例如 ETH 作爲唯一抵押品、立即清算或前端去中心化(這次是社區驗證機制)。

          在治理方面,我們這裏有一種類似於 Reflexer/RAI 去治理計劃但更具吸引力的方法:設想了 4 個階段,在每個階段,基金會和社區的控制權都會減少,從而使協議越來越不可變。這些階段將在合約本身的代碼中實現:如有必要,可以將過渡到新階段最多延遲 45 天,最多可延遲 3 次,但不可能完全取消此過渡。

          類似於 Maker-MCD 的 Dai 儲蓄率的機制允許參與系統而不必產生債務。HUE 所有者將能夠將其質押以從借款人支付的利率中獲得回報。

          最後,還有一些令人着迷的新功能,例如 Troves/CDP 將被標記爲 NFT,從而允許它們的轉移。另一個例子是在 Uniswap v3 (HUE/ETH) 中部署 HUE 流動性,由協議管理。在預言機層面,我們也會使用 Uniswap v3 獲得不可阻擋的價格來源,但這無疑會增加操縱風險。

          總體而言,該方法正朝着正確的方向發展。盡管如此,該協議中仍有許多新概念,因此一旦暫時投入生產,就很難預測結果。

      •   結論和最後的澄清

      •   我希望這篇明確的文章可以爲所有對 DeFi 協議的彈性有基本疑問的人提供參考。像往常一樣,我沒有按原樣提供評估,而是嘗試盡可能詳細地說明方法和推理,以便您可以自己研究本文未提及的任何協議的彈性。

          爲了更深入地了解,我熱情地邀請您閱讀我去年發表的一篇文章,該文章完美地補充了這篇文章,重點關注貨幣市場。它提出了一種分析方法來評估它們所暗示的不同潛在風險:

          去中心化金融風險評估:貨幣市場手冊

          我想對這樣一個批判性主題進行如此精確的分析可能會引起或多或少的積極情緒。請注意,與往常一樣,我的目的只是讓盡可能多的 DeFian 了解我認爲對 DeFi 而言至關重要的事項。

          我在 DeFi 中的教育和教學行動除了最大化去中心化金融的長期彈性和相關性之外沒有其他目的。我希望我所建議的彈性範圍左側的協議的開發者或推動者也能理解並認可這項任務。