<100 subscribers

Tornado.cash 新旧版机制对比
介绍 Tornado.cash是一个混币协议,其核心是利用零知识证明zk snark技术,来解决以太坊上用户多个地之间转移代币的隐私保护问题。旧版本在2019年投入使用,新版本在2021年底开始beta版使用。旧版本从最早支持以太坊主链(同时支持ETH和多种ERC20代币),到目前已经支持了多种主流链(包括Polygon、BSC等)。旧版本已经完全实现了去中心化,没有后端服务器,链上合约开源且无私钥或多签控制协议,前端代码开源且完全托管在IPFS媒介中。迄今为止,没有被纰漏过重大bug,且广受黑客青睐。新版本在旧版本验证机制的基础上,引入了两个新功能,包括任意代币数量的充提和隐蔽转移(Shield Transfer)。同时使用了Omnibridge跨链桥,并把主体功能部署在了Gnosis Chain上。目前新版本由社区投票掌握,多签可以控制协议相关功能,并没有做到完全去中心化。 旧版结构:角色:用户:一般有多个地址,部分地址用来向Tornado中存币。另一部分地址用来接受混币后的代币。为了保护隐私,这两种地址应该不存在任何关联。例如,A和B两地址之间存在过链上转账记录,或者和同一...

基于零知识证明系统的定制化引擎和layer2扩容方案StarkEx与StarkNet研究
StarkWare: 目前以太坊的 rollup 扩容方案中,主流的有两种:基于欺诈性证明的 optimistic rollup,以及基于零知识证明的 zk rollup。基于 optimistic rollup 的 layer2 为 Optimism 和 Arbitrum,其优势在于:兼容 EVM 的难度不高,可以直接使用 solidity 部署智能合约,直接开发 Dapp;劣势在于:提款等待时间长,安全性、TPS和交易成本方面不如 zk rollup。基于 zk rollup 的 layer2 为 StarkNet 和 zkSync,其优势在于:安全性更高,交易确认的时效性更强,TPS和交易成本显著优于 optimistic rollup;但是其劣势在于不易兼容 EVM,目前业界正在开发 zkEVM 解决方案,还需要一段时间。 目前主流的生成零知识证明的系统有两种,分别是zk Snark和zk Stark。zk Snark是最早提出的,并且应用到了早期的Zcash项目中,也是开发者资源最多的,因此最受主流市场接受。**ZK Stark是基于ZK Snark的改进,因此在技术上...

Tornado.cash 新旧版机制对比
介绍 Tornado.cash是一个混币协议,其核心是利用零知识证明zk snark技术,来解决以太坊上用户多个地之间转移代币的隐私保护问题。旧版本在2019年投入使用,新版本在2021年底开始beta版使用。旧版本从最早支持以太坊主链(同时支持ETH和多种ERC20代币),到目前已经支持了多种主流链(包括Polygon、BSC等)。旧版本已经完全实现了去中心化,没有后端服务器,链上合约开源且无私钥或多签控制协议,前端代码开源且完全托管在IPFS媒介中。迄今为止,没有被纰漏过重大bug,且广受黑客青睐。新版本在旧版本验证机制的基础上,引入了两个新功能,包括任意代币数量的充提和隐蔽转移(Shield Transfer)。同时使用了Omnibridge跨链桥,并把主体功能部署在了Gnosis Chain上。目前新版本由社区投票掌握,多签可以控制协议相关功能,并没有做到完全去中心化。 旧版结构:角色:用户:一般有多个地址,部分地址用来向Tornado中存币。另一部分地址用来接受混币后的代币。为了保护隐私,这两种地址应该不存在任何关联。例如,A和B两地址之间存在过链上转账记录,或者和同一...

