Pular para o conteúdo principal

Sistema de Disputas

Visão Geral

O sistema de disputas permite resolução descentralizada de conflitos entre usuários e merchants, com Circle Admins atuando como árbitros de primeira instância.

Fluxo de Disputa

┌─────────────────────────────────────────────────┐
│ ABERTURA │
│ Usuário abre disputa com evidências │
│ → Transação fica travada │
└─────────────────────┬───────────────────────────┘


┌─────────────────────────────────────────────────┐
│ RESPOSTA │
│ Merchant tem 48h para responder │
│ → Pode anexar contra-evidências │
└─────────────────────┬───────────────────────────┘


┌─────────────────────────────────────────────────┐
│ ANÁLISE │
│ Circle Admin tem 7 dias para decidir │
│ → Analisa evidências de ambos os lados │
└─────────────────────┬───────────────────────────┘

┌───────┴───────┐
│ │
▼ ▼
┌─────────────────┐ ┌─────────────────┐
│ FAVOR USUÁRIO │ │ FAVOR MERCHANT │
│ → Reembolso │ │ → Libera fundos │
│ → Slash merch. │ │ → Caso fechado │
└────────┬────────┘ └────────┬────────┘
│ │
└──────────┬──────────┘


┌─────────────────────────────────────────────────┐
│ CONTESTAÇÃO (opcional) │
│ Parte perdedora pode contestar em 48h │
│ → Protocolo revisa a decisão │
└─────────────────────────────────────────────────┘

Tipos de Disputa

1. Não recebimento

  • Alegação: Usuário pagou mas não recebeu cripto
  • Evidência esperada: Comprovante de pagamento
  • Resolução típica: Reembolso do fundo de proteção

2. Valor incorreto

  • Alegação: Recebeu menos do que deveria
  • Evidência esperada: Print da transação + comprovante
  • Resolução típica: Diferença coberta pelo fundo

3. Demora excessiva

  • Alegação: Merchant não completou em tempo hábil
  • Evidência esperada: Timeline da transação
  • Resolução típica: Cancelamento + possível slashing

4. Fraude

  • Alegação: Comportamento malicioso deliberado
  • Evidência esperada: Documentação completa
  • Resolução típica: Ban + slashing total + reembolso

Prazos

EtapaPrazoConsequência se não cumprir
Resposta do merchant48hDecisão automática contra
Decisão do admin7 diasSlashing do admin
Contestação48hDecisão torna-se final
Revisão do protocolo14 diasDecisão anterior mantida

Penalidades

Para Merchants

ResultadoPenalidade
Perde 1ª disputaValor da transação (do stake)
Perde 3+ disputasStake retido para análise
Fraude comprovadaBan permanente + 100% stake

Para Admins do Circle

ResultadoPenalidade
Decisão revertida (1x)Aviso
Decisão revertida (2x+)Slashing parcial
Ignora disputa0.5% stake por ocorrência
Conluio comprovadoBan + 100% stake

Evidências

Tipos aceitos

  • Screenshots com metadata
  • Comprovantes bancários (PDF)
  • Histórico de chat (do app)
  • Transações on-chain (hash)
  • Vídeos (casos especiais)

Validação

  • Metadata verificada quando possível
  • Cruzamento com dados on-chain
  • Histórico de chat é oficial (gravado)

Implementação Técnica

Estados da disputa

enum DisputeState {
Open, // Aguardando resposta
UnderReview, // Admin analisando
Resolved, // Decisão tomada
Contested, // Em contestação
Final // Caso encerrado
}

Estrutura de dados

struct Dispute {
uint256 transactionId;
address claimant; // Quem abriu
address respondent; // Contra quem
DisputeState state;
uint256 openedAt;
uint256 resolvedAt;
bytes32 evidenceHash; // IPFS hash
address resolver; // Admin que decidiu
bool claimantWon;
}

Eventos

event DisputeOpened(uint256 indexed disputeId, uint256 transactionId);
event DisputeResolved(uint256 indexed disputeId, bool claimantWon);
event DisputeContested(uint256 indexed disputeId);
event DisputeFinalized(uint256 indexed disputeId);

Métricas de Admin

O protocolo rastreia performance dos admins:

MétricaImpacto
% disputas resolvidas em menos de 48hRanking
% decisões contestadasScore negativo
% decisões revertidasSlashing potencial
Tempo médio de resoluçãoRanking

Admins com boas métricas:

  • Aparecem melhor no ranking
  • Atraem mais merchants
  • Podem receber bônus do protocolo