关于最近市场活动中 Alpaca 预言机守卫机制 的检视,其他杠杆农场协议潜在的攻击风险, 与熊市如何安全耕种的建议

人类是有感情的动物。 因此,当人们看到自己的投资组合价值下跌时, 他们当中的许多人,尤其是经验不足的人,会感到恐慌,而当他们看到自 己的账面余额达到历史新高时,会变得贪婪,这是自然的反应。

事实上,专业交易员利用这些可预测的情绪,从情绪化交易的人类们那里 获得大部分收入。 毕竟,总得有人买在高点跟卖在底部,对吧 ? 交易是 需要同时有买方和卖方才能执行的。 因此,让我对 ALPACA 持有者说这 几句话,作为这篇文章的开头 :

醒醒 ! 您不是一个情绪化的人类 ! 您是一只冷静沈着的羊驼 !

关于最近市场活动中 Alpaca 预言机守卫机制 的检视,其他杠杆农场协议潜在的攻击风险, 与熊市如何安全耕种的建议

很好。 既然我们已经移除了这份障碍,希望羊驼群们的所有兄弟姐妹都 能稍微擦亮眼睛。 因为羊驼们不会带着情绪做决定。

羊驼不会成为鲸鱼操纵的牺牲品。

羊驼不会被骆驼控制的机器人军团愚弄。

羊驼只会耕种、快乐地耕种和吃草,因为它们知道从长远来看羊群会不断 增长,因为基本面才是最重要的。

基本面是我们相信加密货币拥有长期未来的原因。

基本面,正是为什么当人类们在市场下跌期间恐慌时,经验丰富的羊驼们能以 30000、3000 和 300 的价格购买比特币。(这不是投资建议。 羊驼不提供投资建议,如前所述,我们只会吃草。 ) 昨天是红色的一天 ; 当比特币跌破 30k 时,我们直接亲眼目睹人类们的恐慌,并且所有的山寨币都出现了两位数的损失。 当然,ALPACA 也不例外。 作为杠杆协议的代币,有清算的可能性,使 ALPACA 属于具有更高价格波动性的资产类别。 然而,代币价格是一回事,协议功能性 则是另一回事。 我们的协议按预期地运行,力求现有的杠杆协议能达成 的最大完善度。

它完美吗 ? 不,因为在极端情况下不可能做到完美。 只有权衡取舍。 让我们来谈谈具体的情况。

ALPACA 价格在不到 30 分钟内下跌了 53%。 这几乎是在不发生安全问 题的情况中,价格能下降的最大程度。 但是我们并没有出现安全性的问 题。 这是人类的恐慌。 这是人类卖在最底部,耐心的羊驼趁跌深买入。 进一步澄清,价格由底部开始上涨的比例更大,高达 86%。 是否涉及清 算 ? 是的,但比您想象的要少得多。

昨天清算的总仓位价值只有六位数美元 (约 90 万美元)。 试着由另一个 角度看,将这数字与同一段时间内,因清算而导致市场中损失的数十亿美 元进行对比。 但本文的重点不是批评市场,这是一篇回顾检视 ; 以审视协 议 (特别是 Oracle Guard 预言机守卫) 做得对的事情,以及它可以做得 更好的事情。

Oracle Guard (预言机守卫) 做对了什么

“最棒的经理人会在问题发生之前预防问题。 ”

任何有足够工作经验的人都能证实这一点,对于预言机守卫这样的协议安 全机制也是如此,因为解决问题的最佳方法是在问题成形之前、在它们造 成任何损害之前,就阻止问题发生。 毕竟,进行损害控制是远不如一开 始的零损害来得可取,而这正是我们清算引擎的核心 Oracle Guard (预 言机守卫) 设法做到的。

一些用户昨天被清算。 对一些人来说,他们并没有机会观察这个过程, 但对另一些人来说,他们感到沮丧,因为预言机守卫启动了,阻挡他们添 加保证金以防止清算。 正如我们在前一篇文章中所述,当链上价格偏离 市场时,预言机守卫会限制某些功能,为了防止用户以不利的价格进行交 易。 然而,关键问题是 : 如果没有预言机守卫,昨天会发生什么事 ? 这 位经理在问题发生之前,阻止了什么问题 ?

如果没有预言机守卫,昨天会发生的事情就是,那些被清算的人甚至会更 快速被清算。

