Skip to content

P3 staking: DAO-settable floor, per-model stake requirements, concurrent-registration cap, withdrawal queue #37

Description

@umeradl

Part of the P3 mechanism-design push (#36).

Summary

Turn the current flat staking gate (MIN_STAKE = 10 DIN, 7-day unbonding in DinValidatorStake) into the DevNet 2.0 staking design: DAO-settable parameters, per-model stake sizing, and stake-at-risk accounting across concurrent GIs.

Scope (from MECHANISM_DESIGN §3)

  • Replace the constant min stake with a DAO-settable network-wide minStake floor
  • Per-model stake requirement, set by the model owner at task deploy, bounded by DAO min/max; GI registration checks getStake(validator) >= max(networkMin, modelMin) (today it only checks activity)
  • Cap concurrent GI registrations per stake unit, so one 10-DIN stake cannot back 20 tasks
  • Withdrawal queue (fix the single-pending-withdrawal limitation) — quality-of-life, not a blocker
  • Keep: unified stake pool for both validator roles, 7-day unbonding, slashable unbonding stake, random batch assignment. Stake-weighted selection is deliberately rejected (concentrates work in whales, weakens the cross-validator median) — record in rejected-ideas/.

Open decisions

Design sources

MECHANISM_DESIGN §3 · issues/staking-mechanism.md · whitepaper-summary §4.1, §8 gap item 7

Roadmap anchors: P3-5.1 (governance hooks for staking parameters), P3-DOC2 (staking & withdrawal guide)

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions