# 质押与委托

> NeuroChain 上的质押与委托——成为验证者、最低质押、绑定锁定期、年化收益率与奖励发放、委托、佣金，以及质押能给你和不能给你的东西。

Source: https://docs.nro.world/zh/learn/staking

NRO 可以通过两种方式投入使用：

| | 谁 | 作用 |
|---|---|---|
| **自有质押** | 验证者（`.node`），或任何为自己质押的地址 | 提供共识投票权（对 `.node` 而言）和治理投票权重；赚取质押奖励 |
| **委托** | 任何地址，委托给有活跃质押的 `.node` | 按基础利率赚取奖励，扣除验证者的佣金 |

每个质押操作都是一个[已签名操作](./wallet#signed-operations)：节点在入口处检查你的签名，而变更本身在每个验证者上通过共识执行。

## 参数

以下全部都是[治理参数](./governance#parameters)；下面的默认值是新链启动时的取值。奖励和锁定期的时间参数在上线前尚未最终确定，可能会变化——在依赖它们之前，请从 `GET /api/v1/governance/params` 读取实时值。

| 参数 | 默认值 | 含义 |
|-----------|---------|---------|
| `min_stake` | 10 000 NRO | 最低质押、最低委托，以及 `.node` 的价格 |
| `unbonding_blocks` | 1 512 000 | 质押或委托后的绑定锁定期（按 400 ms 出块约为 7 天）。环境变量覆盖：`NEUROCHAIN_UNBONDING_BLOCKS` |
| `base_apy_bps` | 1 200（12%） | 质押与委托的年化利率 |
| `genesis_apy_bps` | 2 400（24%） | 在 genesis 时质押的验证者的年化利率 |
| `reward_interval_blocks` | 216 000 | 两次发放之间的区块数。环境变量覆盖：`NEUROCHAIN_REWARD_INTERVAL_BLOCKS` |
| `blocks_per_year` | 78 840 000 | 按 400 ms 计一年的区块数，用于把年化利率换算为每区块利率 |
| `max_commission_bps` | 2 000（20%） | 验证者可收取的最高佣金 |

## 成为验证者

1. 用你的 `.human` 钱包注册一个 `.node` 名称。注册会扣除 `min_stake` 并将其记录为该节点的质押——见[地址](./addresses#paid-names-node-app-vault-agent)。
2. 使用该身份及其 ML-DSA-65 共识密钥运行一个节点——见[运行节点](/zh/operate/node)。
3. 一旦其质押至少达到 `min_stake` 且其共识密钥已上链，它就会加入活跃集合，开始提议区块和投票。见[共识 → 验证者集合](./consensus#validator-set)。

验证者之后可以追加质押；每次追加都会提高金额，并**为全部质押重新开始绑定锁定期**。

## 绑定锁定期与提取

质押和委托从你**最后一次**追加起锁定 `unbonding_blocks` 个区块。之后：

- **Unstake** 一次性退回全部自有质押。对于 `.node`，退回到该节点的**所有者**钱包。
- **Undelegate** 一次性退回对该验证者的全部委托。

不支持部分提取：请全部提取，然后用你想保留的金额重新质押。

## 奖励

奖励每 `reward_interval_blocks` 个区块发放一次，直接计入质押者的余额：

```
reward = amount × apy_bps / 10 000 × elapsed_blocks / blocks_per_year
```

- 对 genesis 验证者，`apy_bps` 为 `genesis_apy_bps`；对其他所有人为 `base_apy_bps`。
- `elapsed_blocks` 是自上次发放以来的区块数，受单次发放上限（`MAX_REWARD_ELAPSED_BLOCKS`）约束，以免长时间间隔产生过大的发放额。
- 全部运算使用整数并以 128 位作为中间值，因此每个验证者算出的金额完全相同。

历史与图表：`GET /api/v1/staking/rewards/:address`。

## 委托

| 规则 | 值 |
|------|-------|
| 最低 | `min_stake`（默认 10 000 NRO） |
| 目标 | 有活跃质押的 `.node` |
| 利率 | `base_apy_bps`（genesis 利率不适用于委托） |
| 佣金 | 由验证者设定，默认 10%，最高 20% |

对每笔委托，年化利率被拆分为：

```
commission_rate = base_apy × commission_bps / 10 000   → 支付给验证者
delegator_rate  = base_apy − commission_rate           → 支付给你
```

按默认值（12% 基础利率、10% 佣金），委托人每年获得 10.8%，验证者从委托金额中获得 1.2%。

::: info 委托不做什么
委托的 NRO **不会**增加验证者的共识投票权，也**不会**给委托人治理投票权。两者都只计算自有质押。委托只赚取奖励，不转移控制权。
:::

## 风险

- **Slashing。** 签署两个相互冲突投票的验证者会从其自有质押中损失 `min_stake` 的 5%，并被 jail 10 000 个区块。见[共识 → Slashing](./consensus#slashing-and-jail)。委托不会被 slash。
- **锁定。** 绑定中的 NRO 在锁定期结束前无法转移。

## API

| 操作 | 端点 |
|--------|----------|
| 质押 | `POST /api/v1/staking/stake` |
| 解除质押 | `POST /api/v1/staking/unstake` |
| 委托 | `POST /api/v1/staking/delegate` |
| 取消委托 | `POST /api/v1/staking/undelegate` |
| 你的质押与奖励 | `GET /api/v1/staking/info/:address` |
| 对某验证者的委托 | `GET /api/v1/staking/delegations/:validator` |
| 你的委托 | `GET /api/v1/staking/my-delegations/:address` |
| 有质押的验证者 | `GET /api/v1/staking/validators` |
| 注册节点 | `POST /api/v1/nodes/register` |

请求和响应字段见 [REST 参考](/zh/reference/rest)。