基于零知识证明系统的定制化引擎和layer2扩容方案StarkEx与StarkNet研究
StarkWare: 目前以太坊的 rollup 扩容方案中,主流的有两种:基于欺诈性证明的 optimistic rollup,以及基于零知识证明的 zk rollup。基于 optimistic rollup 的 layer2 为 Optimism 和 Arbitrum,其优势在于:兼容 EVM 的难度不高,可以直接使用 solidity 部署智能合约,直接开发 Dapp;劣势在于:提款等待时间长,安全性、TPS和交易成本方面不如 zk rollup。基于 zk rollup 的 layer2 为 StarkNet 和 zkSync,其优势在于:安全性更高,交易确认的时效性更强,TPS和交易成本显著优于 optimistic rollup;但是其劣势在于不易兼容 EVM,目前业界正在开发 zkEVM 解决方案,还需要一段时间。 目前主流的生成零知识证明的系统有两种,分别是zk Snark和zk Stark。zk Snark是最早提出的,并且应用到了早期的Zcash项目中,也是开发者资源最多的,因此最受主流市场接受。**ZK Stark是基于ZK Snark的改进,因此在技术上...
Share Dialog
Share Dialog
1. 项目简介
Alpaca Finance(羊驼金融)是部署在BSC和Fantom上的DeFi项目,主要融合了借贷(lending)、流动性挖矿(Yield Farming)等内容,其特点是为用户提供了杠杠流动性挖矿(Leverage Yield Darming, LYF)服务且结合自身代币经济体系为用户带来更高的挖矿收益。Alpaca Finance采用开杠杆的方式为DeFi世界解决两个问题。首先,小资金量用户参与流动性挖矿收益低,而使用杠杆来允许用户从借贷池中贷出一部分资金参与挖矿,放大了小资金量用户的收益。第二,不同于Compound, Aave等主流Lending协议采用的超额抵押,杠杆的方式同样增加了借贷池中的资金利用率。另外,使用杠杆的同时放大了用户的挖矿收益,但同时也放大了用户的风险。例如在借出资产价格波动性行情下,用户的贷款价值(Debt Value)接近其头寸(Position Value)价值,导致其被强制平仓,从而本金遭受损失。
在新版本中,为最大程度降低杠杆挖矿中用户被清算的风险,同时保持稳定的挖矿收益。Alpaca Finance推出了最新的“自动化金库”服务,采用同时开立多空两个仓位对冲资产价格波动导致的杠杆风险。“自动化金库”主要使用了两种策略,包括市场中性策略(Delta Neutral Vault)和Saving Neutral Vault。目前,市场中性策略已经被部署使用,允许用户最多开立8倍杠杆进行流动性挖矿。
(1) 术语
**Ib Token:**计息代币,用户向借贷池中提供流动性的凭证,随着用户持有的时间越长,ib Token的价值越高,也就是累计的利息收益越高。Ib代币是fork Compound协议中的cToken的实现。
**Position Value:**仓位价值,也就是头寸价值。挖矿仓位的价值, 保证金 + 借入的资产 + 挖矿产出价值(LP代币价值)。
**Debt Value:**债务价值。债务本金和借款利息的总和。
**Equity Value:**权益价值。指如果平仓后以借入的资产能够期望获得的资产价值,也就是保证金价值。权益价值 = 仓位价值 - 债务价值
**Debt Ratio:**债务比率 = 债务价值/仓位价值
**Liquidation Threshold:**清算阈值。债务比率的临界值,一旦超过这个临界值,仓位进入清算环节。由于不同代币的价格波动性差异,相对稳定的代币对的清算阈值设定较高,例如BNB-ETH-LP为83.3%,而USDT-BUSD-LP挖矿的清算阈值为92%。

(2) 示例
a. Alice 使用 3 倍杠杆建立 BNB-USDT 挖矿仓位
b. 她提供了 10 个BNB的自有资产(价值 3000 USDT),这是她的保证金,也就是权益价值。
c. 她借了 6000 USDT(是她提供的2倍),这是她的债务价值。
d. Alpaca协议将所有存入和借入的代币转换为 50:50 的比例,以创造用于挖矿的 LP 代币:15 BNB + 4500 USDT或总价值 30 BNB,这是她的仓位价值。由于是卖出了其中的1500 USDT来买入5 BNB,所以这个仓位的净风险是做多了15 BNB。
e. Alice 此时仓位的债务比率(负债/仓位价值)是约 66%(20 BNB/30 BNB)。如果在某一时刻,BNB价格下跌 > 36%,那么 Alice 的债务比率将超过 83.3%(BNB-USDT 池的清算阈值)。然后,清算机器人将调用智能合约来关闭她的仓位,偿还贷款和利息,并将任何剩余的资产以借来USDT的形式返还至她的钱包。


