FilDA 是 heco 上的 DeFi 借贷平台,本来和其它 DeFi 借贷平台 并没多大差别,但其最近产品更新带来了越来越多的亮点。存款还借款就是其中一个。
0x01 正常的还款是怎样的
就像下图所示,这个账户借了一点儿钱,差不多 6.77 USDT。
image.png
要还钱的话,是需要钱包里有至少 6.77 USDT 放在那里的。目前这个钱包里有 30 好几 USDT 就是可以正常还款的。这和现实生活中拿现金还贷款是类似的,我们可以称之为 现金还款。
这是目前 99% 的 DeFi 借贷平台所支持的唯一一种还款方式。
0x02 存在什么样的问题
现金还款需要手上有现金,但如果你手上没现金怎么办?这里有几种情况:
-
手上没有要还款的那个币种,但是有其它币种。比如你借了一笔 USDT,出去各种腾挪赚了不少 HT,但手上 USDT 所剩无几了。针对这种情况,正常情况下你要先去交易所把 HT 换成 USDT,然后进行还款。FilDA 很早也就提供了换币还款功能
image.png
可以一键把换币和还款都做了,免去了取交易所换币的过程。
image.png -
但是很多用户其实手上是没必要保留现金的。把币放到 FilDA 这种借贷平台里吃利息不香么?为啥要把没任何利息收入的币放在钱包里呢?比如你借了一笔 USDT,出去各种腾挪赚了不少 HT,然后直接把这些 HT 存入了 FilDA,赚取无损的利息收入。但问题来了,要还款时怎么办?正常情况下,需要这么几步操作:
第一步:把 HT 从 FilDA 取出来
第二步:打开 MDEX (Heco 上的一个去中心化交易所)
第三步:把 HT 换成 USDT
第四步:打开 FilDA 并进行 USDT 还款
特别繁琐是不是,有了前面提到的换币还款功能,这些步骤可以简化成两步:
第一步:把 HT 从 FilDA 取出来
第二步:使用换币还款功能进行 USDT 还款
感觉一点儿也不复杂了是不是,不过如果你是玩 DeFi 的老手,就会很快发现一个惊人的现实:在操作层面,
以上全错
你甚至连第一步都走不下去,用户往往都是极其贪婪的,往应用里存价值 1000U 的 HT,恨不能借出价值 1000U 的 USDT,尽管实际上由于抵押率的限制,可能最多只能借出 800U,赚了更多的 HT 之后,还想借出更多的 USDT。
看着账户里存了价值 1600U 的 HT,实际只借出了 800U,但你是没法直接取出价值 800U 的 HT 进行换币还款的,因为一旦这样操作,会导致抵押品不足的问题,所以底层协议会禁止这样的操作,你要按实际可取出的 HT 数量去取款,换币还款,然后再取款,再换币还款,反复操作直到手抽筋...
有没有可能更简单些,所有操作 一步完成 呢?
0x03 存款还借款
最近 FilDA 新上线的存款还借款,
就实现了这样的 一步完成,可以将任何存款直接拿来还借款,再也不用因为要还款还要在钱包里非要保留资产了。有任何资产直接放心大胆的放进去吃利息就好了,要还款时直接拿出一部分存款将借款还掉就好了。
这,是怎么做到的?
最直接的想法,你可以写一个合约,把下面的操作放在一个合约函数里:
第一步:取出抵押资产 HT
第二步:将抵押资产通 HT 过 DEX 兑换为 USDT
第三步:用兑换出来的 USDT 还掉 USDT 债务
很不幸的是,这几乎是完全走不通的,假设 HT 的抵押率为 80%,你存了价值 1000U 的 HT 作为抵押资产,借出 800U,这种情况下,你在第一步是一分钱的 HT 也取不出的,更轮不到第二步第三步了。
怎么办?
现实生活中有种过桥贷,就是为类似这种场景而生的。简单来说,这个时候如果旁边有个资金池,先从这个资金池里借 800U 还掉你的债务,然后再取出价值 800U 的 HT,通过 DEX 兑换为 800U 还给资金池,问题不就完美解决了么?
总结一下:
第一步:从资金池借一笔钱,在存款还贷款界面你看到的单笔限额,实际上就是资金池的限额,资金池里最多只允许借这么多钱。
image.png
第二步:用从资金池里借出的钱把借款债务还掉
第三步:取出等数量的抵押资产
第四步:将抵押资产通过 DEX 卖出,还钱给资金池
所有步骤放在一个智能合约函数里,一笔交易完成。
网友评论