Saltar al contenido principal

Gobernanza

Savitri Network cuenta con un sistema de gobernanza en cadena que permite a los titulares de tokens proponer, votar y ejecutar cambios en la red.

Descripción General

El sistema de gobernanza soporta:

  • Creación de propuestas con título, descripción y período de votación
  • Votación ponderada por tokens (a favor/en contra)
  • Ejecución automática de propuestas aprobadas
  • Propuestas de Aprendizaje Federado (FL) para gobernanza de modelos de IA
  • Recompensas en tokens de voto basadas en el nivel PoU

Ciclo de Vida de una Propuesta

1. Create Proposal

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

3. Tally Votes

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

Creación de una Propuesta

Mediante el 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?;

Mediante 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)?;

Votación

// 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)?;

Ejecución de Propuestas

Las propuestas aprobadas pueden ser ejecutadas por cualquier participante:

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

Verificación del Estado

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);

Tokens de Voto

Los validadores ganan tokens de voto según su nivel PoU:

NivelPuntaje PoUTokens de Voto por Época
Bronce300-49910
Plata500-69925
Oro700-89950
Platino900-1000100

Los tokens de voto determinan el peso del voto en las propuestas de gobernanza.

Contratos de Gobernanza

El sistema de gobernanza está compuesto por varios módulos en cadena:

MóduloArchivoPropósito
Propuestasgovernance/proposals.rsCreación y gestión de propuestas
Votacióngovernance/voting.rsEmisión y conteo de votos
Ejecucióngovernance/execution.rsEjecución de propuestas aprobadas
Depósitogovernance/deposit.rsDepósitos de propuestas (anti-spam)
Token de Votogovernance/vote_token.rsEmisión y seguimiento de tokens de voto
Propuestas FLgovernance/fl_proposals.rsPropuestas específicas de Aprendizaje Federado

Gobernanza FL

Las propuestas de Aprendizaje Federado son acciones de gobernanza especializadas para gestionar el entrenamiento distribuido de IA:

  • Registro de modelos: Proponer nuevos modelos para entrenamiento
  • Ciclo de vida de trabajos: Crear, gestionar y finalizar trabajos FL
  • Actualizaciones de modelos: Votar sobre actualizaciones de versiones de modelos
  • Asignación de recursos: Asignar recursos de cómputo mediante gobernanza