2. 旧版本
(1) 技术架构
a. Alpaca代币产出

Alpaca代币产出合约为FairLaunch,该合约是fork MasterChef合约挖矿逻辑实现的。为了鼓励用户向资金池中提供流动性,用户可以把流动性质押凭证ib Token质押在FairLaunch中,然后根据每个区块和质押权重给予用户Alpaca代币奖励。FairLaunch合约支持多种单币和LP代币,且每个质押池挖矿效率不同。
struct PoolInfo {
address stakeToken; // 该池子质押代币地址
uint256 allocPoint; // 该池子的Alpaca代币产出权重值,除以totalAlloPoint为挖矿效率
uint256 lastRewardBlock; // 上一次触发分配奖励的时间戳
uint256 accAlpacaPerShare; // 每枚质押代币累计的Alpaca挖矿奖励
uint256 accAlpacaPerShareTilBonusEnd; // 在前期奖励周期中每枚代币的Alpaca累计奖励
}
b. 杠杆挖矿

角色:
Vault:代币金库合约。允许用户出借或赎回代币,发放ib Token作为质押凭证(Shares)
FairLaunch:Alpaca代币挖矿合约。开通了多个代币质押挖矿池,产出Alpaca代币作为出借人或杠杆挖矿收益。
Liquidator:清算人。实时监听仓位健康度,必要时执行仓位清算。
Worker:仓位管理员合约。代替用户执行杠杆流动性挖矿开仓、平仓等操作。对于一个代币&一个DEX,都有一个专门的Worker接入。
Reinvestor:复投管理员。将DEX挖矿收益卖出并复投进资金池。
Strategy:策略合约。执行开仓、调仓、平仓时的策略逻辑,由Worker合约触发。
DEX:Alpaca对接的主流DEX协议,基本是fork Uniswap V2的实现。由策略合约触发DEX的Router合约,来实现添加代币对流动性,兑换代币等功能。
(2) 清算细节

Vault:

Worker: Liquidate(uint256 id)

Worker: _removeShare(uint256 id)

Strategy:

(3) 风险点:
l **坏账:**在市场价格的高波动情况下,没有来及被清算的仓位会导致杠杆挖矿的净资产为负,从而导致借贷池中出借人的资产损失。
l 解决方案:在清算阈值到权益价值为0%之间设立了一个缓冲区间buffer。例如清算阈值为83.3%,缓冲区间为16.7%,一旦债务比率超过这个阈值之后,立即进去清算阶段。同时给予清算人5%的激励,以快速清算高风险仓位。
l **出借人无法回收资产:**在资金池利用率非常高的情况下,如果出借人在某一时刻大量提出资产,可能会发生无法提款的情况。
l 解决方案:Alpaca使用了“三阶模型”的利率模型来优化资金利用率到达 90% 时候的情况。当资金利用率急剧上升超过了 90% 时 (利率范围为20% - 150%),借贷利率也会飙升,这将鼓励更多的出借人存入资金,以及借款人及时归还未偿还的贷款,优化资金池利用率,使利用率保持在低于90%左右的水平。
l **杠杆放大滑点损失:**由于开闭仓需要卖出部分资产,所以当资金量较大,且DEX资金池流动性相对较低的情况下,卖出滑点损失会较大。例如DEX资金池中BUSD流动性为1亿美金,Alice卖出100万美金BUSD来配平资产,此时会损失4%的滑点价格。
l 解决方案:用户可以分别开立多个仓位,且不要频繁的关闭仓位。另外,对于较大仓位的用户,Alpaca也提供了一种”Minimize Trading”策略来减小滑点。
l **APY为负:**这是可能发生的情况。当借款利率高于流动性挖矿收益的时候就会发生,会导致仓位被清算。原因为贷款池资金利用率过高或者流动性挖矿产出代币(例如Pancake Swap中的Cake代币)价格过低。
l 解决方案:用户及时平仓或追加抵押保证金(使权益价值增加,负债比率降低),且不要向资金利用率过高的资金池中贷款。Alpaca官方可能会临时调整借款利率,鼓励更多的出借人添加流动性、更多的贷款人归还资产,从而降低资产利用率。
l **清算:**当权益价值接近仓位价值,也就是债务比例达到了清算阈值的时候,仓位可能被清算。
l 解决方案:用户可以选择低杠杆来降低风险,且实时关注资产价格波动变化,及时平仓。Alpaca也提供了新的对冲策略“自动化金库”来降低被清算风险。
l **智能合约代码漏洞:**常见的DeFi合约攻击手法例如重入攻击、闪电贷攻击、恶意操纵预言机攻击、管理员私钥被盗等,导致项目几乎全部资金流动性被转移。
l 解决方案:Alpaca项目智能合约已经过十几次专业机构审计,已安全稳定运行一年,目前尚无发现严重漏洞,有待进一步观察。
3. 新版本:自动化金库
(1) 市场中性策略
为了降低杠杆挖矿中用户仓位被清算的风险,同时保证正常的杠杆挖矿收益。Alpaca推出了市场中性策略,使用同时开立两个仓位同时做多和做空波动性资产来对冲价格波动。同时实时监控价格波动,采用重新平衡机制重新开立仓位来保持资产风险敞口为零。该策略不需要也不存在清算机制,于是用户无需担心杠杆被清仓的风险,同时保持较高的挖矿APY收益。

