咕嚕踩雷記

買賣虛擬貨幣
作者:咕嚕,文章首發於幣乎。



好像全網都知道了我最近踩了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本身的市場風險;包括(4a)抵押品迅速跌價導致無法及時平倉的風險、(4b)某一抵押品抵押數量過多導致市場流動性無法消化的風險,(4a)和(4b)是緊密關聯的;(5)智慧合約平臺的風險;(6)使用者自身私鑰管理的風險。

下面一一分析:

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

如何識別和規避風險?

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

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


(2)智慧合約(如果有)admin key引入的運營風險。

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

對於有admin key許可權的智慧合約,如何識別和規避風險?

(a)看運營方是否主動披露admin key許可權的存在。智慧合約的運營方是否主動披露了admin key許可權,能一定程度上表明運營方的態度。雖然(以太坊上的)智慧合約通常都是程式碼開源的,但很少有人會去真的檢視程式碼,一個負責任的運營方應該有義務主動披露admin key許可權。

(b)看admin key的許可權範圍。主要看admin key許可權是否有權動用使用者在智慧合約中的資產,以及其它會影響使用者資產的許可權。例如,如果僅僅是關停智慧合約的服務,關停之後使用者仍然可以提幣,像這種“剎車式”的admin key許可權屬於保護性質,而不是侵入性質。那些可以凍結、轉移、沒收使用者資產的admin key許可權,需要格外當心。

(c)看是否對admin key許可權設定了延時生效機制。延時生效機制是防範admin key的侵入式許可權對使用者造成傷害的有效防禦手段,同時也是反應運營方態度的關鍵看點。例如,mykey作為一款智慧錢包,其所依賴的key id協議目前設定了4天的延時生效機制,也就是說,運營方如果要修改協議,至少4天后才能生效,如果待生效的協議對使用者不利,使用者有4天時間可以選擇退出並撤走所有資產。隨著時間推移,key id協議的延時長度將逐漸從4天提高到30天以上。

(d)看持有admin key許可權的運營方本身是否信譽良好,其所處的司法管轄區是否能起到有效的保護作用。


(3)持有特定資產本身的風險。
持有的資產本身具有價格波動的市場風險、資產被token合約本身(如果有)的admin key凍結/沒收的風險,等等。


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

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

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


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

如何識別和規避風險?
(a)學習私鑰保管的相關知識,建立一套完善的、適合自身的私鑰管理體系,包括備份、保密機制、物理存放安全、發生人身事故後的預案。
(b)透過使用智慧錢包規避私鑰管理的風險。注意,智慧錢包為私鑰保管提供更多安全和便利的同時,同時也引入了智慧合約風險和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許可權也有連帶的信任。

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

最後,說說展望。

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

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

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



附加說明:

1)這篇文章的作者收益,將捐贈給社羣基金。

2)此文首發於幣乎 (bihu.com),轉發請務必註明出處和原文連結。歡迎轉發。

免責聲明:

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

推荐阅读

;