连我奶奶都能耍的很6的NervosDao

NervosDao的RFC最近在github上面公布了
似乎许多人仍然对于NervosDao一头雾水

包括我奶奶也是

但…奶奶在在我的循循善诱(?)之下,也成了CKB的投资人

那这下没有任何交易策略的奶奶该如何打败大盘,从中得到最大的回报呢?

没错,对于他而言最省脑袋瓜且安全的策略就是当一个Holder,并且为了不受二级发行的稀释,奶奶他必须将钱存入NervosDao之中,以待一个好时机取出。

是的,我奶奶除了记得住私钥和知道动动手指外

可能也不会做其他事情了

image
因此我试着在想,怎么让他操作NervosDao呢?
首先,必须让我奶奶理解:

NervosDao本质就是智能合约

等等,太残忍了,更简单一点说智能合约就是透过发送交易来产生的合约。


NervosDao是由两个部分所组成的

一个是“存款”(Deposit),就是我奶奶要把钱存入NervosDao里面
另一个是“取款”(Withdraw),就是当我奶奶要拿NervosDao的钱去Happy的时候要做的动作,取款中其实还有两个小步骤,第一步(Phase1)是要确认这是谁存的钱,存了多久;第二步(Phase2)则是把钱转换成可退回的未花费输出,并且把利息退给你,确保奶奶的Token不被二级增发所稀释。

总而言之,就是让奶奶在想存钱进 NervosDao 的时候,还有想把钱领出来的时候,都发送出交易! 以下如果你比我奶奶还多一点好奇心,可以在稍微看一下,我会试着去讲这几笔交易要干嘛的

存款 Deposit

存款就是把钱存入NervosDao,存款的交易 只要奶奶喜欢,随时都可以发送 ,这笔交易是要把奶奶想存入的钱(Cell)做上记号,也就是添加NervosDao的脚本,让NervosDao知道有笔钱在什么时候存进来了,而这些cell会被识别为Nervos DAO deposit cell

取款 Withdraw

取款的动作和上面说的一样分成两笔交易,第一笔是Phase1,可以把它当作是退款结算申请;第二笔是退款交易,也就是等锁定期到了以后,要把奶奶存在NervosDao中的钱连本带利退给她:

  1. 第一笔是Phase1的交易:这笔是让我们从Nervos DAO deposit cell 变成Nervos DAO withdrawing cell,此时合约就会根据你当时存入的cell data中的block nunber是多少,进而知道你锁了多久。和存款一样, phase1 的交易也可以随时发起去申请退款结算

  2. 第二笔是Phase2时期的交易:这笔交易的目的是让收到phase1交易后,让原本抵押的ckb在锁定期到了以后可以退回, 所以这笔交易就没办法随时随地发起了,因为 NervosDao 中是有锁定期的 ,要等锁定期到了以后,这笔交易才可以被发送,目前看官方的RFC,这个锁定期是180个Epoch

但奶奶可能听的懂Apple就很不错了,一定听不懂Epoch是多久的时间,在NervosCKB中,由于NC-MAX共识的特性,出块的难度是动态调节的,而难度的高低也会影响出块的时间长短,但这样和奶奶说完可能他也要晕了,根据在下从测试网的观察, 目前一个 Epoch 大概的出块时间是在 4 小时 正负20分钟左右,所以如果不负责任的用平均一个Epoch等于4小时来看的话,奶奶的钱存进去以后最快可在一个月后能取回(4*180=720hr)。

给个例子吧,我奶奶在第7个Epoch存入了1000万CKB,当他要在第69个Epoch申请取款的时候,必须等到187个epoch才能拿到他的存款及利息。不然就是要等到第367、547个Epoch才能取出了。

请注意,如果奶奶的phase1交易在很靠近187的时候才发出呢? 那很可能会发生一个悲剧,就是来不及,他的交易可能会到188个epoch才被验证,那么这时奶奶就得等到第367个块,才有办法拿到取款了,而且 因为锁定期的计算和利息的计算是分开的 ,因此在这188到367这几个epoch,奶奶是没有办法拿到利息的(帮奶奶QQ),所以把withdraw的时间掐太紧是会有风险的。

最后也为我奶奶开个小许愿池,其实对于一般人而言,频繁的交易,而且是带有特定脚本的交易是有很大门槛的,但在RFC中,我也发现一些有趣的地方,例如在一笔NervosDao的交易中,是可以同时包含抵押Token、转换Nervos DAO deposit cells成 Nervos DAO withdrawing cells,以及同时退掉其他锁定期已经到达的款项。我想既然在代码实现上这样的细节已经被注意到了,其实未来很有机会,可以产生一键转换的大杀器,为我奶奶向各位大佬许愿了:stuck_out_tongue_winking_eye:

10 Likes

好溜的解读,好可爱的奶奶~:older_woman:

我再补充一个中文翻译版:https://github.com/nervos-community/Nervos-DAO-RFC/blob/04def97c54cb73fa763da62271a08802c8526955/README.md

以及一些小结论:

  1. 存款锁定周期为 180 个 Epoch,到期后会自动续存
  2. Nervos DAO 的存入需要一个步骤,取出需要两个步骤
  3. 会按照复利计息,利息在第二阶段的取出交易完成时发放
  4. 利息的计算以区块为单位,每个区块累积复利
  5. 因为每个 Epoch 内的区块数量是动态调整的,所以每个区块的二级发行会是一个变量。
  6. 不满一个存款锁定周期取出代币,也能获得相应的利息
  7. 在锁定周期之前取出的,利息将计算到发起取出交易被确认的前一个块,之后的利息(利息残差)将归到 DAO 余额
  8. 由于交易确认需要时间,在存款锁定周期结束时(如第 180 个 Epoch、第 360 个 Epoch 等),发起的取款交易,可能不会被立即打包,如果打包时间超过了锁定周期,那么就需要多等一个存款周期。
    一直存在 Nervos DAO 中比取出再存的利息会高一点,因为取出再存会损失掉一些区块的利息,以及手续费

还有一些小问题:

  1. Nervos DAO 的计息方式是怎样的?是计头不计尾,还是计尾不计头?
  2. 在锁定周期之前取出的这部分代币,所产生的利息,会归到 Nervos DAO 的余额里,那这部分资金会如何处理?如果一直留在 Nervos DAO,是不是也可以理解为被“烧毁”了?
  3. 设置的二级发行,大约在什么时候会成为矿工的主要收入来源?
1 Like