例如:对于3倍杠杆,同时开立1/4多头和3/4空头仓位。如下图所示,BNB 的多头敞口(最左边) 和空头敞口 (最右边) 大小相同。
Alice有4 BNB,且此时1 BNB = 100 USDT,开3倍杠杆。
仓位1:
抵押1BNB,借入200USDT。卖出50USDT,获得0.5BNB。
配平1.5 BNB:150 USDT,开始质押挖矿。
风险敞口:做多1.5 BNB & 做空50 USDT
仓位2:
抵押3BNB,借6 BNB。卖出4.5BNB,获得450 USDT。
配平4.5 BNB:450 USDT,开始质押挖矿、
风险敞口:做空1.5 BNB & 做多450 USDT
假设USDT价格锚定美金的不变的情况下,两仓位BNB总的风险敞口为零。
重新平衡:
随着时间的推移,由于复投的累积、借贷利息和波动性资产的价格变动,仓位不会保持中性。自动化的市场中性策略,允许仓位在窄幅范围内波动,以免重新平衡过于频繁,但一旦敞口超过预定的阈值,自动化金库将触发重新平衡以重置敞口回到零。平衡阈值的设置是根据过去一年的市场数据回测设定的。但是过于频繁地重新平衡会产生更高的交换费用,并造成仓位的无常损失。

优势:
与手动执行类似策略相比,自动化金库的仓位不会连接清算机器人,也不允许清算。同时该策略能保证对贷方的坏账风险实际上为0,因为该策略中的两个仓位相互对冲,即使在资产价格大幅波动之后,权益价值的百分比变化也很小。此外,一旦价格变动,平衡机器人会把仓位价格重新平衡至中性。例如对3倍杠杆的设置,波动性资产的价格在重新平衡之前可以向任一方向移动 40%,而权益价值只会变化小于 7.5%。并且通过重新平衡,权益价值的变化会小得多 (主要是因由交换滑点损失和重新平衡的无常损失)。

(2) 实现细节

DeltaNeutralVault:deposit

DeltaNeutralWorker:work

DeltaNeutralVault:rebalance

BNB-BUSD-x3 LYF config contract:

