[TOC]

AIP-6 - 节点运营者(operators)的委托池(Delegation pool)

一、概述

目前,仅限持有 100 万 APT 的用户才能够质押他们的 Token 并赚取抵质押(staking)奖励。我们想让社区中的每一个成员都有机会获得质押奖励。因此,我们提议在现有框架中加入一个委托合同。通过这一新增功能,多位 token 拥有者可以向一个公开的委托池中贡献任意数量的APT。只要委托池的 APT 总数达到了必要的最低质押额度,关联的验证节点就会被允许加入验证节点的激活队列,从而获得质押奖励。

参与者(即委托人)会根据其在一定时期(epoch)内存入的质押份额按比例获得奖励。在委托池中,委托人依旧保持着原有的质押管理权限,例如添加 (add_stake)、解锁 (unlock)、提取 (withdraw) 等,这与当前质押合约中池所有者的权力是类似的。

就目前最高优先级(P0)的任务而言,现有的抵押池无法直接转变为委托抵押池。我们需要新建一个委托抵押池。但是,将这一变革纳入未来的开发计划是有可能的。

二、动机

现行的抵押机制对社区成员不太公平,因为个人能够独自拥有 100 万 APT 并以此启动自己的验证节点的机会非常小。

一旦启用了这项功能,社区成员们就能够加入质押活动,并通过奖励机制来鼓励验证者,这样做不仅能活跃社区参与度,还能增强整个生态系统的价值。

另一方面,最初的抵押门槛较高使得那些在维护和保障区块链验证节点方面经验丰富的操作者难以成为节点运营方参与网络。通过这项新功能,他们可以获得社区的支持,从而有机会加入到网络中活跃验证节点的名单中去。

在当前的质押实现中,一个验证节点的活跃性受到单个主体的质押份额(质押池所有者)的影响,该实体可以在任何时候将节点解除质押(实际上是在锁定期到期时)。在新的实现中,这种随意取消抵押从而影响验证节点活跃状态的情况发生的可能性较小。

三、原理

这一特性可能会促使生态系统中的验证节点数量增加,进而推动系统的去中心化,并增加在协议上抵押的 Token 总量。

四、规范

所提出的解决方案的详细规范可以在这里找到。

总的来说,将支持以下行为:

  • 委托池的管理员 = 节点运营者
  • 发起委托池
  • 加入验证器集
  • 离开验证器集
  • 在合约开始时设置佣金率
    • 合约会优先支付佣金,随后再将奖励分配到本金上。
    • 佣金率不可更改
  • 委托人 = Token 所有者
    1. 添加质押(stake)
    2. 设置质押的解锁时间表。(Schedule stake for unlocking)
    3. 取消解锁质押(将质押转移到之前的状态)
    4. 提取质押
  • 重设锁定 = 无人
  • 委托投票者 = 管理员

之前由所有者设置的运营商费用,将在节点运营商创建资金池时被永久固定。因此,委托人可以根据佣金费用的偏好,自由选择参与不同的资金池。

五、参考实现

有一个参考实现已经直接集成到了框架当中,这个实现将 aptos_framework::stake 模块作为一个黑盒(black box)来处理。详细信息可以访问 GitHub 链接:https://github.com/bwarelabs/aptos-core/tree/bwarelabs/shares_based_delegation_pool。

六、风险和缺点

最初公开的质押API将会产生更高的Gas成本(仅适用于委托池),因为需要额外的资源来存储和维护,以跟踪个别委托人的具体质押量和所有委托人质押总量所产生的奖励。

七、未来潜力

我们可以制定一致的规则,不允许委托人将质押资金池内的质押总额降至低于所设定的活跃门槛(active threshold),或者将其质押资金全部撤出。

我们可以规定节点运营者需先质押最低金额,才能使其质押池有资格接收其他人的委托资金。

八、建议的实施时间表

我们希望在第一季度将其上线主网,但这取决于进一步的技术范围界定。