先知先觉 vs 后知后觉:继续聊HF25 & HBD利息发放

在之前的文章每天进步一点点:学习一下HF25后HBD利息发放相关内容,我学习了HF25前后HBD利息发放的机制,这篇文章再来深入地聊聊。

image.png
(图源 :pixabay)

上篇文章关于HBD利息发放的结论其实很简单,大概就是就是几点:

  • HF25之前,HBD余额&HBD存款都有利息
  • HF25之后,只有HBD的存款有利息
  • 利息的计算由账户(余额或存款)变动触发
  • 当被利息计算被触发,且距离上次利息发放大于30天,利息发放被执行。

然后我的帖子中提到自己的HBD余额利息因为HF25的缘故打了水漂。其实如果自己早点搞清楚上述规则,那么利用这些规则就可以实现利息收益的最大化。

HBD余额利息

以我的账户为例,如果我早些关注账户的HBD余额利息情况,就会获得如下数据:

Reveal spoiler

image.png

那么如何让收益最大化呢?从上边数据中,我们可以看到我上次利息发放数据:

Hbd last interest payment 2021-06-05 00:00:03

通过上次HBD余额利息发放时间以及最短发放周期为30天(HIVE_HBD_INTEREST_COMPOUND_INTERVAL_SEC),我们可以得知,我下次的HBD余额利息最早也得2021年7月5日才会发放。

而HF25硬分叉时间又早就被确定在6月30日,所以结合这两组信息,我们不难确定一切正常的话,我是拿不到6月5日之后的HBD余额利息的。

所以为了收益最大化,我应该在6月5日之后把HBD余额转换成HBD存款,那样就没有损失啦。当然了,如果HBD余额利息下次发放时间是6月30日 HF25时间点以前,那么留到HF25也没啥损失。

今天偶然回顾到@blocktrades的一篇文章:Important note for anyone holding HBD before hardfork 25,这篇文章就是讲HBD利息发放的变化,以及如何能做到利息收益最大化。

可惜是我当时点赞了这篇文章,并且瞄了一眼,但是并没有仔细阅读和分析,否则的化,不用看代码就可以知道如何弄才是最佳的操作。可惜的是,现在后知后觉,已经晚啦。

HBD存款利息

其实关于HBD存款利息也有一个有意思的事情,我在前文中说过:

原则上,我们可以控制存款账户的利息何时发放,这多少会给我们留下一点想象力空间,你想到了什么吗?😏

这里不卖关子了,我举两个极端的例子:

例子一:

假设原来利率是0,我在saving账户中持有大把的HBD,但是我一直(假设3年)不操作(转入,转出等)
然后利率改成7%,我操作一下触发利息发放
按道理我应该得到利息0
但是按代码的逻辑,我会得到三年按7%计算的利息

例子二:

假设之前利率是7%,saving账户中持有大把的HBD,但是我一直(假设3年)不操作(转入,转出等)
然后降息为0%,我操作一下触发利息发放
按着理论,我应该得到3年7%的利息
但是按代码的逻辑,我一分钱也得不到。

这其实可以算作的BUG,但是也可以不算作BUG:算做BUG的理由是与我们平时所理解的利息计算方式相悖(比如银行存款);不算作BUG的理由是我们代码里就这么定义的,这就是这个系统利息发放的机制。

如果算作BUG的话,我们计算累积时间的时候应该是:存款余额时间利息的累积,而不是当前的存款余额*时间的累积,然后链上周期性触发计算(比如间隔10000个块),而不是等用户主动触发。

如果不算BUG的话,我们则应该根据规则正确利息最大化,并且避免上述例子二中出现的损失。至于如何避免上述例子中的损失,很简单,周期性的自己触发一下(比如每周或者每月存取一下)就好了。

至于利用规则利息最大化就有难度了,你要判断出加息预期还是降息预期,然后再做对应的操作,对我来讲,大概是没戏了。

image.png
(图源 :pixabay)

说到先知先觉&后知后觉,我又不禁想起我之前被拉进一个SEER的群,名字就叫先知先觉,然后投入大把的SEER,跌到几乎归零,赔的血本无归。

所以先知先觉说起来容易,大部分时候我们都是后知后觉啦。

相关链接

Sort:  

学习了,原来要一个月存入和提取一次啊。请问下O哥,怎么知道知己啥时候存啥时候取呢?

O哥,您看我下面这样理解对不对:
我可以每隔31天,向HBD存款中增加一部分HBD,这样就相当于存款额有变化了,那么就可以收获前31天的利息,本金+利息+新存入的滚动到一起,下一次余额变化的时候计算利息就是(本金+利息+新存入的)7%31/365?
对吗?

我笨得不知不觉,无药可救。

观望o哥解答上面两个问题