区块见闻 区块见闻
Ctrl+D收藏区块见闻

BLEC:简析 YFI 创始人新作 StableCredit 运作机制与特性_business-credit-alliance-chain

作者:

时间:

原文标题:《AC推出新产品StableCredit》

早在8月,AC就提出了StableCredit的概念,我在文章?YFI的星辰大海?中有过简单介绍,本次AC发文,说明酝酿4个多月的想法要正式实施了。

简单说StableCredit是一个基于抵押型稳定币设计的存借贷与AMM综合运用协议,思路借鉴了?ARCx,抵押万物发债。

举个例子说明:

用户将价值100万的房子抵押给YFI,YFI给用户100万的稳定币贷款额度。这个稳定币贷款额度可以用来借出其他资产,比如一辆汽车。与此同时,协议会根据房子的投放收益来给用户分润。当房子价值上涨时,用户手里的借贷额度还可以向上浮动。

这个模式跟?Uniswap+Maker?很类似。用当下的场景做类比的话,就是用户将ETH存进Uniswap做市,赚收益的同时,Uniswap还会给你一笔钱让你花。这是不是很爽?

下文将对AC的文章做进一步解读:

Beosin:SEAMAN合约遭受漏洞攻击简析:金色财经报道,根据区块链安全审计公司Beosin旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,2022年11月29日,SEAMAN合约遭受漏洞攻击。Beosin分析发现是由于SEAMAN合约在每次transfer函数时,都会将SEAMAN代币兑换为凭证代币GVC,而SEAMAN代币和GVC代币分别处于两个交易对,导致攻击者可以利用该函数影响其中一个代币的价格。

攻击者首先通过50万BUSD兑换为GVC代币,接下来攻击者调用SEAMAN合约的transfer函数并转入最小单位的SEAMAN代币,此时会触发合约将能使用的SEAMAN代币兑换为GVC,兑换过程是合约在BUSD-SEAMAN交易对中将SEAMAN代币兑换为BUSD,接下来在BUSD-GVC交易对中将BUSD兑换为GVC,攻击者通过多次调用transfer函数触发_splitlpToken()函数,并且会将GVC分发给lpUser,会消耗BUSD-GVC交易对中GVC的数量,从而抬高了该交易对中GVC的价格。最后攻击者通过之前兑换的GVC兑换了50.7万的BUSD,获利7781 BUSD。Beosin Trace追踪发现被盗金额仍在攻击者账户(0x49fac69c51a303b4597d09c18bc5e7bf38ecf89c),将持续关注资金走向。[2022/11/29 21:10:04]

基本概念

Beosin:UVT项目被黑客攻击事件简析,被盗资金已全部转入Tornado Cash:金色财经报道,据Beosin EagleEye 安全预警与监控平台检测显示,UVT项目被黑客攻击,涉及金额为150万美元。攻击交易为0x54121ed538f27ffee2dbb232f9d9be33e39fdaf34adf993e5e019c00f6afd499

经Beosin安全团队分析,发现攻击者首先利用开发者部署的另一个合约的具有Controller权限的0xc81daf6e方法,该方法会调用被攻击合约的0x7e39d2f8方法,因为合约具有Controller权限,所以通过验证直接转走了被攻击合约的所有UVT代币,Beosin安全团队通过Beosin Trace进行追踪,发现被盗资金已全部转入Tornado Cash。[2022/10/27 11:48:46]

AC文章开头,先介绍了几个基本概念,包括:

抵押型稳定币,典型代表Maker的DAI

借贷协议,典型代表?Aave、Compound

自动做市商,典型代表Uniswap、Sushi

慢雾:BSC项目Value DeFi vSwap 模块被黑简析:据慢雾区情报,币安智能链项目 Value DeFi 的 vSwap 模块被黑,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享,供大家参考:

1. 攻击者首先使用 0.05 枚 WBNB 通过 vSwap 合约兑换出 vBSWAP 代币;

2. 攻击者在兑换的同时也进行闪电贷操作,因此 vSwap 合约会将兑换的 vBSWAP 代币与闪电贷借出的 WBNB 转给攻击者;

3. 而在完成整个兑换流程并更新池子中代币数量前,会根据池子的 tokenWeight0 参数是否为 50 来选择不同的算法来检查池子中的代币数量是否符合预期;

4. 由于 vSwap 合约的 tokenWeight0 参数设置为 70,因此将会采用第二种算法对池子中的代币数量进行检查;

5. 而漏洞的关键点就在于采用第二种算法进行检查时,可以通过特殊构造的数据来使检查通过;

6. 第二种算法是通过调用 formula 合约的 ensureConstantValue 函数并传入池子中缓存的代币数量与实时的代币数量进行检查的;

7. 在通过对此算法进行具体分析调试后我们可以发现,在使用 WBNB 兑换最小单位(即 0.000000000000000001) vBSWAP 时,池子中缓存的 WBNB 值与实时的值之间允许有一个巨大的波动范围,在此范围内此算法检查都将通过;

8. 因此攻击者可以转入 WBNB 进行最小单位的 vBSWAP 代币兑换的同时,将池子中的大量 WBNB 代币通过闪电贷的方式借出,由于算法问题,在不归还闪电贷的情况下仍可以通过 vSwap 的检查;