价格下跌就不会是在 30 分钟的这一个时间段内,而是可能发生在一根 5 分钟的 K 线里,因为发生了一系列连锁清算则进一步更压低价格。 在这 种情况下,甚至可能会出现更糟糕的结果,即数百万美元的坏账。 这并 不罕见,因为这是许多借贷平台都曾处理过的问题。 最近在这种情况 下,Venus 被恶意利用造成了 2 亿美元的坏账。

预言机守卫阻止了这种情况的发生,这是一个巨大的胜利。 它有没有可 能阻止所有人被清算 ? 不,但它尽可能保护到最多的用户。

羊驼们很聪明,所以您们当中的一些人可能会想,' 好吧,这听起来不 错,但要怎么证明呢 ? ”

很简单。 以下我将展示一个攻击向量,若没有预言机守卫这种系统机 制,在任何杠杆农场平台上的任何一个人,都有可能得以执行该攻击向 量。 这种攻击可被用来一次又一次地耗尽贷款池中的资金。

此处 要注意最重要的一点是,任何一个没有 Alpaca 拥有的这种预言机守 卫系统的杠杆农场平台,都可以被攻击利用,并且现在立即就抽干它的借 贷金库。

希望这篇文章不会兼作为一次事前分析,但重要的是让每个读者都明白贷 款池的安全性不是一项简单任务,这就是我们在这上面花了这么多时间的 原因。 任何人都可以复制代码,但如果他们只有一次审计并且没有经受 住时间的考验,就不要指望他们的协议能够保护您的资金。 如果您需要
相关后果的友善提醒,请查看 Iron Finance 。

好的,让我们来谈详细情况。 以下是预言机守卫能防御的攻击矢量 :

假设杠杆池交易对 RTOKEN-BUSD 有 1k BUSD + 100k RTOKEN。 RTOKEN/BUSD 现货价格为 0.01。 为了简单起见,假设没有交换费。
1. 攻击者交换 2k BUSD,收到 66.67k RTOKEN (2,000*100,000/ (1,000+2,000))。 该池现在有 3k BUSD + 33.33k RTOKEN。 现 货价格变为 0.09,这意味着攻击将市场推高了 9 倍。

2.攻击者通过提供 2k BUSD 并从借贷协议借入 2k BUSD 来开仓。 协议 进行了最优交换,因此 1,582.58 BUSD 交换为 (1,582.58*33.33k/ (3,000+1,582.58)) = 11,511.45 RTOKEN; 因此在交换后,池中 有 3,000 + 1,582.58 BUSD = 4,582.58 BUSD 和 33.33k — 11, 511.45 = 21,821.55 RTOKEN。 然后,协议将仓位的流动性添加到池 中。池子现在有 4,582.58 + 2,417.42 BUSD 和 21,821.55 + 11,511.45 RTOKEN = 7k BUSD + 33.33k RTOKEN(协议交换并放回池时 RTOKEN 保持不变) 所以现货价格变为 0.21; 攻击者又将市场推高 2.33 倍。 攻击者持有 sqrt(7,000_33.33k) — sqrt(1k_100k) = ~5265 LPs。

3.攻击者将 66.67k RTOKEN 交换回 BUSD,(66.67k* 7,000)/ (33.33k+66.67k) = 4,667 BUSD。 在此步骤时,池子当前就有 2.33k BUSD + 100k RTOKEN。 现在该仓位价值约 1,600 BUSD (5625_2.33k/15275) = 858 BUSD,(5625_100k/15275) = 36,824 RTOKEN = 846.95 BUSD 现货价格。

结果 :
成本 : 操纵 DEX 2,000 BUSD + 开仓 2,000 BUSD = 4,000 BUSD
总收益 :4,667 BUSD
净收益 :4,667–4,000 BUSD = 667 BUSD 从贷款金库中流出 攻击的投资回报率 ( ROI):~16.7%

典型的预言机集成并不能阻止这件事。 如果贷款协议没有像预言机守卫 类型的系统,任何攻击者都可以重复上述攻击,一遍又一遍地耗尽贷款人 的资金。 没有贷款人,就没有借款人 ; 所以这是一个全方位的协议破坏攻击。

请注意,同样重要的另一件事情是,上述情况仅是预言机守卫保护您免于 遭受的各种攻击向量之一。 所以即使它不完美,它也能保证您的安全。 话虽如此,我们可以在某些地方改进协议,我们也会为此努力不懈。

Oracle Guard (预言机守卫) 可以做得更好的地方

在任何提供贷款的平台中,您总是会有坏账的风险。 这是因为价格可能
变动得太快,比协议可以通过清算交易关闭仓位并归还借入资金的速度更 快。 这就是为什么我们的平台会设定保守的清算阈值,以创造缓冲,超 过该缓冲这种类型的波动率将会被吸收。

