原文标题:《AC推出新产品StableCredit》
早在8月,AC就提出了StableCredit的概念,我在文章?YFI的星辰大海?中有过简单介绍,本次AC发文,说明酝酿4个多月的想法要正式实施了。
简单说StableCredit是一个基于抵押型稳定币设计的存借贷与AMM综合运用协议,思路借鉴了?ARCx,抵押万物发债。
举个例子说明:
用户将价值100万的房子抵押给YFI,YFI给用户100万的稳定币贷款额度。这个稳定币贷款额度可以用来借出其他资产,比如一辆汽车。与此同时,协议会根据房子的投放收益来给用户分润。当房子价值上涨时,用户手里的借贷额度还可以向上浮动。
这个模式跟?UniswapMaker?很类似。用当下的场景做类比的话,就是用户将ETH存进Uniswap做市,赚收益的同时,Uniswap还会给你一笔钱让你花。这是不是很爽?
下文将对AC的文章做进一步解读:
基本概念
AC文章开头,先介绍了几个基本概念,包括:
安全团队:Defrost Finance被攻击事件简析:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,Defrost Finance预言机被恶意修改,并且添加了假的抵押token清算当前用户,损失超1300万美元。攻击者通过setOracleAddress函数修改了预言机的地址,随后使用joinAndMint函数铸造了100,000,000个H20代币给0x6f31地址,最后调用liquidate函数通过虚假的价格预言机获取了大量的USDT。后续攻击者通过跨链的方式将被盗资金转移到了以太坊的0x4e22上,目前有490万美元的DAI在0x4e22地址上,有500万美元的DAI在0xfe71地址上,剩余300万美元的ETH被转移到了0x3517地址上。[2022/12/25 22:06:35]
抵押型稳定币,典型代表Maker的DAI
借贷协议,典型代表?Aave、Compound
自动做市商,典型代表Uniswap、Sushi
单边AMM,典型代表:DoDo、CoFiX
安全公司:AurumNodePool合约遭受漏洞攻击简析:金色财经报道,据区块链安全审计公司Beosin EagleEye监测显示,2022年11月23日,AurumNodePool合约遭受漏洞攻击。
Beosin分析发现由于漏洞合约的changeRewardPerNode函数未进行验证,导致攻击者可以调用该函数进行任意值设置。
攻击者首先调用changeRewardPerNode函数将每日奖励值设置成一个极大数,接下来调用claimNodeReward函数提取节点奖励,而节点奖励的计算取决于攻击者设置的rewardPerDay值,导致计算的节点奖励非常高。而在这一笔交易之前,攻击者便通过一笔交易(0xb3bc6ca257387eae1cea3b997eb489c1a9c208d09ec4d117198029277468e25d)向合约存入了1000AUR,创建了攻击者的节点记录,从而使得攻击者能够提取出该节点奖励。最终攻击者通过该漏洞获得约50个BNB($14,538.04)。[2022/11/23 8:01:04]
利用率,可以理解为抵押率或清算线,是借贷类协议的核心数据
Beosin:SheepFarm项目遭受攻击事件简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,BNB链上的SheepFarm项目遭受漏洞攻击,Beosin分析发现由于SheepFarm合约的register函数可以多次调用,导致攻击者0x2131c67ed7b6aa01b7aa308c71991ef5baedd049多次利用register函数增大自身的gems,再利用upgradeVillage函数在消耗gems的同时累加yield属性,最后调用sellVillage方法把yield转换为money后再提款。本次攻击导致项目损失了约262个BNB,约7.2万美元。Beosin Trace追踪发现被盗金额仍在攻击者账户,将持续关注资金走向。[2022/11/16 13:10:39]
这里可以单独说下利用率,AC支出当利用率为0%时,借1DAI就是1DAI,没有溢价。当利用率为90%时,借1DAI的成本要大于1DAI,就是借1DAI,可能实际得到0.98DAI,存在溢价。
这个现象用AMM解释会非常清晰,当DAI和债务1:1添加到50:50的AMM池时,对债务的需求越多,交易滑点就越高,这也就解释了溢价的存在。
Beosin:EthTeamFinance项目遭受到了漏洞攻击事件简析:据Beosin EagleEye 安全预警与监控平台检测显示,ETH链上的EthTeamFinance项目遭受漏洞攻击,攻击合约0xCFF07C4e6aa9E2fEc04DAaF5f41d1b10f3adAdF4通过LockToken合约的migrate函数没有正确验证_id和params的漏洞,将WTH,CAW,USDC,TSUKA代币从V2流动性池非法升级到V3流动性池,并且通过sqrtPriceX96打乱V3流动池的Initialize的价格,从而获取大量refund套利。共计套利了约1300多万美元。[2022/10/27 11:49:12]
稳定币信贷
StableCredit是一个结合了代币化债务稳定币、借贷、AMM和单边AMM的协议,以创建一个完全去中心化的借贷协议。
用户可以提供任何资产并创建名为StableCreditUSD的代币化信用。
具体创建流程如下:
提供一定金额的USDC
Force DAO 代币增发漏洞简析:据慢雾区消息,DeFi 量化对冲基金 Force DAO 项目的 FORCE 代币被大量增发。经慢雾安全团队分析发现: 在用户进行 deposit 操纵时,Force DAO 会为用户铸造 xFORCE 代币,并通过 FORCE 代币合约的 transferFrom 函数将 FORCE 代币转入 ForceProfitSharing 合约中。但 FORCE 代币合约的 transferFrom 函数使用了 if-else 逻辑来检查用户的授权额度,当用户的授权额度不足时 transferFrom 函数返回 false,而 ForceProfitSharing 合约并未对其返回值进行检查。导致了 deposit 的逻辑正常执行,xFORCE 代币被顺利铸造给用户,但由于 transferFrom 函数执行失败 FORCE 代币并未被真正充值进 ForceProfitSharing 合约中。最终造成 FORCE 代币被非预期的大量铸造的问题。 此漏洞发生的主要原因在于 FORCE 代币的 transferFrom 函数使用了`假充值`写法,但外部合约在对其进行调用时并未严格的判断其返回值,最终导致这一惨剧的发生。慢雾安全团队建议在对接此类写法的代币时使用 require 对其返回值进行检查,以避免此问题的发生。[2021/4/4 19:45:30]
调用USDC价格预言机,确定1个USDC的美元价值
协议铸造相应美元价值的StableCreditUSD
将USDC和StableCreditUSD按照50:50的比例提供到AMM
该协议计算系统利用率,最高可达75%
所提供的USDC的利用率以StableCreditUSD的形式计算
此时,用户得到的StableCreditUSD就是「借贷信用」。可以用它来借贷通过AMM抵押的其他资产。所以如果有其他用户提供LINK作为抵押,你可以通过「卖出」借贷信用来借贷LINK。当你想还债的时候,你可以把LINK「卖」回去换成StableCreditUSD,还清债务,然后收到你的USDC。
实际案例
下面举几个具体实例来说明这个过程:
用户A提供1000DAI进行借款:
将1000DAI存入StableCredit协议
系统调用预言机查询DAI价值1020USD
系统铸造1020个USD
系统将用户A的1000DAI和1020USD添加到AMM
系统计算利用率,最高为75%
系统为用户A提供75%额度的借贷信用,即1020*0.75=765StableCreditUSD
此时用户A提供了1000DAI,得到765个StableCreditUSD。
用户B提供2个ETH进行借款:
将2ETH存入StableCredit协议
系统调用预言机查询ETH价值1400USD
系统铸造1400个USD
系统将用户B的2ETH和1400USD添加到AMM
系统计算利用率,最高为75%
系统为用户B提供75%额度的借贷信用,即1400*0.75=1050StableCreditUSD
此时用户B提供了2ETH,得到1050个StableCreditUSD。
同理,有用户C提供了1个WBTC,得到26000个StableCreditUSD;用户D提供了1个YFI,得到了23000个StableCreditUSD,等等…
此时系统中存在多个借贷AMM池:
DAI:StableCreditUSD
ETH:StableCreditUSD
YFI:StableCreditUSD
WBTC:StableCreditUSD
其他各类用户添加的抵押资产池
用户A想借出1个ETH,于是他将525个StableCreditUSD提供给AMM,得到1个ETH。用户币想借出500DAI,他将510个StableCreditUSD提供给AMM,得到500个DAI。
他们想要赎回本金时,是需要向提供偿还对应借出资产即可从LP中提取本金。当提取本金时,系统会烧毁对应数量的StableCreditUSD。比如,用户A赎回1000DAI,此时系统会调用预言机价格,假设此时价格仍为1020USD,协议将烧毁对应数量的StableCreditUSD,以保证整个借贷资产的平衡。
这个赎回并烧毁StableCreditUSD的过程,AC文章中并没有提,是我个人的猜测和判断。主要依据是EMN当时的设计,也是铸造信贷和销毁信贷,遗憾的是当时被黑客利用导致项目没有继续。
StableCredit的优势
StableCredit的设计充分利用了代币化债务、借贷、AMM的特点,相对单独存在AMM和借贷协议具有很多优势:
首先,系统的借贷利率实际是根据需求自动平衡的,用户需求多的借出资产,在偿还时会支付更高的利息。原理是需求多资产,在AMM中被卖出更多,用户在偿还借贷购买对应资产时,会支付更多的StableCreditUSD。
StableCreditUSD类似于Uniswap的ETH,是AMM全部池交易的中间介质,这就让借贷信用可以享受交易手续费,间接的实现了资产提供者收取利息。即借贷用户支付的交易手续费和交易滑点等溢价,间接的提供给了代币提供者。
如果用户只提供代币而不进行借贷,会一直积累整个系统的借贷溢价,也就实现了存款收益。
这种方式还实现了非常优美的借贷最大化利用率,像AAVE这些借贷协议,一旦用户的抵押率达到红线便会被清算。StableCredit的模式基本不存在被清算风险,只有相对的整体系统风险,即利用率。
举例来说:用户A存入的1000DAI,得到765个StableCreditUSD。之后他全部用于借出ETH,根据之前的案例,计算得出可借765/700=1.09个ETH
假设经过1个月,ETH价格上涨至1000,用户偿还1.09个ETH,会得到1.09*1000=1090StableCreditUSD。此时用户偿还765StableCreditUSD,可赎回1000DAI。
经过以上过程,我们发现用户最初抵押了1000DAI,得到了75%的购买力,然后他购买了ETH,享受了ETH价格上涨的红利,当他结清头寸时,最终收回本金1000DAI,同时还结余1090-765=325USD。
但其实我这个案例有些过于理想,在真实的系统运行环境中,由于套利者的存在,StableCreditUSD与各类资产的汇率会实时的通过AMM交易进行调整,因此在抵押和赎回过程中,不可能是按照原比例兑换。
以上的一些内容纯粹是我个人根据一些零散信息拼凑后的猜想,具体StableCredit的运作模式,还要等系统正式上线后再来详细验证。
但不难想象,这样的一种设计,绝对能释放更多的购买力,吸收更多的流动性。
写在最后
之前文章中我也有说,StableCredit的设计,是YFI整个战船中非常关键的一环,它为整个金融帝国提供了一个吸收流动性的接口,最终可能发展成为流动性黑洞。
通过大量的吸收存款,叠加?yearn?的智能理财服务,yearn的愿景正在一步一步实现。
简单说,YFI的愿景是要让「收益最大化」。
AC的初心一句话概括,「获得持续安全稳定便捷的最大化收益」。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。