LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > DeFi使用联合曲线模型进行无对手的卖空

DeFi使用联合曲线模型进行无对手的卖空

2020-07-07 BillSou 来源:区块链网络

TLDR:我们提出了一种修改“债券曲线”的方法,以允许与债券曲线直接进行不信任和完全抵押的卖空,而无需交易对手。WIP智能合约可在此处获得。

诸如Bonding Curve令牌模型之类的机制允许动态令牌价格发现,并随着社区令牌价格的上涨激励早期采用者。在经典的绑定曲线设置中,如果有人发现代币被低估,则他们可以在绑定曲线上购买代币,然后以更高的价格出售。但是,当代币被高估时,就没有直接的方法向社区产生负面信号并获得利润(类似于常规市场的卖空交易)。在本文中,我们将通过改进智能合约来探索此问题的解决方案,以使其本身支持卖空。

卖空快速入门

传统市场的卖空

如果您确信资产价格过高,那么在传统市场上您会怎么做?容易,您可以卖空资产,并希望将来以较低的价格买回资产,从而获得利润。本质上,您是从交易所或经纪人那里借入和出售资产,他们将确保您始终能够回购资产,否则将强制平仓。

走向权力下放的世界

传统市场需要可信任的设置,以便您可以与其他方借入或借出资产而不必担心作弊。在区块链世界中并不真正存在。但是,各种协议(例如?y?x或Dharma)旨在允许分散的保证金贷款。Ocean Protocol有一个很好的技术系列,介绍如何将这些协议应用于与交易对手的Bonding Curve设置。也就是说,交易对手会带来不必要的费用和摩擦。如果您想做空资产,却没人愿意放贷怎么办?对于没有大量交易的利基绑定代币,这是很有可能的。

用联合曲线摆脱交易对手

足够的介绍!本文的其余部分将重点讨论直接向绑定曲线添加卖空功能的想法。有三种方法将被添加到合同:shortSell,closePosition,和forceLiquidation。为了演示的目的,我们将创建一个带有COMM令牌的虚构社区,并ETH与价格方程P(x) = 10x(抵押方程C(x) = 5x^2)绑定。假设当前有100个未清供应,COMM边际价格1COMM为1,000ETH。社区已将marginCall阈值设置为80%(请参阅清算职位小节)。

直接与粘结曲线短路

爱丽丝(Alice)认为这COMM是高估了的价格,并希望推测价格会下降。她发送shortSell15的命令COMM,并投入10,000 ETH作为抵押。此时,智能合约将代币供应量调整为85,并为Alice发行头寸,其大小为15COMM,有效抵押品为13,875(从出售15个代币中获得的ETH)+ 10,000(额外抵押品)= 23,875 ETH。

平仓

一段时间后,对社区的兴趣确实下降了,在此期间其他人出售了30个社区令牌。因此,社区游戏币供给减少到55.在这一点上,Alice呼叫closePosition来买短路标记备份,并得到23,875 - 9375 = 14500 ETH回来。这相当于4,500 ETH的净利润!

请注意,如果供应量上升,Alice也可以选择关闭头寸,但她将获得不到10,000 ETH的回扣。在这种情况下,她将不会获得利润。

清算头寸

但是,即使在供应量超过103.92之后,Alice仍拒绝平仓。届时,回购15的成本COMM将为C(118.92) - C(103.92) ≈ 16713,这超过爱丽丝总抵押品的70%。为了防止社区由于关闭仓位而返还负ETH的可能性而失去抵押品的风险(不可能),精明的合约力量平仓并返还Alice剩余的23,875 ETH减去回购成本15COMM。

实施细节

当前正在开发中的源代码ShortableBondingCurve可在此处获得。在本小节中,我们将介绍一些重要的技术实施细节及其背后的原理。

键合曲线电流供应的概念

传统的绑定曲线只有一种代币供应的概念。但是,在这种可缩短模型中,键合曲线供应的概念并不直接转换为代币的实际总供应。取而代之的是,必须通过当前短接的令牌总数减去有效的联合曲线供应点。

函数getBondingCurveSupplyPoint()公共视图返回(uint256){
return super.getBondingCurveSupplyPoint()。sub(totalShortTokens);
}

当心最坏的清算情况

天真的实现可以使用键合曲线的供应点来确定清算点。如果一次存在一次卖空,这不是问题。但是,如果有多个未结头寸,那么多个清算事件可能会导致抵押品不足以弥补所有损失。要解决此问题,确定清算点的供应点应为当前供应量加上所有未清仓的空头代币。换句话说,为了检查Alice的头寸是否应该获得保证金,合约假定Alice头寸以外的所有头寸都已清算。

函数_shouldMarginCall(ShortSale storage shortSale)
内部
视图
返回(布尔)
{
uint256 totalSupply = super.getBondingCurveSupplyPoint();
uint256最差情况购买价格= getCollateralAtSupply(总供应量).sub
(getCollateralAtSupply(总供应量.sub (shortSale.shortAmount))
);
返回(最
糟糕的情况购买价格.mul(RATIONAL_DENOMINATOR)> =
shortSale.shortSaleCollateral.mul(shortMarginCallNumerator)
);
}

清算是一种激励游戏

在普通的加密货币交易所中,交易所的中央机构需要确保所有未平仓头寸均已涵盖抵押品,并负责清算所有可能会损失贷方资金的头寸。链上绑定曲线合同实际上并没有该特权。相反,我们forceLiquidation向公众开放电话。任何人都可以打电话给他,并获得返回给该职位所有者的固定比例的代币,作为代金人的佣金。这类似于MakerDAO的清算方案中执行的操作。

可能的攻击媒介和响应

在本文结尾处,我们将快速讨论预期的潜在攻击媒介以及我们对这些论点的回应。

攻击者卖空了整个令牌供应:这种情况发生时,社区中没有人可以出售其令牌,因为供应直接降为零。乍看起来,这可能会出现问题。但是,将供应减少到零将使购买新代币变得非常便宜。发现代币被低估的人可以购买代币以推动供应和价格回升。同样重要的是要注意,攻击者总是会因这次攻击而蒙受损失。攻击者利用联合曲线强制清算所有人:在传统交易所中这种攻击已经可能(请参阅2017年以太坊Flash Crash)。为了减轻风险,卖空者必须增加抵押品以确保其头寸不会轻易被清算。

结论

在本文中,我们探索一种实现思路,以允许直接卖空联合曲线绑定代币。该设计不需要交易对手,可以结合到任何绑定曲线中以加快价格发现。我们还提出了智能合约,以表明实施是可行的。话虽如此,这仍在进行中,我们感谢您的任何反馈或评论。只需在[email protected]与我们联系!

频段协议是用于建立权力下放的策展社区的工具包。我们是一支由工程师组成的团队,他们对社区的价值不受单个实体控制的未来充满期待。如果您是一位热情的开发人员,并且想为Band Protocol做出贡献,请通过[email protected]与我们联系。

—-

编译者/作者:BillSou

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...