Solana/经济系统/通胀奖励

按照最初设计, solana 网络通过预定的通胀机制来发行新代币, 这些新代币按比例分配给基金会, 验证者和委托者. 通胀率会从最初的 8% 开始, 每年以 15% 的速度递减, 目标是长期稳定在 1.5%. Solana 基金会固定得到通胀的 5% 金额, 直到持续领取达 7 年时间.

可以通过 rpc 实时查询 solana 的当前通胀率. 在当前时间点来说, 其通胀率为 0.04317705363505517. 另外您可以发现 foundation 的值是 0.0, 也就是说当前基金会已经不再默认获得 5% 的通胀, 即使时间还未满 7 年.

import pxsol

pxsol.config.current = pxsol.config.mainnet
print(pxsol.rpc.get_inflation_rate())

# {
#   'epoch': 842,
#   'foundation': 0.0,
#   'total': 0.04317705363505517,
#   'validator': 0.04317705363505517,
# }

您可以在 https://github.com/anza-xyz/solana-sdk/blob/9decd857f019cc4c8dd89f4b3811ea56b0ac5c8e/inflation/src/lib.rs#L30-L34 找到关于 solana 通胀率的参数. 但遗憾的是, 我目前没有找到 solana 基金会奖励是什么时候从 5% 改为 0% 的具体信息, 但我猜测应该是在 solana 验证者社区投票后实施的. 具体时间可能是在相关论坛, 网页建立之前进行的, 例如 2021 或 2022 年的某次投票.

Solana 的通胀率基于一个固定的初始通胀率, 每年以一定比例递减, 直到达到长期目标通胀率. 具体公式如下:

Iₜ=max(I₀×(1−r)ᵗ, Iₑ)

其中:

  • Iₜ: 第 t 年的通胀率.
  • I₀: 初始通胀率(8%)
  • Iₑ: 目标通胀率(1.5%)
  • r: 年度递减率(15%)
  • t: 时间(以年为单位, 从通胀机制启动开始计算)

通胀率决定了每年新增的 sol 代币数量, 以当前流通供应量为基准, 乘以通胀率就是当年的新增代币数量.

例: 假设 2025 年总供应量为 6 亿 sol, 通胀率 Iₜ=4.3%, 问当年预估新增代币数量.

答: 600000000 × 0.043 = 25800000.

要注意, solana 的通胀是依据总供应量来计算的, 而非流通供应量. 这意味着即使有部分代币被锁定或未流通, 它们仍然会被计入通胀计算中. 这有助于确保网络的长期稳定性和安全性, 因为更多的代币被分配给验证者和质押者, 以激励他们维护网络. 但与此同时, 这也会使得通胀的实际影响更为复杂, 因为流通中的代币数量可能与总供应量存在显著差异.

另外在实际操作中, solana 其实并非按照现实中的"年"来计算通胀率和分配奖励. Solana 的基础时间单位是 epoch, 一个 epoch 通常持续约 2-3 天(多数情况下您可以粗略认为是 2 天), 每个 epoch 包含一定数量的 slot(时间槽), 通常约为 432000 个 slot. 通胀奖励会在每个 epoch 结束时分发给验证者和质押者.