简析 YFI 创始人新作 StableCredit 运作机制与特性

原文标题:《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的初心一句话概括,「获得持续安全稳定便捷的最大化收益」。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

XRP为什么我们在种子轮投资1inch?

为什么我们在种子轮投资1inch?时间回到2019年底,我们通过Near的推荐加入了OpenwebCollective孵化社区,在那个早期开发者孵化社区,我们遇到了在Gitcoin名列前茅的开发者SergejKunz.

[0:0ms0-2:37ms