对流动性协议的评估要点在于抓住本质,核心都是「借贷」,但不同之处就在于该协议是否可以具有良好的价格发现机制、能否提供充足流动性、是否能够避免不必要的成本损失。
想要设定好一个流动性协议,需要对以下几方面进行综合考量,包括①资金池的搭建;②超额抵押机制;③预言机有效性;④利率函数设计;⑤清算机制设计;⑥核心机制设计。
对流动性协议的评估要点在于抓住本质,核心都是「借贷」,但不同之处就在于该协议是否可以具有良好的价格发现机制、能否提供充足流动性、是否能够避免不必要的成本损失。
一、链上去中心化金融世界
自比特币的诞生以来,点对点的去中心化支付概念终于有了突破。很多项目方都在致力于搭建一个链上的去中心化自由金融市场——以单个公链为例,一个用户、生态、原生货币的公链可以在某种程度上理解为一个国家,而在这个主权经济生态系统里:
①原生货币作为本位货币,稳定币在链上锚定恒定价格连接币本位和美元本位;
②去中心化借贷协议取代传统银行实现去中心化的链上借贷及价格兑换机制;
③去中心化「债券市场」,原生基准利率下的 RWA 国债 +LSD-Fi;
④去中心化衍生品实现对资产波动的套期保值风险管理;
除此以外,还有去中心化保险信托、资管基金、彩票竞技、去中心化供应链金融方案的诞生,传统金融市场的任何产品都可以在链上世界重构实现。并且基于链上特性,还可以实现闪电交易这种链下不可实施的创新性功能。
Crypto 世界在某种角度上已经完善了链上自由金融市场构成要素。在不同的公链(主权经济体)之间,基于每个项目的代币经济学,原生货币作为本位货币进行链上治理,生态中的各种 Token 既可以作为一种股权,也可以作为债权出现,一条链的价值在于支撑了多少经济活动。
在基于链上原生的债券市场搭建下,RWA 国债项目和自上海升级后的 Liquidity Staking Derivatives(LSDFi)都具有较高热度。
作为 DeFi 项目,核心之一是解决流动性问题。所谓流动性:广义情况下,指一个主体能够支配的货币资金情况。在传统金融领域,流动性通常表示一种资产或市场的可交易程度和容易兑现的程度。不论是流动性借贷协议还是流动性质押协议,归根结底是金融的本质:借款贷款。
二、如何搭建一个流动性协议
下面就从传统金融中最重要的中介——银行开始,来聊一聊 DeFi 中流动性协议的搭建和评估方法。
商业银行的实质在于:吸收存款和发放贷款一体化,成为主动创造流动性的激励系统。
根据传统金融理论,在市场完全、信息对称和交易费用为零的完美世界里, 银行和非银行金融中介也没有存在的必要性, 借款人和贷款人通过自由交易就能实现帕累托最优的资源配置结果。
但这种完美情况显然不可能实现,这也是在现实世界中银行作为最重要的金融中介机构的作用。
对于一个商业银行来说,核心业务有两点:一方面吸收存款给予利息,一方面贷出存款获取利息,在赚取息差的同时为市场提供了流动性。中央银行通过各种货币政策工具存贷款数量、利率进行调控。
与银行的借贷及价格兑换机制相比,无托管去中心化协议具有的优势包括:基于市场需求的透明度和有效定价、快速便捷的借贷、抗审查。
在理解这一点后,我们可以很容易理解去中心化金融中的流动性协议。下面就以 Protocol Rankings 目前 TVL 第三的 Lending 协议:JustLend 来简单举例说明。
JustLend DAO Protocol
JustLend DAO 协议:这是一个由 TRON 驱动的货币市场协议,旨在建立基于供需算法确定的利率的货币市场。在这个协议中的利率是由基于 TRON 资产供需的算法确定的。
协议中有两个角色,即供应商 Supplier 和借款人 Borrower,双方都直接与协议交互以赚取或支付浮动利率。
供应:
在该协议中,首先汇集了所有用户的供应资金组成资金池(贷款池),实现借方点对池而非点对点的高流动性,更好实现货币平衡。这种情况下资金供应商(LP)并不需要等待单笔的贷款到期,而是可以随时从池中提取资产。
供应商将资产存入 JustLend DAO 智能合约的货币市场,在这个过程中提供的资产被表示为 jToken(一种 TRC-20 代币)。代币的持有者按照相关规则获得奖励(享受贷款的利息收入)。
借款:
如果借款人希望借入资产,首先需要购买 jToken 作为其标的资产的抵押品,然后基于超额抵押贷款的借款人就可以借入平台上的任何可用资产了。协议中只要求借款人指定借款资产,没有例如到期日的其他要求,也就是说,只要符合借贷条件,可以借了一直不还。
借款人也可以随时偿还贷款,如果借款人的抵押资产价值低于清算门槛,协议的智能合约将自动触发清算。
利率:
传统金融贷款的利率在整个贷款期限内一般保持不变。但在该协议中,利率会根据市场供求的变化而实时变化,不同市场的借贷 / 供给利率可能因区块而异。协议中的利息是根据 TRON 上区块生成时间计算的,借款利息会根据区块数量累积。
在本协议中,借款利率根据两种模型计算,即平滑利率模型和分阶段利率模型。数学模型不再赘述,原理是:当借款人对加密资产的需求下降时,池中可用于借贷的过多代币将带来更高的流动性和更低的利率,从而鼓励借贷。同样,当借入资产的需求很高时,可用于借贷的代币数量会下降,这将导致流动性降低和利率上升,从而吸引供应。
利率的设计是 DeFi 协议的核心一环,就在今年十月,抵押借贷平台 Yield Protocol 宣布了停止运营的计划,原因之一是:平台上固定利率借贷缺乏需求。一个好的利率机制可以带动一种趋势的发展。
三、流动性协议要素
从 JustLend DAO Protocol 这么一个典型的借贷协议中可以看出,一个流动性协议的搭建需要考虑以下几点:
①资金池的搭建:LP 注入流动性
②超额抵押机制:借款方获得借款
③预言机有效性:对抵押品价格追踪
④利率函数设计:浮动利率、固定利率等
⑤清算机制设计:抵押物不足额时的处理机制
⑥核心机制设计:价格稳定机制、风控搭建
抵押机制作为一种流动性借贷,这也是某些机制创新点的所在,比如通过足额抵押生成具有流动性的项目方 Token 进行交易,这样就不必再通过贷款方组建流动性池。
这种抵押资产的经典案例就是 Maker 协议,DAI 稳定币。
任何人可以通过使用 Maker 协议来创建叫做「Maker Vault (Maker 金库)」的智能合约并存入资产来生成 DAI 从而实现在 Maker 平台上用抵押资产生成 Dai 做杠杆。我们来看下 Dai 的抵押借贷思路。
DAI 的抵押借贷思路
步骤一:创建金库并锁入担保物
用户通过由社区创建的界面来创建金库,并锁入特定类型和数量的担保物来生成 Dai。存入资金之时,该金库即被视为有担保的。
步骤二:通过有担保的金库生成 Dai
将担保品资产锁入一个金库之后,该金库所有者便可使用任意非托管型密码货币钱包来发起、确认交易,生成出一定数量的 Dai。
步骤三:偿还债务并支付稳定费
若想取回部分或所有担保物,金库所有者必须部分或全额偿还其所生成的 Dai,并支付 Dai 未偿还期间不断累积的稳定费。稳定费只能用 Dai 支付。
步骤四:取出担保物
在偿还了 Dai 并支付了稳定费之后,金库所有者可以将部分或全部担保物退回自己的钱包。在完全偿还了 Dai 并取出所有担保物之后,金库就会空置下来,以待其所有者再次锁入资产。
尤为关键的是,不同的担保品资产需分置在不同的金库中。一些用户会拥有多个金库,采用的担保物类型和担保品率各不相同。
DAI 的清算机制
Maker 协议采取自动化拍卖流程来清算高风险的金库,以确保始终有足够的担保物支持未偿债务。清算决策基于清算率和金库的担保品价值 - 债务比率。每个金库类型都有相应的清算率,由 MKR 持有者根据担保品的风险进行投票决定。
当某个金库的质押率降至最低阈值以下时,拍卖清算商将启动清算程序。通过担保物拍卖获得的 Dai 用于偿还金库内的债务,包括清算罚金。如果拍卖所得的 Dai 足够清偿债务并支付清算罚金,将进行反向担保品拍卖以减少担保物的出售数量。
如果担保物竞拍获得的 Dai 不足以清偿债务,亏损部分成为 Maker 协议的负债。Maker 缓冲金中的 Dai 用于偿还这部分负债。如果缓冲金不足,将触发债务拍卖机制。在债务拍卖期间,系统铸造新的 MKR 并出售给使用 Dai 参与竞拍的用户。担保物拍卖所得的 Dai 进入 Maker 缓冲金。
Maker 缓冲金的作用是缓冲未来担保物不足和 Dai 存款利率上涨导致 MKR 增发过多的影响。如果通过竞拍和稳定费获得的 Dai 超过 Maker 缓冲金的上限,将通过盈余拍卖出售。在盈余拍卖期间,使用 MKR 竞拍固定数量的 Dai,最高出价者获得。盈余拍卖结束后,Maker 协议自动销毁拍卖所得的 MKR,减少 MKR 的总供应量。
流动性协议遭遇价格攻击
以上我们通过对 JustLend DAO Protocol 以及 MakerDAO 的案例,可以观察到一些创建流动性协议的关键点。就在写文章的同时,一个很有名的 DeFi 项目 dYdX 遭遇了价格攻击,保险池中的部分流动性被抽走。
dYdX 是一个用于永续合约和保证金交易的去中心化衍生品交易所,提供订单簿式的区块链数字资产交易服务,并提供杠杆和合约的交易功能。简单来说就是一个去中心化的订单簿模式合约交易所,任何人都可以在这个交易所里自由的交易合约。
但在该平台近期的 YFI-USD 的交易对中,YFI 代币被逐步拉高然后突然猛砸,导致在几天内 $YFI 在 dYdX 的未平仓合约从 80 万美元飙升至 6700 万美元,在价格崩溃之前,该价格攻击者能够从 dYdX 中提取大量 USDC,这导致了 dYdX 的保险池资金被大量抽走,创始人也宣布 V4 版本中会重新设计清算引擎。
该交易对中的 YFI 是项目流动性挖矿 Yearn Finance 的原生代币,用户可通过 Yearn Finance 完成不同的流动性挖矿策略,通过平台的三个核心产品 Earn、Vaults 和 Iron Bank 实现与其他 DeFi 项目的交互,Yearn Finance 也是 DeFi 乐高概念的重要参与者。
通过 dYdX 的案例可以看出:如果是一些小的流动性协议在遭遇价格攻击时,很容易就会被抽干流动性,这种状况尤其会出现在使用 Automatic Market Maker(自动化做市商)模型的交易协议中,同时往往伴随着预言机存在巨大的价格发现问题。
Mango 就是一个 Solana 上的去中心化合约平台,在 22 年 10 月时也曾遭遇过一次价格攻击。
在那次事件中,攻击者通过向 Mango 交易平台的 A 和 B 地址转入 500 万美元建立头寸,利用合约在 Mango 上自己做对手盘,多空双开 MANGO。随后,攻击者利用更多资金购买 MANGO 代币,将其价格从 2 美分操纵至 91 美分,利用平台内的巨额账面净资产通过借贷从 Mango 变现一部分收益,尽管流动性不足,还是套出了 1.1 亿美元。
在同年 12 月,Bsc 链借贷协议 Helio 也遭受了价格攻击。攻击者利用了预言机喂价不及时的漏洞,通过利用智能合约漏洞超发的 aBNBc 代币并将其转换为 Hello 的 hBNB,成功进行了抵押借贷操作。攻击者借出了价值 1644 万稳定币 HAY,并将其兑换成约 1500 万美元的通用资产进行提现。这次攻击给 Helio 协议造成了重大损失,揭示了预言机和合约漏洞的风险,以及对借贷协议安全性的重要性。
四、流动性资产池
在我们已经明白流动性协议需要哪些要素后,关键的一步就是去搭建一个流动性资产池。关于流动性资产池的分类其实有很多,重点讲解 AMM 流动资金池的进化之路,同时简单介绍下贷款池、期权抵押池和机枪池。
AMM 流动资金池
关于 Automatic Market Maker(自动化做市商),其实我们在【DeFi 评估方法①:Uniswap 迭代复盘】中已经写的比较明确了,毕竟提起 AMM 第一个想到的项目一定就是 Uniswap。在 AMM 中,实现了去中心化的做市商模式,任何人都可以提供流动性。
但是随着时间的发展,AMM 也在不断地更新,不仅仅是简单的 CPMM 模型,对原有缺陷进行优化和升级。
首先是几种恒定函数做市商(CFMMs),包括 CPMM、CSMM、CMMM。
①恒定乘积做市商(CPMM)模型
x·y=k
(x 是 token1,y 是 token2,k 是常数 )
从本质上讲,Uniswap 将交易的两种资产合并到一个流动性池中,其目标是确保无论交易规模如何,流动性池的规模都将保持不变。而在资金池变得不平衡向某方向倾斜时,套利者会进来并迅速重新平衡,换取利润的差异。
CPMM 的问题:滑点、无常损失和安全风险。这部分内容详细可以看上一篇推文【DeFi 评估方法①:Uniswap 迭代复盘】,里面写的很明确了。
②恒定和做市商 (CSMM) 模型
x+y=k
(x 是 token1,y 是 token2,k 是常数 )
CSMM 比较适合交易中价格变化接近于零的场景,但是这种模型不能提供无限的流动性。
缺陷:当链下价格与池中代币价格不匹配时,交易者和套利者就有机会消耗掉池中的储备金,破坏流动性池的稳定。会造成流动性池中的资产集中到了某一种资产中,丧失流动性。
③恒定平均值做市商 (CMMM) 模型
(x·y·z)*(1/3)=k
(x 是 token1,y 是 token2,z 是 token3,k 是常数 )
CMMM 的主要案例是 Balancer,该协议相对于 Uniswap 来比更具有弹性,创建的流动性池可以由多种不同资产构成。缺陷同 CPMM:滑点、无常损失和安全风险。
在 CFMM 的三个案例中,问题集中存在,主要还是在滑点、无常损失和流动性。为了避免这些问题,不断有新的项目对公式推出创新性的模型机制进行尝试,例如:
④Hybrid CPMMs(Stableswap)
Hybrid CPMMs 是对 CPMM 和 CSMM 的结合,应用者是 Curve Finance。通过一个新的公式,创造指数级的密集流动性,并为曲线的大部分内容提供线性汇率。
Curves Stableswap 是一种特殊的 CSMM,流动池平衡时就是 CSMM,一旦池变得不平衡就会转向 CPMM,它通过找到自己的市场匹配度,显着减少了相关资产交易时的滑点。
在 AMM(自动做市商)外,也存在着 PMM、DMM 的尝试。
⑤PMM(Proactive Market Maker) 主动做市商
PMM 出现于 DODO 协议,核心是在引入预言机来收集准确的价格数据的同时,发挥链上的供需机制进行价格发现,在当前市场价格附近聚合流动性,可以实现单边流动性和较低滑点。
PMM 可以提供更加充足的流动性,但较为依赖高频交易,现实情况难以实现。
⑥ DMM(Dynamic Market Maker)动态做市商
动态做市商的核心在于动态费用。在以特定的代币对创建流动性池后,每个流动性池将支持动态费用。在市场波动剧烈时增加费用,在市场波动较低时减少费用,这样可以促进交易和成交量。
这样做可以优化流动性提供者的潜在回报,作为池子的创建者,可以使用特定的放大(AMP)系数定制可编程定价曲线,动态费用范围也将根据用于池创建的 AMP 而改变。
贷款池
介绍完 AMM 其实其他的模型都比较简单,我们就举例说明即可。贷款池模型旨在促进去中心化借贷市场的流动性,直接充当借贷的交易统一对手方(点对池),这种贷款池的好处是。非常常见,比如我们在上文中提到的 JustLend DAO Protocol,以及 Compound 和 AAVE。
以 AAVE 为案例,创建一个贷款池需要分为以下几步:
①资产准备:首先设定特定加密资产作为借贷和存款的资金池,可以是 USDT、USDC、BTC 等,流动性池支持多种类型的资产。
②配置借贷利率:通过智能合约来配置不同资产的借贷利率。利率可以根据市场需求、供应和风险参数进行调整。借款人可以根据风险承受能力和市场利率选择适合的借贷条件。
③提供流动性:用户作为 LP 将资产存入 AAVE 的流动性池,提供借贷市场所需的资金,获得相应的利息回报。
④借贷操作:借款人选择要借入的资产,并根据他们的抵押品价值和借贷利率进行超额抵押获取贷款。
⑤利息分配:根据供应者提供的资金量和时间来计算 LP 应获得的利息回报。
机枪池
机枪池是指 PoW 挖矿中,对同算法的不同币种,根据实时挖矿收益的高低,以自动化的方式将算力切换至更高收益的币种进行挖矿的过程。简而言之就是谁收益率更高就挖谁。
在这种场景下,该池利用了不同流动性挖矿项目之间的套利机会,将资金动态的分配到不同的流动性池中,以获取最高的收益。
期权抵押池
期权合约也可以通过智能合约的形式,搬到链上进行去中心化管理,同时现在各大交易所也都已经上线了期权产品。衍生品基于某个基础资产价值变动的合约,可以进行套期保值,也可以用于更具有结构化的金融产品设计当中,比如传统金融中的雪球也是一种结构化产品。
目前有一些专注于去中心化的期权协议出现,其中也通过引入 AMM 资金池的模式,将资金池作为期权的统一卖方,从而解决了期权流动性差和无对手方的问题。
比如之前火过一段时间的 MASP(Multi-assets single pool)模型,将预言机和 AMM 机制相结合,这样做可以将不同基础资产集中到一个统一的流动池,为交易提供保证金支持和流动性支持。
对流动性协议的评估要点在于抓住本质,核心都是「借贷」,但不同之处就在于该协议是否可以具有良好的价格发现机制、能否提供充足流动性、是否能够避免不必要的成本损失。