(3) 风险点
l **再平衡延迟:**当资产价格波动导致需要再平衡时,执行操作的延迟导致资产价格偏离预期,造成资产损失。可能原因:1. 区块链堵塞造成再平衡交易延迟落块。2. Alpaca自动化平衡机器人Rebalancer故障。
l 解决方案:Alpaca提供的基础设施能安全稳定的运行各种机器人。例如清算机器人已平稳运行了1年。当链上发生拥堵时,机器人也会调节gas策略,确保再平衡交易及时执行成功。
l **稳定币脱锚:**由于市场中性策略是为了对冲掉波动资产(如BNB)价格波动产生的风险敞口,但同时也放大了稳定币(如USDT)价格波动的风险敞口。在极端情况下,稳定币价格脱锚会导致仓位权益价值下降,但自动化金库策略又不提供清算服务,这可能会导致资金池坏账。
l 解决方案:使用Saving Neutral Strategy(但同时也会做多1倍BNB)
4. 总结
Alpaca推出的全新产品自动化金库,类似于链上对冲基金,当用户杠杆挖矿时自动分配一个多头和一个空头仓位,使波动性资产的总风险敞口为零,对冲其市场价格变化导致的清算风险。同时使用自动平衡机器人,实时监听市场价格,当负债比率超过平衡阈值时,执行链上重新平衡操作,使仓位价格回归中性。总体来讲,Aplaca Finance推出的这一产品很好的降低了用户仓位被清算的风险,同时保证了稳定的杠杆挖矿收益。目前产品只支持两个代币对都包含主流稳定币(BNB-USDT和BNB-BUSD),从这个角度看来,自动化金库能相对稳定运行。
但是从风险角度来看,自动化金库严重依赖于平衡机器人的稳定与安全性。由于不存在清算环节,如果平衡机器人在极端市场行情下发生故障,也可能导致代币价格严重偏离市场中性,用户杠杆仓位资不抵债,而造成真实的坏账情况。另外,由于市场中性策略进一步放大了稳定币的风险敞口,那么在稳定币价格脱锚的情况下,会造成更严重的权益价值损失,造成更严重的坏账风险。总之此产品运行时间不长,有待市场进一步验证。
5. References
Official Doc:https://docs.alpacafinance.org/
Yield Farming Calculator:https://docs.google.com/spreadsheets/d/15pHFfo_Pe66VD59bTP2wsSAgK-DNE_Xic8HEIUY32uQ/edit#gid=0
BNB-BUSD Market Neutral Test Data:https://docs.google.com/spreadsheets/d/1GdXCzQMdAGspJbGIfF6Yr-4VpRMcmIXQ4AS1QMNzZeQ/edit#gid=1215699436
Deployed Contract Addresses:https://github.com/alpaca-finance/bsc-alpaca-contract/blob/main/.mainnet.json
Alpaca Finance:https://app.alpacafinance.org/
1. 项目简介
Alpaca Finance(羊驼金融)是部署在BSC和Fantom上的DeFi项目,主要融合了借贷(lending)、流动性挖矿(Yield Farming)等内容,其特点是为用户提供了杠杠流动性挖矿(Leverage Yield Darming, LYF)服务且结合自身代币经济体系为用户带来更高的挖矿收益。Alpaca Finance采用开杠杆的方式为DeFi世界解决两个问题。首先,小资金量用户参与流动性挖矿收益低,而使用杠杆来允许用户从借贷池中贷出一部分资金参与挖矿,放大了小资金量用户的收益。第二,不同于Compound, Aave等主流Lending协议采用的超额抵押,杠杆的方式同样增加了借贷池中的资金利用率。另外,使用杠杆的同时放大了用户的挖矿收益,但同时也放大了用户的风险。例如在借出资产价格波动性行情下,用户的贷款价值(Debt Value)接近其头寸(Position Value)价值,导致其被强制平仓,从而本金遭受损失。
在新版本中,为最大程度降低杠杆挖矿中用户被清算的风险,同时保持稳定的挖矿收益。Alpaca Finance推出了最新的“自动化金库”服务,采用同时开立多空两个仓位对冲资产价格波动导致的杠杆风险。“自动化金库”主要使用了两种策略,包括市场中性策略(Delta Neutral Vault)和Saving Neutral Vault。目前,市场中性策略已经被部署使用,允许用户最多开立8倍杠杆进行流动性挖矿。
(1) 术语
**Ib Token:**计息代币,用户向借贷池中提供流动性的凭证,随着用户持有的时间越长,ib Token的价值越高,也就是累计的利息收益越高。Ib代币是fork Compound协议中的cToken的实现。
**Position Value:**仓位价值,也就是头寸价值。挖矿仓位的价值, 保证金 + 借入的资产 + 挖矿产出价值(LP代币价值)。
**Debt Value:**债务价值。债务本金和借款利息的总和。
**Equity Value:**权益价值。指如果平仓后以借入的资产能够期望获得的资产价值,也就是保证金价值。权益价值 = 仓位价值 - 债务价值
**Debt Ratio:**债务比率 = 债务价值/仓位价值
**Liquidation Threshold:**清算阈值。债务比率的临界值,一旦超过这个临界值,仓位进入清算环节。由于不同代币的价格波动性差异,相对稳定的代币对的清算阈值设定较高,例如BNB-ETH-LP为83.3%,而USDT-BUSD-LP挖矿的清算阈值为92%。

