# Simulador de assinaturas de limiar BLS (Boneh–Lynn–Shacham) + geração distribuída de chaves

Simula BLS12-381 de ponta a ponta: cerimônias Joint-Feldman DKG, assinaturas de limiar t-de-n com interpolação de Lagrange, o ataque de chave fraudulenta e sua defesa por prova de posse, e a agregação de atestações do Ethereum 2.

> Página canônica: https://elysiatools.com/pt/tools/bls-boneh-lynn-shacham-threshold-signature-aggregation-distributed-key-gen-simulator

- **Categoria:** Cryptography

- **Palavras-chave:** simulador assinatura bls, bls12-381, assinaturas de limiar, cerimônia dkg, joint feldman, chave fraudulenta, prova de posse, ethereum 2 bls, agregação de atestações, shamir lagrange

## Visão geral

Um simulador educacional do esquema de assinaturas BLS (Boneh–Lynn–Shacham 2001, padronizado no draft-irtf-cfrg-bls-signature-04) — o esquema por trás das atestações da beacon chain do Ethereum 2, Chia, Polkadot e Filecoin.

O corpo escalar é a ordem r real do subgrupo BLS12-381: chaves privadas, cotas Shamir, coeficientes de Lagrange e cancelamentos de chave fraudulenta usam exatamente o módulo de produção. O grupo é um grupo multiplicativo didático de ordem prima com o pareamento abstrato e(g^a, g^b) = g^(ab): toda identidade bilinear da qual o BLS depende (σ = H(m)^sk verificando como e(σ, g) = e(H(m), g^sk)) é preservada; a aritmética de curva elíptica e hash-to-curve (SSWU) não é exercida.

Cenários:

1. Joint-Feldman DKG — cada participante distribui um polinômio aleatório de grau t−1, publica compromissos Feldman C_i,k = g^{a_i,k} (mais compromissos Pedersen ocultadores opcionais) e distribui cotas em privado. As verificações expõem distribuidores desonestos; a chave pública do grupo Π C_i,0 igual g^{segredo do grupo} embora o segredo nunca se materialize. Depois, assinatura de limiar t-de-n: as parciais σ_i = H(m)^{s_i} combinam-se via coeficientes de Lagrange numa assinatura idêntica à do assinante completo; quóruns abaixo do limiar são rejeitados.

2. Ataque de chave fraudulenta — o atacante publica pk* = g^α·Πpkᵢ⁻¹ (calculável apenas com chaves públicas) e falsifica uma assinatura agregada que a verificação ingênua aceita. A defesa por prova de posse (PopProve = assinar o hash da própria chave pública) rejeita a chave fraudulenta no registro.

3. Agregação de atestações do Ethereum 2 — n validadores assinam os mesmos dados; σ_agg = Πσᵢ permanece 96 bytes e FastAggregateVerify custa 2 pareamentos independente de n; o subagregado do quórum de ⅔ verifica incrementalmente.

Toda execução é determinística dada a semente — as cerimônias replayam idênticas.

## Entradas

- **Cenário** (select)
- **Participantes n (3–9)** (number): 4
- **Limiar t (2–9)** (number): 3
- **Mensagem / Dados de atestação** (text): committee attestation: block 9182
- **Semente determinística (repete a mesma cerimônia)** (text): ceremony-2026
- **Adicionar compromissos Pedersen ao DKG** (checkbox)

## Quando usar

- Ao projetar ou auditar cerimônias DKG e esquemas de assinatura de limiar t-de-n para redes descentralizadas.
- Ao validar fluxos de agregação de assinaturas BLS e analisar a proteção contra ataques de chave fraudulenta via Prova de Posse (PoP).
- Ao estudar e ensinar as propriedades matemáticas de pareamentos bilineares e agregação de atestações no padrão Ethereum 2.0.

## Como funciona

