Skip to main content

AI-Capacity Class Implementation

🚧 Development Notice: The AI capacity implementation is currently under active development. Code examples and features described here represent our architectural approach and are subject to change.

Overview​

This document outlines the implementation of AI-capacity classes throughout the SELF Chain system, providing AI-focused data representation and numeric calculations.

Core Components​

1. AI-Capacity Classes​

  • AIData: AI-focused data representation for identifiers and data structures
  • AICapacityNumber: AI-capacity focused numeric calculations with enhanced precision

2. System Components Updated​

Governance System​

  • GovernanceContract: Manages stake and proposal operations using AICapacityNumber
  • GovernanceProposal: Handles proposal creation and voting using AICapacityNumber
  • ProposalEvaluator: Evaluates proposals using AI metrics with AICapacityNumber (see Proof-of-AI documentation)
  • MLModel: Predicts proposal success using AI-capacity metrics
  • PointBasedVoting: Manages point-based voting operations with AICapacityNumber
  • Proposal: Manages proposal lifecycle with AICapacityNumber

Proposal Features​

  • AICapacityNumber-based vote tracking
  • AICapacityNumber-based scoring system
  • Parameter management
  • Status tracking
  • Timestamp support
  • String formatting support
  • Integration with governance system

Governance Contract Features​

  • Stake Management:
    • Stake operations using AICapacityNumber
    • Precise stake calculations
    • Stake distribution tracking
    • Total stake tracking
  • Proposal Management:
    • Proposal creation with AICapacityNumber thresholds
    • Voting with stake-weighted AICapacityNumber
    • Approval percentage calculations
    • Active proposal tracking
  • Integration:
    • Cloud node registry integration
    • SelfLogger integration
    • Parameter threshold integration

Point-Based Voting System​

  • Voting Power Calculation: Uses AICapacityNumber for precise calculations
  • Reputation Bonus: Uses AICapacityNumber for reputation-based bonuses
  • Proposal Points: Tracks proposal points using AICapacityNumber
  • Approval Threshold: Uses AICapacityNumber for threshold calculations
  • User Votes Tracking: Uses AIData for user and proposal IDs
  • Vote Recording: Uses AICapacityNumber for vote weights

Vote Features​

  • AICapacityNumber-based vote value
  • AIData-based ID tracking (vote, proposal, validator)
  • Vote reason tracking
  • Timestamp support
  • String formatting support
  • Integration with governance system

Reward System​

  • RewardMetrics: Tracks reward distributions and validations
  • RewardDistribution: Manages reward amount calculations
  • RewardValidation: Handles validation scoring
  • RewardMonitor: Monitors system metrics
  • CloudNodeManager: Manages cloud node resources and rewards

Cloud Node Management Features​

  • AICapacityNumber-based resource allocation
  • AICapacityNumber-based reputation tracking
  • AICapacityNumber-based uptime tracking
  • Node participation tracking
  • Resource allocation validation
  • Reputation score validation
  • Uptime validation
  • Reward calculation support
  • Integration with AI validator system

Node Participation​

  • NodeParticipation: Manages node metrics and rewards
  • CloudNodeManager: Handles cloud node operations
  • CloudNodeRegistry: Manages node registration

3. Key Changes​

Type System​

  • AIData used for all identifier types
  • AICapacityNumber used for all numeric calculations
  • All arithmetic operations use AICapacityNumber methods
  • All comparison operations use AICapacityNumber

Data Structures​

  • Updated stake maps to use AICapacityNumber
  • Updated proposal metrics to use AICapacityNumber
  • Updated reward distributions to use AICapacityNumber
  • Updated validation scores to use AICapacityNumber

4. Benefits​

  1. Type Safety

    • More explicit type usage across the system
    • Better reflection of AI-capacity focused functionality
    • Reduced risk of type-related errors
  2. Precision

    • Enhanced precision in stake and reward calculations
    • Better handling of floating-point operations
    • Improved arithmetic operations
  3. Integration

    • Better integration with AI validator system
    • Improved compatibility with ML models
    • Enhanced resource efficiency tracking

5. Implementation Details​

AI Validator Features​

  • Hex-based color validation system
  • Stake-weighted voting
  • Random validator selection
  • Efficiency-based bonus points
  • Reputation-based validation

ML Evaluation Features​

  • Feature-based scoring:
    • Stake-based scoring
    • Reputation scoring using AICapacityNumber
    • Resource efficiency
    • Network impact
    • Consensus score
  • Self-learning capabilities
  • Resource efficiency tracking

Reputation Update Features​

  • AICapacityNumber-based reputation calculations
  • Precise reputation changes
  • Validator reputation tracking
  • Timestamped updates
  • String formatting support
  • Integration with AI validator system

AICapacityNumber Usage​

// Example usage:
let stake = AICapacityNumber::new(1000);
let resources = AICapacityNumber::new(500);
let total = stake.add(&resources);

AIData Usage​

// Example usage:
let node_id = AIData::new("node_123");
let proposal_id = AIData::new("proposal_456");

6. Migration Path​

  1. Phase 1: Core Components

    • Governance Contract
    • Reward System
    • Node Participation
  2. Phase 2: AI Components

    • ML Model
    • Proposal Evaluator
    • Validator System
  3. Phase 3: Integration Components

    • Cloud Node System
    • Bridge Services
    • Monitoring System

7. Testing Strategy​

  1. Unit Tests

    • Verify arithmetic operations
    • Test comparison operations
    • Validate type conversions
  2. Integration Tests

    • Test stake management
    • Verify reward calculations
    • Validate proposal evaluation
  3. System Tests

    • Test full governance flow
    • Validate reward distribution
    • Verify node participation