幣乎創始人咕嚕講述此次 DeFi 踩雷,並告誡投資者 DeFi 類產品的 6 種風險識別和規避方法。

原文標題:《咕嚕踩雷記》
撰文:咕嚕

好像全網都知道了我最近踩了 Lendf.Me 的雷,既然都知道了,也是好久沒寫文章,今天跟大家來分享一些思考。

Lendf.Me 屬於 DeFi 範疇(DeFi,Decentralized Finance 的簡稱,去中心化金融),是 DeFi 中非常流行的抵押借貸類產品,本文主要講述 DeFi 類產品的風險識別和規避。

這個世界不存在「無風險收益」,不確定性是這個世界的本質屬性,量子力學告訴我們。

巴菲特把 10 年期美國國債的利率作爲無風險利率的近似,用到「未來現金流折現公式」裏,這個大概是巴菲特能找到的最接近零風險的回報率了吧。巴菲特心裏應該清楚,10 年期美國國債的風險不是絕對零,只是風險很小,市場認爲美國 10 年內國債違約的風險接近於零。注意,這裏所說無風險,是指在美元本位的前提下的論述,別忘了,美元是在通脹和貶值的。

再舉個例子,圈內熟悉的搬磚套利不是無風險的。搬磚通常在 2 箇中心化交易平臺之間進行,那麼存放在交易平臺上的資產承受着交易平臺出事的風險。同時,搬磚本身也存在因時間差而被阻擊的風險,另外還有中間鏈路出問題而導致第二筆無法成交或成交延遲的風險。這些風險都是真實存在的,市場上的每個人對這些風險的評估不同,在特定搬磚回報率的條件下,有的人選擇參與,有的人不參與。

回到 DeFi。不同的 DeFi 產品,風險各不相同。那就說說抵押借貸類 DeFi,參與這類 DeFi 產品的風險我認爲有這些:(1)智能合約代碼安全性引入的風險;(2)智能合約(如果有) Admin Key 引入的運營風險;(3)持有特定資產本身的風險;(4)抵押借貸類 DeFi 本身的市場風險;包括(a)抵押品迅速跌價導致無法及時平倉的風險、(b)某一抵押品抵押數量過多導致市場流動性無法消化的風險,(a)和(b)是緊密關聯的;(5)智能合約平臺的風險;(6)用戶自身私鑰管理的風險。

下面一一分析:

智能合約代碼安全性引入的風險

這是目前 DeFi 應用最主要的風險,我個人認爲佔了總風險的大多數。智能合約作爲管錢的「機器人」,是一段要求不能有 Bug 的代碼。代碼中引入 Bug 通常有 2 種途徑:(a)程序員對需求是理解正確的,但是在寫代碼的過程中引入 bug,導致代碼無法 100% 正確表達需求;(b)程序員對需求的理解有誤,或需求本身錯了,導致根據此需求寫出的代碼是錯的。嚴格意義上講,最近出事的 Lendf.Me 不屬於以上任何一種,而是智能合約被超出範圍地使用:出事的智能合約不應該納入 ERC777 的代幣,而 imBTC 作爲 ERC777 的代幣被錯誤地納入到了抵押品裏,導致智能合約被假幣欺騙,在智能合約賬本內部虛構大量的 imBTC 作爲抵押品,借走智能合約裏存放着的所有其它資產。

如何識別和規避風險?

首先,安全審計報告是規避智能合約風險的第一道關口,也是最重要的關口,也是目前唯一能前置規避智能合約風險的措施。我個人不會把資產存放在沒有安全審計報告的智能合約裏。

其次,時間是最好的檢驗。經過長時間有效實戰檢驗的智能合約,風險顯著降低。多長時間算長?我個人認爲至少 1 年以上。

智能合約(如果有) Admin Key 引入的運營風險

什麼是智能合約的 Admin Key?智能合約作爲一個提供服務的「機器人」,很多時候運營方需要留有人工的權限去控制這個「機器人」,例如關停「機器人」,再例如凍結智能合約中某個賬戶的資產,等等。如果存在這樣的 Admin Key 人工權限,就會引入額外的風險。有的智能合約是沒有 Admin Key 的,例如 Uniswap,也就是說,運營方沒有權限對智能合約做任何干擾,「機器人」是完全自動運行的。

對於有 Admin Key 權限的智能合約,如何識別和規避風險?

  1. 看運營方是否主動披露 Admin Key 權限的存在。智能合約的運營方是否主動披露了 Admin Key 權限,能一定程度上表明運營方的態度。雖然(以太坊上的)智能合約通常都是代碼開源的,但很少有人會去真的查看代碼,一個負責任的運營方應該有義務主動披露 Admin Key 權限。
  2. 看 Admin Key 的權限範圍。主要看 Admin Key 權限是否有權動用用戶在智能合約中的資產,以及其它會影響用戶資產的權限。例如,如果僅僅是關停智能合約的服務,關停之後用戶仍然可以提幣,像這種「剎車式」的 Admin Key 權限屬於保護性質,而不是侵入性質。那些可以凍結、轉移、沒收用戶資產的 Admin Key 權限,需要格外當心。
  3. 看是否對 Admin Key 權限設置了延時生效機制。延時生效機制是防範 Admin Key 的侵入式權限對用戶造成傷害的有效防禦手段,同時也是反應運營方態度的關鍵看點。例如,MYKEY 作爲一款智能錢包,其所依賴的 KEY ID 協議目前設置了 4 天的延時生效機制,也就是說,運營方如果要修改協議,至少 4 天后才能生效,如果待生效的協議對用戶不利,用戶有 4 天時間可以選擇退出並撤走所有資產。隨着時間推移,KEY ID 協議的延時長度將逐漸從 4 天提高到 30 天以上。
  4. 看持有 Admin Key 權限的運營方本身是否信譽良好,其所處的司法管轄區是否能起到有效的保護作用。

