1、Compound简介
Compound.finance 是去中心化金融DeFi的明星项目之一,定位于去中心化的借贷协议。可以称之为“去中心化的算法银行”。
资产具有时间价值,通过利息这一强大工具,可以让放贷方、借款方达成跨期价值交换。
Compound认为目前的加密币资产借贷市场存在两个核心问题:
- 市场上加密币借贷机制极为有限,导致很多资产错误定价,例如由于缺少做空手段,一些垃圾币市值依然很高。
- 由于加密币资产天然的波动性,持有加密币资产可能为负收益。单纯持有加密币并无激励,市场没有一套有效的利率机制来抵消波动风险和持有成本。
其实加密币市场不缺少借贷服务,可以说借贷服务是DeFi最热的应用场景。目前这些借贷服务大致分为两大类:
- 基于中心化机构的借贷服务,例如币安、火币这样的中心化交易所,以及人人比特、 BlockFi、SALT等加密币借贷平台。此类服务,依赖于中心化服务商的信用,在模式上本质上与传统金融机构提供的借贷/融资/融券服务差异不大。
- 基于去中心化的借贷服务,例如RCN、ETHLend、Nuo等。此类服务,一般采用去中心化的P2P借贷模式。但正如其他去中心化服务一样,在初期都面临用户体验较差、门槛高、市场流动性不足等问题,例如:需要放贷人/借款人自己全程发布、管理、监督借贷交易;由于采用P2P模式,导致要花较长时间才能匹配放贷人和借款人的需求。
针对这些问题,Compound提出了基于Compound Protocol的借贷解决方案,很多设计思路很值得学习借鉴。
2、Compound核心模式
2.1、Compound核心架构
Compound核心架构
2.2、Compound核心逻辑
- 放贷人(Suppliers)/借款人(Borrowers)存入资产到Compound 智能合约的货币市场(Money Market)。放贷人/借款人存入的资产为底层资产(underlying asset)。Compound目前支持USDC/REP/SAI/WBTC/BAT/ZRX
- 智能合约按照兑换率发放对应底层资产的Compound代币cTokens到用户账户。这里的cTokens可以为cDAI/cETH/cUSDC/cREP/cSAI/cWBTC/cBAT/cZRX
- 放贷人存入资产到Compound 的货币市场(Money Market)中可以享受放贷利息收益,由Compound自动撮合贷款需求。
- 借款人超额抵押资产后,可以从Money Market借款。不同于P2P借款,借款人不需要和贷款人协商,只要对应Money Market的流动性足够,由Compound 智能合约自动撮合。借款利率由Compound智能合约根据市场对资金的供需关系实时确定。同一区块内,所有借款人的借款利率都是相同的。
- Compound按照区块数为单位累积借款人利息(Accrue Interest)。
- Compound 对每一笔借款都会计提准备金(Reverse)
- 放贷人可以随时赎回(Redeem)自己存入的底层资产
- 借款人可以随时偿还贷款(Repay Borrow)
- 如果借款人抵押资产价值低于清算阀值,Compound智能合约会自动发起清算操作(liqudate)
2.3、Compound核心特点
3、Compound核心概念
3.1、账本系统
Compound账本遵循复式记账法的基本公式:资产=负债+所有者权益
3.2、货币市场Money Market
类似ETHLend这样P2P借贷模式虽然比较灵活,放贷方/借款人都可以自定义放贷/借款需求,但由于要撮合匹配借贷双方的需求,在市场流动性不足的情况下,效率并不高。
Compound借鉴了传统金融机构资金池做法,通过Money Market来构建不同底层资产的资金池来解决流动性问题,实现借贷需求的快速撮合。
放贷人存入到Compound 智能合约的不同底层资产分成不同的货币市场Money Market,形成各种底层资产的资金池,例如DAI Market、ETH Market。Compound智能合约根据市场对资金的供需关系,每15秒(一个Ethereum区块)计算对应Money Market的实时存款利率,放贷人享受对应利息收益。也就是说:所有放贷人的放贷利率/存款利率都是相同的;放贷利率是动态变化的,计息时间是按照区块数计息。
Compound 目前支持的货币市场:
- USD Coin(USDC)
- Ether(ETH)
- Dai(DAI)
- Augur(REP)
- Sai(Legancy DAI)
- Wrapped BTC(WBTC)
- Basic Attention Token(BAT)
- 0x(ZRX)
3.3、利率模型 InterestRateModel
利率模型是Compound 最核心的元素,涉及兑换率(exchange rate)、使用率( utilization rate)、放贷利率(supply rate)、借款利率(borrow rate)、抵押率(collateral factor)等概念,后面会以单独文章解析。
3.4、清算机制
借款人在借款时候,Compound要求抵押一定的资产,借款人可以借款金额由抵押因子(Collateral Factor)决定,也即贷款上限为:抵押资产价值*抵押因子。
由于加密币资产的波动性,因此抵押资产的价值时刻都在变化,因此Compound会实时监控每一个借款账户的健康度(Account Health),对健康度小于1的账户,Compound会自动发起清算操作。其中健康度=用户所有抵押资产的价值(统一转为ETH度量)/用户所有借款资产的价值(统一转为ETH度量)。
关于Compound的清算逻辑,后面会以单独文章解析。
3.5、价格预言机 Price Oracle
由于存在实时计算借款人抵押物的资产价值、放贷人存入底层资产兑换为代币的数量等需求,因此需要实时获取各种底层资产的价格信息。价格预言机合约通过获取排名前十的交易所的价格信息,整合成统一价格,提供给Compound其他合约调用。
3.6、管理审计 Comptroller
Comptroller提供了对Compound各个智能合约调用的管理/审计功能。
3.7、治理
Compound在社区治理上,初期以中心化方式运行(由协议管理委员会来掌控),逐步转变为由社区和stakeholder投票的去中心化的管理模式(DAO)。
下面一些权利一开始由协议管理员或者管理委员会来掌控:
- 开放/关闭/解禁一个货币市场
- 更新每一个货币市场的利率模型
- 更新预言机地址
- 提现风险储备金
- 选择新的管理员,例如由社区控制的DAO
4、参考资料
- Compound白皮书:
1.0:Compound白皮书v1.0
0.4:Compound白皮书v0.4