Module roles

Source
Expand description

Provides the concrete runtime implementation of the Author subsystem, translating abstract role traits into operational logic governing authors’ funding, rewards/penalties, and lifecycle within the runtime.

§Purpose

Authors are key participants whose behavior, backing, and status directly affect network security and correctness. While the role traits define what is required of authors, this module defines how those requirements are enforced in a safe, predictable, and auditable manner.

§Role Implementations

§1. Funding (FundRoles<Author>)

  • Enables authors to operate with external economic backing, ensuring skin-in-the-game and accountability.
  • Protects backers by enforcing correct fund allocation via digests and commitment checks (Commitment).
  • Supports multiple funding models (direct, index-based, pooled) while maintaining a uniform, auditable interface through the Config::CommitmentAdapter.

§2. Compensation (CompensateRoles<Author>)

  • Aligns author incentives through rewards and penalties.
  • Enforces temporal separation: obligations are scheduled for future blocks to ensure deterministic execution and prevent immediate exploitation.
  • Preserves hold consistency, ensuring collateral and external funds are always accurately reflected in an author’s total hold.

§3. Probation & Permanence (RoleProbation<Author>)

  • Prevents immediate permanence by enforcing a probation window for behavioral observation.
  • Allows authors to be marked temporarily unsafe without irreversible removal, enabling adaptive risk management.
  • Ensures clear promotion and revocation rules, preventing bypass of safety invariants or accountability mechanisms.

By concretely implementing these role traits, this module transforms abstract role definitions into runtime-safe, economically secure, and auditable author governance.