0Pricing
Cryptology Academy · Aula

ECDSA de Limiar: Assinatura Multiparticipante

Estude os protocolos GG18, GG20 e CGGMP, que permitem a assinatura ECDSA distribuída sem reconstruir a chave.

ECDSA de Limiar: Assinatura Multiparticipante é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Por que é Difícil Aplicar Limiar ao ECDSA

As assinaturas ECDSA exigem calcular um valor aleatório k, o ponto da curva R = k*G e a assinatura s = k^{-1}(h + r*x) mod n, em que x é a chave privada e r é a coordenada x de R. A inversão de k e a multiplicação pela chave privada tornam o ECDSA inerentemente não linear, ao contrário das assinaturas Schnorr, nas quais a resposta é uma combinação linear simples. Essa não linearidade torna extremamente difícil distribuir o cálculo entre os participantes.

GG18: ECDSA de Limiar de Gennaro e Goldfeder

O protocolo GG18, de Gennaro e Goldfeder (2018), foi a primeira construção prática de ECDSA de duas partes e de limiar segura sem um distribuidor confiável. A ideia fundamental é usar a criptografia homomórfica de Paillier para realizar a conversão multiplicativa-para-aditiva (MtA) necessária ao cálculo não linear do ECDSA. O GG18 oferece segurança baseada em simulação contra adversários estáticos semihonestos.

GG20: Melhorias de Segurança

O GG20 (Gennaro e Goldfeder, 2020) aprimorou o GG18 ao demonstrar segurança contra adversários maliciosos sem uma configuração inicial confiável. O GG20 adicionou provas de conhecimento zero para garantir que cada participante siga o protocolo corretamente. Essas provas impedem que um participante malicioso manipule o valor aleatório ou a assinatura para extrair informações sobre as partes das chaves dos demais participantes. O GG20 tornou-se a base de muitas implementações de carteiras MPC em produção.

Estado da Arte

CGGMP21 (Canetti, Gennaro, Goldfeder, Makriyannis, Peled, 2021) é o protocolo ECDSA com limiar mais avançado atualmente. Ele permite o aborto identificável, isto é, se o protocolo de assinatura falhar devido a um comportamento malicioso, o protocolo poderá identificar qual participante é responsável. Isso é fundamental para implementações empresariais em que a responsabilização é importante. CGGMP21 está implementado em bibliotecas populares de MPC, incluindo tss-lib e multi-party-sig.

Conversão de multiplicativa para aditiva

O desafio central no ECDSA com limiar é calcular o produto de partes secretas sem revelá-las. A conversão MtA (de multiplicativa para aditiva) transforma o produto a*b das partes de dois participantes em partes aditivas: o participante 1 recebe alpha, e o participante 2 recebe beta, de modo que alpha + beta = a*b. Isso é obtido usando a criptografia de Paillier: o participante 1 criptografa a, o participante 2 faz a multiplicação homomórfica por b e adiciona aleatoriedade, e o resultado é descriptografado pelo participante 1, que obtém as partes aditivas.

Criptografia homomórfica de Paillier na conversão MtA

A criptografia de Paillier é um esquema de criptografia homomórfica parcial que permite tanto a adição quanto a multiplicação por um texto claro. Dada uma criptografia Enc(a), qualquer pessoa pode calcular Enc(a*b) para um valor conhecido de b sem descriptografar. Essa propriedade permite o protocolo MtA: o participante 1 gera um par de chaves de Paillier e envia Enc(k1) e Enc(x1), que são partes do valor de uso único e da chave privada. O participante 2 usa operações homomórficas para calcular sua contribuição sem descobrir k1 ou x1.

Rodadas de assinatura no ECDSA com limiar

A assinatura ECDSA com limiar normalmente envolve várias rodadas de comunicação. No GG20, há uma fase de pré-processamento (2 rodadas) que calcula compromissos para o valor de uso único e valores aleatórios de ofuscação, e uma fase de assinatura em tempo real (1 rodada) que combina assinaturas parciais. O pré-processamento pode ser feito antes que a mensagem seja conhecida, reduzindo a latência da assinatura em tempo real a uma única rodada. CGGMP21 otimiza isso ainda mais.