(2) 示例
a. Alice 使用 3 倍杠杆建立 BNB-USDT 挖矿仓位
b. 她提供了 10 个BNB的自有资产(价值 3000 USDT),这是她的保证金,也就是权益价值。
c. 她借了 6000 USDT(是她提供的2倍),这是她的债务价值。
d. Alpaca协议将所有存入和借入的代币转换为 50:50 的比例,以创造用于挖矿的 LP 代币:15 BNB + 4500 USDT或总价值 30 BNB,这是她的仓位价值。由于是卖出了其中的1500 USDT来买入5 BNB,所以这个仓位的净风险是做多了15 BNB。
e. Alice 此时仓位的债务比率(负债/仓位价值)是约 66%(20 BNB/30 BNB)。如果在某一时刻,BNB价格下跌 > 36%,那么 Alice 的债务比率将超过 83.3%(BNB-USDT 池的清算阈值)。然后,清算机器人将调用智能合约来关闭她的仓位,偿还贷款和利息,并将任何剩余的资产以借来USDT的形式返还至她的钱包。


2. 旧版本
(1) 技术架构
a. Alpaca代币产出

Alpaca代币产出合约为FairLaunch,该合约是fork MasterChef合约挖矿逻辑实现的。为了鼓励用户向资金池中提供流动性,用户可以把流动性质押凭证ib Token质押在FairLaunch中,然后根据每个区块和质押权重给予用户Alpaca代币奖励。FairLaunch合约支持多种单币和LP代币,且每个质押池挖矿效率不同。
struct PoolInfo {
address stakeToken; // 该池子质押代币地址
uint256 allocPoint; // 该池子的Alpaca代币产出权重值,除以totalAlloPoint为挖矿效率
uint256 lastRewardBlock; // 上一次触发分配奖励的时间戳
uint256 accAlpacaPerShare; // 每枚质押代币累计的Alpaca挖矿奖励
uint256 accAlpacaPerShareTilBonusEnd; // 在前期奖励周期中每枚代币的Alpaca累计奖励
}
b. 杠杆挖矿

角色:
Vault:代币金库合约。允许用户出借或赎回代币,发放ib Token作为质押凭证(Shares)
FairLaunch:Alpaca代币挖矿合约。开通了多个代币质押挖矿池,产出Alpaca代币作为出借人或杠杆挖矿收益。
Liquidator:清算人。实时监听仓位健康度,必要时执行仓位清算。
Worker:仓位管理员合约。代替用户执行杠杆流动性挖矿开仓、平仓等操作。对于一个代币&一个DEX,都有一个专门的Worker接入。
Reinvestor:复投管理员。将DEX挖矿收益卖出并复投进资金池。
Strategy:策略合约。执行开仓、调仓、平仓时的策略逻辑,由Worker合约触发。
DEX:Alpaca对接的主流DEX协议,基本是fork Uniswap V2的实现。由策略合约触发DEX的Router合约,来实现添加代币对流动性,兑换代币等功能。
(2) 清算细节

Vault:

Worker: Liquidate(uint256 id)

Worker: _removeShare(uint256 id)

Strategy:

