alaya最佳ATP委托算法

引言

最近有很多用户参与了ATP的委托,这些用户要么是大户,手头有几万个币,要么是散户,手头只有几百个、甚至几个币。官方也给出块前200的节点颁发了奖励,alaya网络用户热情依旧高涨。

然而大家最关注的问题仍然是: 如何最大化手上的ATP的收益率,即攫取最大每ATP收益

委托

在介绍委托算法的之前,我们首先讲解委托的概念。

ATP持有者可以通过把手中的ATP委托给备选节点候选人,以此获取收益。

委托的ATP有 个来源:

  1. 账户余额的ATP:指账户的余额,就是账户中流通的,可以随时使用的ATP。

  2. 账户锁仓的ATP:指账户在锁仓合约进行锁仓的那部分ATP。

为防止恶意委托攻击,单笔委托有最小ATP数量限制。

委托的ATP进入下个结算周期开始锁定,委托ATP不主动赎回,委托ATP将一直持续锁定,系统不支持自动赎回功能。同时只有锁定一个完整结算周期才会参与分享节点收益。

备选节点候选人一旦申请退出或被系统处罚退出,将无法继续委托。原委托ATP将解除锁定,用户需要主动赎回委托的ATP。

委托奖励

基于PPoS共识,委托人委托ATP给备选节点候选人,从而影响备选节点候选人的排名,排名进入前101名的备选节点候选人即可成为每个结算周期的备选节点并获得Staking奖励,同时有机会成为验证节点,参与出块并获得出块奖励和区块内的交易手续费奖励。委托人作为维护备选节点候选人列表排名的重要影响因素,为提高排名,吸引委托人进行委托,备选节点候选人需要慷慨的对给予其获得系统奖励的委托人分配委托奖励。具体分配给委托人的奖励比例由节点在质押成为备选节点候选人阶段提交。

委托奖励包含两种来源:

  1. 基于委托奖励比例分享的出块奖励:委托的备选节点候选人成为验证节点,参与出块获得的出块奖励。将出块奖励按照该节点的委托奖励比例分享给节点名下委托人。

  2. 基于委托奖励比例分享的Staking奖励:委托的备选节点候选人成为备选节点,在结算区块获得Staking奖励,将Staking奖励按照该节点的委托奖励比例分享给节点名下委托人。

委托奖励遵循以下规则:

  • 委托奖励结算间隔:每间隔一个结算周期结算一次委托奖励。

  • 委托奖励范围:锁定一个完整结算周期的委托(有效委托)才有委托奖励。任何中途退出的锁定委托、未锁定委托以及节点退出解除锁定的委托都没有委托奖励。

  • 委托奖励分配:根据节点名下委托人之间的有效委托比例分享委托奖励,有效委托越多,委托奖励越多。

  • 委托奖励领取:需要委托人主动发起领取交易,领取交易可一次性领取所有委托节点名下全部可领取的委托奖励。同时如果全部赎回某节点委托,将自动领取某节点下全部可领取的委托奖励。

  • 在以下情况下,节点在该结算周期将不会分享委托奖励:

    1. 某结算周期内,节点名下没有有效委托。

    2. 某结算周期内,节点被处罚并强制退出备选节点候选人列表。

    3. 节点申请退出备选节点候选人后在当前结算周期的下一个结算周期不会再分享委托奖励。

领取委托奖励

委托人在将ATP委托给备选节点候选人后,当委托的节点产生收益(获得出块奖励和Staking奖励)且委托ATP锁定完整结算周期时,委托的ATP将会产生委托奖励。委托人可以随时提交领取委托奖励交易。

  • 领取委托奖励,支持领取当前所有已结算的委托奖励。不支持部分领取。

  • 委托多个备选节点候选人,每次提交一个领取委托奖励交易,将会自动领取所有已委托节点名下产生的委托奖励,且一次性全部领取。

赎回委托

委托人可以随时提交赎回委托交易,因为委托人在一定程度上可以说是无法作恶的,所以委托人赎回委托后的ATP没有额外的冻结期。同时与退出备选节点候选人的解除质押有所区别,解除质押是全部解除,但赎回委托支持部分赎回(也就是减持)和全部赎回。

  • 委托交易区块到当前结算周期的结算区块的区间为犹豫期,赎回委托,委托ATP立即退回到用户委托账户。

  • 委托的ATP在下个结算周期开始锁定,锁定的ATP,赎回委托,委托ATP在该结算周期的结算区块退回到用户委托账户(原路返回)。

  • 当委托的ATP包含未锁定和锁定状态的ATP,优先赎回未锁定的ATP,剩下的部分从锁定的ATP赎回。

  • 当委托的ATP包含使用账户余额委托的ATP和使用账户锁仓余额委托的ATP,优先赎回(减持)使用账户余额委托的ATP。如果不足用户指定的赎回数量,剩下的部分从使用账户锁仓委托的ATP赎回。

  • 为防止恶意委托攻击,单笔赎回委托有最小ATP数量限制,同时为防止小额委托大量遗存,赎回委托数量后,剩余委托量不足最小ATP数量,则自动全部赎回所有委托。

  • 当赎回某节点全部委托时,将自动领取该节点下全部可领取的委托奖励。