- Selecione o cenário desejado: Joint-Feldman DKG com limiar, ataque de chave fraudulenta com defesa PoP ou agregação de atestações do Ethereum 2.
- Configure o número de participantes (n), o limiar mínimo de assinantes (t), o texto da mensagem a ser assinada e a semente determinística da execução.
- Ative compromissos adicionais de Pedersen caso queira analisar a ocultação estendida de cotas durante o DKG.
- Execute a simulação para inspecionar compromissos polinomiais, verificação de cotas Shamir, assinaturas parciais e o veredito da verificação agregada.

## Casos de uso

- Validação de parâmetros de quórum e limiar t-de-n para redes de nós validadores e custódia multifirmada.
- Demonstração didática de reconstrução de segredos via polinômios de Shamir e interpolação de Lagrange sem revelar a chave mestra.
- Análise de segurança em contratos inteligentes e registros de validadores contra ataques de rogue-key em esquemas de assinatura agregada.

## Perguntas frequentes

### O simulador utiliza a ordem escalar real da curva BLS12-381?

Sim, todas as operações de chaves privadas, cotas Shamir, interpolação de Lagrange e cancelamentos operam sobre a ordem escalar real r do subgrupo BLS12-381.

### Como a cerimônia Joint-Feldman DKG impede participantes desonestos?

Cada participante publica compromissos homomórficos com os coeficientes de seu polinômio, permitindo que cada receptor valide matematicamente sua cota recebida.

### O que caracteriza o ataque de chave fraudulenta (rogue-key)?

Um atacante publica uma chave pública forjada compensando chaves honestas, conseguindo validar uma assinatura agregada sem que as partes honestas tenham assinado a mensagem.

### Como a Prova de Posse (Proof of Possession - PoP) neutraliza o ataque de chave fraudulenta?

Exige que cada participante assine um hash de sua própria chave pública no registro, tornando impossível registrar chaves forjadas cujo logaritmo discreto é desconhecido.

### Qual o custo computacional da verificação agregada no Ethereum 2?

Com o algoritmo FastAggregateVerify, n assinaturas de uma mesma mensagem são combinadas e verificadas usando apenas 2 pareamentos, independentemente da quantidade n de validadores.

## Ferramentas relacionadas