(3) 风险点:
l **坏账:**在市场价格的高波动情况下,没有来及被清算的仓位会导致杠杆挖矿的净资产为负,从而导致借贷池中出借人的资产损失。
l 解决方案:在清算阈值到权益价值为0%之间设立了一个缓冲区间buffer。例如清算阈值为83.3%,缓冲区间为16.7%,一旦债务比率超过这个阈值之后,立即进去清算阶段。同时给予清算人5%的激励,以快速清算高风险仓位。
l **出借人无法回收资产:**在资金池利用率非常高的情况下,如果出借人在某一时刻大量提出资产,可能会发生无法提款的情况。
l 解决方案:Alpaca使用了“三阶模型”的利率模型来优化资金利用率到达 90% 时候的情况。当资金利用率急剧上升超过了 90% 时 (利率范围为20% - 150%),借贷利率也会飙升,这将鼓励更多的出借人存入资金,以及借款人及时归还未偿还的贷款,优化资金池利用率,使利用率保持在低于90%左右的水平。
l **杠杆放大滑点损失:**由于开闭仓需要卖出部分资产,所以当资金量较大,且DEX资金池流动性相对较低的情况下,卖出滑点损失会较大。例如DEX资金池中BUSD流动性为1亿美金,Alice卖出100万美金BUSD来配平资产,此时会损失4%的滑点价格。
l 解决方案:用户可以分别开立多个仓位,且不要频繁的关闭仓位。另外,对于较大仓位的用户,Alpaca也提供了一种”Minimize Trading”策略来减小滑点。
l **APY为负:**这是可能发生的情况。当借款利率高于流动性挖矿收益的时候就会发生,会导致仓位被清算。原因为贷款池资金利用率过高或者流动性挖矿产出代币(例如Pancake Swap中的Cake代币)价格过低。
l 解决方案:用户及时平仓或追加抵押保证金(使权益价值增加,负债比率降低),且不要向资金利用率过高的资金池中贷款。Alpaca官方可能会临时调整借款利率,鼓励更多的出借人添加流动性、更多的贷款人归还资产,从而降低资产利用率。
l **清算:**当权益价值接近仓位价值,也就是债务比例达到了清算阈值的时候,仓位可能被清算。
l 解决方案:用户可以选择低杠杆来降低风险,且实时关注资产价格波动变化,及时平仓。Alpaca也提供了新的对冲策略“自动化金库”来降低被清算风险。
l **智能合约代码漏洞:**常见的DeFi合约攻击手法例如重入攻击、闪电贷攻击、恶意操纵预言机攻击、管理员私钥被盗等,导致项目几乎全部资金流动性被转移。
l 解决方案:Alpaca项目智能合约已经过十几次专业机构审计,已安全稳定运行一年,目前尚无发现严重漏洞,有待进一步观察。
3. 新版本:自动化金库
(1) 市场中性策略
为了降低杠杆挖矿中用户仓位被清算的风险,同时保证正常的杠杆挖矿收益。Alpaca推出了市场中性策略,使用同时开立两个仓位同时做多和做空波动性资产来对冲价格波动。同时实时监控价格波动,采用重新平衡机制重新开立仓位来保持资产风险敞口为零。该策略不需要也不存在清算机制,于是用户无需担心杠杆被清仓的风险,同时保持较高的挖矿APY收益。

例如:对于3倍杠杆,同时开立1/4多头和3/4空头仓位。如下图所示,BNB 的多头敞口(最左边) 和空头敞口 (最右边) 大小相同。
Alice有4 BNB,且此时1 BNB = 100 USDT,开3倍杠杆。
仓位1:
抵押1BNB,借入200USDT。卖出50USDT,获得0.5BNB。
配平1.5 BNB:150 USDT,开始质押挖矿。
风险敞口:做多1.5 BNB & 做空50 USDT
仓位2:
抵押3BNB,借6 BNB。卖出4.5BNB,获得450 USDT。
配平4.5 BNB:450 USDT,开始质押挖矿、
风险敞口:做空1.5 BNB & 做多450 USDT
假设USDT价格锚定美金的不变的情况下,两仓位BNB总的风险敞口为零。
重新平衡:
随着时间的推移,由于复投的累积、借贷利息和波动性资产的价格变动,仓位不会保持中性。自动化的市场中性策略,允许仓位在窄幅范围内波动,以免重新平衡过于频繁,但一旦敞口超过预定的阈值,自动化金库将触发重新平衡以重置敞口回到零。平衡阈值的设置是根据过去一年的市场数据回测设定的。但是过于频繁地重新平衡会产生更高的交换费用,并造成仓位的无常损失。

