Multisig é um conceito familiar para a maioria no Bitcoin: uma transação multisig requer aprovação de várias partes antes de poder ser executada. Nós distinguimos entre “não-de-não“assinaturas múltiplas, onde o número de partes envolvidas é nãoe todos eles precisam aprovar, e “para-de-não“assinaturas de limite, onde apenas um número menor para dos participantes precisam aprovar. Esquemas criptográficos como MuSig, MuSig-DN e MuSig2 para assinaturas múltiplas e FROST por Komlo e Goldberg para assinaturas de limite podem reduzir o custo de transação e melhorar a privacidade de carteiras multisig.
Até agora, na Comunidade Bitcoin, o FROST só foi usado em implementações experimentais. Neste post, explicamos por que esse é o caso e como pretendemos avançar o FROST em um ambiente de produção de Bitcoin por meio de nossa publicação recente de um rascunho do BIP para o protocolo de geração de chaves distribuídas ChillDKG.
Primeiro, quais são os benefícios do FROST?
Ganhos de privacidade e eficiência com MuSig2 e FROST
Com MuSig2 e FROST, mesmo que vários participantes contribuam para o processo de assinatura, o resultado é uma única assinatura.
Isso não só dá mais privacidade aos participantes, fazendo com que a transação pareça uma transação singlesig-wallet comum. Também reduz a transação, reduzindo seu tamanho e, portanto, diminuindo a taxa de transação. Tudo coisas ótimas!
MuSig2 e FROST permitem que usuários de Bitcoin operem uma carteira multisig com o mesmo custo de transação de uma carteira de assinatura única regular. Os benefícios de custo são especialmente significativos para sistemas com um grande número de signatários e transações frequentes, como sidechains federadas como Liquid ou Fedimint. Ao contrário do multisig tradicional, que deixa uma impressão digital distinta que permite que observadores de blockchain identifiquem transações da carteira, carteiras baseadas em FROST são indistinguíveis de carteiras de assinatura única regulares no blockchain. Portanto, elas fornecem uma melhoria na privacidade em comparação com carteiras multisig tradicionais.
Embora o MuSig2 tenha sido adotado pela indústria do Bitcoin, o mesmo não pode ser dito do FROST, até onde sabemos. Isso pode ser surpreendente, considerando a existência de múltiplas implementações do FROST, como no ZF FROST (pela Zcash Foundation), secp256kfun (por Lloyd Fournier) e uma implementação experimental no libsecp256k1-zkp (por Jesse Posner e Blockstream Research). Existe até uma especificação IETF para o FROST, RFC 9591 (embora não seja compatível com o Bitcoin devido ao ajuste do Taproot e às chaves públicas somente x). Uma das explicações mais plausíveis é que o processo de geração de chaves do FROST é consideravelmente mais complexo em comparação ao MuSig2.
O quebra-cabeça não resolvido do FROST em sistemas de produção
O FROST consiste essencialmente em duas partes: geração de chaves e assinatura. Embora o processo de assinatura se assemelhe bastante ao do MuSig2, a geração de chaves é significativamente mais envolvida do que no MuSig2. A geração de chaves no FROST é confiável ou distribuída:
- A geração de chaves confiáveis envolve um “negociante confiável” que gera a chave e distribui compartilhamentos de chaves para os signatários. O negociante representa um único ponto de falha: se for malicioso ou hackeado, a carteira FROST corre o risco de ser esvaziada.
- A geração distribuída de chaves (DKG), embora elimine a necessidade de um revendedor confiável, apresenta seus próprios desafios: todos os participantes precisam estar envolvidos em uma “cerimônia” interativa de geração de chaves antes que a assinatura possa começar.
O Desafio Central: Acordo
O DKG normalmente requer canais seguros (ou seja, autenticados e criptografados) entre os participantes para entregar compartilhamentos secretos a signatários individuais e um mecanismo de acordo seguro. O propósito do mecanismo de acordo seguro é garantir que todos os participantes eventualmente cheguem a um acordo sobre os resultados do DKG, que incluem não apenas parâmetros como a chave pública de limite gerada, mas também se nenhum erro ocorreu e se a cerimônia não foi interrompida por um participante malcomportado.
Enquanto a especificação IETF considera DKG completamente fora do escopo, as implementações FROST mencionadas acima não implementam acordo seguro, deixando essa tarefa para o usuário da biblioteca. Mas o acordo não é trivial de implementar: existem inúmeros protocolos e tipos de acordo, variando de esquemas simples de transmissão de eco a protocolos de consenso bizantinos completos, e suas garantias de segurança e disponibilidade diferem significativamente, e às vezes sutilmente.
Apesar da confusão que pode surgir devido a essa selva de protocolos de acordo, o tipo exato de acordo no qual o DKG se baseia muitas vezes não é comunicado claramente aos engenheiros, deixando-os no escuro.
ChillDKG: um DKG autônomo para FROST
Para superar esse obstáculo, propomos o ChillDKG, um novo protocolo DKG “pronto para uso” adaptado para uso no FROST (rascunho). Fornecemos uma descrição detalhada na forma de um rascunho de uma Proposta de Melhoria do Bitcoin (BIP), que tem como objetivo servir como uma especificação para implementadores.
A principal característica do ChillDKG é que ele é autônomo: o estabelecimento de comunicações seguras e acordos seguros é feito dentro do protocolo, enquanto toda essa complexidade subjacente está escondida atrás de uma API simples e difícil de usar indevidamente. Como resultado, o ChillDKG está pronto para uso na prática e não depende de nenhuma suposição de configuração, exceto que cada signatário decidiu sobre o conjunto de co-signatários conforme identificado por chaves públicas individuais. O ChillDKG é baseado no protocolo SimplPedPop, em cujo design e prova de segurança formal a Blockstream Research esteve envolvida, veja, o artigo CRYPTO 2023 “Practical Schnorr Threshold Signatures Without the Algebraic Group Model” por Chu, Gerhart, Ruffing (Blockstream Research) e Schröder
Objetivos adicionais para o design do ChillDKG incluem:
- Ampla aplicabilidade: o ChillDKG oferece suporte a uma ampla variedade de cenários, desde aqueles em que os dispositivos de assinatura são de propriedade e conectados por um único indivíduo até aqueles em que vários proprietários gerenciam os dispositivos de locais distintos.
- Backups simples: Em vez de ter que fazer backup de segredos recebidos de outros signatários em um local seguro, o ChillDKG permite restaurar a carteira somente a partir da semente do dispositivo e dados públicos que são os mesmos para todos os participantes do DKG. Consequentemente, um invasor que obtém acesso aos dados de backup públicos não obtém a chave de assinatura secreta e, se um usuário perder seu backup, ele pode solicitá-lo de outro signatário honesto.
O ChillDKG BIP está atualmente em fase de rascunho, e estamos buscando feedback sobre escolhas de design e detalhes de implementação. Embora a especificação esteja quase completa, ela não tem vetores de teste, e estamos considerando adicionar alguns recursos adicionais (por exemplo, “abortos identificáveis”). Uma vez finalizado, o ChillDKG BIP pode ser usado em combinação com um BIP para assinatura FROST para instanciar todo o protocolo FROST.
Este é um guest post de Jonas Nick, Kiara Bickers e Tim Ruffing. As opiniões expressas são inteiramente deles e não refletem necessariamente as da BTC Inc ou da Bitcoin Magazine.
Fonte: bitcoinmagazine.com