Staking e Slashing
Visão Geral
O sistema de staking é o núcleo da segurança do Circles of Trust. Participantes depositam colateral que pode ser "slashed" (cortado) em caso de má conduta.
Tipos de Stake
Stake do Admin do Circle
| Parâmetro | Valor |
|---|---|
| Mínimo | $250 (em tokens P2P) |
| Máximo | Sem limite |
| Período de lock | Enquanto Circle estiver ativo |
| Cooldown para saque | 15 dias |
Benefícios de stake maior:
- Melhor ranking no sistema
- Atrai mais delegações
- Maior capacidade de merchants
Stake do Merchant
| Parâmetro | Valor |
|---|---|
| Mínimo | $250 USDC |
| Máximo | $1,000 USDC |
| Período de lock | Enquanto merchant estiver ativo |
| Cooldown para saque | 15 dias |
Relação stake → capacidade:
Capacidade de ordem ≈ Stake × 4
Exemplo:
- Stake $250 → Ordens até ~$1,000
- Stake $500 → Ordens até ~$2,000
- Stake $1,000 → Ordens até ~$4,000
Slashing (Penalidades)
Quando ocorre
| Evento | Penalidade | Quem paga |
|---|---|---|
| Merchant abandona transação | 1% do stake | Merchant |
| Merchant perde disputa | Valor da disputa | Merchant |
| Admin decide incorretamente (2x) | Valor definido pelo protocolo | Admin |
| Admin ignora disputa (>7 dias) | 0.5% do stake | Admin |
| Fraude comprovada | 100% do stake + ban | Quem cometeu |
Processo de Slashing
Evento de slashing detectado
│
▼
┌───────────────┐
│ Cálculo do │
│ valor a cortar│
└───────┬───────┘
│
▼
┌───────────────┐
│ Execução │
│ on-chain │
└───────┬───────┘
│
┌───────┴───────┐
│ │
▼ ▼
Stake > 0 Stake = 0
│ │
▼ ▼
Continua Ban
operando automático
Fundo de Proteção do Circle
Cada Circle mantém um fundo de proteção alimentado por:
| Fonte | Contribuição |
|---|---|
| Taxa por transação | 0.1% |
| Slashings de merchants | 100% |
| Depósito inicial do admin | Parte |
Uso do fundo
- Reembolso de usuários em disputas
- Cobertura de abandonos de transação
- Casos excepcionais aprovados pelo protocolo
Delegação de Capital
Como funciona
- Investidor deposita USDC no Circle
- Admin aloca capital para merchants específicos
- Merchant opera com capacidade aumentada
- Rewards são distribuídos proporcionalmente
Distribuição de rewards (capital delegado)
| Participante | % do reward |
|---|---|
| Merchant | 60% |
| Delegador | 20% |
| Fundo do Circle | 10% |
| Admin do Circle | 10% |
Riscos para delegadores
- Capital pode ser slashed se merchant fraudar
- Proteção: Diversificação entre múltiplos merchants
- Mitigação: Score e histórico do merchant
Períodos de Cooldown
Por que existem?
- Prevenir "hit and run" (fraude e fuga)
- Tempo para disputas pendentes serem resolvidas
- Estabilidade do sistema
Duração
| Ação | Cooldown |
|---|---|
| Sair como merchant | 15 dias |
| Sair como admin | 30 dias |
| Retirar delegação | 15 dias |
| Após slashing | Imediato (forçado) |
Implementação Técnica
Contratos relevantes
// Stake de merchant
function stake(uint256 amount) external;
function requestUnstake() external;
function completeUnstake() external; // após cooldown
// Slashing
function slash(address merchant, uint256 amount) external onlyResolver;
Eventos emitidos
event Staked(address indexed user, uint256 amount);
event UnstakeRequested(address indexed user, uint256 unlockTime);
event Slashed(address indexed user, uint256 amount, string reason);