程式碼漏洞、駭客、市場波動、套利者:DeFi 風險管理的正規化

買賣虛擬貨幣

作者:NEST愛好者_九章天問

DeFi是指用智慧合約實現的去中心化金融協議,包括資產交易、借貸、保險、各種衍生品等等;除信用服務外,現實中的金融服務都可以透過DeFi協議實現。這些協議都是去中心化、自動運轉的,沒有第三方機構在管理和維護,所以合約的風險控制便成為行業難題。

DeFi兼具了金融和科技雙重屬性,主要包含以下風險:

    1. 程式碼風險。包括以太坊底層程式碼風險,智慧合約程式碼風險,錢包程式碼風險等。比如當年著名的DAO事件,近期的Uniswap漏洞攻擊問題,各類錢包被盜事件,都是程式碼風險造成的。

   2. 業務風險。主要是業務設計過程中留有漏洞,被人合理攻擊或操縱。比如當年FOMO3D被堵塞攻擊,又比如dZx錯誤使用了不抗攻擊的Uniswap預言機,被合理打壓價格盜取資產,這類人稱之為套利者。套利者對一個DeFi專案既有不利的一面,也有有利的一面。

   3. 市場波動風險。DeFi在設計時缺少一些應對變數,導致市場極端情況發生出現穿倉。比如MakerDao在312的表現,主要就是市場極端波動風險造成的。

   4. 預言機風險。預言機提供全域性變數,是大部分DeFi的基礎,如果預言機遭遇攻擊或者出現停擺,則下游DeFi會陷入崩潰。我們認為預言機將成為未來DeFi最重要的基礎設施,帶有任何中心化風險的預言機,最終都會走向消亡。

 5. “技術代理”風險。主要是指對智慧合約和區塊鏈不熟悉的普通使用者,使用了中心化團隊開發的“便利”互動工具,這一工具本身可能存在風險。

任何DeFi專案在設計時,都應將以上風險考慮進去。完整的流程不僅僅是文件內做好提示,還需要一些風險管理手段。這些手段大部分以去中心化的方式進行,少量以社羣治理的方式完成(主要是指鏈上治理)。這裡我們提出一個DeFi風險管理框架,主要分為事前、事中和事後:

事前:主要是對合約程式碼進行形式化驗證,包含弄清楚合約使用的方法、資源甚至是指令的邊界,以及這些方法、指令、資源在組合過程中的相關性影響,沒有經過論證的方法或沒有找到邊界的組合堅決使用。這不是傳統軟體開發測試的思維,這是一個接近數學論證的理念。好的合約開發應該建立在已經論證過的方法組合上。

事中:事中主要是停機設計和異常觸發設計,即合約對攻擊行為能進行識別與干預,包含自動停機設計和治理停機設計。而異常觸發是對合約執行過程中,超預期現象的一種控制管理;異常觸發一般是自動的,透過異常觸發修正一些風險管理變數。可以參見NEST預言機系統中的beta係數和防堵塞攻擊設定,這是行業內率先考慮停機及異常觸發的一個實踐。

事後:事後風險管理包含幾個部分,首先是程式碼出現漏洞,需要進行修正,一般透過鏈上治理,即DAO治理的方式。其次是治理資產本身遭遇攻擊,此時需要進行合約分叉!這是一個行業忽視的盲點。其次是透過保險機制,對合約可能的風險進行保險,從而降低損失。最後,社羣可以透過鏈上資料的追蹤,與各類機構合作追蹤損失。關於鏈上治理和合約分叉,可以參見NEST的設計,這是一個創新。

以上是我們對DeFi安全的一個系統框架,僅供大家參考。目前行業內對安全的理解,過於早期,也過於傳統;如果不能轉變思維,將邊界、完備性、一致性、形式化驗證、停機、異常觸發、治理、分叉等新的思想引入,是不能適應未來發展的。

免責聲明:

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

推荐阅读

;