委托模型

根据第二部分的内容,我们可以归纳如下:


出块奖励=(委托奖励比例)*(出块奖励+Staking奖励)

为方便讲解,我们假定各个节点的出块奖励相差不大,本委托算法以Staking奖励为主进行计算。

影响Staking奖励的因素有两个:

  1. 奖励比例
  1. 委托量

因此


Staking奖励=(结算周期的委托奖励)(委托奖励比例)*委托的ATP数量/委托总量 ①

给出我们的委托模型,本模型展示了某时刻的节点的奖励比例和委托总量以及奖励因子,其中奖励因子pn=奖励比例an/委托总量bn。

| 节点id | 奖励比例 | 委托总量 | 奖励因子 |

| ---- | ---- | ---- | ---- |

| node1 | a1 | b1 | p1=a1/b1 |

| node2 | a2 | b2 | p2=a2/b2 |

| node3 | a3 | b3 | p3=a3/b3 |

| … | … | … | … |

| node101 | a101 | b101 | p101=a101/b101 |

其中


a1/b1 > a2/b2 > a3/b3 > ... > a101/b101

快速委托算法

假设用户待委托的ATP数量为s,给出我们的快速委托算法,该算法根据奖励因子的权重进行建议委托量的分配。

令P=sum(p1,p2,…,p101)。

| 节点id | 奖励比例 | 委托总量 | 奖励因子 | 建议委托量 |

| ---- | ---- | ---- | ---- | ---- |

| node1 | a1 | b1 | p1 | s*p1/P |

| node2 | a2 | b2 | p2 | s*p2/P |

| node3 | a3 | b3 | p3 | s*p3/P |

| … | … | … | … | … |

| node101 | a101 | b101 | p101=a101/b101 | s*p101/P |

最优化委托算法

快速委托算法计算速度最快,但是该算法并未考虑待委托量在委托总量的占比,因此该算法不一定能获得最大收益率。

首先给出最优化委托算法的计算模型,然后给出具体算法步骤。

假设用户待委托的ATP数量为s,结算周期的委托奖励为C,委托给各个节点的建议委托量为sn,根据公式①:


s=s1+s2+...+s101

委托收益D=C*[a1*s1/(s1+b1)+a2*s2/(s2+b2)+...+a101*s101/(s101+b101)] ②

对D求sn的偏导数:


dD/d(s1)=C*a1*b1*(s1+b1)^-2

dD/d(s2)=C*a2*b2*(s2+b2)^-2

...

dD/d(s101)=C*a101*b101*(s101+b101)^-2

根据公式②,当且仅当:


dD/d(s1)=dD/d(s2)=dD/d(s3)=...=dD/d(s101)=0 ③

时,委托收益D取得极值,又因为


dD/d(sn)在定义域{sn|sn∈[1,s],s>0}上始终大于0

,则D在dD/d(s1)=dD/d(s2)=dD/d(s3)=…=dD/d(s101)=0时,取得极大值。

因此建议的委托量根据公式③,如下:

| 节点id | 奖励比例 | 委托总量 | 奖励因子 | 建议委托量 |

| ---- | ---- | ---- | ---- | ---- |

| node1 | a1 | b1 | p1 | s1 |

| node2 | a2 | b2 | p2 | s2=sqrt(a2b2/a1b1)*(s1+b1)-b2 |

| node3 | a3 | b3 | p3 | s3=sqrt(a3b3/a1b1)*(s1+b1)-b3 |

| … | … | … | … | … |

| node101 | a101 | b101 | p101=a101/b101 | s101=sqrt(a101b101/a1b1)*(s1+b1)-b101 |

该算法需要设置一个s1的初始值,然后以步进step递增,因此s1和步进step的取值非常关键,一般建议s1=1,step=s/1000,当计算s1+s2+…+s101=s时即可停止计算,此时的方案为最优解。

以上。

(2020-11-26 第1版,未经授权不得转载)

做个广告,我的节点名称为 HAYPO ,现在奖励比例为71%,今后会尽快提高到 90% 以上,希望大家多多支持!

5 个赞

666,特别赞,仔细膜拜大作

1 个赞

大神给力了! :+1: :+1: :+1:

下次更新引入实验部分

牛逼。我曹!再来点给力的

看不懂等,留下钱包地址:atp1q8a2tyctx8n6473h0yymw7n8rlxsqycrhvfm47 会有大神给币~

不太明白,是钱包里锁定atp就可有奖励了吗?求版主传道解惑

您好,您可以阅读以下文档了解委托人的操作说明,谢谢。

新手还无法通过委托途径获得奖励?现阶段如何获得atp

可以从交易所用usdt兑换得到atp,然后提现至aton钱包就可以进行委托了。