Skip to content

거버넌스 ​

프로토콜 파라미터 — 최소 스테이크, 보상, 가스 예산, slashing, AI 임계값 — 는 노드 운영자가 설정을 편집해서가 아니라 스테이크 가중 온체인 투표로 변경됩니다.

제안 수명 주기: 스테이커가 제안하면, 제안은 투표 기간 동안 활성 상태이며 스테이커들은 자기 스테이크로 가중된 투표를 합니다. 기간이 끝나면 투표가 전체 스테이크의 20%에 도달하고 찬성이 투표의 50%를 넘을 때 통과하고, 그렇지 않으면 거부됩니다. 통과된 PARAM_CHANGE는 값이 허용 범위 안에 있을 때 파라미터를 갱신합니다

제안하기 ​

규칙값
누가모든 주소의 서명된 요청. .human 제안자는 최소 min_stake 이상의 자기 스테이크를 보유해야 함
종류text(신호 전달만), PARAM_CHANGE(파라미터 하나 변경) 또는 REGISTRY_CHANGE(이름이나 티커 예약 또는 해제)
투표 기간100부터 max_voting_duration_blocks(기본값 1 000 000) 블록까지. 지정하지 않으면 1 000
제한제목 200자, 설명 5 000자, 페이로드 10 KB

PARAM_CHANGE는 변경 내용을 페이로드로 담습니다:

json
{ "param_key": "max_block_gas", "param_value": 20000 }

값은 숫자 또는 숫자 문자열일 수 있습니다.

REGISTRY_CHANGE는 예약된 이름 레지스트리("registry": "names") 또는 보호 티커 레지스트리("symbols")의 항목을 예약하거나 해제합니다. 예약 시에는 그 항목을 여전히 가져갈 수 있는 소유자를 지정할 수 있습니다:

json
{ "registry": "names", "action": "reserve", "value": "binance", "allowed": ["neuro:<owner>.human"] }

제안은 neuro:system.governance에 대한 서명된 작업입니다. 합의에 기록되므로, 모든 검증자가 같은 높이부터 동일한 제안을 보유합니다.

투표 ​

  • 자기 스테이크가 있는 주소만 투표할 수 있습니다. 투표 가중치는 투표가 적용될 때 체인 상태에서 읽은 투표자의 자기 스테이크입니다. 위임에는 투표권이 없습니다.
  • 제안이 생성된 이후에 추가된 스테이크로는 그 제안에 투표할 수 없습니다 — 투표를 뒤집기 위해 스테이크를 사들이는 것을 막습니다.
  • 제안당 주소별 한 표: 찬성 또는 반대이며, 번복할 수 없습니다.
  • 투표는 합의에 기록되는 서명된 작업입니다.

결과 ​

투표 기간이 끝나면:

확인 항목기본값제안 필드
쿼럼 — 찬성 + 반대 가중치 ≥ 전체 자기 스테이크의 이 비율20%quorum_bps = 2 000
임계값 — 찬성 가중치 > 투표된 표의 이 비율50%threshold_bps = 5 000

둘 다 충족 → passed, 그렇지 않으면 → rejected. 통과된 PARAM_CHANGE는 파라미터를 갱신합니다 — 단, 새 값이 해당 파라미터의 허용 범위를 벗어나면 변경이 거부되고 기존 값이 유지됩니다.

최종 처리 상태

실험적 제안 생성과 투표는 합의 안에서 실행됩니다. 제안 종료와 통과된 파라미터 변경의 적용은 현재 블록 커밋이 아니라, 각 노드가 제안 목록(GET /api/v1/governance/proposals)을 제공할 때 노드마다 이루어집니다. 최종 처리를 커밋 경로로 옮기는 작업은 계획되어 있습니다. 그때까지는 변경이 통과된 뒤 모든 검증자에서 파라미터를 확인하세요.

테스트 방법: 노드의 test_apply_tx_governance_propose_and_vote_in_consensus가 제안과 투표의 적용을 다루며, 범위 검사는 파라미터 테스트(test_deploy_risk_threshold_governance, test_deploy_security_governance_override)가 다룹니다.

파라미터 ​

현재 값: GET /api/v1/governance/params. 일부는 노드 시작 시 환경 변수로 노드별로 설정할 수도 있습니다 — 테스트 네트워크용입니다.

스테이킹과 합의 ​

