币乎创始人咕噜讲述此次 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