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