파라미터기본값허용 범위환경 변수 재정의
min_stake10 000 NRO (uNRO 단위)1 ~ 10¹⁵ uNRO—
unbonding_blocks1 512 0001 ~ 10⁹NEUROCHAIN_UNBONDING_BLOCKS
base_apy_bps1 200 (12%)0 ~ 100 000—
genesis_apy_bps2 400 (24%)0 ~ 100 000—
reward_interval_blocks216 0001 ~ 10⁹NEUROCHAIN_REWARD_INTERVAL_BLOCKS
blocks_per_year78 840 0001 ~ 10⁹—
max_commission_bps2 000 (20%)——
max_block_gas10 0001 ~ 10⁹—
slash_fraction_double_sign_bps500 (min_stake의 5%)0 ~ 10 000NEUROCHAIN_SLASH_FRACTION_DOUBLE_SIGN_BPS
slash_reward_fraction_bps100 (신고자에게 1%)0 ~ 10 000NEUROCHAIN_SLASH_REWARD_FRACTION_BPS
slash_double_vote_bps5000 ~ 10 000—
jail_blocks10 0001 ~ 10⁹NEUROCHAIN_JAIL_BLOCKS
slash_evidence_window10 0001 ~ 10⁹NEUROCHAIN_SLASH_EVIDENCE_WINDOW
quorum_bps2 0001 ~ 10 000—
threshold_bps5 0001 ~ 10 000—

AI 보안 ​

파라미터기본값허용 범위의미
deploy_security_enabled10 또는 1VMGuardian 배포 전 게이트 켜기/끄기 (비상 스위치)
deploy_risk_threshold800 ~ 100위험 점수 ≥ 0.80이면 배포 거부
sentinel_enabled10 또는 1Sentinel 트랜잭션 점수화 켜기/끄기
sentinel_reject_threshold85—점수 ≥ 0.85이면 트랜잭션 거부
sentinel_policy_enabled0—단계별 정책 계층 (보류 / 확인) — 기본값 꺼짐
sentinel_hold_threshold60—전송이 보류되기 시작하는 점수
sentinel_stepup_threshold70—소유자 확인이 필요해지는 점수
sentinel_hold_blocks50—보류된 전송이 해제되기까지의 지연
sentinel_confirm_expiry_blocks1 000—환불 전 소유자 확인을 기다리는 기간
sentinel_agent_confirm_threshold60—세션 키 전송에 소유자가 필요해지는 점수
trust_activation_blocks300—새로 신뢰한 수신자가 적용되기까지의 지연

Sentinel 정책 파라미터에는 NEUROCHAIN_SENTINEL_*와 NEUROCHAIN_TRUST_ACTIVATION_BLOCKS 환경 변수 재정의도 있습니다. Sentinel을 참고하세요.

이름 ​

파라미터기본값허용 범위의미
name_min_len51 – 32구매할 수 있는 가장 짧은 .human 이름 또는 .agent
name_price_len_1 … name_price_len_5100 000 · 50 000 · 10 000 · 5 000 · 2 000 NRO1 uNRO – 10⁹ NRO해당 길이 이름의 가격
name_price_len_6plus500 NRO1 uNRO – 10⁹ NRO6자 이상 이름의 가격

가격은 uNRO로 저장됩니다. 더 짧은 길이를 열면 그 길이의 모든 이름이 한 블록에서 열리므로, 제안에 개방 높이를 공지하세요.

네이티브 자산과 거래소 ​

파라미터기본값의미
asset_issue_fee1 000 NRO네이티브 자산 발행 수수료
asset_max_decimals18자산이 가질 수 있는 최대 소수 자릿수
dex_shard0자산과 거래소 기록을 보관하는 샤드

거래소(AMM)에는 유동성 공급자 수수료, 프로토콜 수수료, 최소 유동성, 블록당 풀별 스왑 수, 비상 켜기/끄기 스위치에 대한 파라미터도 있습니다. REST 레퍼런스에 현재 값과 함께 나와 있습니다.

허용 범위의 대시(—)는 변경이 통과될 때 노드가 아직 그 파라미터의 범위를 검사하지 않는다는 뜻입니다 — 값을 신중하게 제안하세요.

API ​

동작엔드포인트
제안POST /api/v1/governance/propose
투표POST /api/v1/governance/:id/vote
제안 목록GET /api/v1/governance/proposals?status=&limit=&offset=
단일 제안GET /api/v1/governance/:id
파라미터GET /api/v1/governance/params