某些协议可能会提供更高的杠杆率,但这是以增加贷方风险为代价而来。那些协议中的杠杆仓位不会有这些安全缓冲,因此大幅价格波动将会导致 坏账。

在我们保守的清算阈值和预言机守卫之间,坏账风险被尽可能地降到最 低。 可以 100% 消除吗 ? 不,这是不可能的。 如果资产价格暴跌过快并 保持在低位,任何借贷平台都会出现坏账。

然而,我们的协议已经成功地将此风险限缩到了这种程度,即使在像昨天 那样的极端情况下,价格在 30 分钟内下跌了 53%,当其他协议在面临类 似局面时损失了数亿美元的情况下,昨天产生的坏帐几乎为零 ; 相当于几 个小时的支付利息。

具体来说,是贷款池里的 0.00006890154; 在这有着 827,557,600 的贷 款池中,总共 57020 美元,我们简单的从贷款协议分配给开发基金的部 分费用里,拨出款项重新添加到池中 :

https://bscscan.com/tx/0xcd272efae82660d715b39e51140354d97f6696f884cf2f6a5ebb3ac91030433e 

https://bscscan.com/tx/0x16be847ea04a504e6506ff39e53c43c0616c481857ba1c0ad4e77037ffe379e3

尽管这不是一个完美的结果,如前所述,这也几乎是如此巨动性之下的最 佳情况。 此外,我们还将开发多项功能,以进一步改进我们的平台。

1. 允许在预言机守卫启动期间向杠杆仓位添加抵押品 (无借贷 )
上周我们已将此项添加到功能排程 (backlog) 中。 用户提出要求,我 们也听取了意见,并找到了安全的方法。 但是,即使我们已经开始着手 解决这个问题,添加这样的功能需要时间和测试以确保安全性。
比起可能会产生安全漏洞并让您被攻击利用的方式,我们更偏向以正确恰 当的方式实现此功能,这就是我们的开发团队尚未完成它的原因。 不过 我们工作速度是很快的。

2. 清算前止损单
有些用户已经向我们要求这功能一阵子了,但这是一个技术上难以实现的 问题。 在标准的情况下,协议需要持有用户的私钥,以便在用户不在时 为他们进行交易。 实际上,这会更像是一个交易平台,而不是一个杠杆 收益农场平台。
然而,我们想出了一种提供此功能给杠杆农场用户的方法。 平台将为用 户提供设置止损的选项,以便在他们的安全缓冲达到一定程度时自动平 仓。 这将可以避免清算。 在协议的这端,我们将建立一个机器人,该机 器人将被列入白名单,作为唯一可以为此类用户平仓的实体。

熊市如何安全耕种的建议

最后,我想指出市场已经发生了变化,务实的投资者如果想保持绿色,就 应该准备好随之改变。

干草叉和火炬不能保证您的农场安全,除非您是一群追捕科学怪人的暴 民。

所以让我们面对它。 很多人抱怨风险,但仍然在明知有风险的协议中提 供流动性。 所以我不得不说,最能控制您的资金安全的人 — 就是您自己。

当市场直线上涨时,APYs 足够高,导致人们可能比较不在乎是在哪里耕 种。 奖励飙升,基础资产飙升,您可以在任何地方质押并获利。 即使您 从跑路的项目那里蒙受损失,它也只是来自您之前的利润。 现在,是时 候认清 — 那些日子可能已经一去不复返了。

目前,取决于您问谁有关加密市场的问题,他们可能给出的最佳答案是趋 势方向还不明确。 许多人甚至可能会说我们正处于熊市的开始。

在这样的市场中,只做多头协议 (几乎所有协议都是) 的收益农场可能根 本没有利润,更不用说如果您的资金被漏洞利用而耗尽了。 资本保全变 得至关重要。 虽然我不会主张您在 Alpaca 这里做空或对冲时选择更安全 的收益农场仓位,但我至少会建议您稍微控制一下贪婪。

不要做看到棺材不流泪的人 ; 或者在这种情况下,一个空的加密钱包。

安全应该是第一要务,尽管大多数人在遭受苦难之前不会了解这一点。 不过,我相信随着 DeFi 的成熟,这一点会变得更加清晰。 人们可以在牛 市中进行风险投资。 在熊市中,如果您希望度过冬天,您需要更明智地 选择将资金投资在哪里。 幸运的是,如果您是一只羊驼,您应该已经有 答案了,而且有足够的羊毛来保暖。