Regras de Seguranca
Regras e mecanismos para validação permissionless e segura (resumo prático)
1 — Regra principal: validação permissionless + camadas de segurança
Qualquer app/dispositivo pode assinar automaticamente via BLE, mas a assinatura só tem peso se obedecer a regras que impedem Sybil, colusão e replay. Peso = capacidade de gerar agg_sig que torne a transação localmente confirmada.
2 — Regras obrigatórias (checagens que cada validador realiza automaticamente antes de assinar)
-
Verificação do nonce local do sender — rejeitar se nonce inválido.
-
Checagem de saldo provisório (wallet offline) — garantia mínima de fundos.
-
Rate-limit local — o dispositivo só assina N txs recompensadas por hora/dia.
-
Prevenção replay — aceitar só tx_hash que não exista no cache local de 24–72h.
-
Prova mínima de proximidade — incluir RSSI + timestamp + nonce trocado e assinado.
-
Chave efêmera obrigatória — assinar com chave rotativa; relação efêmera→longterm só é provada na sync.
3 — Anti-Sybil combinatório (sem KYC central)
Use três mecanismos simultâneos para dificultar criação massiva de identities:
A) Trust Score leve (TS_bootstrap)
- Novo dispositivo começa com TS baixo. TS sobe com comportamento honesto (txs assinadas que entram no GL sem disputa). TS baixa com disputas/slashing.
B) Rate limits + heurísticas
-
Hard caps (e.g., 20 assinaturas recompensadas/dia).
-
Heurísticas detectam padrões de emulação (mesmas coordenadas, mesma hora, assinatura idêntica).
C) Proof-of-work/effort alternativo opcional
- Para quem quer spamar: exigir um pequeno PoW (p.ex. puzzle leve) antes da primeira assinatura do dia — barato para humanos, caro em escala massiva.
Esses três em conjunto tornam bot-farms caras e detectáveis sem fechar a rede.
4 — Requisito de quorum dinâmico (k-of-n) e diversidade
-
Definir k mínimo (p.ex. k=5 padrão urbano).
-
Exigir device diversity: os k assinantes devem ter device_id_hash distintos; não aceitar assinaturas de um único fabricante/emulador detectado.
-
k pode ser dinâmico: se densidade baixa, baixar k (ex.: k=3) mas exigir TS mínimo mais alto + limites de valor transacionado.
5 — Compactação de assinaturas e submissão eficiente
-
Usar threshold/BLS para agregar k assinaturas em 1
agg_sig(eficiente on-chain). -
Validadores só enviam
agg_sig+merkle_root do LB à L1 quando sincronizam.
6 — Locks provisórios e prevenção de double-spend
-
Quando agg_sig com k assina, gerar temporary lock local (pequena prova com TTL, p.ex. 30–90 min).
-
Locks são submetidos em batches para L1 (pequenas footprints) para avisar o mundo que saldo foi comprometido.
-
Ao tentar outra tx, wallets verificam locks recebidos recentemente.
7 — Dispute window, provas e slashing
-
Janela de challenge (ex.: 48h) depois que um LB é publicado.
-
Em caso de disputa, aceitar provas: logs BLE assinados, receipts, testemunhas (outros devices).
-
Penalizar validadores culpados com slashing de reputação e perda de recompensa. Slashing automático se provas criptográficas forem válidas.
8 — Incentivos alinhados (recompensa e cortes)
-
Recompensa dividida: exemplo prático
-
40% para validadores que assinaram (peso TS ponderado)
-
30% para quem submete o LB à rede global (incentiva sync)
-
20% para fundo de disputa / seguro (cobrir chargebacks)
-
10% para comunidade local (governance)
-
-
Limitar ganho por dispositivo (daily cap) evita exploração.
9 — Privacidade e chaves
-
Validadores usam chaves efêmeras para assinaturas BLE; só provas necessárias são reveladas na sincronização.
-
Não gravar localização precisa no GL — usar geo-hash grosseiro ou apenas prova de proximidade (RSSI/time) para evitar vazamentos.
10 — Parâmetros iniciais sugeridos (ajustáveis via governance)
-
k padrão urbano = 5
-
k rural = 3 (com restrições de valor)
-
Rate limit por device = 20 assinaturas recompensadas/dia
-
Temporary lock TTL = 30–90 minutos
-
Janela de challenge = 48 horas
-
TS bootstrap: recompensa plena após 50 txs confirmadas sem disputa
11 — Fallbacks e usabilidade
-
Se não há k suficientes, wallet mostra “esperando validação” ou oferece aceitar com k menor mas cobrando taxa extra/limite de valor.
-
Merchants podem indicar um threshold local aceitável (por exemplo: aceitar txs com k=3 para compras < X Kz).
12 — Monitoramento e auditoria descentralizada
-
Ferramentas públicas para visualizar LBs, TS agregados e disputas ajudam a detectar padrões de abuso.
-
Bots de auditoria descentralizados (curadores) podem sinalizar regiões com alto risco.
Trade-offs resumidos
-
Segurança ↑ com mais regras (k alto, TS, slashing) — mas UX pode degradar em locais de baixa densidade.
-
Sistema permissionless + defenses probabilísticas (rate-limits, PoW leve, TS) é o melhor caminho para manter abertura sem instituição central.