选择去中心化金融(DeFi)协议:风险、警示信号与建议

  • zellic
  • 发布于 2025-02-15 18:37
  • 阅读 42

本指南为新用户提供了评估去中心化金融(DeFi)协议时的关键步骤,包括审查审核报告、阅读文档、评估社区活跃度、识别风险以及了解收益来源,从而帮助投资者做出明智的投资决策。

大量的 rug pulls 和黑客攻击使得选择去中心化金融 (DeFi) 协议看起来既危险又令人不知所措。你如何选择正确的投资地点?对于新用户来说,学习如何理解和评估 DeFi 协议至关重要。本指南将引导你走过决定投资哪个协议的关键步骤,并为你提供自行评估风险的工具。

TL;DR:

  • 查看来自 可信来源 的审计报告。确保其 真实性。确保它是 特定于协议的,是最新的,并且适用于 已部署代码的最新版本。一定要 阅读报告,因为这可能会揭示审计员是否认为项目的代码已准备好。
  • 阅读文档,因为这可以突出 特定于协议的风险
  • 评估社区 对开发者所构建的内容是否真正感到兴奋,或者 项目只是虚假的参与度 来推动代币。
  • 评估与项目相关的风险;无论是相关协议设置的限制风险;智能合约风险清算风险 或任何类型的 可升级性风险
  • 考虑谁在支付你的收益,这些收益是直接来自协议的奖励,比如空投/积分等,还是来自其他交易者?
  • 根据 风险与收益比 评估你想投资的金额。在评估风险后,总是 将你的投资组合分散 到不同的协议中。

警告

本指南提供的信息仅为教育和信息目的的概述,不应被视为财务建议。在做出任何投资决策之前,请始终进行自己的研究并咨询合格的财务顾问。

1. 查看审计报告

在评估协议的安全风险时,首先要寻找的是安全审计报告。安全审计本质上是由内部团队或外部独立安全公司为该协议进行的安全评估。报告通常包括安全团队发现的所有安全漏洞,以及建议和接受的修复措施。

注意虚假报告。开发者曾在社区 Discord 服务器上发布虚假或篡改的安全报告,声称他们对协议进行了审计。在下载报告时,选择一个公共的、值得信赖的来源,最好是来自安全公司的官方网站或其 GitHub。(公共可用的报告也可能是虚假的或被篡改的,但更容易被发现。)

如果 DeFi 项目是大型、已审计协议的分叉,这种分叉可能不需要审计。然而,并非所有上游项目的审计都能证明当前版本的分叉项目是安全的。一定要确认审计是特定于协议的,因为特定于协议的更改可能会在项目中引入新的漏洞。

一个显著的案例是流行且已审计的协议 Gains Network 的一个分叉。虽然 Gains Network 经过严谨的审计并证明了其可靠性,但该项目对核心智能合约逻辑进行了几处更改,引入了原审计中未包括的功能。这些更改引入了新的关键漏洞,这些漏洞在我们团队进行的一次审计中被发现。有关该案例的更多细节,请查看我们的博客文章, “某些 Gains Network 分叉中的问题↗”。

为了使评估这些更改的过程变得更容易,我们开发了 Forky↗。Forky 提供注释,以通俗易懂的英语描述每个功能,让你能快速理解代码更改的影响。

此外,检查安全审计是否是最新的。比较已审计代码的提交哈希或版本号与当前提交或版本,可以看出该项目的代码自上次安全评审以来是否已更新。更新可能会引入新的漏洞。安全报告还包含一个补救部分,在那里你可以确认最新提交是否用于修复审计过程中发现的错误,或者用于修复不需要新的审计的轻微问题(例如,变量名称更改、拼写修正、新测试)。

还重要的是,通过将实际部署的代码与像 Etherscan 上的已验证源代码进行比较,检查实际在哪些链上部署了这些代码。这确保已部署的合约与审核版本匹配,并且在部署前没有引入额外的更改。

例如,LayerZero 团队实施的安全实践在区块链领域非常理想。每一行在链上部署的代码都经过至少两次审计,即使是诸如热修复等小更改。这种严格的方法代表了行业中所有团队应努力实现的安全金标准。任何低于该安全实践水平的过程都带有更高的风险。

务必记住,安全审计并不总能保证没有安全问题。如果一个项目存在多个关键问题,报告可能会认为它不适合生产,并建议在修复后重新审计。如果项目团队承认发现的问题或担忧而不进行修复,这意味着该问题没有被修复,而是被项目团队接受为风险。这是一个红旗,因为更安全的项目通常对风险的容忍度更低。在其他情况下,如果报告中提到的风险是有意的,报告通常会有协议对此类问题可能是可接受风险的评论。

考虑项目被审计的次数、审计人员或审计公司的历史,以及发现的问题的影响和数量。项目经过不止一次的审计非常重要。此外,项目必须有一个漏洞赏金计划,以便审计人员或安全研究人员在项目上线后报告问题(如果他们发现任何问题)。

