原文标题:《AC 推出新产品 StableCredit》
早在 8 月,AC 就提出了 StableCredit 的概念,我在文章?YFI 的星辰大海?中有过简单介绍,本次 AC 发文,说明酝酿 4 个多月的想法要正式实施了。
简单说 StableCredit 是一个基于抵押型稳定币设计的存借贷与 AMM 综合运用协议,思路借鉴了?ARCx,抵押万物发债。
举个例子说明:
用户将价值 100 万的房子抵押给 YFI,YFI 给用户 100 万的稳定币贷款额度。这个稳定币贷款额度可以用来借出其他资产,比如一辆汽车。与此同时,协议会根据房子的投放收益(LP)来给用户分润。当房子价值上涨时,用户手里的借贷额度还可以向上浮动。
这个模式跟?Uniswap+Maker?很类似。用当下的场景做类比的话,就是用户将 ETH 存进 Uniswap 做市,赚收益的同时,Uniswap 还会给你一笔钱让你花。这是不是很爽?
下文将对 AC 的文章做进一步解读:
Beosin:sDAO项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin?EagleEye 安全风险监控、预警与阻断平台监测显示,BNB链上的sDAO项目遭受漏洞攻击,Beosin分析发现由于sDAO合约的业务逻辑错误导致,getReward函数是根据合约拥有的LP代币和用户添加的LP代币作为参数来计算的,计算的奖励与用户添加LP代币数量正相关,与合约拥有总LP代币数量负相关,但合约提供了一个withdrawTeam的方法,可以将合约拥有的BNB以及指定代币全部发送给合约指定地址,该函数任何人都可调用。而本次攻击者向其中添加了LP代币之后,调用withdrawTeam函数将LP代币全部发送给了指定地址,并立刻又向合约转了一个极小数量的LP代币,导致攻击者在随后调用getReward获取奖励的时候,使用的合约拥有总LP代币数量是一个极小的值,使得奖励异常放大。最终攻击者通过该漏洞获得的奖励兑换为13662枚BUSD离场。Beosin Trace追踪发现被盗金额仍在攻击者账户,将持续关注资金走向。[2022/11/21 7:53:09]
基本概念
AC 文章开头,先介绍了几个基本概念,包括:
抵押型稳定币(代币化债务),典型代表 Maker 的 DAI
Beosin:ULME代币项目遭受黑客攻击事件简析:金色财经报道,10月25日,据Beosin EagleEye 安全预警与监控平台检测显示,ULME代币项目被黑客攻击,目前造成50646 BUSD损失,黑客首先利用闪电贷借出BUSD,由于用户前面给ULME合约授权,攻击者遍历了对合约进行授权的地址,然后批量转出已授权用户的BUSD到合约中,提高价格ULME价格,然后黑客卖掉之前闪电贷借出的ULME,赚取BUSD,归还闪电贷获利离场。Beosin安全团队建议用户用户取消BUSD对ULME合约的授权并及时转移资金减少损失。[2022/10/25 16:38:21]
借贷协议,典型代表?Aave、Compound
自动做市商(AMM),典型代表 Uniswap、Sushi
单边 AMM,典型代表:DoDo、CoFiX
利用率,可以理解为抵押率或清算线,是借贷类协议的核心数据
这里可以单独说下利用率,AC 支出当利用率为 0% 时,借 1DAI 就是 1DAI,没有溢价。当利用率为 90% 时,借 1DAI 的成本要大于 1DAI,就是借 1DAI,可能实际得到 0.98DAI,存在溢价。
这个现象用 AMM 解释会非常清晰,当 DAI 和债务 1:1 添加到 50:50 的 AMM 池时,对债务的需求越多,交易滑点就越高,这也就解释了溢价的存在。
安全团队:LPC项目遭受闪电贷攻击简析,攻击者共获利约45,715美元:7月25日,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,LPC项目遭受闪电贷攻击。成都链安安全团队简析如下:攻击者先利用闪电贷从Pancake借入1,353,900个LPC,随后攻击者调用LPC合约中的transfer函数向自己转账,由于 _transfer函数中未更新账本余额,而是直接在原接收者余额recipientBalance值上进行修改,导致攻击者余额增加。随后攻击者归还闪电贷并将获得的LPC兑换为BUSD,最后兑换为BNB获利离场。本次攻击项目方损失845,631,823个 LPC,攻击者共获利178 BNB,价值约45,715美元,目前获利资金仍然存放于攻击者地址上(0xd9936EA91a461aA4B727a7e3661bcD6cD257481c),成都链安“链必追”平台将对此地址进行监控和追踪。[2022/7/25 2:36:51]
稳定币信贷
StableCredit 是一个结合了代币化债务稳定币、借贷、AMM 和单边 AMM 的协议,以创建一个完全去中心化的借贷协议。
安全团队:Audius项目恶意提案攻击简析,攻击者总共获利约108W美元:7月24日消息,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,Audius项目遭受恶意提案攻击。成都链安安全团队简析如下:攻击者先部署恶意合约并在Audius: Community Treasury 合约中调用initialize将自己设置为治理合约的监护地址,随后攻击者调用ProposalSubmitted 提交恶意85号提案并被通过,该提案允许向攻击合约转账1,856w个AudiusToken,随后攻击者将获得的AudiusToken兑换为ETH,总共获利约108W美元,目前获利资金仍然存放于攻击者地址上(0xa0c7BD318D69424603CBf91e9969870F21B8ab4c)。[2022/7/24 2:34:31]
用户可以提供任何资产并创建名为 StableCredit USD 的代币化信用(也可以支持 EUR、JPY 等)。
具体创建流程如下:
提供一定金额的 USDC
调用 USDC 价格预言机,确定 1 个 USDC 的美元价值
协议铸造相应美元价值的 StableCredit USD
安全公司:Starstream Finance被黑简析:4月8日消息,据Agora DeFi消息,受 Starstream 的 distributor treasury 合约漏洞影响,Agora DeFi 中的价值约 820 万美金的资产被借出。慢雾安全团队进行分析后以简讯的形式分享给大家。
1. 在 Starstream 的 StarstreamTreasury 合约中存在 withdrawTokens 函数,此函数只能由 owner 调用以取出合约中储备的资金。而在 April-07-2022 11:58:24 PM +8UTC 时,StarstreamTreasury 合约的 owner 被转移至新的 DistributorTreasury 合约(0x6f...25)。
2. 新的 DistributorTreasury 合约中存在 execute 函数,而任意用户都可以通过此函数进行外部调用,因此攻击者直接通过此函数调用 StarstreamTreasury 合约中的 withdrawTokens 函数取出合约中储备的 532,571,155.859 个 STARS。
3. 攻击者将 STARS 抵押至 Agora DeFi 中,并借出大量资金。一部分借出的资金被用于拉高市场上 STARS 的价格以便借出更多资金。[2022/4/8 14:12:38]
将 USDC 和 StableCredit USD 按照 50:50 的比例提供到 AMM
该协议计算系统利用率,最高可达 75%
所提供的 USDC 的利用率(或 75% 的最大值)以 StableCredit USD 的形式计算
此时,用户得到的 StableCredit USD 就是「借贷信用」。可以用它来借贷通过 AMM 抵押的其他资产。所以如果有其他用户提供 LINK 作为抵押,你可以通过 「卖出」借贷信用来借贷 LINK。当你想还债的时候,你可以把 LINK 「卖」回去换成 StableCredit USD,还清债务,然后收到你的 USDC。
实际案例
下面举几个具体实例来说明这个过程:
用户 A 提供 1000DAI 进行借款:
将 1000DAI 存入 StableCredit 协议
系统调用预言机查询 DAI 价值 1020USD
系统铸造 1020 个 USD
系统将用户 A 的 1000DAI 和 1020USD 添加到 AMM
系统计算利用率(根据全局抵押情况动态变化),最高为 75%
系统为用户 A 提供 75% 额度的借贷信用,即 1020*0.75=765 StableCredit USD
此时用户 A 提供了 1000DAI,得到 765 个 StableCredit USD。
用户 B 提供 2 个 ETH 进行借款:
将 2ETH 存入 StableCredit 协议
系统调用预言机查询 ETH 价值 1400USD
系统铸造 1400 个 USD
系统将用户 B 的 2ETH 和 1400USD 添加到 AMM
系统为用户 B 提供 75% 额度的借贷信用,即 1400*0.75=1050 StableCredit USD
此时用户 B 提供了 2ETH,得到 1050 个 StableCredit USD。
同理,有用户 C 提供了 1 个 WBTC,得到 26000 个 StableCredit USD;用户 D 提供了 1 个 YFI,得到了 23000 个 StableCredit USD,等等…
此时系统中存在多个借贷 AMM 池:
DAI:StableCredit USD
ETH:StableCredit USD
YFI:StableCredit USD
WBTC:StableCredit USD
其他各类用户添加的抵押资产池
用户 A 想借出 1 个 ETH,于是他将 525 个 StableCredit USD 提供给 AMM,得到 1 个 ETH。用户币想借出 500DAI,他将 510 个 StableCredit USD 提供给 AMM,得到 500 个 DAI。
他们想要赎回本金时,是需要向提供偿还对应借出资产即可从 LP 中提取本金。当提取本金时,系统会烧毁对应数量的 StableCredit USD。比如,用户 A 赎回 1000DAI,此时系统会调用预言机价格,假设此时价格仍为 1020USD,协议将烧毁对应数量的 StableCredit USD,以保证整个借贷资产的平衡。
这个赎回并烧毁 StableCredit USD 的过程,AC 文章中并没有提,是我个人的猜测和判断。主要依据是 EMN 当时的设计,也是铸造信贷和销毁信贷,遗憾的是当时被黑客利用导致项目没有继续。
StableCredit 的优势
StableCredit 的设计充分利用了代币化债务、借贷、AMM 的特点,相对单独存在 AMM 和借贷协议具有很多优势:
首先,系统的借贷利率实际是根据需求自动平衡的,用户需求多的借出资产,在偿还时会支付更高的利息。原理是需求多资产,在 AMM 中被卖出更多,用户在偿还借贷购买对应资产时,会支付更多的 StableCredit USD。
StableCredit USD 类似于 Uniswap 的 ETH,是 AMM 全部池交易的中间介质,这就让借贷信用可以享受交易手续费,间接的实现了资产提供者收取利息。即借贷用户支付的交易手续费和交易滑点等溢价,间接的提供给了代币提供者。
如果用户只提供代币而不进行借贷,会一直积累整个系统的借贷溢价,也就实现了存款收益。
这种方式还实现了非常优美的借贷最大化利用率,像 AAVE 这些借贷协议,一旦用户的抵押率达到红线便会被清算。StableCredit 的模式基本不存在被清算风险,只有相对的整体系统风险,即利用率。
举例来说:用户 A 存入的 1000DAI,得到 765 个 StableCredit USD。之后他全部用于借出 ETH,根据之前的案例,计算得出可借 765/700=1.09 个 ETH (由于实际存在滑点等,数量会有偏差)
假设经过 1 个月,ETH 价格上涨至 1000,用户偿还 1.09 个 ETH,会得到 1.09*1000=1090 StableCredit USD。此时用户偿还 765 StableCredit USD,可赎回 1000DAI。
经过以上过程,我们发现用户最初抵押了 1000DAI,得到了 75% 的购买力,然后他购买了 ETH,享受了 ETH 价格上涨的红利,当他结清头寸时,最终收回本金 1000DAI,同时还结余 1090-765=325 USD。
但其实我这个案例有些过于理想,在真实的系统运行环境中,由于套利者的存在,StableCredit USD 与各类资产的汇率会实时的通过 AMM 交易进行调整,因此在抵押和赎回过程中,不可能是按照原比例兑换。
以上的一些内容纯粹是我个人根据一些零散信息拼凑后的猜想,具体 StableCredit 的运作模式,还要等系统正式上线后再来详细验证。
但不难想象,这样的一种设计,绝对能释放更多的购买力,吸收更多的流动性。
写在最后
之前文章中我也有说, StableCredit 的设计,是 YFI 整个战船中非常关键的一环,它为整个金融帝国提供了一个吸收流动性的接口,最终可能发展成为流动性黑洞。
通过大量的吸收存款,叠加?yearn?的智能理财服务,yearn 的愿景正在一步一步实现。
简单说,YFI 的愿景是要让「收益最大化」。
AC 的初心一句话概括,「获得持续安全稳定便捷的最大化收益」。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。