持有特定資產本身的風險

持有的資產本身具有價格波動的市場風險、資產被 Token 合約本身(如果有)的 Admin Key 凍結 / 沒收的風險,等等。

抵押借貸類 DeFi 本身的市場風險

核心的市場風險:(a)抵押品迅速跌價導致無法及時平倉的風險。(b)某一抵押品抵押數量過多導致市場流動性無法消化的風險,會導致(a)風險的發生和加劇。

如何識別和規避風險?

  1. 在抵押協作中規定針對特定單一抵押品的抵押數量上限,上限的設定須與該抵押品的市場真實流動性匹配,尤其是要考慮氾濫的刷成交量這類因素。
  2. 評估抵押協議中的平倉機制設計是否合理,平倉機制是否能有效利用市場中的流動性進行平倉。
  3. 評估被納入的抵押品本身的風險。

智能合約平臺的風險

像以太坊這樣的智能合約平臺,自身是存在風險的,這個風險的規避與智能合約風險的規避類似:(a)安全審計。例如,以太坊早期做了非常詳實的安全審計。(b)長時間的有效實戰檢驗。例如以太坊這樣的智能合約平臺,上線已經接近 5 年,早期出過一次中等級別的漏洞,導致被 DoS 攻擊造成交易擁堵,後來基本運行平穩。

用戶自身私鑰管理的風險

用戶的私鑰存在丟失、被盜的風險。用戶發生人身事故,導致用戶私鑰所管理的資產無法繼承的風險。

如何識別和規避風險?

  1. 學習私鑰保管的相關知識,建立一套完善的、適合自身的私鑰管理體系,包括備份、保密機制、物理存放安全、發生人身事故後的預案。
  2. 通過使用智能錢包規避私鑰管理的風險。注意,智能錢包爲私鑰保管提供更多安全和便利的同時,同時也引入了智能合約風險和 Admin Key 風險,需充分了解相關風險後根據自身情況選擇使用。

好了,大道理說了一堆,那麼我是怎麼掉進這次 Lendf.Me 事件的坑裏的呢?

首先,作爲在 Mt.Gox 丟過幾十個 BTC 的人,我對中心化平臺的風險認識應該說是充分的,一般不會將資產長時間地存放在中心化平臺上,尤其是在當前缺乏監管的行業大背景下。這讓我對 DeFi 有天然的好感。

參與 Lendf.Me 的過程中,我主要關注 3 類風險:智能合約的風險、智能合約 Admin Key 權限的風險、Lendf.Me 抵押借貸的市場風險。

先說 Lendf.Me 抵押借貸的市場風險。在 2020 年 3 月 12 日的市場暴跌中,Lendf.Me 平臺(以下簡稱 「平臺」)較好地抵禦了市場的暴跌,沒有出現抵押品清算不利導致資不抵債的情況。所以 3 月 12 日之後,我對平臺的信任度有所上升。

關於智能合約 Admin Key 權限的風險,我事先知道平臺是留有該權限的。平臺的創始人與我相識,平時有不少交流,欣賞創始人的學識。出於對創始人的信任,我對平臺的 Admin Key 權限也有連帶的信任。

對於最重要的智能合約風險,我主要是通過「長時間的有效實戰檢驗」這一措施來規避,現在看來,有以下幾方面今後可以改進:

  1. 對「長時間」的定義應更加保守,原來我的定義大約是 6 個月,現在看來至少是 1 年。參與的資產佔個人整體資產的百分比的上限,應與智能合約經過實戰檢驗的時間長度成正相關關係。
  2. 風險和收益應該成正比才對。我參與平臺的主要方式是穩定幣理財,剛開始的時候收益率是比較高的,印象中是 5-10%,後來隨着收益率的下降,其實風險和收益的對比已經不划算了,但是由於惰性和僥倖心理,我並沒有及時去調整頭寸,例如出事前 USDT 在平臺上的年化收益率不到 1%,顯然是與風險不匹配的,理性的選擇應該將資產從理財中取出。這是我在這次事件中,犯的最大的錯誤,今後引以爲戒。
  3. 更加重視安全審計報告。平臺關聯的審計報告,我事先並沒有去了解,雖然對於本次事件來說,是否去看了審計報告並不會影響事情的結果,但我確實沒有事先去看審計報告,這是不對的。

最後,說說展望。

DeFi 作爲一個新的範式,並沒有因爲這次事件被證僞。好好想一想,讓一個透明規則的「機器人」來提供金融服務,這是一件多麼意義重大的事情,是一種全新的範式轉移。這一範式轉移,依然令人激動。然而,如何打造更安全的「機器人」,是今後區塊鏈從業者必須要解決的問題,不然,新的範式不會流行。我個人會繼續參與 DeFi 的投資和建設,以調整之後的風險意識參與。

想要獲得收益,必須接受風險。世界的本質是不確定的,哪裏都是風險,沒有絕對的安全。想一想這次疫情,好好家中坐,禍從天上來,去超市買菜都存在死亡的風險。接受它,正視它,坦然面對,與狼共舞。

從投資的角度,務必遵守「分散原則」。這次踩雷事件中,我一直篤信和踐行的分散原則,起到了最大的保護作用。雖然損失的絕對金額不少,但佔比不是太大,當然,調整風險評估體系後,佔比應該要更小一些。雖然踩了雷,事後心情固然有短暫的不開心,但並沒有強烈的負面情緒,並不沮喪,並不悲觀,更談不上絕望。不然,也不會有心思寫此文,此文也就無緣與你相見。分散原則讓你夜裏可以安睡。

來源鏈接:bihu.com