Aleo中文官网|Aleo中国区节点-Aleo项目服务官网!
当前位置:首页 > Aleo中文正文

Aleo 奖励分配机制(抢先版)

2024-07-27 12:40 Aleo中文

Aleo 团队刚刚修改了他们的 GitHub 开发分支的奖励部分。虽然这部分可能不是将在第四季度部署到主网上的最终版本,但我们仍然可以看到奖励机制的设计方式。

GitHub来源:https ://github.com/AleoHQ/snarkOS/blob/feat%2Fexperimental-networking2/consensus/src/rewards/mod.rs

在我们开始进行代码分析之前,让我们先解决几个最紧迫的问题:

问:矿工还能获得报酬吗?

答:是的,矿工在主网上线后的 10 年内将获得奖励,并且每年都会相应减少。10 年后,每个挖出的区块的奖励将降至零。

问:矿工(证明者)可以从开采的区块中获得多少?

A:第一年大约80 Aleo / block,接下来十年奖励会减少。

问:验证者阈值是多少?我可以获得多少收入?

A:100万个Aleo成为验证者,每个区块大约11个Aleo作为验证者的收入。(*稍后解释

现在让我们仔细看看这些代码。

定义值

这里是定义两个代币之间的转换率——门/信用:1 信用 = 100 万门。

起始供应:10亿Aleo

质押比例与验证者的收入密切相关,稍后会解释。

锚定时间,应该是区块创世,当前设置为 2019–01–01 00:00:00 UTC。

块生成率。表示在testnet 2期间出块率将从20s调整为15s。

现在,我们将继续讨论两个最关键的功能。

staking_reward

github.com/AleoHQ/snark

如您所见,该函数没有普通参数,只有两个常数,因此一旦主网上线并定义了起始供应量和出块率,每个区块中的质押奖励值应该保持不变。

计算质押奖励:

奖励 =(起始供应量 * 质押百分比)/ 1 年左右的区块高度

定义出块生成率后,一年的块高度是用一年的总秒数除以块生成率(15s)来计算的。

奖励 = 10 亿(起始供应)* 2.5% / 365*24*3600/15(区块高度)≈11.89

我们可以将其向下舍入到 11,因此通过这种方式,验证者可以在每个挖掘的区块中获得大约 11 个 Aleo。(请注意,我们每个公式中 Aleo 的数量乘以 100 万的因数转换为门,然后带入计算,得到的值与下面相同。)

这并不意味着每个验证者可以从每个开采的区块中获得相同数量的 Aleo;相反,它意味着所有符合条件的验证者应该能够从每个挖出的区块中获得 11 个 Aleo。关于将有多少个验证者,以及在一个挖出的区块中验证者之间的分配方案是什么,我们将在 Aleo 之后发布我们的解释团队发布规则。

那么矿工的收入呢?

github.com/AleoHQ/snark

coinbase_reward

矿工收入的计算有点复杂。通过函数定义,我们可以看到 coinbase 奖励是动态变化的,这与 3 个动态参数密切相关——num_validators:(验证者数量)、timestamp:(每个挖掘块的时间戳)和 block_height。

首先,我们需要了解anchor_reward。

github.com/AleoHQ/snark

anchor_reward 是一个锚定的基础值,一旦定义了起始供应和块生成率,它将不再更改。

anchor_reward = 2 * 起始供应量/(10 年区块高度)^2

anchor_reward = 2 * 10 亿(起始供应量)/21,024,000^2(10 年区块高度)≈4.524

我们可以将其四舍五入到 4。

还有一个函数被定义为用于动态调整激励的 coinbase 奖励计算中涉及的因素。

github.com/AleoHQ/snark

因子 = 分子 / 分母

分子 = (当前时间 - 初始时间) - (当前区块高度 * 区块生成率)

从上面可以看出,分子代表了区块生成间隔的理论时间差。例如,将创世区块设置为 2023–01–01 00:00:00 TC,生成 5760 个区块(24*3600/15)后,理论时间应为 2023–01–02 00:00:00 UTC。尽管如此,可能会有一些时间偏差,实际时间可能会慢 5 秒,如 2023–01–02 00:00:05 UTC。

分母 = 验证者数量 * 出块率

我们可以通过将块生成率除以分子来简化它,以获得块的时间差。因此,该因子实际上等于每个挖掘块的时间偏差/验证者的数量。

该因素最终将被引入到coinbase的奖励中,用于指导矿工调整出块率,同时也指导参与验证者的数量。总结一下,偏差越大,因素越大;验证者数量越大,因子越小。

在了解了 anchor_reward 和 factor 之后,我们现在可以详细回顾一下奖励代码。

block_diff = 10 年的区块高度 - 当前区块高度

当前区块高度超过 10 年的区块高度时,该值取 0。我们可以清楚地看到,在所有条件相同的情况下,区块高度越高,收益越低。10年后奖励变为0。

如果矿工想要获得更多的收入,那么我们可能应该关注最后一部分,1/2 ^因子,因为前面的部分是不可调整的。请记住,1)偏差越大,因子越大,矿工的收益越小。2)验证者数量越多,因子越小,矿工可以赚取的收益越多。因此,Aleo 团队可以通过动态因素引导所有矿工。我们可以从这个设计中学到两点,1)尽量将块生成速率控制在 15 秒,避免造成太大的偏差;2)积极参与质押,成为验证人。

简而言之,以下是矿工(证明者)在十年内可以获得的粗略收益。

第一年:83 Aleo

第二年:67 Aleo

3年级:58 Aleo

```

10 年级:8 Aleo

11 年级:0

请注意,这不是 Aleo 的证明者收入分配机制的最终版本,我们将继续发布有关即将在 testnet 3 中进行的阶段 2 的更多见解。

目前ALEO正在3测中,矿商联系我,我们现在已经搭建ALEO矿池。请关注我私信。


版权保护: 本文由 Aleo项目服务官网 原创,转载请保留链接: /

Powered by RRZCMS