9. 攻击者只需要在所有的 vSwap 池子中,不断的重复此过程,即可将池子中的流动性盗走完成获利。详情见原文链接。[2021/5/8 21:37:37]

单边AMM,典型代表:DoDo、CoFiX

慢雾:Spartan Protocol被黑简析:据慢雾区情报,币安智能链项目 Spartan Protocol 被黑,损失金额约 3000 万美元,慢雾安全团队第一时间介入分析,并以简讯的形式分享给大家参考:

1. 攻击者通过闪电贷先从 PancakeSwap 中借出 WBNB;

2. 在 WBNB-SPT1 的池子中,先使用借来的一部分 WBNB 不断的通过 swap 兑换成 SPT1,导致兑换池中产生巨大滑点;

3. 攻击者将持有的 WBNB 与 SPT1 向 WBNB-SPT1 池子添加流动性获得 LP 凭证,但是在添加流动性的时候存在一个滑点修正机制,在添加流动性时将对池的滑点进行修正,但没有限制最高可修正的滑点大小,此时添加流动性,由于滑点修正机制,获得的 LP 数量并不是一个正常的值;

4. 随后继续进行 swap 操作将 WBNB 兑换成 SPT1,此时池子中的 WBNB 增多 SPT1 减少;

5. swap 之后攻击者将持有的 WBNB 和 SPT1 都转移给 WBNB-SPT1 池子,然后进行移除流动性操作;

6. 在移除流动性时会通过池子中实时的代币数量来计算用户的 LP 可获得多少对应的代币,由于步骤 5,此时会获得比添加流动性时更多的代币;

7. 在移除流动性之后会更新池子中的 baseAmount 与 tokenAmount,由于移除流动性时没有和添加流动性一样存在滑点修正机制,移除流动性后两种代币的数量和合约记录的代币数量会存在一定的差值;

8. 因此在与实际有差值的情况下还能再次添加流动性获得 LP,此后攻击者只要再次移除流动性就能再次获得对应的两种代币;

9. 之后攻击者只需再将 SPT1 代币兑换成 WBNB,最后即可获得更多的 WBNB。详情见原文链接。[2021/5/2 21:17:59]

利用率,可以理解为抵押率或清算线,是借贷类协议的核心数据

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]

这里可以单独说下利用率,AC支出当利用率为0%时,借1DAI就是1DAI,没有溢价。当利用率为90%时,借1DAI的成本要大于1DAI,就是借1DAI,可能实际得到0.98DAI,存在溢价。

这个现象用AMM解释会非常清晰,当DAI和债务1:1添加到50:50的AMM池时,对债务的需求越多,交易滑点就越高,这也就解释了溢价的存在。

稳定币信贷

StableCredit是一个结合了代币化债务稳定币、借贷、AMM和单边AMM的协议,以创建一个完全去中心化的借贷协议。

用户可以提供任何资产并创建名为StableCreditUSD的代币化信用。

具体创建流程如下:

提供一定金额的USDC

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

来源:金色财经

标签:BLECREDICREDICREDITNibbleClassicCREDI价格business-credit-alliance-chainLYO Credit

火币交易所热门资讯
区块链:Rebase的核心价值,不是带来稳定,而是带来更精准的尺度_BAS

阿飞兄弟对区块链经济下关于法币、btc、ampl的货币思考非常深入,陆续写了很多,感兴趣的朋友可以翻阅下面三篇文章:1、《在coin这条赛道上,我原以为不会再有新奇.

SHI:老刘谈币:12.29 ETH行情分析_比特币官方网

前言:行情不可怕,闪崩不可怕,诱单不可怕,可怕的是你不能把握行情,只有稳定的行情狙击,以及严格的执行进场才能满载而归,否则你看着每日的行情波动,看着每日的行情走势依旧是望洋兴叹,所以跟上节奏.

CREDI:苏玺谈币:12.28比特币早间行情分析及策略_SIN

  比特币至昨日晚间再度上行刷新25000一线历史高点后,日内凌晨行情开始走单边上行。价格在不断继刷历史新高,目前已经突破27000关口,涨势并未为减弱,价格还在不断向上拉升,向28000一线位.

SWAP:老A言币:12/28ETH凌晨通知恭喜实仓币友瞬间获利8.3个点位止盈出场_SWAP价格

完美的布局加上精准的预判,老A又是收获颇丰。也恭喜老A的实仓币友获利满满出局。那么在今天凌晨01时14分整根据技术面分析出来的操作思路,之后进行分享,关注老A的币友都会收到老A获利的消息通知:B.

SWAP:12.28比特币早间行情分析及操作策略_MAN

多空皆可赚钱,唯有贪婪者例外,一切的交易,情绪起到关键性的作用,花全部的时间研究趋势,永远不要和趋势作对,学会跟随,才能学到精髓,错误并不可耻,可耻的是在错误的时候不懂得修正.

NEX:大饼剑指30000美金ETH再破新高_ByteNext

回顾昨日走势,ETH早盘一直处于窄幅震荡行情,直至晚间下行插针至622一线后,迅速反弹拉伸突破700,日内振幅接近百点! 行情分析 以太坊销毁ETH总价值击穿4亿美元.