2. 阅读文档

好的文档是清晰且详细的。它应该向每个人(而不仅仅是开发者)解释该协议的功能,这反映出其对帮助用户的承诺。如果项目已经上线,缺乏清晰且详细的文档就是一个重大红旗,因为这表明项目没有保持透明。

一个好的协议还应提供可用的代码。寻找项目智能合约的地址 — 通常是指向探测器页面的超链接 — 并找到源代码。如果没有代码可用,这也是缺乏透明度和一个重大红旗的迹象。

3. 评估社区

合法的协议通常有一个活跃的社区,鼓励提问,开发者/用户帮助新用户解答问题和疑虑。评估社区的最佳方法是与他们互动。你可能会问自己,

  • 社区中的用户是否相信这个项目正在构建的内容?还是他们只是想投机并快速赚钱?
  • 如果合同被黑客攻击,开发者会说发生什么?
  • 这个项目的开发者和创始人曾参与过其他可靠的项目吗?

你所发现的内容可能提供有关用户信心、开发者准备和预防措施,以及协议背后人群的合法性见解。

社交媒体也是评估社区的一个好地方。查看协议背后的社交媒体帐户以及谁参与他们的帖子或推文,以获取项目的可信度和可信赖感,但要警惕虚假帖子和页面。有时帖子是由机器人生成的;有很多在线工具可检测社交媒体上的参与是否真实。如果点赞和转发数量相较于关注者的数量很低,这通常意味着关注者是机器人。诈骗者或恶意行为者也可以创建假页面,假装来自官方协议,其社交媒体Handle仅有微小差异。这些页面可能会将用户重定向到虚假网站,要求他们连接钱包并签署窃取其代币的交易。

4. 评估风险

评估协议的风险是决定投资哪个 DeFi 协议的最关键方面之一。让我们来看一些协议可能面临的主要风险类型。

限制风险

在此上下文中,限制风险是与协议设置的(动态或静态)提款限制有关的风险。在仔细阅读文档后,注意你信托给协议的资产发生了什么。以下是一些你可以深入研究的问题。

  • 如果协议是一个金库,那么在存入或提取资产时是否有时间锁或排队?
  • 在你向金库存款后是否有任何提款限制?
  • 如果这些限制是动态的,并取决于市场行为等外部因素,而不是静态限制(例如,代币可能在存款与取现比例达到某个值后解锁,而不是在 X 天后解锁),为什么会设置这些限制?

了解这种行为将确保你存入的代币不会在协议中停留时间超过你的预期。

信用风险

信用风险是借款人无法偿还借来资金的可能性 — 每当你向协议存入资产时,该协议就是在向你借入这些资产。在一些 DeFi 协议中,这种风险被强制为不变因素,借款人在发生这种情况之前就会被清算;然而,智能合约中的漏洞可能会导致协议陷入巨大债务,影响出借人。始终确认协议是否具有保险基金,以保护出借人免受此类不良情况的影响。例如,Venus Protocol 因市场价格操纵累积了 $100M↗ 的不良债务,结合激进的风险参数配置。另一个由于不良债务导致破产的案例是 Scream 协议↗,其导致了 $35M 的不良债务。

杠杆风险

同样,借款或借入代币以进行杠杆操作(例如在期货交易所(“perps DEX”)协议中)也有其缺点。

以下是杠杆的一个示例。假设你有 $100 并希望在 BTC 上做多。在不杠杆的情况下,你只会从 $100 的投资中获利 $100,但在 10 倍杠杆的情况下,你可以将该头寸从 $100 转变为 $1,000。这意味着如果价格上涨 $1,你的头寸将增加 $10,这很好,但如果价格下跌 $1,你的头寸也会下跌 $10。但这额外的 $900 从哪里来?

它来自流动性池,流动性提供者 (LP) 提供流动性以获得奖励。交易者在其持仓时将被收取费用,称为融资费,这笔费用直接用于流动性提供者(减去一些协议费用,如果适用)。协议将通过向交易者提供利润的上限来保护流动性提供者。确保你理解该协议的这一限制 — 否则你可能不会获得预期的杠杆利润。

永久 DEX 本质上很难设计和实现,因为即使是小的疏忽也可能导致严重后果。开发者不仅必须精准编写智能合约,还必须确保 off-chain 组件(如定价预言机和清算机器人)无误地运行,以维护协议的功能性和稳定性。如果不对细节进行精心的关注,许多问题(预言机操控、错误的清算逻辑、流动性不足等)可能导致协议和用户遭受财务损失。许多情况下,细节的轻微忽视会导致灾难性后果。例如,Mango Markets 被操控损失了 $116M↗。同样,Predy Finance 因访问控制不足被攻击损失了 $460K↗

清算风险

