Aller au contenu principal

Gouvernance

Le Savitri Network dispose d'une gouvernance en chaîne permettant aux détenteurs de jetons de proposer, voter et exécuter des changements sur le réseau.

Vue d'Ensemble

Le système de gouvernance prend en charge :

  • Création de propositions avec titre, description et période de vote
  • Vote pondéré par les jetons (pour/contre)
  • Exécution automatique des propositions approuvées
  • Propositions d'Apprentissage Fédéré (FL) pour la gouvernance des modèles d'IA
  • Récompenses en jetons de vote basées sur le niveau PoU

Cycle de Vie d'une Proposition

1. Create Proposal

2. Voting Period (configurable, e.g., 7 days)

3. Tally Votes

├── Approved (majority support) → 4. Execute
└── Rejected → Archived

Créer une Proposition

Via le SDK

use savitri_sdk::{ContractClient, Wallet};

let contract = ContractClient::from_url_and_wallet(url, wallet)?;
let gov = contract.governance();

let tx = gov.create_proposal(
&governance_address,
"Increase block size",
"Proposal to increase max block transactions from 32 to 64",
604800, // 7-day voting period (seconds)
).await?;

Via TransactionBuilder

use savitri_sdk::{TransactionBuilder, GovernanceAction};

let tx = TransactionBuilder::new()
.create_fl_proposal(
"governance_contract_address",
"Deploy model v2",
"Replace current FL model with GPT-4 fine-tuned variant",
604800,
)
.nonce(nonce)
.fee(5_000_000_000_000_000)
.build_and_sign(&wallet)?;

Vote

// Vote in favor
let tx = gov.vote(&governance_address, proposal_id, true).await?;

// Vote against
let tx = gov.vote(&governance_address, proposal_id, false).await?;

// Via TransactionBuilder
let tx = TransactionBuilder::new()
.governance_call(
"governance_address",
proposal_id,
GovernanceAction::Vote(true),
)
.nonce(nonce)
.build_and_sign(&wallet)?;

Exécution des Propositions

Les propositions approuvées peuvent être exécutées par n'importe quel participant :

let tx = gov.execute(&governance_address, proposal_id).await?;

Vérification du Statut

let status = gov.get_proposal_status(&governance_address, proposal_id).await?;

println!("Title: {}", status.title);
println!("Status: {}", status.status); // "active", "passed", "rejected", "executed"
println!("Votes: {} for / {} against", status.votes_for, status.votes_against);
println!("Executed: {}", status.executed);

Jetons de Vote

Les validateurs gagnent des jetons de vote en fonction de leur niveau PoU :

NiveauScore PoUJetons de Vote par Époque
Bronze300-49910
Silver500-69925
Gold700-89950
Platinum900-1000100

Les jetons de vote déterminent le poids du vote dans les propositions de gouvernance.

Contrats de Gouvernance

Le système de gouvernance est composé de plusieurs modules en chaîne :

ModuleFichierRôle
Propositionsgovernance/proposals.rsCréation et gestion des propositions
Votegovernance/voting.rsDépôt et décompte des votes
Exécutiongovernance/execution.rsExécution des propositions approuvées
Dépôtgovernance/deposit.rsDépôts de proposition (anti-spam)
Jeton de Votegovernance/vote_token.rsÉmission et suivi des jetons de vote
Propositions FLgovernance/fl_proposals.rsPropositions spécifiques à l'Apprentissage Fédéré

Gouvernance FL

Les propositions d'Apprentissage Fédéré sont des actions de gouvernance spécialisées pour la gestion de l'entraînement distribué de l'IA :

  • Registre de modèles : Proposer de nouveaux modèles pour l'entraînement
  • Cycle de vie des tâches : Créer, gérer et finaliser les tâches FL
  • Mises à jour de modèles : Voter sur les mises à niveau de version de modèles
  • Allocation des ressources : Allouer des ressources de calcul via la gouvernance