Aborto identificável

Aborto identificável significa que, se o protocolo de assinatura com limiar falhar (porque um participante enviou uma mensagem malformada ou não seguiu o protocolo), os participantes honestos poderão determinar criptograficamente qual participante teve um comportamento indevido. Isso exige provas de conhecimento zero de computação correta em cada etapa. Sem o aborto identificável, um participante malicioso poderia causar uma negação de serviço (recusando-se a concluir o protocolo) sem ser identificado.

EdDSA e FROST: uso de limiar mais simples

EdDSA (assinaturas baseadas em Schnorr sobre Ed25519) é muito mais fácil de adaptar para uso com limiar do que ECDSA, pois as assinaturas Schnorr são lineares: a resposta z = r + c*x é uma soma de partes aditivas. FROST (Schnorr com limiar flexível e otimizado para rodadas), de Komlo e Goldberg (2020), possibilita assinaturas Schnorr com limiar em duas rodadas, sem configuração confiável. FROST está sendo padronizado pelo IETF (rascunho de RFC) para uso em protocolos de preservação de privacidade e carteiras de criptomoedas.

Desempenho do ECDSA com limiar

O ECDSA com limiar é computacionalmente mais custoso do que o ECDSA de um único participante devido ao protocolo MtA e às provas de conhecimento zero. A assinatura em duas partes do GG20 leva aproximadamente 1–2 segundos em equipamentos modernos; uma configuração com limiar e n maior leva mais tempo devido ao maior número de execuções do MtA entre pares. As otimizações do CGGMP21 reduzem esse tempo a centenas de milissegundos. Para transações de criptomoedas em que a latência da assinatura é importante, esse desempenho é aceitável, mas tem impacto significativo.

Implementações em produção

O ECDSA com limiar é usado em larga escala no setor financeiro institucional. A Fireblocks usa o ECDSA com limiar baseado no GG20, protegendo um volume de transações superior a 4 trilhões de dólares. A Coinbase Prime usa custódia por MPC baseada em assinaturas com limiar. Qredo e Copper.co oferecem ECDSA com limiar para a gestão institucional de ativos. A biblioteca tss-lib para Go (usada pela Binance) e multi-party-sig (usada pela Coinbase) são importantes implementações de código aberto.

Questionário sobre a conversão MtA

Que função a criptografia homomórfica de Paillier desempenha no ECDSA com limiar?

Recapitulação do ECDSA com limiar

O ECDSA com limiar permite que t participantes assinem sem que nenhum deles conheça a chave completa. A estrutura não linear do ECDSA exige a conversão MtA usando a criptografia homomórfica de Paillier. GG18 foi pioneiro nessa abordagem, GG20 acrescentou segurança contra participantes maliciosos, e CGGMP21 acrescentou o aborto identificável. EdDSA/Schnorr é mais fácil de adaptar para uso com limiar por meio do FROST (2 rodadas, sem configuração confiável). Implementações em produção da Fireblocks e da Coinbase protegem trilhões em ativos.

Perguntas Frequentes

A aula “ECDSA de Limiar: Assinatura Multiparticipante” é grátis?

Sim — o texto completo de “ECDSA de Limiar: Assinatura Multiparticipante” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “ECDSA de Limiar: Assinatura Multiparticipante”?

Estude os protocolos GG18, GG20 e CGGMP, que permitem a assinatura ECDSA distribuída sem reconstruir a chave. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “ECDSA de Limiar: Assinatura Multiparticipante”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Esquemas de Assinatura de Limiar: Conceitos
  2. ECDSA de Limiar: Assinatura Multiparticipante
  3. Protocolos de Geração Distribuída de Chaves
  4. Esquemas de Limiar em Blockchains e HSMs
← Voltar para Cryptology Academy