在清算过程中有几个方面对任何协议都是至关重要的,如不遵循可能会带来风险。

  • 必须激励清算者足够强,使他们能清算处于不赚钱状态的头寸;否则,对清算者而言,关闭这些头寸可能没有利润,协议可能会积累不良债务。
  • 如果项目只允许通过自己的机器人进行清算,清算必须发生在正确的价格上;否则,这可能会导致协议债务。例如,如果由于机器人未按照预期功能运行而延迟清算,而且清算是在市场价格下进行的,实际的清算价格可能远低于必须进行清算的价格。
  • 用户所开启的头寸的当前清算价格必须易于计算。如果 Web2 界面未显示清算价格,用户应该知道如何评估头寸的正确值以及协议从哪里获取价格/头寸信息。这很重要,因为用户必须知道他们可能被清算的价格,以便评估风险。

变更/可升级风险

在开发者增加新代码和更新某些参数或智能合约时会存在风险。许多项目拥有治理投票来进行更改或升级,但有些没有。使用治理投票进行这些更改至关重要,因为它为用户提供了在实施这些更改之前反应的时间,或者如果这些更改与他们的利益不一致则可以投票反对。你将代币投入的项目应重视社区的意见,通过允许治理投票,并确保投票无法被操控(例如,少数地址拥有大多数投票权)。理想情况下,协议在有任何参数/代码更改时应该向社区宣布。如果不是这样,用户可以随时监控 GitHub/Etherscan 上的代码(如果可用),以验证重要的实施/更改的参数。如果在任何来源上都没有代码,可直接向开发者询问更改背后的原因。

5. 了解谁在支付你的收益

决定投资的最后一步是了解该协议是否长远可持续,以及弄清楚谁在为你的收益买单。

如果你以每 BTC $70K 开盘交易 BTC,并在 BTC 达到 $90K 时平仓,或者如果你在一个 ETH-USD 对的 Uniswap 池中提供流动性并在 ETH 的价格没有上涨时从池中获取奖励,你可能会想知道这些奖励由谁支付。在前一种情况下,它们由其他开了短 BTC 交易的交易者支付(例如,在两个交易匹配的订单簿情况下),或者这些收益是来自流动性池。在后一种情况下,这些收益由作为交换费用的用户通过更换代币所支付。

当收益是由其他交易者和用户支付时,协议很可能实际上是一个庞氏骗局,无论是有意还是无意。

调查开发者是否在支付用户获取费用。如果你的收益是由他们向协议注入的价值支付的,无论是空投还是任何形式的奖励/积分,他们能够持续多长时间?这可能不可持续。

最后,考虑收益来源是否会影响其可获得性和有效性。如果你获得了显著的收益,这是否可能被视为黑客攻击?如果由于市场波动你获得了大量收益,那么由于你所持有的其他假设,你的收益是否会无法获得?例如,你可以在 DeFi 借贷平台上借入 USDC 进行杠杆性下注,以便进行 USDC 与 DAI 作为抵押品的考量,因为你对它更有信心。然而,如果 USDC 脱钩,DAI 也随之下跌(因为 DAI 是由多抵押金库支持的,因此它的脱钩风险与 USDC 相关),那么仅使用 DeFi 就无法进行纯短线投资,因为美元在链上并不存在。这可能导致你的收益无法获得,因为收益的来源也受到与你获得收益相同原因的影响。

6. 决定你的投资

你已查看审计报告、阅读文档、评估社区、评估风险,并了解谁在支付你的收益。如果一切看起来不错,现在是决定你愿意投资的金额和时间的时机。你应该考虑哪些关键因素?

机会成本是一个关键考虑因素。将协议的潜在收益与替代投资进行比较,并评估这些投资的风险与收益比,同时考虑整体投资策略。在评估这些协议的风险与收益比后,务必要将投资组合分散到不同的协议中,以免不良交易影响到投资组合的大部分。另一方面,考虑购买、交易和借贷代币中涉及的潜在损失和费用。衡量你愿意花费的金额与滑点、无常损失、融资费、退出税等可能性。

时间也是关键。调查一个 DeFi 协议需要付出显著的努力来彻底研究和理解该系统。考虑协议的用户友好程度以及你能够多频繁地监控投资,尤其是在波动的市场条件下。

关于我们

Zellic 专注于保护新兴技术。我们的安全研究人员已在最有价值的目标中挖掘出漏洞,涵盖从财富 500 强到 DeFi 巨头等多个领域。

开发者、创始人和投资者信任我们的安全评估,即快速、信心十足且没有重大漏洞。凭借我们在现实世界攻击性安全研究的背景,我们发现了其他人未曾注意到的问题。

请联系我们进行比其他审计更好的审计。真正的审计,不是走过场。

  • 原文链接: zellic.io/blog/choosing-...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
zellic
zellic
Security reviews and research that keep winners winning. https://www.zellic.io/