优势:
与手动执行类似策略相比,自动化金库的仓位不会连接清算机器人,也不允许清算。同时该策略能保证对贷方的坏账风险实际上为0,因为该策略中的两个仓位相互对冲,即使在资产价格大幅波动之后,权益价值的百分比变化也很小。此外,一旦价格变动,平衡机器人会把仓位价格重新平衡至中性。例如对3倍杠杆的设置,波动性资产的价格在重新平衡之前可以向任一方向移动 40%,而权益价值只会变化小于 7.5%。并且通过重新平衡,权益价值的变化会小得多 (主要是因由交换滑点损失和重新平衡的无常损失)。

(2) 实现细节

DeltaNeutralVault:deposit

DeltaNeutralWorker:work

DeltaNeutralVault:rebalance

BNB-BUSD-x3 LYF config contract:

(3) 风险点
l **再平衡延迟:**当资产价格波动导致需要再平衡时,执行操作的延迟导致资产价格偏离预期,造成资产损失。可能原因:1. 区块链堵塞造成再平衡交易延迟落块。2. Alpaca自动化平衡机器人Rebalancer故障。
l 解决方案:Alpaca提供的基础设施能安全稳定的运行各种机器人。例如清算机器人已平稳运行了1年。当链上发生拥堵时,机器人也会调节gas策略,确保再平衡交易及时执行成功。
l **稳定币脱锚:**由于市场中性策略是为了对冲掉波动资产(如BNB)价格波动产生的风险敞口,但同时也放大了稳定币(如USDT)价格波动的风险敞口。在极端情况下,稳定币价格脱锚会导致仓位权益价值下降,但自动化金库策略又不提供清算服务,这可能会导致资金池坏账。
l 解决方案:使用Saving Neutral Strategy(但同时也会做多1倍BNB)
4. 总结
Alpaca推出的全新产品自动化金库,类似于链上对冲基金,当用户杠杆挖矿时自动分配一个多头和一个空头仓位,使波动性资产的总风险敞口为零,对冲其市场价格变化导致的清算风险。同时使用自动平衡机器人,实时监听市场价格,当负债比率超过平衡阈值时,执行链上重新平衡操作,使仓位价格回归中性。总体来讲,Aplaca Finance推出的这一产品很好的降低了用户仓位被清算的风险,同时保证了稳定的杠杆挖矿收益。目前产品只支持两个代币对都包含主流稳定币(BNB-USDT和BNB-BUSD),从这个角度看来,自动化金库能相对稳定运行。
但是从风险角度来看,自动化金库严重依赖于平衡机器人的稳定与安全性。由于不存在清算环节,如果平衡机器人在极端市场行情下发生故障,也可能导致代币价格严重偏离市场中性,用户杠杆仓位资不抵债,而造成真实的坏账情况。另外,由于市场中性策略进一步放大了稳定币的风险敞口,那么在稳定币价格脱锚的情况下,会造成更严重的权益价值损失,造成更严重的坏账风险。总之此产品运行时间不长,有待市场进一步验证。
5. References
Official Doc:https://docs.alpacafinance.org/
Yield Farming Calculator:https://docs.google.com/spreadsheets/d/15pHFfo_Pe66VD59bTP2wsSAgK-DNE_Xic8HEIUY32uQ/edit#gid=0
BNB-BUSD Market Neutral Test Data:https://docs.google.com/spreadsheets/d/1GdXCzQMdAGspJbGIfF6Yr-4VpRMcmIXQ4AS1QMNzZeQ/edit#gid=1215699436
Deployed Contract Addresses:https://github.com/alpaca-finance/bsc-alpaca-contract/blob/main/.mainnet.json
Alpaca Finance:https://app.alpacafinance.org/
No comments yet