스테이킹과 위임
NRO는 두 가지 방식으로 활용할 수 있습니다:
| 누가 | 하는 일 | |
|---|---|---|
| 자기 스테이크 | 검증자(.node) 또는 스스로를 위해 스테이킹하는 모든 주소 | 합의 투표권(.node의 경우)과 거버넌스 투표 가중치를 부여하고, 스테이킹 보상을 받습니다 |
| 위임 | 모든 주소가, 활성 스테이크를 가진 .node에게 | 기본 이율에서 검증자 커미션을 뺀 보상을 받습니다 |
모든 스테이킹 동작은 서명된 작업입니다: 노드는 수신 시 서명을 확인하고, 변경 자체는 모든 검증자에서 합의를 통해 적용됩니다.
파라미터
이 값들은 모두 거버넌스 파라미터이며, 아래 기본값은 새 체인이 시작할 때의 값입니다. 보상과 잠금 관련 시간 값은 출시 전까지 확정되지 않았으며 바뀔 수 있습니다 — 의존하기 전에 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 기준 1년의 블록 수. 연 이율을 블록당 이율로 바꾸는 데 사용 |
max_commission_bps | 2 000 (20%) | 검증자가 부과할 수 있는 최대 커미션 |
검증자가 되는 방법
.human지갑에서.node이름을 등록합니다. 등록 시min_stake가 차감되어 노드의 스테이크로 기록됩니다 — 주소를 참고하세요.- 해당 아이덴티티와 ML-DSA-65 합의 키로 노드를 실행합니다 — 노드 실행을 참고하세요.
- 스테이크가
min_stake이상이고 합의 키가 체인에 등록되면, 노드는 활성 세트에 들어가 블록 제안과 투표를 시작합니다. 합의 → 검증자 세트를 참고하세요.
검증자는 나중에 스테이크를 추가할 수 있습니다. 추가할 때마다 금액이 늘어나며 전체 스테이크의 본딩 잠금이 다시 시작됩니다.
본딩 잠금과 인출
스테이크와 위임은 마지막으로 추가한 시점부터 unbonding_blocks 동안 잠깁니다. 그 이후에는:
- Unstake는 자기 스테이크 전체를 한 번에 반환합니다.
.node의 경우 노드의 소유자 지갑으로 돌아갑니다. - Undelegate는 해당 검증자에 대한 위임 전체를 한 번에 반환합니다.
부분 인출은 지원되지 않습니다: 전부 인출한 뒤 유지하고 싶은 금액만큼 다시 스테이킹하세요.
보상
보상은 reward_interval_blocks마다 스테이커의 잔액으로 바로 지급됩니다:
보상 = 금액 × apy_bps / 10 000 × elapsed_blocks / blocks_per_yearapy_bps는 genesis 검증자의 경우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%를 받습니다.
위임이 하지 않는 일
위임된 NRO는 검증자의 합의 투표권에 더해지지 않으며, 위임자에게 거버넌스 투표권을 주지도 않습니다. 둘 다 자기 스테이크만 계산합니다. 위임은 보상을 받을 뿐, 제어권을 옮기지 않습니다.
위험
- Slashing. 서로 충돌하는 두 투표에 서명한 검증자는 자기 스테이크에서
min_stake의 5%를 잃고 10 000 블록 동안 jail됩니다. 합의 → Slashing을 참고하세요. 위임은 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 레퍼런스에 있습니다.