- [Comparador de algoritmos de hash](https://elysiatools.com/pt/tools/hash-algorithm-comparator): Aplica MD5, SHA-1, SHA-256, SHA-512, BLAKE2b e BLAKE3 à mesma entrada e compara: tamanho, digest hex/Base64, status de segurança (quebrado/moderno) e benchmark de velocidade relativa. Útil para ensino, escolha de algoritmo ou checagem de checksums.
- [Auditor de construções MAC: HMAC + BLAKE3 + SHA-3/Keccak + Poly1305 + BLAKE2 com chave](https://elysiatools.com/pt/tools/hmac-blake3-sha3-keccak-keyed-hash-and-mac-construction-linter): Calcula e audita MACs em HMAC-SHA-2/SHA-3, BLAKE2 com chave, BLAKE3, KMAC e Poly1305 com autotestes oficiais de resposta conhecida, verificação de comprimentos de chave/tag e matriz de compatibilidade entre construções.
- [Ponte de PDF (OCR) para JSON estruturado](https://elysiatools.com/pt/tools/ocr-pdf-to-structured-json-bridge): Extrai a camada de texto do PDF com geometria (linhas por posição y, tabelas por vaos de coluna, títulos por tamanho de fonte, pares chave-valor com dois pontos) e preenche campo a campo um JSON Schema do usuário — rótulos pareados por chaves normalizadas, valores coagidos aos tipos declarados e validados com ajv.
- [Validador de propagação OpenTelemetry W3C traceparent / tracestate / baggage e cabeçalhos OTLP](https://elysiatools.com/pt/tools/opentelemetry-w3c-traceparent-tracestate-baggage-and-otlp-protobuf-headers-propagation-validator): Valida traceparent pela ABNF do W3C Trace Context (versão / trace-id de 16 bytes / parent-id de 8 bytes / trace-flags de 1 byte; zeros e versão ff rejeitados, maiúsculas avisadas), tracestate (≤32 membros, chaves simples e tenant@sistema, duplicatas avisadas) e baggage (valores percent-encoded com propriedades opacas); verifica o Content-Type de exportação OTLP e o contexto binário de 25 bytes do grpc-trace-context-bin; correlaciona dois traceparent num round-trip simulado (estabilidade do trace-id e colisão de um span-id filho aleatório) e emite cabeçalhos normalizados.
- [Validador de árvore de estrutura lógica PDF (mapeamento WCAG)](https://elysiatools.com/pt/tools/pdf-logical-structure-tree-validator): Audita a árvore de estrutura lógica PDF/UA-1: se o RoleMap termina em tipos padrão, se H1–H6 saltam níveis ou se o primeiro título não é H1, se Figure/Formula carecem de Alt, se a cadeia de idioma é determinável e se a ordem MCID estrutura/conteúdo diverge; inclui árvore e pontos de verificação Matterhorn.
- [Orquestrador de verificação formal SMT-LIB 2.7 / AIGER / BTOR2 (CDCL + BMC + k-indução + interpolação de Craig + IC3)](https://elysiatools.com/pt/tools/smt-smtlib-2-7-cvc5-z3-btor2-aiger-k-induction-cddr-dbg-invariant-synthesis-orchestrator): Uma pilha completa de verificação formal no navegador — sem binário cvc5/Z3: um analisador de scripts SMT-LIB 2.7 para o núcleo QF_BV + Bool com bit-blasting Tseitin dos operadores FixedSizeBitVectors, um leitor AIGER (aag ASCII e aig binário com descodificação delta; saídas como propriedades bad), um leitor BTOR2 com bit-blasting ao nível de palavra e, por baixo, um motor SAT CDCL escrito à mão (literais duplamente vigiados, atividades estilo VSIDS, aprendizagem 1-UIP, reinícios). Em modelos sequenciais executa BMC com traços testemunha, k-indução com reforço de estados únicos, interpolação de Craig estilo McMillan recertificada por SAT e um ciclo IC3/PDR-lite com bloqueio de cubos.
- [Verificador de normas de legendas por plataforma](https://elysiatools.com/pt/tools/subtitle-platform-spec-checker): Valida legendas contra especificações de entrega: Netflix Timed Text (velocidade de leitura 20/17 CPS, 42 caracteres por linha, duas linhas, mínimo 5/6 de segundo e máximo 7 segundos, intervalos de 2 quadros), diretrizes de TV BBC (37 caracteres por linha, 160-180 ppm, pausas de 1,5 s) e regras de legendas do YouTube (UTF-8 puro, marcação não reconhecida) — com relatório de achados por entrada.
- [Divisor train/test com estratificação](https://elysiatools.com/pt/tools/train-test-split-with-stratification): Lê um dataset CSV/JSON e divide em train/validation/test com amostragem estratificada pela coluna alvo (70/15/15 padrão, semente reprodutível), ou k-fold estratificado; relatório de distribuição de classes por split com barras de desvio, checagem de vazamento por linhas duplicadas, prévia de SMOTE (interpolação de vizinhos no treino) e exportação dos CSV em ZIP.

## Exemplos

- [Exemplos de Rastreamento Distribuído](https://elysiatools.com/pt/samples/distributed-tracing-samples): Exemplos completos de rastreamento distribuído usando Jaeger, OpenTelemetry e ferramentas modernas de observabilidade
- [Exemplos de Padrões de Sistemas Distribuídos](https://elysiatools.com/pt/samples/distributed-systems): Padrões abrangentes de sistemas distribuídos cobrindo consistência, algoritmos de consenso, sharding e mecanismos de tolerância a falhas
- [Amostras de Áudio MP3 Livres de Direitos Autorais](https://elysiatools.com/pt/samples/mp3-samples): Coleção de amostras de áudio livres de direitos autorais para testes e desenvolvimento, incluindo sons da natureza, música de meditação e áudio ambiente
- [Exemplos de Processamento de Imagem Android Java](https://elysiatools.com/pt/samples/android-image-processing-java): Exemplos de processamento de imagem Android Java incluindo leitura/escrita, dimensionamento e conversão de formato
